我有一系列属性文件,用于显示各种语言的消息.因此,根据当前的语言设置,消息可以用英语或法语或德语等显示.在我的数据库中,我有各种记录,而不是实际值,我把属性文件的键,以便在使用该数据检索记录时,我可以用相应的语...
我有一系列属性文件,用于显示各种语言的消息.
因此,根据当前的语言设置,消息可以用英语或法语或德语等显示.
在我的数据库中,我有各种记录,而不是实际值,我把属性文件的键,以便在使用该数据检索记录时,我可以用相应的语言显示消息.
例如.我的数据库中可能有一条记录,如:
约翰|史密斯| AQ |等等
其中相应属性文件中的AQ可以显示为Doctor或Arzt等.
我的问题是我需要通过这些属性进行排序,这些属性的数据库中的值虽然是代码,因此无法在数据库中进行排序.
从here开始,我得到了使用临时表和排序的建议,但对于1个属性,这对我来说很好.
我正在寻找一个更通用的解决方案来处理多个属性文件,并避免在可能的情况下检查代码:
例如如果此查询在X上排序,则创建此临时表等.
对此有一般的解决方案吗?
解决方法:
而不是将语言信息存储在属性文件中,而是将其存储在数据库的表中.然后它可以很容易地完成.
Records:
first | last | messageid |
John | Smith | 1 |
Messages:
messageid | language | message |
1 | English | Mr. |
1 | Spanish | Sr. |
2 | English | Doctor |
etc...
然后按本地语言按消息排序的查询将如下所示:
select first, last, message from records r
inner join messages m on m.messageid = r.messageid
where language = [your current language]
order by message
本文标题为:java – 如何在数据库应用程序中最好地处理多种语言?
基础教程推荐
- Jsp servlet验证码工具类分享 2023-07-30
- SpringBoot2之PUT请求接收不了参数的解决方案 2023-02-11
- Java实现获取内网的所有IP地址 2023-01-02
- Spring实现泛型注入的示例详解 2023-02-20
- Java聊天室之实现运行服务器与等待客户端连接 2023-06-17
- EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常 2023-07-30
- java 简单数据库连接池 2023-11-03
- JSP 获取用户的真实IP两种实现方法详解 2023-08-01
- Maven实现项目构建工具 2023-03-06
- 详解SpringBoot中@ConditionalOnClass注解的使用 2023-03-31