3.0实现多语言有两种方法,一是多语言共用一个模板,数据在后台分开录入;二是不同语言用不同的模板,比如中文版和英文版的模板是分开的,数据也是后台分开录入。
一、多语言共用一个模板
1、打开文件console/common/language/sel_lang.jtbc
增加节点
<item>
<name><![CDATA[1]]></name>
<zh-cn><![CDATA[English]]></zh-cn>
</item>
2、/common/language/config.jtbc需要翻译的语言文件<field>加上en,如下
<field>name,zh-cn,en</field>
<item>
<name><![CDATA[menu-1]]></name>
<zh-cn><![CDATA[首页]]></zh-cn>
<en><![CDATA[Home]]></en>
</item>
<item>
<name><![CDATA[menu-2]]></name>
<zh-cn><![CDATA[关于我们]]></zh-cn>
<en><![CDATA[About us]]></en>
</item>
3、链接
中文链接universal/setlang.php?language=zh-cn
英文链接universal/setlang.php?language=en
二、不同语言用不同的模板
1、头部模板default-0,default-1,底部模板一样
头部模板调用{$=take('.public.header-' . $getForeLang())}
2、首页模板处理
common/incfiles/index.inc.php加入
//增加多语言模板判断
public static function moduleDefault()
{
$tmpstr = tpl::take('index.default-' . request::getForeLang(), 'tpl');
$tmpstr = tpl::parse($tmpstr);
return $tmpstr;
}
中文首页模板名是default-0
英文首页模板名是default-1
其它模块首页一样处理。
修改国旗名称
/console/common/assets/global.css大约262行
/common/config.jtbc
修改对应语言节点