Home > Backend Development > PHP Tutorial > 电商网站如何做多语言架构

电商网站如何做多语言架构

WBOY
Release: 2016-06-06 20:28:46
Original
1824 people have browsed it

现在有这么一个需求

1,一个电商平台要做多语言支持,主要就是商品要支持多种语言,也就是说,有一个商品id为100,默认显示简体中文,当我点击英文版的时候就显示该id为100的英文版本。所有的商品多种语言的商品id是不会变的,会变的只是显示的语言变了而已。

  1. 不能分为多个网站来使用。只能是在一个域名下。

3.数据库应该如何设计?

求大神们给点思路,谢谢

回复内容:

现在有这么一个需求

1,一个电商平台要做多语言支持,主要就是商品要支持多种语言,也就是说,有一个商品id为100,默认显示简体中文,当我点击英文版的时候就显示该id为100的英文版本。所有的商品多种语言的商品id是不会变的,会变的只是显示的语言变了而已。

  1. 不能分为多个网站来使用。只能是在一个域名下。

3.数据库应该如何设计?

求大神们给点思路,谢谢

还是按照原来的中文的信息架构来,

增加一个字段为 lang 语言,
然后增加一个 1对多的 语言关联表 就可以了。

切换语言的时候对关联表进行查询就可以了。

电商网站的多语言版本主要难点在于商品详情页

首先多语言也就是站点本地化,分为2个部分,一部分是页面模板标签,另一部分是内容数据。
首先说页面标签,页面标签就是页面显示的提示信息如产品详情页里的“价格:2300”其中“价格”就是页面标签。
拿PHP举例 定义数组
$detailpageview['cn']['price']='价格'
$detailpageview['en']['price']='price'
在页面的控制器里获取相应的值就可以了
$lang=$_GET['lang'];
$pageview=$detailpageview[$lang];
在魔板上直接写$pageview['price']
这样就实现了根据用户传递的语言类型显示相应的页面标签了。

其次是内容数据 内容数据有2中方法实现,第一种偷懒的方法是使用翻译中间件 吧所有的内容在 页面控制器中通过中间件翻译之后在渲染到模板上,但是这种做法会存在老外看不懂的情况,因为机器翻译都很二。最好的办法就是 在设计产品的时候通过多表实现多语言 建立一个产品主表里边所有内容为主语言,其他从表通过主语言表的主键ID关联 相应语言的产品信息,在页面控制器通过判断lang参数来查询不同的表输出不同的结果。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template