写点什么

思考 - 国际化系统表结构设计

用户头像
BerryMew
关注
发布于: 2020 年 12 月 26 日

处理国际化问题目前常见的有两种方案:

  • 配置文件:每种语言定义一个对应的翻译文件

  • 数据库存储:将翻译存储到数据库



我现在遇到的项目两种方案都涉及,现在对于数据库存储的设计是将多语言按照多行来存储,优点是增加语言不用更改表结构,但是缺点也很明显,在对国际化语言编辑的时候,需要行转列,操作起来比较麻烦。



所以我觉得对于数据库存储多语言翻译的情况,应该按照多列来存储,这样存储和操作统一,降低功能模块复杂度,可能有人顾虑语言扩展问题,我觉得吧,一个系统国际化设计多数都是确定的中英或者几种,很少会扩展,为了应对这种扩展问题,在设计表的时候,可以多定义一些预设的语言,比如语言字段设计为lan1,lan2,lan3... ,具体lan1,lan2,lan3指代什么,在代码中写一个公共方法就能方便匹配更改。

这样的设计目前应该是最简单的。

用户头像

BerryMew

关注

不断重构 2017.10.25 加入

评论

发布
暂无评论
思考-国际化系统表结构设计