プログラムでI18Nを使用しようとしていますが、正しく動作しません。コンソールにドイツ語のシンボルは表示されず、「?」と表示されます。ここでJavaの国際化
は私のコードです:
import java.util.Locale;
import java.util.ResourceBundle;
public class LocaleDemo {
public static void main(String[] args) {
Locale l = new Locale("ge", "GE");
ResourceBundle r = ResourceBundle.getBundle("Bundle_ge");
displayValues(r);
}
public static void displayValues(ResourceBundle bundle) {
System.out.println("hello message:" + bundle.getString("wish"));
}
}
ファイルBundle_ge.properties
は、このテキストを持っていますwish=großer
そして、ここではその結果です:
私のミスですか?前もって感謝します。
コードページとエンコーディングに関するいくつかの調査を行いたいとします。 – GhostCat
あなたの問題とは関係ありませんが、ロケールを作成していますが、使用していない状態で、Bundleをロードする代わりにBundle_geをロードし、getBundleメソッドにロケールに基づいて適切なファイルをロードさせます。 'ResourceBundle.getBundle(" Bundle "、l)' –
申し訳ありませんが、なぜ私は 'Bundle_ge'の代わりに' Bundle'を使うべきか理解できません。私のプロパティファイルにはそのようなタイトルがあります: 'Bundle_ge.properties'また、さまざまな言語のプロパティファイルがたくさんあるかもしれません。 – LuckyProgrammer