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

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

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

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

Какие-либо идеи?

20
задан Kris Jenkins 27 November 2009 в 16:02
поделиться

1 ответ

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

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

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

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

alt text

Щелкните правой кнопкой мыши «Группы и файлы» (вверху слева от Xcode) и убедитесь, что «Целевое членство» "отображается, затем перейдите к вашим целям, проверяя, что для каждой включен правильный набор строк.

37
ответ дан 30 November 2019 в 00:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: