java – 如何在数据库应用程序中最好地处理多种语言?

我有一系列属性文件,用于显示各种语言的消息.因此,根据当前的语言设置,消息可以用英语或法语或德语等显示.在我的数据库中,我有各种记录,而不是实际值,我把属性文件的键,以便在使用该数据检索记录时,我可以用相应的语...

我有一系列属性文件,用于显示各种语言的消息.
因此,根据当前的语言设置,消息可以用英语或法语或德语等显示.
在我的数据库中,我有各种记录,而不是实际值,我把属性文件的键,以便在使用该数据检索记录时,我可以用相应的语言显示消息.
例如.我的数据库中可能有一条记录,如:

约翰|史密斯| 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 – 如何在数据库应用程序中最好地处理多种语言?

基础教程推荐