Laravel
的,一种语言一个文件夹,然后里面再是 PHP 数组返回页面内容JSON
数据填充大伙有什么更好的做法?
1
zhaishunqi 2018-05-14 13:50:03 +08:00
java 里面是用本地化,写配置文件,通过加载不同的配置文件,替换不同的语言显示。
你这个写库,扩展性不方便吧。。。你可以参考很多 js 插件的切换语言那部分。 |
2
DavidNineRoc OP @zhaishunqi 这个。。。PHP 肯定都是配置文件呀,但是这些事网站内容不会变的,比如网站的标题,网站页面的内容,但我说的是数据,商品的名字,你写配置文件?
|
3
my101du 2018-05-14 14:09:52 +08:00
@zhaishunqi 题主问的不是页面上那些“通用”的部分(这些用配置 /google translate 挂件都可以做到),是每篇文章 /商品的“内容”要有中英文。
我记得 wordpress 里有个 wpml 的插件,是给每篇文章创建若干个“ meta ”附加的值(虽然 meta 这个名字听上去很小,但实际上存大文本都可以,字段在数据表里似乎是 text 类型) 例如 同一条数据,可能有以下的字段 content_default content_en content_jp ... 等等 至于自动切换,我以前写过个插件,就是用户切换到某个语言,就 cookie 保存下状态,然后进入这个页面的时候,自动切换内容区域。(因为是一次性把所有语言都加载出来,然后去显示 /隐藏,办法挺傻的。。。不建议使用) |
4
zakokun 2018-05-14 14:19:04 +08:00
这个问题很常见吧,说白了就是一个文章,商品的多语言版本
你把描述语言抽出来单独建一个表呗,比如一个 product 表,储存商品的基本信息,数量,时间 所属类别, 另一个 叫 product_desc 表, 多对一关联 product 表,里面有标题,内容,价格等 获取一个商品的信息的时候, 传 id_lang 比如 3_zh 这样的字段,分别去两个表获取数据拼成一个完整的信息就可以了 |
5
KevZhi 2018-05-14 14:36:33 +08:00 via iPhone
歪个楼,可以看一下 Crowdin 上面的项目都是什么格式实现的
|
6
DavidNineRoc OP |
7
zakokun 2018-05-14 15:06:08 +08:00
你这样做不方便搜索的,没搜索的需求那还好,json 随便放什么都行
但是你字段长度就不好控制了, varchar(255)吗? 多了浪费 少了不方便扩展 |
8
DavidNineRoc OP @zakokun 标题之类暂定 varchar,正文直接上 longtext
|