Как установить язык, отличный от английского, в качестве языка разработки и базовой локализации?

Когда проект Xcode приложения iOS создается заново, в настройках проекта (не цели) мы видим, что он имеетUse Base internationalization включен по умолчанию, и дляDevelopment Language которыйEnglish по умолчанию (один дляMain.storyboard и один дляLaunchScreen.storyboardоба из которых проживают вBase.lproj каталог). Смотрите ниже скриншот:

(Для простоты я только упомянуMain.storyboard впредь.)

И в разделе локализацииMain.storyboardНа правой боковой панели видно, чтоBase локализация отмечена по умолчанию, а такжеEnglish локализация, которая не включена по умолчанию. Смотрите ниже скриншот:

И в мишениInfo.plistесть ключ с именемLocalization native development region (Т.е.CFBundleDevelopmentRegion), и его значение по умолчаниюen, Смотрите ниже снимок экрана:

Если я правильно понимаю, с этими настройками по умолчанию разработчик может просто написать на английском языке вBase локализацияMain.storyboard и оставитьEnglish локализация как непроверенная. Если приложение должно адаптироваться к другому языку, разработчик может добавить локализацию в настройке локализации проекта и выбратьMain.storyboard в появившемся диалоге. Смотрите ниже скриншот:

приниматьChinese (Simplified) Например, это приведет к созданию нового каталогаzh-Hans.lproj сMain.strings файл внутри него. (Для простоты я буду называть этоChinese вместоChinese (Simplified).) Разработчику просто нужно перевести английские строки внутри этого файла на китайский (недавно созданныйMain.strings вzh-Hans.lproj каталог по умолчанию содержит все английские тексты, дублированные изMain.storyboard вBase.lproj). С этими настройкамиLanguage поле в описании этого приложения в AppStore будет список английского языка (изBase локализация, потому что английский языкdevelopment language) и китайский (изChinese локализация). На устройстве конечного пользователя, если системным языком является английский / китайский (или английский / китайский является одним из предпочтительных языков), приложение будет использовать соответствующий языковой ресурс (для английского языка используйтеBase локализация; для китайцев используйтеChinese локализация). Для всех других языковых предпочтений английский будет действовать как запасной язык, потому чтоCFBundleDevelopmentRegion являетсяen, такBase локализация используется.

Итак, мой первый вопрос: правильное ли это понимание? Подводя итог, сdevelopment language будучи английским, нам не нужно включатьEnglish локализация файлов раскадровки. Просто используйтеBase локализация и прямая запись английского в файлах раскадровки. Нам нужно только добавить локализацию для языков, отличных от английского. (На самом деле это кажется проблематичным, если мы включаемEnglish локализация. ЕслиEnglish локализация включена, то нам нужно сохранить оба текста вBase.lproj/Main.storyboard а такжеen.lproj/Main.strings.)

Если приведенное выше понимание верно, мой второй вопрос будет состоять в том, как добиться интернационализации в обратном направлении? То есть, если бы я хотел использоватьChinese какdevelopment language и писать на китайскомBase локализация, и только добавить локализацию для языков, отличных отChineseэто возможно и как это сделать в Xcode? Я не могу найти способ изменитьdevelopment language в настройках проекта, чтобы утверждать, чтоBase локализация в проектеChinese скорее, чемEnglish.

Ответы на вопрос(1)

Ваш ответ на вопрос