Sprachcodes und Sprachnamen


Diese Projektseite stellt Informationen zur Lokalisierung innerhalb der MediaWiki-Software zusammen, die Sprachcodes oder Sprachnamen betreffen.

Sprachcodes

Grundsätzlich folgen die Sprachcodes der ISO 639.

Einsatzgebiete:

  1. Für mehrsprachige Wiki-Projekte (also mehrere Sprachen im selben Wiki; bei zentralen Projekten).
    • Wikipedia:Sprachen – alle Sprachversionen von Wikipedia-Projekten (als jeweils einsprachiges Projekt).
  2. Für die Sprache der Benutzeroberfläche.
  3. Für den Inhalt ganzer Seiten.
  4. Mit Attribut lang von einzelnen HTML-Elementen in der Seite.

Dazu gehören in der ISO 3166 vorgesehene Erweiterungen für landesspezifische Sprachvarianten. Bekannt sind zu den Wikis:

  • de-AT de-CH en-CA en-GB en-US kk-CN kk-KZ kk-TR ko-KP nds-NL pt-BR zh-CN zh-HK zh-MO zh-MY zh-SG zh-TW

Für Schriftsysteme wird die ISO 15924 angewendet. Sie legt Vier-Buchstaben-Codes fest, namentlich:

  • Latn – Lateinisch
  • Cyrl – Kyrillisch (modern)
  • Grek – Griechisch
  • Arab – Arabisch
  • Hans – Han (simplified)
  • Hant – Han (traditional)
  • Jpan – Han + Hiragana + Katakana
  • Deva – Devanagari

Weitere Details unter Schriftsysteme.

Über ISO 639 hinaus gibt es sinngemäße Erweiterungen:[1]

  • Eigene Sprachdefinitionen:
    • simple – Einfaches Englisch
    • tokipona
  • Eigene Sprachvarianten:
    • be-tarask – Weißrussisch (Taraschkewiza) – lokalisierter Projektbezeichner
    • be-x-old – Weißrussisch (Taraschkewiza) – erster Projektbezeichner
    • lij-mc - Monegassisch
    • pap-aw - Papiamentu auf Aruba
    • zh-classical – klassisches Chinesisch
    • zh-min-nan – Min Nan
    • zh-yue – Kantonesisch
  • Eigene Sprachversionen:
    • de-formal – Formelles Deutsch (Anrede „Sie“)
    • es-formal
    • hu-formal
    • nl-informal
    • zh-classical
  • Eigene Sprachcodes:
  • Alternative Schriftsysteme:
    • ady-Cyrl
    • aeb-Arab aeb-Latn
    • ban-Bali
    • bbc-Latn
    • crh-Cyrl crh-Latn
    • gan-Hans gan-Hant
    • gom-Deva gom-Latn
    • hif-Latn
    • ike-Cans ike-Latn
    • ja-Hani, ja-Hira, ja-Hrkt, ja-Kana
    • kbd-Cyrl
    • kk-Arab kk-Cyrl
    • ks-Arab ks-Deva
    • ku-Arab ku-Latn
    • ms-Arab - Malaiisch, arabisches Schriftsystem
    • nan-Hani
    • non-Runr - Altnordisch (Runen-Schrift)
    • osa-Latn
    • ruq-Cyrl ruq-Latn
    • se-FI se-NO se-SE
    • shi-Latn shi-Tfng
    • shy-Latn
    • skr-Arab
    • sr – Serbisch
      • sr-EC – Serbisch/Kyrillisch (wikipedianisch; EC=Kyrillisch-Ekavisch)
      • sr-EL – Serbisch/Lateinisch (wikipedianisch)
    • tg-Cyrl tg-Latn
    • tly-Cyrl
    • tt-Cyrl tt-Latn
    • ug-Arab ug-Latn
    • uz-Cyrl uz-Latn
    • zh-Hans zh-Hant
  • Sonderfälle (qq ist für private Zwecke reservierter Code-Bereich):

In der Darstellung nach außen soll

  • der Basiscode in Kleinbuchstaben notiert sein.
  • Zusätze für Staaten (DE) nur in Großbuchstaben,
  • Zusätze für Schriftsysteme beginnend mit Großbuchstaben geschrieben werden.

