我目前正在研究將i18n
集成到項目中的最佳方法。PHP國際化
有幾種方法我想這樣做,首先是一個數據庫方案來存儲字符串和相關的區域設置,但問題是,它不會很容易選擇字符串,因爲我不喜歡執行quesries像這樣:
SELECT text FROM locales WHERE locale = 'en_GB' AND text_id = 245543
或者
SELECT text FROM locales WHERE locale = 'en_GB' AND text_primary = 'hello'
下一個方法是將它們存儲文件,如locales/en_gb/login/strings.php
內,然後嘗試,並通過專門開發的,像這樣的類來訪問它們:
$Language = Registry::Construct('Language',array('en_GB'));
echo $Language->login->strings->hello;
這樣做的問題是,我將不得不建立一個將更新通過管理面板女巫這些文件是非常耗費時間,不只是建設系統來管理字符串,但實際管理中的字符串作爲一個系統網站的發展
- 還有什麼其他的方法有哪些,這將是一個龐大的系統
- 有益是否有任何自動化的方式做「翻譯」這樣
- 我應該堅持一個數據庫的方法,並建立一個系統爲用戶翻譯stri與評價/建議更好的版本?
- 你過去試過哪些系統,我應該看看它們還是完全避免它們。
你試過gettext()嗎? – fabrik 2010-09-21 13:03:51
你最終做了什麼?我有類似的問題。 – Sunny 2010-12-12 17:40:37