Übersetzung von Storyboard-Texten

Um in Xcode Lokalisierungen bzw. Übersetzungen von (statischen) Texten im Storyboard (z.B. Menü-Punkte oder allgemein Label-Texte) zu hinterlegen, bedarf es sehr wenigen Handgriffen. Folgende Schritte sind dazu notwendig:

  • Wählt das Projekt aus und schaut ob im Tab „Info“ unter dem Punkt „Localizations“ das Häkchen bei „Use Base Internationalization“ gesetzt ist (falls nicht: setzen)
  • Durch Klick auf das Plus-Symbol (etwas oberhalb von „Use Base Internationalization„) kann eine neue Sprache hinzugefügt werden
  • Nach Bestätigung des Dialoges wurden sowohl für das Storyboard („Main.storyboard“) als auch für den Launchscreen („Launchscreen.storyboard„) eine zusätzliche String-Datei angelegt (zu erkennen an dem kleinen Dreieck neben der jeweiligen Datei)
  • In diesen Dateien befinden alle bisher existierenden Titel und Textelemente der Views und können beliebig angepasst werden
  • Möchte man die Sprache für das Storyboard („Main.storyboard“) wieder deaktivieren, muss man lediglich im „File Inspector“ unter dem Punkt „Localization“ bei der Sprache entsprechend das Häkchen entfernen (die Sprachdatei geht dann nicht verloren, sie wird lediglich nicht mehr angezeigt)


Hinweis:
Wenn man die Schritte direkt am Anfang durchführt, stehen noch relativ wenig Strings in den Dateien. Wenn im Laufe der Entwicklung neue Labels, Views, etc. im Storyboard hinzukommen, gibt es mehrere Möglichkeiten die Dateien zu aktualisieren. Dabei ist wichtig zu wissen, dass jedes Element (=Label, View, …) eine Id besitzt (in der automatisch erstellten *.strings-Datei ist das entsprechend anschaulich kommentiert).

Manuell:
Die neuen Strings können einfach per Hand entsprechend hinzugefügt werden.

Datei neu anlegen (lassen):
Durch die Deaktivierung und die anschließende Aktivierung einer Sprache kann man sich eine neue, aktuellere Sprachdatei anlegen lassen (Option „Replace file„, nicht „Use file„). Wenn man die zuvor angelegten Übersetzungen per c&p sichert, geht die bisherige Arbeit nicht verloren.

Nutzung des Konsolen-Tools ibtool
Xcode stellt für die Aktualisierung der Datei(en) die Konsolenanwendung ibtool zur Verfügung. Im Terminal muss man dazu direkt in den Base.lproj-Ordner wechseln (zu finden im Root-Ordner des Projektes) und den folgenden Befehl ausführen:
ibtool Main.storyboard --generate-strings-file dateiname.strings
Main.storyboard muss dabei ggf. angepasst werden, wenn die Datei umbenannt wurde. Die erstellte Datei enthält die neuen Strings, die dann per c&p in die eigentliche Datei kopiert werden können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert