Hi,
da letztens erst wieder das Thema aufkam, wie man am einfachsten die Texte einer App lokalisiert und ich gerade bei meinem großen Projekt (MacAirTime) auch wieder vor dem Problem stehe, habe ich kurzerhand ein eigenes kleines Tool geschrieben, das das für mich macht.
Das Ergebnis möchte ich euch hier als Beta-Version vorstellen, in der Hoffnung, dass der eine oder andere beim Testen hilft.
StringLocalizer parsed das Xcode Projekt-Verzeichnis und sucht sich alle .m Files, welche im Project-Bundle integriert sind. Daraus extrahiert es alle NSLocalizedStrings Befehle und deren Texte. Gleichzeit wird nach bereits vorhandenen .lproj Verzeichnissen gesucht und für jedes Gefundene eine Sprache angelegt. Ebenfalls werden alle Localizable.strings. Dateien geparsed und die gefunden Text den Texten aus den .m Files zugeordnet.
Auf die Art wird der aktuelle Ist-Zustand der Lokalisierung ermittelt und angezeigt.
StringLocalizer zeigt dann alle Texte und Sprachen an. Man sieht auf einen Blick welche Texte für welche Sprache noch fehlen und kann entweder diese Texte in eine Datei exportieren um sie übersetzen zu lassen und dann wieder importieren oder auch schnell selber die Übersetzung eintippen.
Man kann auch neue Sprachen hinzufügen. StringLocalizer erstellt dann falls nötig das entsprechende .lproj Verzeichnis nach ISO639 und eine Localizable.strings Datei, welches dann nur noch dem Xcode Projekt hinzugefügt werden muss.
Weiterhin kann man mit einem Befehl die Texte aus dem Sourcecode einer beliebigen Sprache zuweisen, für die dann das Localizable.strings erzeugt wird.
Besonders wichtig war mir ein schneller Workflow und eine intuitive Bedienung. Ich denke das ist mir recht gut gelungen.
Was nicht geht sind dynamisch erzeugte Strings. Also z.B.
Aber da weiß ich auch nicht wie ich das machen sollte.
Ebenfalls noch nicht glücklich bin ich mit dem Format der Export- und Import Dateien. Hier hätte ich einerseits gerne was standardisiertes, andererseits aber etwas möglichst einfaches, so das der Übersetzer kein besonderes Computer- oder gar Programmierwissen besitzen muss um den Text zu übersetzen. Eventuell kennt da ja einer von euch etwas?
Geplant ist auf jeden Fall noch, dass man die AppleGlot Files für die Standard Texte importieren kann und das man die Texte auch ausdrucken kann.
So, genug geschwafelt. Jetzt wünsche ich euch viel Spass mit dem StringLocalizer
stringlocalizer.cbc-apps.com/b…d/StringLocalizer.app.zip
Gruß
Claus
da letztens erst wieder das Thema aufkam, wie man am einfachsten die Texte einer App lokalisiert und ich gerade bei meinem großen Projekt (MacAirTime) auch wieder vor dem Problem stehe, habe ich kurzerhand ein eigenes kleines Tool geschrieben, das das für mich macht.
Das Ergebnis möchte ich euch hier als Beta-Version vorstellen, in der Hoffnung, dass der eine oder andere beim Testen hilft.
StringLocalizer parsed das Xcode Projekt-Verzeichnis und sucht sich alle .m Files, welche im Project-Bundle integriert sind. Daraus extrahiert es alle NSLocalizedStrings Befehle und deren Texte. Gleichzeit wird nach bereits vorhandenen .lproj Verzeichnissen gesucht und für jedes Gefundene eine Sprache angelegt. Ebenfalls werden alle Localizable.strings. Dateien geparsed und die gefunden Text den Texten aus den .m Files zugeordnet.
Auf die Art wird der aktuelle Ist-Zustand der Lokalisierung ermittelt und angezeigt.
StringLocalizer zeigt dann alle Texte und Sprachen an. Man sieht auf einen Blick welche Texte für welche Sprache noch fehlen und kann entweder diese Texte in eine Datei exportieren um sie übersetzen zu lassen und dann wieder importieren oder auch schnell selber die Übersetzung eintippen.
Man kann auch neue Sprachen hinzufügen. StringLocalizer erstellt dann falls nötig das entsprechende .lproj Verzeichnis nach ISO639 und eine Localizable.strings Datei, welches dann nur noch dem Xcode Projekt hinzugefügt werden muss.
Weiterhin kann man mit einem Befehl die Texte aus dem Sourcecode einer beliebigen Sprache zuweisen, für die dann das Localizable.strings erzeugt wird.
Besonders wichtig war mir ein schneller Workflow und eine intuitive Bedienung. Ich denke das ist mir recht gut gelungen.
Was nicht geht sind dynamisch erzeugte Strings. Also z.B.
Aber da weiß ich auch nicht wie ich das machen sollte.
Ebenfalls noch nicht glücklich bin ich mit dem Format der Export- und Import Dateien. Hier hätte ich einerseits gerne was standardisiertes, andererseits aber etwas möglichst einfaches, so das der Übersetzer kein besonderes Computer- oder gar Programmierwissen besitzen muss um den Text zu übersetzen. Eventuell kennt da ja einer von euch etwas?
Geplant ist auf jeden Fall noch, dass man die AppleGlot Files für die Standard Texte importieren kann und das man die Texte auch ausdrucken kann.
So, genug geschwafelt. Jetzt wünsche ich euch viel Spass mit dem StringLocalizer
stringlocalizer.cbc-apps.com/b…d/StringLocalizer.app.zip
Gruß
Claus
2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.
Pre-Kaffee-Posts sind mit Vorsicht zu geniessen
Pre-Kaffee-Posts sind mit Vorsicht zu geniessen
