|
深入範本應用:多語言篇 |
如何開發多語言網站?
這個問題對於很多程式設計人員來說是既頭疼又不好解決的問題。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!";
|
|