我们在使用i18n的时候,数据库内取值是怎么设计的?
数据库里存储的数据一般都是汉字,要全面地国际化,数据库是多一个英文字段吗?还是说怎么做呢?
国际化的情况分两类:
系统页面数据,比如系统提供的内容,包括标题、按钮、提示等,这个可以按用户设定语言进行加载展示。这个很多语言和框架都提供了支持,比如Java的Locale和 Spring的MessageSource。
Java
Locale
Spring
MessageSource
这种处理有一个思路就是建配置表,统一存储多语言的内容。至于翻译转化的内容,就比较麻烦,web需要识别出哪些内容需要翻译,如果是Java应用,可以考虑通过POJO增加Java注解识别。
POJO
2.1m questions
2.1m answers
62 comments
56.5k users