2013-11-27 37 views
1

我目前有一個Web應用程序,根據用戶選擇的語言,選擇要使用的正確語言文件。PHP系統語言文件,怎麼辦?

該語言文件包含許多定義的常量。這裏是一個片段:

define("SHOP_LBL_PRODUCTS", "Products"); 
define("SHOP_LBL_ABOUTUS", "About us"); 
define("SHOP_LBL_CONTACT", "Contact"); 

這個按預期工作。雖然,如果我想爲此創建UI,那麼通過正常的html表單可以生成整個文件;我需要:

1) extract the name and values from the current file 
2) write a file with php code (and replace the current file) 

我該怎麼做上述兩個?這是可能的還是純粹的頭痛?

有沒有其他方法可以做到這一點?我這樣做,翻譯者不應該坐在一個PHP文件和所有的define()調用。

+1

不,譯員應該坐在那裏,用於翻譯的文件格式。這裏的經典系統是gettext,比常量更可取。 – deceze

+0

如果創建具有相同常量和語言特定值的不同語言文件將會更好。 – Rohit

回答

1

當面對類似的問題時,我決定使用不同的方法使用MySQL數據庫。這樣,存儲,查看和編輯語言文本變得非常簡單。使用標準方法可以輕鬆完成更改和添加。 您的表的設計可能看起來是這樣的:

表1: 'text_label'

text_id | text_label 

表2-N: 'language_en'

text_id | content 

使用連接查詢,您可以根據text_label輕鬆獲取所需的內容。

對於存取權限,你可以使用一個靜態的功能,並且包含在你的腳本看起來是這樣的:

<?php echo Translater::get('Sample_text', 'en'); ?> 

我知道,這不同於你的質疑文件的想法,我在這裏justleaving這是一個想法或想法。