2009-11-27 18 views
18

Ich habe ein internationalisiertes iPhone-Projekt. In den verschiedenen ${lang}.lproj/InfoPlist.strings Dateien habe ich einen einzigen Schlüssel, CFBundleName = "My App Name".XCode - Mehrere Ziele, Mehrere * internationalisierte * Namen?

Das funktioniert gut für ein einzelnes Ziel, aber ich kann es nicht für mehrere Ziele arbeiten.

Ich hätte gerne mehrere übersetzte InfoPlistMyApp.strings Dateien für das Hauptziel, plus mehrere InfoPlistMyAppLite.strings Dateien für die Lite-Version. Aber ich kann nicht herausfinden, wie ich es einrichten soll. Der Name InfoPlist.strings scheint in Stein gemeißelt zu sein, also kann ich ihn nicht dynamisch ersetzen.

Irgendwelche Ideen?

Antwort

34

Stellt sich heraus, das ist ziemlich einfach, wenn mühsam. Sie können mehrere InfoPlist.strings mit einem aktivierten pro Ziel haben, und diese können jeweils internationalisiert werden, , solange sich jeder Satz in einer anderen Xcode-Gruppe befindet.

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

importieren diese Dateien in Xcode Gruppen, so sieht es wie folgt aus::

alt text

Rechtsklick auf "Gruppen & Files" (

eine Verzeichnisstruktur wie folgt einrichten oben links von Xcode) und stellen Sie sicher, dass "Ziel-Mitgliedschaft" sichtbar ist, dann gehen Sie durch Ihre Ziele, überprüfen Sie die richtige Menge von Zeichenfolgen für jeden aktiviert ist.

+0

funktioniert perfekt noch! –

+0

kann bestätigen, dass dies auf xcode 9 funktioniert. Großartige Arbeit !! –

Verwandte Themen