Mit der Internationalisierung beginnen

Sie haben ein Projekt und möchten es in mehrere Sprachen übersetzen? Diese Anleitung wird Ihnen dabei helfen. Es werden mehrere typische Situationen vorgestellt, aber die meisten Beispiele sind allgemeiner Art und können auch auf andere Szenarien angewendet werden.

Bevor Sie eine Software übersetzen, sollten Sie sich darüber im Klaren sein, dass Sprachen auf der ganzen Welt sehr unterschiedlich sind und Sie sollten keine Vermutungen aufgrund Ihrer Erfahrung anstellen. In den meisten Sprachen wird es seltsam aussehen, wenn Sie versuchen, einen Satz aus übersetzten Segmenten zusammenzufügen. Außerdem sollten Sie Pluralformen richtig behandeln, denn viele Sprachen haben dafür komplexe Regeln, und das Internationalisierungs-Framework, das Sie verwenden, sollte dies unterstützen.

Zu guter Letzt kann es manchmal notwendig sein, der übersetzten Zeichenkette einen Kontext hinzuzufügen. Stellen Sie sich vor, ein Übersetzer bekäme die Zeichenkette Sun zum Übersetzen. Ohne Kontext würden die meisten Menschen dies als unseren nächstgelegenen Stern übersetzen, aber es könnte tatsächlich als Abkürzung für Sonntag verwendet werden.

Framework für Internationalisierung auswählen

Wählen Sie das, was auf Ihrer Plattform Standard ist. Versuchen Sie zu vermeiden, das Rad neu zu erfinden, indem Sie Ihr eigenes Framework für die Lokalisierung erstellen. Weblate unterstützt die meisten der weit verbreiteten Frameworks, siehe Lokalisierungsdateiformate für weitere Informationen (insbesondere Fähigkeiten der Übersetzungstypen).

Unsere persönliche Empfehlung für einige Plattformen finden Sie in der folgenden Tabelle. Diese basiert auf unserer Erfahrung, kann aber nicht alle Anwendungsfälle abdecken, daher sollten Sie bei der Auswahl immer Ihre Einsatzumgebung berücksichtigen.

Der detailliertere Arbeitsablauf für einige Formate wird in den folgenden Kapiteln beschrieben:

Schulung von Entwicklern für korrekte Internationalisierung

Bei der Internationalisierung von Software geht es nicht nur um die Übersetzung von Zeichenketten, sondern auch darum, dass die gesamte Software für einen Benutzer aus einem anderen Land wie seine Muttersprache aussieht. Dazu gehören auch Dinge wie die Formatierung von Datumsangaben oder Zahlen, die Anzeige von Währungen oder die Eingabe von Text in der richtigen Schreibrichtung. Die meisten Software-Frameworks bieten hierfür eine gute Unterstützung, so dass Sie für all diese Bereiche deren Anweisungen befolgen sollten.

Auch die Übersetzung von Zeichenketten ist nicht immer ganz einfach. Dies gilt vor allem für kurze Zeichenketten wie Bildunterschriften oder Labels für Schaltflächen. Verschiedene Sprachen haben unterschiedliche Regeln, und man kann nicht erwarten, dass dieselbe Zeichenkette immer gleich übersetzt wird. In vielen Situationen ist auch nicht klar, wie übersetzt werden soll, und es ist sogar schwierig zu unterscheiden, ob das Wort ein Verb oder ein Substantiv ist.

Alle Entwickler sollten dies verstehen und Zeichenketten, die in verschiedenen Bereichen verwendet werden, eindeutig identifizieren. Beispielsweise könnte None mit „keine Benutzer“ anders übersetzt werden als None im Sinne von „keine Elemente“. Verwenden Sie unterschiedliche Schlüssel oder Kontexte, um diese Begriffe für Übersetzer unterscheidbar zu machen. Sie können in Weblate zusätzliche Kontexte angeben, wie zum Beispiel Bildschirmfotos und visueller Kontext oder Erklärung.

The technical side is only part of the work. Translators also notice the project workflow around strings, releases, and communication. A few practices make collaboration much easier:

  • Respond to translator questions and comments, and make sure the advertised contact channel is actually monitored.

  • Avoid unnecessary churn in source strings. Rewording or replacing existing strings without a user-visible reason creates avoidable translation work.

  • Add enough context for translators to understand short or ambiguous strings. Avoid concatenating sentences from fragments, use placeholders that can be reordered, and rely on built-in plural handling.

  • Ship translations regularly so completed work does not stay unused in Weblate for long periods.

  • Communicate workflow or policy changes, and keep contribution requirements realistic for smaller language teams.

  • If a project is no longer maintained, reflect that in the translation workflow instead of leaving components open indefinitely.

Weblate can help with some of these issues. In particular, regular automatic commits from Weblate make translation progress visible in the source code history and reduce the risk that finished work is forgotten before a release. See Kontinuierliche Lokalisierung for automation options.