iPhone неправильно Localizable.strings используется - PullRequest
1 голос
/ 30 марта 2011

У меня есть проект с разными файлами Localizable.string:

.. / ан-GB.lproj /Localizable.strings

.. / ан-US.lproj /Localizable.strings

.. / FR-FR.lproj /Localizable.strings

.. / FR-CH.lproj /Localizable.strings

и т. Д. Примерно с 10 различными языками. Все они в кодировке UTF16. Я использую XCode4. Когда я настраиваю свой тестовый iPod в FR-FR и запускаю мое приложение, строка:

 NSLog(@"Current Locale: %@", [[NSLocale currentLocale] localeIdentifier]);

возвращает: Текущий язык: fr_FR

Но все мои NSLocalizedString (@ "my_string", nil) всегда возвращают значения, расположенные в моем португальском локализуемом . Любая подсказка для этой проблемы?

Ответы [ 4 ]

3 голосов
/ 28 июня 2017

Сначала проверьте ваши параметры схемы.Возможно, вы изменили «Регион приложения» , который в вышеприведенном случае может быть установлен на «Португалия» .Это должно быть установлено на «Системный регион» и «Язык приложения» на «Системный язык»

3 голосов
/ 13 сентября 2011

Не уверен, относится ли это к вам, но я заметил похожие проблемы с использованием ShareKit.Это не проблема ShareKit как таковая, но проблема заключалась в файлах localizable.strings внутри библиотеки, которая перекрывала мою (например, у меня было 2 localizable.strings для английского языка. Одна была моей, другая была для sharekit).

Приложение работало, и ему было трудно решить, какой из двух файлов localizable.strings выбрать для рисования строк.

Решением была передача всех строк в одном конце файла.конечно, удалив дубликаты файлов.

Надеюсь, я помог.

2 голосов
/ 30 марта 2011

Убедитесь, что вы перетаскиваете локализованные файлы в нужную папку.Это довольно легко поместить в неправильное место.

Посмотрите здесь полный список того, что вы должны сделать, включая скриншоты того, куда вы должны перетащить переводы в дереве проекта:

http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/

1 голос
/ 30 марта 2011

Попробуйте сделать чистку и удалить приложение с устройства / симулятора и пересобрать / развернуть.

У меня возникли проблемы при добавлении новых локализаций и кэшировании ресурсов приложения на устройстве.

Также, когда я локализуюсь, я обычно использую код страны в качестве имени для папки .lproj, например:

en.lproj fr.lproj

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...