作者foxzgerald (O⊥M)
看板PHP
标题Re: [请益] 请教多国语言的程式设计
时间Sat Sep 9 23:45:20 2006
※ 引述《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
1F:推 teds:我还以为原PO在问iconv XD 09/10 00:03