Я считаю, что это поведение является преднамеренным и согласуется с лучшими практиками в отношении локализации.
Вообще говоря, верхний уровень каталога Resources
предназначен только для локализованных XIB / NIB. После локализации определенного XIB он должен храниться в основной языковой папке, а любые локализации - в других языковых папках.
По сути, Xcode помогает вам не создавать проблему, перемещая ваш «основной» MyViewController.XIB в папку en.lproj (которая должна быть любой, которую вы указали в качестве собственной области разработки) в качестве первого шага для добавления новый язык для этого файла.
OS X (и iOS) достаточно умны, чтобы использовать язык по умолчанию (как указано в CFBundleDevelopmentRegion
a / k / a / Localization native development region
), когда ресурс не существует в Resources
или в настоящее время активен язык.
Если вы хотите создавать только французские и итальянские версии (без английского), просто убедитесь, что вы установили CFBundleDevelopmentRegion
для соответствующего кода языка, и ОС будет искать в этом каталоге все ресурсы, которых нет в локализованный пучок.
После того, как вы установили это, Xcode должен (но не появляется) поместить преобразованные файлы в требуемый каталог по умолчанию. Небольшое копание указывает на то, что, редактируя файл project.pbxproj вручную, вы можете установить developmentRegion
на что-то отличное от английского (я тестировал с fr
), и это заставит Xcode разместить локализованные файлы в нужном месте.