Meta:Internationalisierungsrichtlinien

From Meta, a Wikimedia project coordination wiki
This page is a translated version of the page Meta:Internationalization guidelines and the translation is 100% complete.

Das Meta-Wiki zielt darauf ab ein mehrsprachiges Wiki zu sein, deshalb wird von den meisten Seiten erwartet, dass sie übersetzbar und übersetzt sind. Damit eine Seite durch die Translate-Erweiterung übersetzbar wird, sollte sie die Tags <translate>...</translate> enthalten (also internationalisiert) werden und dann durch einen Übersetzungsadministrator für die Übersetzung markiert werden. Diese Seite möchte die Richtlinien für Seiteninternationalisierung im Meta-Wiki darstellen.

Allgemeine Richtlinien

Im Allgemeinen solltest du den Richtlinien der Translate-Erweiterung über die Markierung einer Seite für Übersetzung folgen: Wenn möglich, vermeide es Übersetzungseinheiten manuell mithilfe von translate -Tags aufzutrennen, lasse das stattdessen leere Zeilen übernehmen.

Neue Syntaxanforderungen 2020

  • Wenn du eine Liste in verschiedene Einheiten trennen möchtest, benutze keine Zeilenumbrüche in Texten, die eine Einheit werden sollten. Auch die Aufzählungspunkte/Nummerierungshashtags solltest du vom translate -Tag ausschließen.
  • Solltest du ein translate -Tag in einen Parameterwert einer Vorlage einfügen, stelle sicher, dass der Parameter benannt ist (ansonsten füge einen numerischen Namen hinzu, wie 1=).

Segmentierungsbeispiele

Schlechte Syntax Gute Syntax
== <translate>Abschnittsüberschrift</translate> ==
<translate>Dies ist ein Absatz.</translate>

<translate>Dies ist ein anderer Absatz.</translate>

{{Vorlage}}

== <translate>Andere Überschrift<translate> ==
<translate>
== Abschnittsüberschrift ==

Dies ist ein Absatz.

Dies ist ein anderer Absatz.
</translate>

{{Vorlage}}

<translate>
== Andere Überschrift ==
</translate>
<translate>
* Dies ist eine lange Liste:
** Es gibt mehr als 160 Worte in dieser Liste,
** oder es gibt mehr als 8 Elemente.
</translate>
<translate>
* Es ist also besser, sie in mehrere kleinere Einheiten aufzuteilen.
* Aber wir müssen Aufzählungspunkte aus den translate-Tags raushalten um die Liste zugänglich zu halten.
</translate>
* <translate>Dies ist eine lange Liste:</translate>
** <translate>Es gibt mehr als 160 Worte in dieser Liste,</translate>
** <translate>oder es gibt mehr als 8 Elemente.</translate>
* <translate>Es ist also besser, sie in mehrere kleinere Einheiten aufzuteilen.</translate>
* <translate>Aber wir müssen Aufzählungspunkte aus den translate-Tags raushalten um die Liste zugänglich zu halten.</translate>

Spezifische Elemente

Links

Jede Seite, die übersetzt werden könnte sollte mit dem Special:MyLanguage/ -Präfix verlinkt werden, selbst dann, wenn sie noch nicht internationalisiert wurde. Die Seiten, die diesen Präfix nicht brauchen sind Diskussionsseiten und Vorlagen ohne Textinhalt. Um Übersetzungen einfacher zu machen umschließe das Ziel eines internen Links mit <tvar name=1> … </tvar> (Der tvar Name kann einfach eine Nummer sein, das genügt).

Für Links auf Wikipediaartikel solltest du die Vorlage {{lwp}} für das Ziel benutzen und es mit einer tvar umschließen. Z. B. ergibt [[{{lwp|Rosa Parks}}</tvar>]] für englische Seiten en:Rosa Parks und für französische Seiten fr:Rosa Parks.

