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