สามารถแปลสตริงในไฟล์ PHP ได้โดยตรงโดยไม่ทำลายแท็ก PHP และตรรกะหรือไม่?
“เว็บไซต์เวอร์ชันเก่าจำนวนมากมีการฝังข้อความฮาร์ดโค้ดไว้ในไฟล์ PHP การดึงข้อความไปแปลแบบแมนนวลมีความเสี่ยงสูง”
การวิเคราะห์สาเหตุที่แท้จริง
การวิเคราะห์ไวยากรณ์ AST
ระบบจะแยกวิเคราะห์โครงสร้างโค้ด PHP เพื่อระบุสตริงที่อยู่ในคำสั่ง `echo` และ `print` รวมถึงข้อความที่อยู่ในการกำหนดค่าตัวแปรได้อย่างแม่นยำ โดยจะไม่สนใจโค้ดควบคุมตรรกะ เช่น `if`, `foreach`
การประมวลผลโหมดผสม HTML
ไฟล์ PHP มักประกอบด้วยแม่แบบ HTMLเราสามารถประมวลผลทั้งเนื้อหา HTML ที่อยู่นอกแท็ก PHP และสตริงภายในแท็ก PHP ได้พร้อมกัน เพื่อให้เกิดการวิเคราะห์แบบสองชั้น
การป้องกันด้วยอักขระเอสเคป
ขณะทำการแปลสตริงที่อยู่ภายในเครื่องหมายคำพูดเดี่ยวหรือคำพูดคู่ จะมีการจัดการอักขระเอสเคปภายใน (เช่น `"` หรือ `'`) อย่างชาญฉลาด เพื่อป้องกันข้อผิดพลาดทางไวยากรณ์หลังการแปล ซึ่งอาจส่งผลให้หน้าเพจเกิด White Screen of Death
สรุปแนวทางแก้ไขขั้นสุดท้าย
นำเสนอวิธีการที่มีประสิทธิภาพสูงสำหรับการทำ Internationalization ให้กับระบบเก่า (Legacy Systems) ได้อย่างรวดเร็วโดยไม่ต้อง refactor โค้ด