数据库设计多语言方案

方案1

字段多语言
例:

create table (
  name_cn,
  name_en,
  name_jp
)

方案2
不同语言的数据存放在同一张表,不同行,通过lang来区分
例:

create table (
  name,
  lang
)

查询时可以采用类似于数据权限/saas的技术手段自动区分当前语言版本的数据

方案3

方案2的升级版。
方案2不能标识同个实体的不同语言版本。 所以,增加字段 ent_id, 来表示同一实体。
这样就可以在搜索时,清晰列出该实体(资源)有哪些语言版本,也可以很方便的为指定实体添加新的语言版本。
例:

create table (
  name,
  lang,
  ent_id
)

ent_id可以采用uuid, 或者mysql的唯一id生成方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容