java - 关于当中间有数据库时如何处理国际化的建议

标签 java spring internationalization

我的网站允许用户选择语言。网站中显示的所有文本均由 Spring 的 ReloadableResourceBundleMessageSource 处理,它从某些属性文件中读取文本。

我有一个包含许多链接的菜单,这些链接取自数据库。

我的问题是:我应该在哪里为链接文本编写不同的语言?最佳实践是什么?

1) 在数据库中写入所有语言?例如这样?

--------------------------------------------------
| id_link |   url  | italian | english | spanish |
--------------------------------------------------
| 1       |  /url  | Ciao    | Hello   | Hola    |
--------------------------------------------------

2) 绑定(bind)数据库和属性文件?例如这样?

---------------------------------
| id_link |   url  | description| 
--------------------------------
| 1       |  /url  | link1      |
---------------------------------
                          |              __ language_it.properties
                          |             |   link1= ciao
                          |             |
                          |-------------|__ language_en.properties
                                        |   link1= hello
                                        |
                                        |__ language_es.properties
                                            link1= hola

最佳答案

我建议使用第二种方法,将 key 存储在数据库中,并将 i18n key 存储在属性中。

这将允许将来添加更多语言,而无需更改表结构。

关于java - 关于当中间有数据库时如何处理国际化的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27167208/

相关文章:

java - Hibernate 4.1 错误 : Could not create DynamicParameterizedType for type: org. hibernate.type.EnumType

java - 从模板生成 Spring 上下文文件

localization - 我有一个国家代码列表和一个语言代码列表。如何从国家/地区代码映射到语言代码?

java - 使用汉字从 URL 中获取图像

java - 使用 JFrame 的图像幻灯片

java - 如何在 JDBC PreparedStatement 中设置公式

java - 追加后如何自动向下滚动JTextArea?

spring 和 angular2 如何使用参数请求发布数据?

WordPress国际化解决方案

java - 如何重置微调器的值?