つまり、「English (United States)」がある場合、「en-US」または適切なjava.util.Locale
. APIは一方通行のように見えますが、適切な場所を探していない可能性があります。前もって感謝します。
質問する
3275 次
4 に答える
7
いいえ、API にそのようなメソッドがあるようには見えません。Locales
ただし、返されたLocale.getAvailableLocales()
;を使用してキャッシュを作成できます。次に、このキャッシュで表示名を検索するだけです。
private static Map<String, Locale> displayNames = new HashMap<String, Locale>();
static {
for (Locale l : Locale.getAvailableLocales()) {
displayNames.put(l.getDisplayName(), l);
}
}
public static Locale getLocale(String displayName) {
return displayNames.get(displayName);
}
于 2009-06-05T21:16:14.950 に答える
3
どの言語で名前を表示しますか?
Locale[] locales = Locale.getAvailableLocales();
for (Locale current : locales) {
for (Locale test : locales) {
System.out
.print(test.getDisplayName(current) + " ");
}
System.out.println();
}
ロケールを扱う場合は、複数の言語を処理する必要があると思います。
于 2009-06-05T23:46:18.283 に答える
1
私はこれを 1 回行いましたが、JVM 実装ごとにロケールの名前が異なる可能性があるため、常に機能するとは限りません。必要なロケールが見つかるまで、ロケールをループします。
于 2009-06-05T21:16:04.547 に答える