多语言的网站大家是怎么设计的?多语言不是指页面内容,指的是数据。

2018-05-14 11:23:32 +08:00
 DavidNineRoc


大伙有什么更好的做法?

2570 次点击
所在节点    问与答
8 条回复
zhaishunqi
2018-05-14 13:50:03 +08:00
java 里面是用本地化,写配置文件,通过加载不同的配置文件,替换不同的语言显示。
你这个写库,扩展性不方便吧。。。你可以参考很多 js 插件的切换语言那部分。
DavidNineRoc
2018-05-14 13:54:52 +08:00
@zhaishunqi 这个。。。PHP 肯定都是配置文件呀,但是这些事网站内容不会变的,比如网站的标题,网站页面的内容,但我说的是数据,商品的名字,你写配置文件?
my101du
2018-05-14 14:09:52 +08:00
@zhaishunqi 题主问的不是页面上那些“通用”的部分(这些用配置 /google translate 挂件都可以做到),是每篇文章 /商品的“内容”要有中英文。

我记得 wordpress 里有个 wpml 的插件,是给每篇文章创建若干个“ meta ”附加的值(虽然 meta 这个名字听上去很小,但实际上存大文本都可以,字段在数据表里似乎是 text 类型)

例如 同一条数据,可能有以下的字段

content_default
content_en
content_jp
...

等等

至于自动切换,我以前写过个插件,就是用户切换到某个语言,就 cookie 保存下状态,然后进入这个页面的时候,自动切换内容区域。(因为是一次性把所有语言都加载出来,然后去显示 /隐藏,办法挺傻的。。。不建议使用)
zakokun
2018-05-14 14:19:04 +08:00
这个问题很常见吧,说白了就是一个文章,商品的多语言版本

你把描述语言抽出来单独建一个表呗,比如一个 product 表,储存商品的基本信息,数量,时间 所属类别, 另一个 叫 product_desc 表, 多对一关联 product 表,里面有标题,内容,价格等

获取一个商品的信息的时候, 传 id_lang 比如 3_zh 这样的字段,分别去两个表获取数据拼成一个完整的信息就可以了
KevZhi
2018-05-14 14:36:33 +08:00
歪个楼,可以看一下 Crowdin 上面的项目都是什么格式实现的
DavidNineRoc
2018-05-14 15:01:54 +08:00
@my101du 这个太不好了,我有十种语言还得不断改表结构。而且代码还得改动,现在用 json 可以直接配置增加语言,代码都不用动。

@zakokun 我感觉维护 json 方便多了 >_<
@KevZhi 这个和我想要的不一样,还只是页面内容翻译,不是数据。
zakokun
2018-05-14 15:06:08 +08:00
你这样做不方便搜索的,没搜索的需求那还好,json 随便放什么都行
但是你字段长度就不好控制了, varchar(255)吗? 多了浪费 少了不方便扩展
DavidNineRoc
2018-05-14 17:48:53 +08:00
@zakokun 标题之类暂定 varchar,正文直接上 longtext

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/454650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX