关于网站多语言的一些实现方案(复制文章)
由于全球化的推进,多语言网站开始流行起来,未来的网站可能至少会有双语(中文/英语),对于多语言网站,我给出如下几种方案,希望想要制作多语言网站的人能够从中找到适合自己的。
出处: http://www.ytmp.net/forum.php?mod=viewthread&tid=245&extra=page%3D3
方案一:引入谷歌翻译器
此方案博主早先试过了,翻译成英语还行,其他基本看不懂了,要求不是很高的可以试试,还是挺不错了
谷歌翻译推出了一个在线翻译网站的神器,你可以通过接入谷歌翻译器来实现多语言网站。
但是,目前谷歌被墙,所以此方案可能暂时无法实现,未来谷歌回归中国,还是可以使用此方案的。
推荐指数:❤❤❤
方案二:动态设置模板
即网站使用模板可以动态设置,制作网站的时候,同时制作多个语言版本的模板,栏目和文章都定制(一个中文,一个英文)。原系统模板只能后台设置使用的模板,也就是写入配置文件中,我个人觉得不要修改配置文件为好,所以为了安全,将模板读取修改为读取数据库的数据,这样就可以安全多了。
缺点:工作量比较大。
推荐指数:❤❤❤❤
方案三:制作多语言插件(参考 wordpress 本地化设计)
这个难度有点大,不过应该是最理想的实现多语言网站的方法。
自定义一个翻译方法,比如:_lang()
此方法用于翻译文字,将数据传入_lang 方法里面,此方法读取语言包,如果有对应语言包,那么将翻译成对应的语言,如果没有则返回字符串。
语言包制作:键值对的形式,首选读取网站所有的文字数据,然后对应进行人工翻译,可制作多种语言包,进行相应设定,_lang 方法将读取语言包里对应的翻译语言,这样就实现多语言版本。(说起来比较抽象,下面给出个例子)
模板页面中:{fun _lang('世界你好 <--> hello world!')}//注:doyo中使用_lang方法
Functions.php中:
public function _lang($word){
//制作一个表,读取表中设定的语言字段,此字段可以前台传入数据进行修改
$lang=DB('language')->select(xxxxx);//读取当前模板使用的语言
$lanlist=require(xxx);//引入多语言包,键值对的文件,可以是return array($word=>'bbb');
if($lanlist[$word]){
return $lanlist[$word];
}else{
return $word;
}
}
语言包文件:language.php
return array(‘aa’=>’xxx’,’bb’=>’sada’….);//此为举例,语言包可以制作成其它的,看个人喜好。
多语言包插件制作就介绍到这里,其中有许多简略部分,因为我也没有制作~
推荐指数:❤❤❤
以上,希望对各位有所帮助~
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于