Inhaltlich sind Groß- und Kleinbuchstaben nicht bedeutungstragend; Software muss jede Notation erkennen und derselben Bedeutung zuordnen. Intern werden deshalb oft ausschließlich Kleinbuchstaben verwendet, und beim Zugriff auf ein Element dann vorsorglich alles in Kleinbuchstaben umgewandelt.

Listen häufiger Codes:

Konflikt

Betreffend des Codes als gibt es zwei Interpretationen:

  1. gemäß ISO 639 Toskisch (albanisch Toskërishtja)
  2. bei der WMF als alemannisch – dies war vor der Standardisierung durch die ISO bereits festgelegt worden.

Sprachnamen

Die Sprachnamen („Deutsch“) werden im Wiki an mehreren Stellen sichtbar:

Die Textbausteine für den Namen der Sprache speisen sich aus verschiedenen Quellen:

Insgesamt sind fast 700 Zuordnungen von Codes und Sprachnamen bekannt; im Prinzip mehr, als es Sprachversionen der Wikis gibt oder die dem Incubator entschlüpft wären, zumal Varianten innerhalb derselben Wiki-Inhaltssprache auftreten können. Die kreuzweise Zuordnung ist jedoch nicht vollständig; bei exotischen Sprachen existiert oft nur wenig mehr als die englische und die Eigenbezeichnung.

CLDR

Allgemein wird die Definition bevorzugt über die nichtkommerzielle projektübergreifende Plattform Common Locale Data Repository (CLDR) bezogen.

  • Jeder kann Anregungen zum CLDR einbringen.
  • Die WMF ist Unicode Consortium Liaison Member und müsste bereits einen Contributor Account für CLDR haben, oder könnte leicht einen Status als Vorschlagender erhalten, womöglich auch den eines Redakteurs oder Reviewers zur verantwortlichen Prüfung von Vorschlägen.
  • Upstream nennt man die Meldung eines Änderungswunsches aus der Wiki-Welt an CLDR.
  • translatewiki:CLDR könnte daran beteiligt sein.
  • phab:T39704 beschäftigt sich bereits mit dieser Angelegenheit.
  • Wenn MW nicht willig ist, das gebündelt zu übernehmen und zuvor in den Wikis einen Review der internen Vorschläge abzuhalten, dann kann man das natürlich auch als Einzelperson machen: Anmelden

In gewissen Abständen wird der Bestand auf CLDR in die wirksame Definition auf den Wiki-Servern eingepflegt.

Aktuelle Werte

  • Einige Übersichten: Alle Einzelsprachen
    • Wer für eine noch nicht angelegte Sprache eine Übersicht haben möchte, kann eine entsprechende Seite anlegen und den Sprachcode gemäß Muster der anderen Seiten einfügen.
  • Synopsis stellt die momentanen Werte und Änderungsvorschläge zusammen.
  • Module:Multilingual/cldr – CLDR mirror

Pflege und Ausbau

Seiteninhaltssprache

Anfang 2017 wurde ein Sprachcode pro Einzelseite (zunächst für mehrsprachige/zentrale Projekte) definiert.

  • Bei einsprachigen Wikis ist die Vorgabe die Projektsprache.
    • In zentralen Projekten ist das en (englisch).
    • Parserfunktion: {{CONTENTLANGUAGE}}
  • In zentralen mehrsprachigen Wikis werden Wikitext-Seiten spezifische Seiteninhaltssprachen zugewiesen.
  • Entsprechenden Unterseiten im MediaWiki-Namensraum wird immer eine abweichende Seiteninhaltssprache zugewiesen, bei anderen Namensräumen ist das in einsprachigen Wikis bislang nicht der Fall.
  • Seiten, die nicht dem Seiteninhaltsmodell wikitext entsprechen, also meist Programmcodes enthalten, erhalten die Seiteninhaltssprache en und bewirken dadurch ggf. lateinische Schrift von links nach rechts.

Die folgenden Funktionen ermöglichen die Nutzung der aktuellen Seiteninhaltssprache:

In den Seiteninformationen (Basisinformationen) wird der jeweilige Status angezeigt.

Darstellung der Wiki-Seite

Es gibt zwei Möglichkeiten, wie sich das Erscheinungsbild einer Wiki-Seite (üblicherweise nur der Portal-Rahmen, gelegentlich auch Inhalte, insbesondere alle Spezialseiten) an Sprachen anpassen kann:

