Cocoa/iPhone: Как создать упрощенную китайскую локализацию моего приложения?

Я нахожусь в середине локализации своего приложения для iPhone, и у меня есть рабочие места на английском, французском, немецком и японском языках без проблем. Теперь я пытаюсь работать с упрощенной китайской локализацией, и независимо от того, что я пытаюсь сделать, китайский пакет .lproj просто не будет использоваться, когда у меня будет установлен телефон на упрощенный китайский.

Одна из проблем заключается в том, что я не уверен, что должна быть вызвана локализация. Я пробовал "китайский", zh-Hans, zh-CN, zh_Hans, zh_CN, и никто из них не работает. Я даже зашел так далеко, как копать в комплекте "Запомнить приложение для молока", чтобы посмотреть, что они использовали. Они используют zh_CN, но это не работает для меня.

Я пропустил что-то очевидное здесь? Нужно ли мне где-то обновлять какой-нибудь plist? Насколько я вижу из чтения документации I18N и просмотра соответствующего видеоролика сессии WWDC, все, что мне нужно сделать, это убедиться, что у меня есть правильный пакет .lproj в моем комплекте приложений, и мне должно быть хорошо идти... не так ли?

Если вы думаете, что это поможет, я могу предоставить тестовый проект xcode, который демонстрирует проблему...

Спасибо

Ответы

Ответ 1

Это zh_CN для Simp. Китайский (简体 中文), zh_TW для Trad. Китайский (繁體 中文).

Если вы тестируете zh_CN.lproj в разделе Trad. Chinese Язык, это не сработает. Просто убедитесь, что вы тестируете свое приложение с правильной настройкой языка системы. Кроме того, Localizable.strings должны быть закодированы с кодировкой UTF-16.

Обновление:
В последнем Руководство по программированию локализации они были изменены на zh-Hans и zh-Hant.

В частности, на китайских диалектах код региона не всегда является лучшим способом указать правильный диалект или script. Например, традиционный китайский язык (Хан) является языком по умолчанию на Тайване и идентифицируется кодом zh_TW в Mac OS X v10.3.9 и ранее. Тем не менее, традиционные китайцы также часто говорят в Гонконге и Макао, что означает, что обозначение zh_TW не совсем точно в этих местах. Новый стандарт определяет новые теги для традиционных китайских (Hant) и упрощенных китайских (Hans) скриптов. Таким образом, традиционные китайцы, говорящие в любой стране, используют код ж-ханта. Традиционный китайский, как говорят на Тайване, теперь использует код локали zh-Hant_TW.

Ответ 2

Так как iPhone любит кэшировать ресурсы, вы должны очистить свой проект приложения и перестроить его. Тогда все будет хорошо работать с вашей локализацией.

Ответ 3

когда u добавить локализацию для любого языка, кроме китайского u назван как арабский, немецкий, e.t.c, но для китайского u вам нужно ограничиться при именовании, потому что есть 2 китайца (простой и традиционный), поэтому в локализации iphone u должен быть назван zh_CN (для упрощенного китайского) если вы разместили другое имя, оно не могло перевести так что будьте осторожны имя должно быть

zh_CN (для упрощенного китайца).

устраняет проблему ur :)

Ответ 4

Как указано выше: "Кроме того, Localizable.strings должны быть закодированы с кодировкой UTF-16".

Я нашел UTF-8 для Localizable.strings тоже хорошо, я успешно сделал несколько языков: zh_CN

Я руководствовался следующим сообщением: http://www.cocoabuilder.com/archive/cocoa/277415-localization-strings-in-utf16-vs-utf8.html