Im Allgemeinen weiß ich, wie man die Lokalisierung von iOS-Apps durchführt, die einzige Sache ist, zwischen verfügbaren Möglichkeiten zu wählen und es richtig zu machen. Daher möchte ich Sie nach Ihrem l10n Ansatz für Ihre Projekte fragen.
Hier sind meine Eingaben:
Ich sehe zwei Möglichkeiten, wie ich gehen könnte:
Option A: Lokalisieren Sie jede NIB-Datei, indem Sie XIBs lokalisierbar machen und Sprachversionen hinzufügen:
Option B: führt die Lokalisierung im Code durch, indem alle benötigten Steckdosen miteinander verknüpft und mit Eigenschaften versehen und ihre Beschriftungen / Titel richtig gesetzt werden:
Ich würde mich für die zweite Option entscheiden, da ich weniger Nachteile sehe und es erlauben kann, alles an einem Ort unter Kontrolle zu haben, aber ich würde gerne wissen, was Sie wählen würden? Welcher Weg funktioniert besser für dich?
BEARBEITEN: Ich weiß, dass ibtool
den Prozess in Plan A vereinfachen könnte, aber ich bin immer noch nicht davon überzeugt.
Nun, ich habe etwas mehr Feedback von SO-Benutzern erwartet, aber das ist in Ordnung, denn nach einigen Recherchen habe ich meine eigene Entscheidung getroffen, Option B aufzugeben und eine modifizierte Version von Option A zu wählen.
Ich habe viele Ideen aus einem Compile-Time-Ansatz von Philippe Casgrain verwendet. Im Allgemeinen wird ibtool
verwendet, um die Nibs beim Erstellen automatisch zu lokalisieren. Philippe's Ansatz hält die Wartung im Moment vernünftig. Alle anderen Zeichenfolgen, die ich im Code verwende, werden mit NSLocalizedString
approach behandelt, was in meinem Fall ziemlich einfach zu implementieren war (nur verwendet genstrings
tool). Das einzige Problem, das mich in Zukunft möglicherweise treffen könnte, ist das Hinzufügen neuer Ziele mit unterschiedlichen / geänderten UI-Layouts.
Es ist schwer zu sagen, ob es die beste Wahl war. Die Zeit wird es zeigen, also werde ich eines Tages die Frage aktualisieren und mit Ihnen teilen, wie die Entscheidung für mich gelaufen ist. Vielleicht wird jemand davon in der Funktion profitieren;)
Ich verwende Option B in allen meinen Projekten, da dies es mir auch erleichtert, die String-Dateien an die Localizer zu verteilen. Das Testen ist natürlich danach notwendig, um sicherzustellen, dass die Strings passen. Auch einige Projekte verwenden keine XIB-Dateien, daher ist der Prozess immer gleich, egal ob XIB-Dateien verwendet werden oder nicht. Es gibt kein Speicherproblem mit dieser Option nach meiner Erfahrung.
Tags und Links iphone ios4 iphone-sdk-3.0 localization internationalization