Java リソースバンドルとは
Java の ResourceBundle は、異なるロケールのリソースファイルを読み込むために使用される、国際化のために使用されるクラスです。リソースファイルには通常、さまざまなローカライズされたテキスト、画像、オーディオなどのリソースが含まれています。ResourceBundle を使用することで、コードを変更せずに異なるロケールに対応したリソースファイルをロードできます。たとえば、ユーザーが中国語を選択した場合、ResourceBundle は中国語リソースファイルをロードします; ユーザーが英語を選択した場合、ResourceBundle は英語リソースファイルをロードします。ResourceBundle の使用手順は次のとおりです。1. リソースファイルを作成し、ロケールに従って名前を付け ます, デフォルトリソースファイルは “messages.properties”, 中国語リソースファイルは “messages_zh_CN.properties”, 英語リソースファイルは “messages_en_US.properties” となります。2. ResourceBundle.getBundle() メソッドを使用して ResourceBundle オブジェクトを取得します。このメソッドは、現在のロケールに基づいて、対応するリソースファイルを自動的にロードします。3. ResourceBundle オブジェクトの getString() メソッドを使用して、対応するテキストリソースを取得します。サンプルコードは次のとおりです。
import java.util.Locale;
import java.util.ResourceBundle;
public class ResourceBundleExample {
public static void main(String[] args) {
// 设置语言环境为英文
Locale.setDefault(Locale.ENGLISH);
// 获取ResourceBundle对象
ResourceBundle bundle = ResourceBundle.getBundle(“messages”);
// 获取对应的文本资源
String greeting = bundle.getString(“greeting”);
System.out.println(greeting); // 输出:Hello World!
} }
前述の例のように、環境変数の設定に従ってResourceBundleは該当するリソースファイル(例: “messages_en_US.properties”)を自動的に読み込み、その後getString()メソッドで対応するテキストリソース(例: “greeting”に対応するテキストは”Hello World!”)を取得します。