Как Mac OS определяет, какой файл localization.strings использовать? - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть и проект XCode со списком поддерживаемых языков. По умолчанию XCode перечисляет только 4 языка по умолчанию, когда вы нажимаете «Добавить локализацию» в окне информации о локализованной группе. Я просто следовал за примером проекта и добавил «Локализации» в виде сочетания полных названий языков, а некоторые использовали обозначение ISO 639-1. Что странного в этом:

Я добавил название локализации "zh_CN" (просто имитировал существующий проект) для упрощенного китайского. Когда проект компилируется, он имеет .app / Contents / Resources / zh_CN.lproj / Localizable.strings. Я изменяю язык системы на упрощенный китайский и запускаю приложение. Вуаля, он работает и получает упрощенный китайский Localizable.strings.

Однако, если я использую API NSLocale , я получаю "zh-Hans". Строки "zh_CN" были загружены, но NSLocale возвращает "zh-Hans".

Как Mac OS определяет использование строк "zh_CN" при использовании упрощенного китайского языка в качестве локали? Есть ли API, чтобы знать, что текущий системный язык будет использовать "zh_CN"?

1 Ответ

1 голос
/ 09 ноября 2011

zh_CN - старый способ обозначения Simiplified Chinese.
, и теперь вместо него лучше использовать "zh-Hans".(Чтобы поддерживать старые версии iOS и OSX, я думаю, что Apple по-прежнему будет поддерживать имена в старом стиле, такие как zh_cn.

( этот документ "Обозначения языка и локали" объясняет все:D)

...