Wie man NIB-Layouts für Lokalisierungen optimiert

Lesen Sie unsere Schritt-für-Schritt-Anleitung, wie man NIB-Layouts für Lokalisierungen optimiert.

NIB-Layouts für Lokalisierungen optimieren

Zusammenfassung:
Diese Seite informiert über NIB-Layout-Probleme, die beim Lokalisieren auftreten. Sie zeigt, wie die NIB-Layout-Methode Einer für alle diese Probleme lösen kann.


Wir alle kennen und mögen die frische Dialog-Optik der Cocoa-NIBs. Hier ist ein recht einfacher Beispiel-Dialog. Sieht nett, frisch und sauber aus.

Das NIB-Layout-Kopierproblem

Jetzt erzeugen wir eine neue Sprache (Deutsch) in iLocalize, wobei die NIB-Layouts von Englisch nach Deutsch kopiert werden. Und so sieht das deutsche NIB dann aus.

Problem erkannt? Prima. Das ist ein Problem, das wir alle kennen. Wir sehen es immer wieder einmal in verschiedensten Programmen (sogar denen von Apple!). Und dieses Problem werden wir nun abschaffen, für alle unsere Cocoa-Programme, die NIBs nutzen und lokalisiert werden.

Sie haben Ihre NIB-Layouts bisher natürlich in Interface Builder (nachfolgend IB genannt) gemacht. Aber viele von uns haben die Layout-Rechtecke nicht benutzt und einfach alles so akzeptiert, wie es von IB eingestellt wurde. – Schauen wir uns jetzt mal das wahre NIB-Layout an, indem Sie Layout: Show Layout Rectangles in IBs Menü einschalten.

Hier sehen Sie, dass die Objektgrenzen für die englischen Texte genau passen. IB mag es, die Größe von Objekten anzupassen, wenn Sie neue Objekte erzeugen und Text eingeben. Das scheint auf den ersten Blick nett zu sein, ist aber Teil des Problems. Das nächste Bild zeigt das Layoutproblem für die deutsch lokalisierte Version sehr viel eindrucksvoller.

Passen Sie nur die (englischen) Basis-NIBs an, damit sie für alle Sprachen passen

Das ist wirklich einfach, wenn Sie einmal begriffen haben, worauf es ankommt. Es gibt keinen Grund, warum der Dialogtitel (Saving... / Beim Sichern ...) nicht so breit wie möglich sein soll. Die Darstellung (ohne Layout-Rechtecke) ist exakt gleich. Aber so wird das Objekt für alle Sprachen genug Platz haben (bis Sie irgendwann zu Finnisch oder Klingonisch mit wesentlich mehr Wörtern kommen – dazu gleich mehr).

Für den Abbrechen-Button haben wir herausgefunden, dass eine standardisierte Breite von 108 Pixeln für alle Paare von Abbrechen-/OK-Buttons prima ausreicht. Das passte bisher bei uns für alle Sprachen, die wir übersetzt haben. Und es ist so leicht zu behalten, wenn Sie neue Dialog-NIBs erzeugen: 108 ist wirklich eine nette Zahl.

Hier sind die grundsätzlichen Punkte, die Sie behalten müssen:

  1. Legen Sie Textobjekte so groß wie möglich in den (englischen) Basis-NIBs an.
  2. Denken Sie immer daran, dass andere Sprachen längere Wörter nutzen können.
  3. Benutzen Sie die Anzeige der Layout-Rechtecke in IB, um zu prüfen, ob Textobjekte noch nicht maximal groß sind.
  4. Benutzen Sie die Textausrichtungsattribute für Textobjekte, z.B. rechtsbündig für Feldbeschreibungstexte, die links von Eingabefeldern stehen.

Hier sehen Sie, dass das Einer für alle NIB-Layout für beide Sprachen dieses einfachen Beispiels prima passt. (Und natürlich würden auch wesentlich komplexere Dialoge nach dieser Methode genauso gut aussehen.)

NIB-Layouts nach der Lokalisierung anpassen

Wenn Sie Ihre NIB-Layout in Englisch so angepasst haben, erzeugen Sie Ihre lokalisierten Versionen (am besten mit iLocalize) und verteilen Sie die Multi-Sprachen-Version an Ihre Lokalisierer. Aber informieren Sie sie erst, dass Sie NICHT eigenständig die lokalisierten NIB-Layouts anpassen sollen, sondern stattdessen immer dann, wenn ein Dialog für ihre Sprache nicht passt, ein Bildschirmfoto davon machen sollen. Dann sollten sie ihre Übersetzungen mit den Bildschirmfotos zurückschicken. Sie werden in kürzester Zeit die entsprechenden englischen NIBs anpassen können, so dass die übersetzten Texte ebenfalls hineinpassen.

Das Aktualisieren der lokalisierten NIBS anhand der angepassten englischen Basis-NIBs ist mit iLocalize ein Kinderspiel. Aktualisieren Sie einfach Ihr Projekt in iLocalize und setzen Sie für den Prozess Update From Bundle den Schalter Reset the layout of each localized nib file from its base-language layout.

Hier ist ein etwas komplexerer Dialog, der sich nur mit der vorgestellten Methode Einer für alle dauerhaft gut pflegen lässt.


Gründe für diese Methode

  1. Stellen Sie sich vor, Ihre Übersetzer passen die lokalisierten NIBs selbst an und beschädigen dabei irgendwas (Objekte gelöscht, Objekte umsortiert, Verbindungen entfernt). Wer will das herausfinden – wer will das reparieren?
  2. Stellen Sie sich vor, als Entwickler haben Sie einige Verbindungen in einem NIB geändert, aber die Ansicht der Objekte gelassen. Wenn Ihre Lokalisierer ihre iLocalize-Projekte mit Ihrem aktualisierten Programm aktualisieren, kann es passieren, dass sie das geänderte NIB-Layout nicht bemerken, weil sich optisch nichts verändert hat. Wir sagen nicht, dass das passieren MUSS, aber die Chance ist sehr groß, dass es passiert.
  3. Wenn Sie Handbücher, Anleitungen, Prospekte, Verpackungslayout usw. machen und dabei Dialogabbildungen verwenden, werden diese Dinge wahrscheinlich wesentlich rascher gestaltet sein, wenn alle lokalisierten Dialoge einheitliche Größen und Layouts haben.
  4. Ihr Programm wirkt für alle, die es in verschiedenen Sprachen anwenden, wesentlich aufgeräumter und professioneller.
  5. Wenn Anwender/innen mit einem komplizierten Dialog in ihrer Muttersprache vertraut sind, können Sie das Programm sogar in einer fremden Sprache benutzen, die sie nicht verstehen, weil die Position (!) der Objekte immer identisch ist.
  6. ...

Don't speak German? Choose your language at the top of this page.

Home | iCalamus | Download | Kaufen | Support | News | Kontakt · Datenschutz
© 2006-2024 · [1020512]