Für andere Links, entweder zwischen Wikis oder externe, solltest du das Ziel des Links nicht in tvar packen, wenn eine Übersetzung existiert. Natürlich kannst du dieses System benutzen und den ganzen Link der Zielwebseite in tvar packen, wenn die Zielwebseite ein Sprachenerkennungssystem (wie MediaWikis Special:MyLanguage/) hat.

Schlechte Syntax Gute Syntax
<translate>
Dies ist ein Text mit einem [[internen Link]] und einem [https://openstreetmap.org externen Link].
</translate>
<translate>
Dies ist ein Text mit einem [[<tvar name=1>Special:MyLanguage/internal link</tvar>|internen Link]] und einem [<tvar name="url">https://openstreetmap.org</tvar> externen Link].
</translate>

Kategorisierung

Du solltest Kategoriebestimmungen aus translate -Tags raushalten. Füge stattdessen {{#translation:}} nach dem Kategorienamen ein: [[Category:Zielkategorie{{#translation:}}]]. So wird nur die englische Hauptseite in der Zielkategorie eingefügt, während übersetzte Seiten in sprachspezifische Kategorien eingefügt werden.

Schlechte Syntax Gute Syntax
<translate>[[Category:Wikipedia]]</translate>
[[Category:Wikipedia{{#translation:}}]]

Bilder

Thumbnails und große Bilder

Wenn das Bild lokalisiert werden kann (z. B. weil es Text enthält und eine übersetzte Version existiert) sollte es vollständig in translate -Tags eingeschlossen werden.

Ansonsten solltest du nur den alt= -Wert in <translate nowrap> -Tags und die Untertitel in <translate> -Tags einschließen.

Falls left oder right als Bildparameter benutzt werden: Entferne ihn, falls er unnötig ist (Thumbnails sind standardmäßig im Englischen rechts), oder tausche ihn mit {{dirstart}} oder {{dirend}} aus.

Schlechte Syntax Gute Syntax
<translate>
[[File:Landschaft.jpg |thumb |left |alt=Sonnenuntergang |Foto einer wunderschönen Landschaft]]
</translate>
[[File:Landschaft.jpg |thumb |{{dirleft}} |alt=<translate nowrap>Sonnenuntergang</translate> |<translate>Foto einer wunderschönen Landschaft</translate>]]
[[File:Screenshot Englische Wikipedia.png|thumb|right|<translate>Wikipedia Startseite</translate>]]
<translate>
[[File:Screenshot Englische Wikipedia.png|thumb|Wikipedia Startseite]]
</translate>

Icons

Symbole innerhalb einer Zeile können einfach in ein <tvar name="img"> -Tag eingeschlossen werden.

Schlechte Syntax Gute Syntax
<translate>
[[File:Schönes Hallo Wort.png|alt=Hallo]] allerseits! [[File:Smiley.png|alt=🙂]] Wie geht es dir?
</translate>
<translate>
[[File:Schönes Hallo Wort.png|alt=Hallo]] allerseits! <tvar name="icon">[[File:Smiley.png|alt=🙂]] Wie geht es dir?
</translate>

Übersetzungsvariablen

Übersetzungsvariablen (<tvar name="name"></tvar> Syntax) sollten benutzt werden, um Text vor den Übersetzenden zu verstecken, damit er nicht übersetzt werden kann.

Die folgenden Beispiele sollten in ein tvar eingeschlossen werden:

  • Automatisch lokalisierte oder nicht-lokalisierbare Linkziele,
  • Benutzernamen,
  • Zahlen, die sich wahrscheinlich ändern (sollten in {{formatnum:}} eingeschlossen werden, dann in tvar),
  • Tag-Attribute (z. B. <span class="css_class" style="background-color:blue"</tvar>>hello</span>),
  • Vorlagenname und -parameter (z. B. {{<tvar name=1>center|5px</tvar>|hello}}),
  • Teile von kompliziertem Wikitext oder HTML (aber stelle bitte sicher, dass der resultierende Wikitext für alle Übersetzenden ausbalanciert ist).

Die folgenden Beispiele sollten nicht in ein tvar eingeschlossen werden:

  • Namen von Menschen und Orten (selbst wenn sie nur selten übersetzt werden, werden sie ggf. transliteriert),
  • XML-Tags ohne Attribute, z. B. <code> (die Übersetzungsschnittstelle kümmert sich darum),
  • lokalisierbare Linkziele (also Links zu mehrsprachigen Websites).

Namen für Übersetzungsvariablen

Um Übersetzenden zu helfen, halte tvar Namen bitte so kurz und lesbar wie möglich. Sollten Übersetzende den Inhalt nicht wissen müssen ist das Verwenden von Zahlen als Namen eine gute Idee, da Ziffern für die meisten Übersetzenden schnell geschrieben werden können und in vielen Sprachen häufig vorkommen (sodass die meisten Beginner sie nicht versehentlich übersetzen).

Falls ein tvar jedoch innerhalb eines Satzes ist sollte er einen eindeutigen Namen haben, damit Übersetzende verstehen, was er enthält und ihn so einfach an der richtigen Stelle in deren Übersetzung platzieren können (sehr häufig für eine E-Mail-Adresse, URL, Wikitext Tag-Namen...).

Schlechte Syntax Gute Syntax
[[<tvar name="HelpLink">Special:MyLanguage/Help:Links|Siehe Hilfeseite]]
[[Special:MyLanguage/Help:Links|Siehe Hilfeseite]]
Dieses Treffen wird am <tvar name=1>{{dateT||9|24}}</tvar> auf <tvar name=2>{{int string|Zoom}}</tvar> stattfinden.
Dieses Treffen wird am <tvar name="date">{{dateT||9|24}}</tvar> auf <tvar name="software">{{int string|Zoom}}</tvar> stattfinden.

Vermeide auch die Verwendung von Leerzeichen, Unterstrichen oder Buchstaben mit diakritischen Zeichen in tvar Namen.

Schlechte Syntax Gute Syntax
<tvar name="max_count of café">84</tvar> Cafés
<tvar name="max-count">84</tvar> Cafés

Vorlagen

Du kannst eine Vorlage zum Übersetzen vorbereiten wie jede Seite, aber du solltest sicherstellen, dass die "Aktivieren der übersetzungsfähigen Transklusion für diese Seite" Box ausgewählt wurde, wenn du die Seite für Übersetzung markierst.

Wenn deine Vorlage wahrscheinlich auch in nicht-übersetzbaren Seiten (z.B. Benutzerseiten) benutzt wird und selbst auf diesen Seiten übersetzt sein sollte kannst du den vor-2021 Trick mit Switch, bei dem uselang={{PAGELANGUAGE}} mit uselang={{int:lang}} ersetzt wird, wie beim unten gezeigten Code.

Vor-2021 Tricks

Vor MediaWiki 1.36.0-wmf.32 (2021-02-23) konntest du sicherstellen, dass englische Seiten die /en -Unterseite einer Vorlage anstelle der Vorlage selbst einbinden.

Eine Möglichkeit war, jedes Autreten von {{meine übersetzte Vorlage|param}} mit {{TNT|meine übersetzte Vorlage}} auszutauschen, außer in Vorlagen oder transkludierten Seiten, die stattdessen {{ {{TNTN|meine übersetzte Vorlage}} |param}} enthalten sollte.

Eine andere Möglichkeit war die Vorlage so zu ändern, sodass sie selbst {{TNT}} aufruft. Zu diesem Zweck solltest du den gesamten Vorlagencode in einen Switch packen, der ein leeres translate Tag auswertet, mit einem Standardfall, der {{TNT}} aufruft.

{{#switch:<translate></translate>
|=<vollständiger Vorlagencode>
|#default={{#invoke:Template translation|renderTranslatedTemplate|template={{subst:FULLPAGENAME}}|uselang={{PAGELANGUAGE}}|noshift=1}}
}}

Siehe auch