|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Можно создать a Locale с любой комбинацией допустимого языка и кодов страны, но это не означает, что можно использовать это. Помните, a Locale объект является только идентификатором. Вы передаете Locale возразите против других объектов, которые тогда делают реальную работу. Эти другие объекты, которые мы вызываем чувствительный к локали, не знают, как иметь дело со всеми возможными Locale определения.
Узнать который типы Locale определения, которые распознает чувствительный к локали class, Вы вызываете getAvailableLocales метод. Например, чтобы узнать, который Locale определения поддерживаются DateFormat class, Вы могли записать подпрограмму, такую как следующее:
import java.util.*;
import java.text.*;
public class Available {
static public void main(String[] args) {
Locale list[] = DateFormat.getAvailableLocales();
for (Locale aLocale : list) {
System.out.println(aLocale.toString());
}
}
}
Отметьте что String возвращенный toString содержит язык и коды страны, разделенные подчеркиванием:
ar_EG be_BY bg_BG ca_ES cs_CZ da_DK de_DE ...
Если Вы хотите вывести на экран список Locale имена к конечным пользователям, следует показать им что-то более легкое, чтобы понять чем язык и коды страны, возвращенные toString. Вместо этого можно вызвать Locale.getDisplayName метод, который получает локализованный String из a Locale объект. Например, когда toString заменяется getDisplayName в предыдущем коде программа печатает следующие строки:
Arabic (Egypt) Belarussian (Belarus) Bulgarian (Bulgaria) Catalan (Spain) Czech (Czech Republic) Danish (Denmark) German (Germany) ...
Можно видеть различные списки локали в зависимости от реализаций Платформы Java.