阅读量:0
在Java中,可以使用ResourceBundle
类来实现国际化输出。下面是一个示例代码,演示如何使用ResourceBundle
和String.format
方法结合printf
进行国际化输出:
import java.util.Locale; import java.util.ResourceBundle; public class Main { public static void main(String[] args) { Locale locale = Locale.getDefault(); ResourceBundle messages = ResourceBundle.getBundle("Messages", locale); String name = "Alice"; int age = 30; double salary = 50000.00; String greeting = messages.getString("greeting"); String output = String.format(messages.getString("output"), name, age, salary); System.out.printf(greeting + "\n"); System.out.printf(output + "\n"); } }
在上面的示例代码中,假设有一个Messages
资源文件,其中包含了不同语言的字符串资源。greeting
和output
是资源文件中定义的键,分别对应不同语言环境下的问候语和输出格式。
通过ResourceBundle.getBundle
方法获取相应语言环境的资源文件,然后通过String.format
方法将变量插入到输出字符串中,最后通过System.out.printf
方法输出国际化字符串。
要实现国际化输出,需要为不同语言环境创建不同的资源文件,文件名格式为[basename]_[language code]_[country code].properties
,如Messages_en_US.properties
和Messages_fr_FR.properties
。在资源文件中,可以定义不同语言环境下的字符串资源,并通过键值对的形式进行访问。