建立多國語言很很多方式,不過最簡單的方式就是弄個翻譯檔了,不必特別寫個資料庫把網站全部資料寫進去,推薦使用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
沒有留言:
張貼留言