В соответствии с 2-символьными кодами ISO uk = United Kingdom. Но Locale.UK.getCountry()
возвращает ГБ. Я что-то упускаю?
Locale.UK и код страны
Ответы (2)
Согласно этому,
Метод getCountry() возвращает двухбуквенную аббревиатуру ISO 3166 для региона или страны-члена локали.
двухбуквенная аббревиатура ISO 3166 для Великобритании действительно означает GB. uk
не является частью стандарта, а скорее исторической случайностью:
Использование .uk, а не .gb для домена верхнего уровня связано с его ранее существовавшим использованием в (теперь устаревшей) схеме регистрации имен JANET, в которой порядок компонентов адреса был обратным. .uk был доступен в DNS, чтобы упростить перевод на эти адреса и обратно. Были планы возможного перехода на .gb в соответствии с правильным использованием, но этого так и не произошло; использование .uk теперь укоренилось, и невозможно зарегистрировать домен .gb.
В зависимости от вашего целевого использования вам может потребоваться заменить .gb на .uk.
uk
здесь из соображений совместимости (ошибка в прошлом).
Правильный идентификатор gb
.
Единственное место, где gb
остается стандартным, — это доменные имена, но это выходит за рамки этого вопроса.
Чтобы свести к минимуму потенциальные проблемы, вы можете переназначить uk
на gb
.