Это приложение разрабатывалось более года и уже было выпущено несколько раз.В этом цикле разработки я заметил, что «запасной» язык, похоже, больше не работает.
Приложение имело 3 цели: CountryA, CountryB и CountryC.У каждой цели есть следующие каталоги локализации:
- CountryA: en.lproj, langA.lproj, langB.lproj
- CountryB: en.lproj
- CountryC: en.lproj, langC.lproj
В каждом целевом файле info.plist указан ключ "CFBundleDevelopmentRegion" со значением "en".
Файл project.pbxproj имеет оба следующих ключа/ значения, указанные в разделе PBXProject:
- developmentRegion = en;
- knownRegions = (английский, японский, французский, немецкий, en, fr, dk, da, nl, new,pt, de,);
Когда я запускаю приложение на iPhone или в симуляторе iPhone с установленным языком системы, отличным от одного из указанных каталогов локализации, пользовательский интерфейс показывает идентификаторы NSLozalizedString вместолокализованные строки.Даже когда я указываю «английский» в качестве языка системы в iOS!
Итак ... по какой-то причине файл en.lproj не берется, потому что если я использую langA или langB в качестве языка системы для целевой страны A, то всекак и ожидалось.
Любая помощь приветствуется!
С уважением, Niels R.
ПРИМЕЧАНИЕ: Проблема вызвана плагиномвнешняя компания, которую мы должны были интегрировать и которая также имеет файл Localizable.strings.Это приведет к тому, что «наши» Localizable.strings будут перезаписаны.
Извините, что беспокоюсь об этом!Похоже, мне просто пришлось заглянуть немного дальше, прежде чем задавать вопрос.