网站国际化多语言版本怎么做啊?
比如像这样的网站,切换语言后商品还是一样的,是共享一个数据库吗,还是根本就是一个服务器?
http://www.farfetch.com/cn/shopping/women/creatures-of-the-wind--jainic-jacket--item-11220708.aspx?storeid=9946&from=1&ffref=lp_pic_5_1_
http://www.apicloud.com/index?
望大神指点,谢谢了!
回复内容:
比如像这样的网站,切换语言后商品还是一样的,是共享一个数据库吗,还是根本就是一个服务器?
http://www.farfetch.com/cn/shopping/women/creatures-of-the-wind--jainic-jacket--item-11220708.aspx?storeid=9946&from=1&ffref=lp_pic_5_1_
http://www.apicloud.com/index?
望大神指点,谢谢了!
一般框架都有提供这种功能,比如php的codeigniter和ruby on rails。
具体实现我没有研究过,不过思路都是根据当前设置的语言去语言文件里拿对应的字符串。
语言不存数据库里 因为数据不多,都是放文件里。
其实说这些也没用。你找个支持多语言的框架一试就了解了
多语言主要分为2部分:
1.页面上的显示字符串,这些都通过语言文件进行翻译
2.数据库数据的多语言则需要在数据库设计的时候进行支持,一般会将多语言的字段放在一张多语言表中。如:x表对应的多语言表是x_i18n。然后后台管理时让用户输入不同语言的数据,前台根据不同语言查找对应的数据显示。
1.不同的语言可能在切换的时候就是访问了不同的网站内容,因为中文的网站主要针对华人,英文主要针对欧美,网站商品的侧重点也不一样,相应的内容也会不一样吧。
2.如果单纯的实现多语言,很多框架都会自带i18功能吧,页面使用标签~
yii2中是这么做的 建一个专门放字符串翻译的类,然后一次去引用
return [
'Create' =>'创建',
'Update' =>'更新',
'Delete' =>'删除',
'operate'=>'操作',
'Submit'=>'提交',
'Search'=>'搜索',
'Reset'=>'重置',
用多个语言文件实现,比如:
中文配置文件中有
key=>'这是内容'
英文配置文件
key=>'this is content'
www.x.com/zh/xxx.html,去读取中文配置文件,
www.x.com/en/xxx.html,去读取英文配置文件,
建议参考 drupal
配置多语言文件,按一定的规则就行,用数组把需要多语言的进行翻译,显示的时候什么语言就取什么语言的配置文件就行了。框架大体也是这么实现。