也就是說,如果我有「英語(美國)」,我希望獲得「en-US」或適當的java.util.Locale
。它看起來像API是單向的街道,但也許我沒有找到正確的地方。提前致謝。在Java中,有沒有什麼辦法讓它的顯示名稱得到Locale?
3
A
回答
6
不,看起來在API中沒有這樣的方法。但是,您可以使用由Locale.getAvailableLocales()
返回的Locales
創建緩存;那麼你可以簡單地在這個緩存中查找顯示名稱。
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);
}
1
我這樣做了一次,我不認爲它可以一直工作,因爲可以在每個JVM實現中對語言環境進行不同的命名。遍歷語言環境,直到找到你想要的。
3
顯示語言的名字?
Locale[] locales = Locale.getAvailableLocales();
for (Locale current : locales) {
for (Locale test : locales) {
System.out
.print(test.getDisplayName(current) + " ");
}
System.out.println();
}
我假設如果你正在處理語言環境,你需要處理多種語言。
+0
不!不要讓它複雜化!這是一個很好的,簡單的問題,然後你必須走到一起並毀掉它。 :( – 2009-06-05 23:55:15
0
你可以使用Apache的公地郎鹹平:對發佈前已經看了API中
org.apache.commons.lang.LocaleUtils.toLocale(localeStr);
+0
不起作用 - 僅限於此語言和國家/地區代碼 – Strinder 2017-06-01 10:27:37
相關問題
- 1. 有沒有什麼辦法可以在Docker統計中顯示容器名稱?
- 2. 有沒有辦法在AngularJS中得到子類名稱?
- 3. Android:有沒有辦法讓國家名稱獲得時區?
- 4. 有沒有辦法讓nunit-console顯示它的進度?
- 5. 有沒有什麼辦法可以在DataGrid中顯示CheckBox
- 6. 有沒有辦法在java中獲取數組的名稱?
- 7. 有什麼辦法在提示中顯示github用戶名
- 8. 有沒有什麼辦法可以讓這個java更小?
- 9. 有沒有辦法讓圖像顯示在ASP.NET和app_offline.htm中?
- 10. 有沒有辦法讓NSUInteger在iPhone中自動顯示逗號?
- 11. 有沒有辦法讓Chrome顯示SVG光標,因爲它在Safari中?
- 12. 有沒有辦法讓Emacs minibuffer在窗口中心顯示得更大?
- 13. 有沒有什麼辦法讓TortoiseSVN顯示補丁的上下文而不將它應用到本地簽出?
- 14. 有沒有辦法讓一個顯示在自己的行上?
- 15. 有沒有辦法看到爲.NET顏色名稱顯示的顏色?
- 16. 有沒有辦法讓git流顯示它在後臺執行的命令?
- 17. 有沒有什麼辦法讓ProgressBarStyle.Marquee從一邊到另一邊?
- 18. 有沒有什麼辦法只顯示一個月的jquery datepicker
- 19. 有沒有辦法獲得什麼叫什麼的圖表?
- 20. 有沒有什麼辦法讓在聲明的順序從一個Java類中的私有字段名
- 21. 有沒有辦法讓merge.xts保持名稱不變?
- 22. 有沒有辦法獲得特徵的類型名稱?
- 23. 有沒有辦法讓div顯示「向上」,當它將被溢出中斷:hidden?
- 24. 有沒有辦法在java中顯示ASCII碼?
- 25. 有沒有什麼辦法讓具有一個裝飾看法的名稱列表,Python和Django的
- 26. 有沒有什麼辦法來顯示,如果火柴盒
- 27. 有沒有辦法讓mkmapview放大顯示所有註釋?
- 28. 還有什麼可以讓非凡的java方法名稱?
- 29. 在Git中,有沒有辦法讓任意提交的「友好」名稱?
- 30. 有沒有辦法讓Java應用程序獲得root權限?
+1。 – 2009-06-05 21:32:07