Язык и локаль IDs
Язык IDs идентифицирует язык, диалект или сценарий и используется для именования специфичных для языка папок ресурса сохраненными в комплекте приложений. Локаль IDs идентифицирует ряд региональных соглашений и используется в APIs — такой как NSLocale
, NSDateFormatter
, NSNumberFormatter
, и NSCalendar
классы — где информация об области необходима для форматирования данных. OS X и iOS используют стандартный язык ID и локаль форматы ID, состоящие из указателей области и языка. Например, с помощью языка, объединенного с указателем области, язык, ID может различить различные языки и региональные диалекты.
Указатели языка
Указатель языка является кодом, представляющим язык. Используйте ISO с двумя буквами (предпочтенный) стандарт 639-1 или ISO с тремя буквами стандарт 639-2. Если ISO используют ISO код 639-2 вместо этого, код 639-1 не доступен для определенного языка. Например, нет никакого ISO кода 639-1 для гавайского языка, так используйте ISO код 639-2. Таблица b-1 перечисляет указатели языка для подмножества языков.
Язык | ISO код 639-1 | ISO код 639-2 |
---|---|---|
Английский язык |
|
|
Французский язык |
|
|
Немецкий язык |
|
|
Японский язык |
|
|
Гаваец | никакой указатель |
|
Для полного списка ISO 639-1 и ISO 639-2 кода, посмотрите Коды ISO 639.2 для Представления Имен и Языков.
Указатели области
Указатель области является кодом, представляющим страну. Используйте ISO 3166-1 стандарт, капитализированный код с двумя буквами, показанный в Таблице b-2.
Область | ISO 3166-1 код |
---|---|
США |
|
Соединенное Королевство |
|
Австралиец |
|
Франция |
|
Канадец |
|
Для полного списка ISO 3166-1 код посмотрите ISO 3166-1 Таблица Декодирования.
Язык IDs
Язык ID идентифицирует язык, используемый во многих областях, диалект, используемый в определенной области или сценарии, используемом в многократных областях. Для указания языка, используемого во многих областях, используйте указатель языка отдельно. Для указания определенного диалекта используйте дефис для объединения указателя языка с указателем области. Для указания сценария объедините указатель языка с указателем сценария. Например, для указания общего английского языка используйте en
указатель языка как язык ID. Для указания английского языка, поскольку это используется в Соединенном Королевстве использовать en-GB
как язык ID.
Таблица b-3 показывает поддерживаемому языку синтаксис ID и примеры общих языков и диалектов.
Язык синтаксис ID | Примеры | Описание |
---|---|---|
|
| Указывает язык только. |
|
| Указывает диалект языка. |
| Посмотрите таблицу b-4. | Указывает сценарий языка. |
Для указателя сценария используйте стандарт ISO 15924, четыре буквы с первым верхним регистром буквы и последние три нижних регистра, как показано в Таблице b-4.
Язык сценария ID | Описание |
---|---|
| Азербайджанский язык в арабском сценарии. |
| Азербайджанский язык в Кириллическом сценарии. |
| Азербайджанский язык в латинском сценарии. |
| Сербский язык в Кириллическом сценарии. |
| Сербский язык в латинском сценарии. |
| Узбекский язык в Кириллическом сценарии. |
| Узбекский язык в латинском сценарии. |
| Китайский язык в упрощенном сценарии. |
| Китайский язык в традиционном сценарии. |
Посмотрите раздел «ISO 639-3 and Macro Languages» Понимания Новых Языковых тегов для большего количества китайского языка примеры ID. Для полной спецификации BCP 47 для языковых тегов перейдите к BCP 47: Теги для Идентификации Языков. Однако iOS и OS X только поддерживают язык синтаксис ID, состоящий из указателя языка и дополнительной области или указателя сценария.
Локаль IDs
Локаль ID идентифицирует определенную область и ее местные представления — такие как форматирование дат, времена и числа. Для указания локали используйте символ подчеркивания для объединения языка ID с указателем области, как показано в Таблице b-5. Например, локаль ID для англоязычных динамиков в Соединенном Королевстве en_GB
, в то время как локаль для англоговорящих резидентных объектов США en_US
.
Локаль синтаксис ID | Примеры | Описание |
---|---|---|
|
| Неуказанная область, где используется язык. |
|
| Язык, используемый и региональное предпочтение пользователя. |
|
| Неуказанная область, где используется сценарий. |
|
| Сценарий, используемый и региональное предпочтение пользователя. |
Только используйте указатель сценария в локали ID, когда будет неоднозначность. Например, потому что Традиционный китайский является языком по умолчанию в Гонконге, использовать zh_HK
, где zh
код для Традиционных китайцев и HK
код для Гонконгской области. Для Упрощенного китайского, используемого в Гонконге, использовать zh-Hans_HK
как локаль ID, где zh-Hans
код для сценария Упрощенного китайского.
Используя указатели подтега
Если необходимо, можно использовать язык или код локали, который не известен NSBundle
класс или Базовая Основа связывают функции. Например, Вы могли создать свои собственные указатели языка для языка, еще не перечисленного в соглашениях ISO или доступного как язык в XCode.
Если Вы принимаете решение создать новый указатель, несомненно, соблюдут правила, найденные в разделах 2.2.1 и 4.5 из BCP 47: Теги для Идентификации Языков. Теги, не следующие этим соглашениям, как гарантируют, не будут работать. При использовании подтегов гарантируйте, что сокращение, сохраненное настройками языка пользователя, соответствует указатель, используемый Вашим .lproj
каталог точно.