> 백엔드 개발 > PHP 튜토리얼 > 电商网站如何做多语言架构

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

WBOY
풀어 주다: 2016-06-06 20:28:46
원래의
1824명이 탐색했습니다.

现在有这么一个需求

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参数来查询不同的表输出不同的结果。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