1. 程式人生 > >php 通過include方式實現國際化多語言(i18n)

php 通過include方式實現國際化多語言(i18n)

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):