我們將我們的站點設爲國際,.fr,.mx以及其他一些站點。PHP:使用不同語言的提示
我正在考慮創建像english.inc.php這樣的語言文件,這些語言文件基本上會包含我們使用的每個靜態文本的大量數組。
例如$ lang ['welcome'] ='歡迎';
我會根據所使用的域名動態地包含正確的語言文件,然後在我們用來獲取靜態文本的任何地方使用這些數組。
這是正確的路嗎?
在我深入研究之前,我會很感激以前曾經有過這方面經驗的人。
謝謝!
Nathan
我們將我們的站點設爲國際,.fr,.mx以及其他一些站點。PHP:使用不同語言的提示
我正在考慮創建像english.inc.php這樣的語言文件,這些語言文件基本上會包含我們使用的每個靜態文本的大量數組。
例如$ lang ['welcome'] ='歡迎';
我會根據所使用的域名動態地包含正確的語言文件,然後在我們用來獲取靜態文本的任何地方使用這些數組。
這是正確的路嗎?
在我深入研究之前,我會很感激以前曾經有過這方面經驗的人。
謝謝!
Nathan
請研究php的http://php.net/manual/en/book.gettext.php的gettext,它是專門爲您正在做的事情而設計的,可以處理所有各種複雜的國際化。 (複數,背景等)。
gettext的工作原理是每個區域設置的方式與翻譯和在PHP代碼中你這樣做的純文本文件:
<?php echo _("Welcome to my site");?>
然後從Gettext中相應的區域設置文件拉。
國際化非常複雜,最好使用久經考驗的解決方案。我們在大多數大型網站上使用Mozilla的gettext,它是快速,知名且功能全面的。
使用gettext()。
感謝您的提示。 雖然有一個細節。你真的會創建一個英文的語言環境文件嗎?或者你會使用php的自動功能在echo _(「Welcome to my site」)中打印字符串?因爲,如果你想改變英文版的單詞或句子會發生什麼? – 2009-11-18 01:52:08
我們處理它的方式是首先將字符串放在我們的php文件中,就像我之前演示的那樣,然後使用xgettext將字符串拖入另一個po文件中。然後,您可以將該文件合併到en-us(英文)文件中。 – 2009-11-18 05:30:26