Im Fall der Konto-Einstellung kann in jedem Wiki mit der Spezialseite Special:MyLanguage/Seitenname versucht werden, eine der bevorzugten Sprache angepasste Seitenversion zu erhalten. Ist diese nicht vorhanden, wird die Basis-Version in der Standardsprache des Projektes angezeigt.

In der Programmierung werden alle Sprachcodes nur in ihrer auf Kleinbuchstaben standardisierten Form benutzt. Dadurch werden unbemerkt fehlschlagende Vergleiche vermieden. Zur Darstellung für Menschen werden hingegen Abwandlungen durch Ländercodes in Großbuchstaben (wie auch der erste Buchstabe eines Schriftbezeichners) präsentiert.

Es gibt die nachfolgenden Techniken, um sich an die aktuell angeforderte Seitensprache anzupassen:

  • Unterseiten je nach Sprachcode
  • Parserfunktion {{int:}} für vorhandene Systemnachrichten
  • Lua-Bibliothek mw.message zur analogen Auswertung auch beliebig konstruierter Nachrichten

Die lokalen Systemnachrichten können die Methodik der Unterseiten nutzen, um sprachabhängige Alternativen zu zeigen.

Die nachstehenden Sprachcodes sind für unsere Bedienung relevant:

  • de – Standard
  • de-at – österreichisch (Menü-Auswahl: de-AT)
  • de-ch – schweizerisch (Menü-Auswahl: de-CH)
  • de-formal – mit Anrede „Sie“ (Menü-Auswahl in jüngerer Zeit jedoch: de-x-formal)
  • en – englischsprachig, für wesentliche Informationen

Dabei wird für eine Sprachvariante de-xx in der nachstehenden Reihenfolge in den Systemnachrichten nach einer Spezifikation gesucht („Fallback“),[3] und der erste Treffer verwendet:

  1. MediaWiki:-Unterseite /de-xx
  2. translatewiki-Unterseite /de-xx
  3. MediaWiki:-Stammseite (bei uns also deutschsprachig)
  4. translatewiki-Unterseite /de
  5. translatewiki-Stammseite (englischsprachig)
  6. Bezeichner der Nachricht in spitzen Klammern (fehlende Spezifikation)

Um nur kleine Abwandlungen des deutschen Grundtextes umzusetzen, ist es günstiger, auf einer einzigen Seite zu bleiben und mit geeigneten Vorlagen den einheitlichen Text anzupassen. Andernfalls besteht das Risiko, dass es zu inhaltlichen Klaffungen bis hin zu Darstellungsfehlern kommt, falls im Zuge von Veränderungen die Unterseiten vergessen werden.

Lokale Anpassungen sind dann sinnvoll, wenn die für alle Wikis (auch außerhalb der WMF) wirksamen Texte auf translatewiki für unsere Zwecke nicht passen; insbesondere wenn auf hiesige Projektseiten, Hilfeseiten oder spezielle Vorgehensweisen Bezug genommen wird. Andernfalls sollte immer die textgleiche globale Systemnachricht genutzt werden und eine lokale Dublette gelöscht werden.

Bei uns, auf Commons sowie auf einigen anderen Wikis wurde ein besonderes Feature realisiert: MediaWiki:lang

  • Damit wird bewirkt, dass der jeweilige Sprachcode des Kontos als sein eigener Sprachcode angezeigt wird.
  • Dadurch kann das Ergebnis von {{int:lang}} in Abfragen ausgewertet werden.
  • In enzyklopädischen Artikeln ist das jedoch strikt unerwünscht. Lediglich in der Programmierung des Projekts, in einigen Vorlagen, bei zentralen Projektseiten sowie an internationale Gäste adressierte Seiten usw. wird davon Gebrauch gemacht.
  • Insbesondere sind definiert:
  • Weitere Sprachcodes sind definiert. Bei Bedarf können auf WP:A/A zusätzliche Codes gewünscht werden.

In der Seite aktive JavaScript-Programme haben weitere Möglichkeiten, bevorzugte Sprachversionen zu detektieren und Texte frei zu generieren.

Verwendung

Weitere Informationen

Anmerkungen

  1. Ursprünglich sahen die Namen der Domains von Sprach-Wikis ggf. nur Unterstreichungsstriche _ vor; in jüngerer Zeit wird dies aber umgeleitet auf Bindestriche - wie in der ISO-Notation.
  2. Allgemeine Projektbeschreibung
  3. In dieser speziellen Abfolge seit Anfang Juli 2023; phab:T229992