Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
499 views
in Technique[技术] by (71.8m points)

我们在使用i18n的时候,数据库内字段是怎么设计的?

我们在使用i18n的时候,数据库内取值是怎么设计的?

数据库里存储的数据一般都是汉字,要全面地国际化,数据库是多一个英文字段吗?还是说怎么做呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

国际化的情况分两类:

  • 系统页面数据,比如系统提供的内容,包括标题、按钮、提示等,这个可以按用户设定语言进行加载展示。这个很多语言和框架都提供了支持,比如JavaLocaleSpringMessageSource

    • 其实这里还以一种比较特殊的设计,就是页面内容有些是通过加载数据库展示的。

      这种处理有一个思路就是建配置表,统一存储多语言的内容。
      至于翻译转化的内容,就比较麻烦,web需要识别出哪些内容需要翻译,如果是Java应用,可以考虑通过POJO增加Java注解识别。

  • 基于用户来说,一般只有一种主语言,意思就是数据库按用户内容输入存储即可。

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...