XCode - не учитывается локализация iOS

Я просмотрел здесь разные ответы, но не могу понять, что происходит.

Мой iPhone на французском языке. У меня есть только одна цель. Я зашел в настройки проекта, сказал «Добавить локализацию» и добавил французский язык.

я убедился, что

  • очистить/перестроить мое приложение несколько раз
  • проверьте, что журнал сборки показывает копию файлов
  • удалить приложение с моего телефона
  • запустить как на телефоне (8.1) так и на симуляторе с французским
  • проверьте, отмечены ли флажки в настройках цели/проекта

Конечный результат: раскадровка локализована, но программируемые строки нет (NSLocalizedString("xxx", nil) показывает xxx вместо yyy)

Есть идеи ? Вот несколько скриншотов моей конфигурации

журнал сборкифайлы проекта fr/localized.strings настройки файла

Спасибо


person Thomas    schedule 11.02.2015    source источник
comment
На симуляторе или устройстве? Были некоторые ошибки с локализацией в симуляторе после нового XCode.   -  person Lord Zsolt    schedule 11.02.2015
comment
это происходит на обоих   -  person Thomas    schedule 11.02.2015
comment
Какой язык установлен на iPhone (Настройки->Основные->Язык и регион)?   -  person Lord Zsolt    schedule 11.02.2015
comment
французский и франция. и моя раскадровка переведена!   -  person Thomas    schedule 11.02.2015
comment
Я не испытывал ничего подобного. Вам где-то в InfoPlist нужно указать, какой .string файл использовать для локализации. Я всегда использовал Localizable.strings и никогда не имел с этим проблем.   -  person Lord Zsolt    schedule 11.02.2015
comment
Попробуйте переименовать файл .strings Localizable.stringsвместо Localized.strings.   -  person Michaël Azevedo    schedule 11.02.2015


Ответы (1)


Вы нашли причину этой проблемы здесь:

Примечание. Localizable.strings — это имя файла по умолчанию, которое iOS использует для локализованного текста. Не поддавайтесь желанию назвать файл как-то иначе, иначе вам придется вводить имя вашего файла .strings каждый раз, когда вы ссылаетесь на локализованную строку.

Если вы хотите использовать другой файл .strings для локализации, вам нужно использовать метод:

- (NSString *)localizedStringForKey:(NSString *)key
                              value:(NSString *)value
                              table:(NSString *)tableName

и укажите Localized.strings в качестве третьего параметра (tableName).

person Lord Zsolt    schedule 11.02.2015
comment
Ты самый лучший ! серьезно, я не помню, откуда взялись Localized.strings. Я думаю, что Xcode добавил его, но, возможно, у меня был этот файл раньше в моем проекте... в любом случае, спасибо - person Thomas; 11.02.2015
comment
Без проблем. Я никогда не использовал эту функцию, так что это было что-то новое для меня тоже :) - person Lord Zsolt; 11.02.2015