|
深入模闆應用:多語言篇 |
如何開發多語言網站?
這個問題對於很多程序員來說是既頭疼又不好解決的問題。Ease Template 為程序員量身打造了多語言功能。隻需在需要翻譯的文字上定義標簽即可記錄在語言包中,就算一段很長的文字也能定義到語言包且不用擔心語言包過大,因為Ease Template會自動將過大的語言包分成不同的小語言包,讀取的時候會自動載入。默認語言包會寫入當前程序目錄下的language目錄。沒有寫入權限的時候程序會放鍥建立語言包。
注意:開發ET多語言功能時,考慮默認語言包與其他國家語言包衝突,所以強制用戶必須擁有一個母闆語言包,而且名稱必須是language/default.php。否則您在增加了新的語言標簽是不會自動增加的。
語言包結構講解:例如下麵“Ease Template 非常棒!”這段文字,記錄在語言包中由注釋語句、校驗數據及翻譯語句組成。
注釋語句第一句為記錄日期,第二行為原始語言文字,翻譯人員可以對比來進行翻譯。
/**2008.07.06
Ease Template 非常棒!
*/
$lang["7ec49c5eb48abf8293354daedb9e2820"] = "Ease Template 非常棒!";
翻譯好數據如下:
/**2008.07.06
Ease Template 非常棒!
*/
$lang["7ec49c5eb48abf8293354daedb9e2820"] = "Ease Template Very Good!";
當語言包翻譯完成後將名稱修改為:en.php,這樣就可以在兩種語言之間切換。下麵示例提供切換演示效果:
test_15.php
-
<?php
- include"./template.ease.php";
- //獲得語言類型
- $lang = $_GET['lang'];
- if($lang=='en'){
- $lang = 'en';
- }else{
- $lang = 'default';
- }
- $tpl = new template(
- array(
- 'LangDir' =>'language' , //語言文件存放的目錄
- 'Language' =>$lang , //語言的默認文件
- )
- );
- echo $tpl->lang('中國加油!');
- $tpl->set_file('test_15');
- $tpl->p();
- ?>
模闆中載入了語言標簽,下麵提供兩個切換語言的鏈接:
test_15.htm
-
{lang:Ease Template 非常棒!}
- <a href="test_15.php">Chiese</a> <a href="test_15.php?lang=en">English</a>
默認語言包,根據模闆的語言產生的語言包與原始信息相同,請將此文件放入程序目錄下的language目錄中
default.php
-
<?
- /**
- /* SYSTN ET Language For default
- */
- /**2008.07.06
- 中國加油!
- */
- $lang["e0b19b05e5c28de806d92ef5991842e4"] = "中國加油!";
- /**2008.07.06
- Ease Template 非常棒!
- */
- $lang["7ec49c5eb48abf8293354daedb9e2820"] = "Ease Template 非常棒!";
下麵的語言包為翻譯後內容,請將此文件放入程序目錄下的language目錄中
en.php
-
<?
- /**
- /* SYSTN ET Language For default
- */
- /**2008.07.06
- 中國加油!
- */
- $lang["e0b19b05e5c28de806d92ef5991842e4"] = "Cheer up China!";
- /**2008.07.06
- Ease Template 非常棒!
- */
- $lang["7ec49c5eb48abf8293354daedb9e2820"] = "Ease Template Very Good!";
|
|