大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
现在有这么一个需求
1,一个电商平台要做多语言支持,主要就是商品要支持多种语言,也就是说,有一个商品id为100,默认显示简体中文,当我点击英文版的时候就显示该id为100的英文版本。所有的商品多种语言的商品id是不会变的,会变的只是显示的语言变了而已。
不能分为多个网站来使用。只能是在一个域名下。
3.数据库应该如何设计?
求大神们给点思路,谢谢
回复内容:
现在有这么一个需求
1,一个电商平台要做多语言支持,主要就是商品要支持多种语言,也就是说,有一个商品id为100,默认显示简体中文,当我点击英文版的时候就显示该id为100的英文版本。所有的商品多种语言的商品id是不会变的,会变的只是显示的语言变了而已。
不能分为多个网站来使用。只能是在一个域名下。
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中文网,转载请注明出处,感谢您的尊重!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188914.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...