私は次のようにJavaのResourceBundleの中で動的にロケールを設定しようとしています:私は、ブラウザの言語を検出し、それを設定するには、私の次のコード内のすべての可能性を網羅しようとしましたが、存在しない場合は
ResourceBundle rb = ResourceBundle.getBundle(pathAndFilename,locale());
のJavaのResourceBundleロケール()NULL例外
バンドルで、その後はen_USがデフォルト言語として使用することができます:私は間違いを犯していますどこ
private Locale setLanguage(){
Locale locale = request.getLocale();
if (locale.getLanguage().equals("ar")){
locale = new Locale("ar", "AE");
}
else if (locale.getLanguage().equals("fa")){
locale = new Locale("fa", "IR");
}
else if (locale.getLanguage().equals("en")){
locale = new Locale("en", "US");
}
else{
locale = new Locale("en", "US");
}
return locale;
}
private Locale locale(){
Locale locale=null;
if(country == null){
locale = setLanguage();
}else{
locale = new Locale(language, country);
}
return locale;
}
が、メソッドのロケール()null_NULL
を返して教えてください?
私は多くのことを探索したが
質問直面した場合、私に教えてください希望の動作が含まれている必要があり、特定の問題
か(「なぜこのコードは動作しないの?」):だから
if(country == null || country.equals("null")){
として、それを変更しますエラーとその問題自体を再現するのに必要な最短のコードです。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:[最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve) –質問に詳しい情報を追加しました。まだ明確でない場合は教えてください – usr169