Osc*_*Ryz 15

您可以使用ResourceBundle.getBundle( name ) 它根据用户区域设置返回正确的包并获取特定消息.

ResouceBundle类的工作方式是,尝试使用本地化消息加载(通常是.properties文件).例如,您可以:

messages_en.properties
-----
greeting = "Hello "
Run Code Online (Sandbox Code Playgroud)

messages_es.properties
-----
greeting = "Hola "
Run Code Online (Sandbox Code Playgroud)

并按如下方式使用它.

... void main( ... . {
     ResourceBundle bundle = ResourceBundle.getBundle( "messages", userLocale );
     System.out.println( bundle.getString("greeting" )  + " Steve " );
 }
Run Code Online (Sandbox Code Playgroud)

它会打印出来

Hello Steve
Run Code Online (Sandbox Code Playgroud)

如果用户区域设置是英语(en),和

Hola Steve
Run Code Online (Sandbox Code Playgroud)

如果用户区域设置是西班牙语

方法ResouceBundle.getBundle(),不仅加载.properties文件,如果可用,它还可以加载一个类,该类又可以从数据库加载消息.

也可以看看:

资源包

国际化快速介绍


duf*_*ymo 1

我建议查看 ResourceBundles。

这是一个复杂的问题,因为如果您有一个数据库,您也会想要对其进行国际化。