フィンランド語のロケールが機能せず、残りは機能する理由を誰か教えてもらえますか?
private static Map<String,Object> countries;
private static Locale finnishLocale = new Locale("fi", "FI");
static{
countries = new LinkedHashMap<String,Object>();
countries.put("English", Locale.ENGLISH); //label, value
countries.put("French", Locale.FRENCH);
countries.put("German", Locale.GERMAN);
countries.put("Finnish", finnishLocale); <---------- Not working!
}
public void setLocaleCode(String localeCode) {
this.localeCode = localeCode;
updateLocale(localeCode);
}
public void updateLocale(String newLocale){
String newLocaleValue = newLocale;
//loop country map to compare the locale code
for (Map.Entry<String, Object> entry : countries.entrySet()) {
if(entry.getValue().toString().equals(newLocaleValue)){
FacesContext.getCurrentInstance()
.getViewRoot().setLocale((Locale)entry.getValue());
}
}
}
New-clause で作成したロケールが機能していないということです。そのように実装されたロケールは、Locale.GERMAN などと同様の Locale-object だと思ったので、うまく説明できませんか? 私のソフトウェアは、locale ja Faces コンテキストを更新する以外に何もしません。例外はありません。qがばかげている場合は申し訳ありません。ドイツ語、英語などを意味し、プログラムはロケールと Faces コンテキストを更新します。
質問に答えていただければ幸いです。私は迷っています(再び)Sami