ScriptCase的多語系:
1. 定義在 _lib/lang/ xxx.lang.php 裡面
現在現有的是:
zh_cn.lang.php 簡體
zh_hk.lang.php 繁體
顯然,NetMake公司也搞不大清楚,中文語系的情況,所以,把香港的當成繁體的代表。
我試著自己增加一個 zh_tw.lang.php 還可以用。
關於語系的問題,有 language 以及 regional 兩個部分
language 是關於文字本身的
regional 是關於區域的一些用法,例如:日期、時間、星期、月等表示方式。
台灣習慣使用 yyyy-mm-dd
其他地區也許習慣 dd-mm-yyyy
所以,需要這項設定。這在Windows 裡面也有。
因此,再設定的時候,會有:
/*idioma*/
$idioma = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2);
switch($idioma){
case 'pt': //Caso seja português
sc_set_language('pt_br');
sc_set_regional('pt_br');
break;
case 'es': //Caso seja espanhol
sc_set_language('es');
sc_set_regional('es_es');
break;
case 'zh_hk': //
sc_set_language('zh_hk');
sc_set_regional('zh_tw');
break;
default:
sc_set_language('en_us');
sc_set_regional('en_us');
break;
}
以下這是在 login.php 中,使用 $_GET['lang']連結的方式,選擇何種語系的方式:
寫在: Events->onApplicationInit 或 onScriptInit
if(isset($_GET['lang']) && !empty($_GET['lang']))
{
switch($_GET['lang']){
case 'pt': //Caso seja português
sc_set_language('pt_br');
sc_set_regional('pt_br');
break;
case 'es': //Caso seja espanhol
sc_set_language('es');
sc_set_regional('es_es');
break;
case 'zh_hk': //
sc_set_language('zh_hk');
sc_set_regional('zh_tw');
break;
case 'zh_tw': //
sc_set_language('zh_tw');
sc_set_regional('zh_tw');
break;
default:
sc_set_language('en_us');
sc_set_regional('en_us');
break;
}
}