做中文繁体的网站可以通过js语言包去做简体到繁体的切换,不用像中文转英文怕用插件机翻让人摸不着头脑,下面介绍一下具体实现方法:
这里用的是Thinkphp框架
在通用控制器HomeController.class.php中 保存一个cookie 记录当前的语言,
function __construct() {
parent::__construct();
$zh_web_lang = array();
$lang = cookie('zh_web_lang');
//谁放在前面,谁为默认的显示。
if ($lang == "jianti") {
$zh_web_lang['hreflang'] = "s";
$zh_web_lang['atuolang'] = "t";
$zh_web_lang['lang'] = "fanti";
$zh_web_lang['html'] = "简体中文";
} else {
$zh_web_lang['hreflang'] = "t";
$zh_web_lang['atuolang'] = "s";
$zh_web_lang['lang'] = "jianti";
$zh_web_lang['html'] = "繁體中文";
}
$this->assign('zh_web_lang', $zh_web_lang);
//输出默认语言
}
2创建一个方法用于切换cookie
public function trunlang() {
if (IS_POST) {
$lang = cookie('zh_web_lang');
if ($lang == "jianti") {
cookie('zh_web_lang', 'fanti');
} else {
cookie('zh_web_lang', 'jianti');
}
} else {
$this->redirect('Index/index');
}
}
3. 在前端文件中用js去切换语言
data-lang="{$zh_web_lang.lang}">{$zh_web_lang.html}
上面的引入的js文件如下
https://github.com/Irrelon/jquery-lang-js
如果简体和繁体的切换标识需要分开的,可以把上面的a标签修改成下面的即可
href="javascript:zh_lang('{$zh_web_lang.hreflang}','j');"
class="zh_lang" data-lang="{$zh_web_lang.lang}">{$Think.lang.Zh-cn}
href="javascript:zh_lang('{$zh_web_lang.hreflang}','f');"
class="zh_lang" data-lang="{$zh_web_lang.lang}">{$Think.lang.Tw-cn}
这样就能实现全站文字简体转成繁体,缺点就是图上的文字要单独切成文字,不能做成和图片一体的,还有就是个别文字会出现没有转译,还是简体的情况,但是作为同种同源的字体大部分人还是能看懂。优点就是不用做两个后台对资料进行两次输入还是比较方便的,不像中文转译英文,后台录入比用插件好,最起码意思不会乱,搞得别人看不懂。
1.下面是简体的效果:

2. 点击切换效果:

- 切换页面依然保持着繁体效果,以前介绍过通过谷歌插件中文切换英文也是通过js实现的,每次切换页面都收从中文变成英文体验不好。还有一种通过接口去翻译后台输出的每一句文字,可以解决这个问题,比较麻烦。

- 转英文具体可以:https://gtranslate.io/#pricing 可以在这里了解相关的介绍
