XCode - несколько целей, несколько * интернационализированных * имен?

StackOverflow https://stackoverflow.com/questions/1807377

Вопрос

У меня есть интернационализированный проект iPhone. В различных файлах $ {lang} .lproj / InfoPlist.strings у меня есть один ключ, CFBundleName = " Имя моего приложения " .

Это хорошо работает для одной цели, но я не могу заставить ее работать для нескольких целей.

Мне бы хотелось иметь несколько переведенных InfoPlistMyApp.strings для основной цели, а также несколько файлов InfoPlistMyApp Lite .strings для облегченная версия. Но я не могу понять, как это настроить. Кажется, имя InfoPlist.strings задано в камне, поэтому я не могу заменить его динамически.

Есть идеи?

Это было полезно?

Решение

Оказывается, это довольно легко, хотя и кропотливо. У вас может быть несколько строк InfoPlist.strings, по одному на цель, и каждый из них может быть интернационализирован, , если каждый набор находится в отдельной группе XCode .

Настройте структуру каталогов следующим образом:

.../AppName/
            en.lproj/InfoPlist.strings  <-- Contains CFBundleDisplayName
            it.lproj/InfoPlist.strings  <-- ...
            ...
.../AppNameLite/
            en.lproj/InfoPlist.strings  <-- ...
            it.lproj/InfoPlist.strings  <-- ...
            ...

Импортируйте эти файлы в группы Xcode, чтобы они выглядели так:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top