Re: [請益] 請教多國語言的程式設計
※ 引述《casiopea (Casiopea)》之銘言:
: 很多程式都會支援 中文/英文/其他語言
: 我想請教
: 實務上通常會用什麼樣的寫法來達成多國語言的支援?
: 我目前想到的是 將需要顯示message的地方都設成一個變數
: 然後有個全域變數去指定目前user使用的語言
: 需要show message的時候再去抓指定檔案裡面對應的語言訊息
: 不曉得有沒有更好的寫法?!
: 或是有沒有人可以show一段sample code的??感謝感謝!!
既然是用 php ..那麼可以多參考各類 CMS 和 Portal 的結構。
大抵上他們設計的方式在網頁編碼上用 UTF-8,
然後程式邏輯和語系分開,
這方面可以用 template + 語系檔 實作。
語系除了可以放在檔案之外,也可以存在資料庫..
可以把某個語系的規劃成一個檔/資料表..
然後以指定語系資料路徑的方式 將語系設定讀出後取代變數值
/****************************
* Search.php
****************************/
// 這裏使用陣列只是種舉例,可以用像 Query DB、fopen() 或其他方式
// 取得語系資料
$chinese = array( '_search' => '搜尋');
$english = array( '_search' => 'Search');
$german = array( '_search' => 'Suche');
// ....
$smarty->assign('lang', $chinese); // 這裡指定使用中文語系..
// ....
$smarty->display('search.tpl');
// ....
/****************************
* search.tpl
****************************/
{$lang._search}
/**
* 有興趣可以參考 http://smarty.php.net
* 或抓其他的 cms 來研究一下他們規劃的結構
*/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.199.121
推
09/10 00:03, , 1F
09/10 00:03, 1F
討論串 (同標題文章)