2010年3月26日 星期五

建立多國語言 PHP

建立多國語言很很多方式,不過最簡單的方式就是弄個翻譯檔了,不必特別寫個資料庫把網站全部資料寫進去,推薦使用PHP gettext 這個Lib

1. 首先到php.ini 打開後,把 extension=php_gettext.dll 功能打開(就是把;去除掉),存檔。

2. 把php5\php_gettext.dll 複製到window\system32, 之後重新開啟你的Apache,看看是否有這段文字gettext,表示可以運作了。

3.下載編譯翻譯檔軟體poedit,教學使用可以看這篇http://blog.beyes.tw/232/3,這篇教學裡面寫關鍵字、複數的設定,我們只要用預設的就好了,不用特別去改。

4. 所以你要翻譯的PHP要寫出來,不然怎麼編譯咧!

//設定你要的語系
putenv('LC_ALL=zh_TW');
setlocale(LC_ALL, 'zh_TW');

//myPHPApp 為mo po 的檔名
bindtextdomain("myPHPApp", "./locale");

textdomain("myPHPApp");

/*好了以後把檔案放在此路徑下
locale/zh_TW/LC_MESSAGES/myPHPApp.mo
myPHPApp.po
其中
zh_TW,就是你要設定的語系,若其它可改變成你要的語系。*/

echo _("user list"); //把要翻譯的文字,加上_("") 就OK了。

後記: utf-8 翻譯中文檔會有亂碼 可以加上 bind_textdomain_codeset ("myPHPApp", "utf-8"); 就不會正常翻譯搂

後記2: 有時候翻譯檔已經改了,在網頁上卻沒有翻譯更改後的,好像是catch的問題,我直接把檔名改了就ok了
alice write

沒有留言:

張貼留言