Nslocationwheninuseusagedescription локализация с использованием.файл строк не работает

Я завершил перевод моего приложения на турецкий язык с помощью базовой локализации. Однако, мне также нужно перевести NSLocationWhenInUseUsageDescription ключ в моем Инфо.plist файл. Я сделал именно то,что сделал для всего остального:--5-->

пошел в файл инспектор и проверил турецкий:

enter image description here

затем я пошел к ресурсу new strings и завершил свой перевод, добавив этот ключ в файл локализации:

enter image description here

"NSLocationWhenInUseUsageDescription" = "[my Turkish description of location permissions]";

сохраненные, скомпилировано, даже удалено приложение с устройства и перестроено, но безрезультатно. Когда мое приложение запрашивает разрешения на местоположение, объяснение под ним по-прежнему является английским (я пробовал включить английский перевод также в базовый файл перевода, но ничего не изменил).

все остальное турецкий, переводится просто отлично. Это просто разрешение на местоположение, которое не переводится. Я тоже видел как локализовать строку внутри информации iOS.файл plist? и добавлено "Localized resources can be mixed" = YES ключ (конечно, как CFBundleAllowMixedLocalizations, не буквально это предложение) к моему первоначальному plist, но это также ничего не изменило.

как я могу решить эту проблему?

3 ответов


вот что в конечном итоге работает для меня Xcode 7.1.

сначала перейдите в каталог проекта и вручную создайте два InfoPlist.strings файлы, первые внутри en.lproj папка и вторая внутри .

оба файла должны иметь следующее содержание :

NSLocationWhenInUseUsageDescription = "YOUR TEXT HERE";

поскольку файлы не будут отображаться автоматически в Xcode, вы должны вручную добавить оба в пакет проекта, этого можно достичь, щелкнув правой кнопкой мыши имя проекта в Xcode и выбор Add files to X опция, затем выберите файлы, которые вы только что создали.


также, если вы хотите проверить результат и убедиться, что все работает, изменив Application Language на Edit Scheme > Run > Options недостаточно.

вам нужно изменить симулятор или устройства язык через Settings > General > Language & Region > iPhone Language


Я начал за. Удалил переводы, очистил проект и попробовал еще раз. Это сработало. Я понятия не имею, почему это не произошло изначально.


моя проблема, похоже, чувствительна к регистру:

мой InfoPlist.strings имел Нижний " i " в finder и Xcode (infoPlist), но должен быть верхним.

Я изменил имя файла и ссылку в исходном проекте Xcode, и он работает (или удалить и воссоздать с правильным именем).