php 通過include方式實現國際化多語言(i18n)
阿新 • • 發佈:2018-12-27
include實現國際化
將index.php進行翻譯:
Index內容
1. Index
2. About us
我們可以將index.php設定為一個翻譯模版,所有出現字元的地方,都定義為變數,如1,2部分設定為翻譯的變數$menu_index, $menu_aboutus.
多種語言就有多種語言包,可以做成配置檔案,比如en.inc.php cn.inc.php 等等
內容如下:
cn.inc.php
$menu_index='首頁';
$menu_aboutus='關於我們';
en.inc.php
$menu_index='index';
$menu_about_us='about_us';
那麼index.php根據引數的不同進行include不同的語言包,就翻譯成相應的語言。
include方式 與 gettext() 比較
Gettext 優點:
Gettext()是實現i18n國際化,由於現在i18n越來越趨於國際化標準,得到廣泛的支援,
缺點:
1.Php6版本之前還未完全的支援unicode,所以只支援常用的部分語言。
2.對已經存在的mo語言包檔案進行了修改,得重啟apache。
include方式 優點:
國際化實現簡單,能支援所有語言。
缺點:
對要進行翻譯的頁面進行變數格式化,也就是做成一個翻譯模版。比較繁雜。
php gettext方式實現UTF-8國際化多語言(i18n):