Sprachcodes und Sprachnamen


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

Sprachcodes

Bearbeiten

Grundsätzlich folgen die Sprachcodes der ISO 639; bzw. BCP 47.

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 mittels ISO 3166 vorgesehene Erweiterungen für landesspezifische Sprachvarianten. Bekannt sind in den Wikis:

  • de-AT de-CH en-AU en-CA en-GB en-IN en-JM en-NZ en-UK en-US crh-RO es-ES es-MX fa-AF fr-CA fr-CH gsw-FR ha-NE kk-CN kk-KZ kk-TR ko-KP lij-MC nds-NL nl-BE nrf-GG nrf-JE pap-AW pt-BR pt-PT ro-MD se-FI se-NO se-SE sr-ME sw-CD 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
  • Hebr – Hebräisch
  • Hans – Han (simplified)
  • Hant – Han (traditional)
  • Jpan – Han + Hiragana + Katakana
  • Deva – Devanagari
  • Gujr – Gujarati
  • Guru – Gurmukhi
  • Beng – Bengali
  • Tibt – Tibetisch
  • Brah – Brahmi
  • Bali – Balinesisch
  • Cham – Cham
  • Khar – Kharoshthi
  • Khoj – Khojki
  • Kthi – Kaithi
  • Nagm – Nag Mundari
  • Orya – Orya
  • Sidd – Siddham
  • Sind – Khudabadi
  • Takr – Takri
  • Rohg – Hanifi Rohingya
  • Tfng – Tifinagh
  • Cans – kanadische Silbenschrift
  • Xsux – Keilschrift
  • Piqd – Klingeonisch

Weitere Details unter Schriftsysteme.

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

  • Eigene Sprachdefinitionen:
    • simple – Einfaches Englisch; korrekt als en-simple
    • tokiponaToki Pona; seit Januar 2022 mit tok auch ein ISO-Code
  • Eigene Sprachvarianten:
    • be-tarask – Weißrussisch (Taraschkewiza) – lokalisierter Projektbezeichner
    • be-x-old – Weißrussisch (Taraschkewiza) – erster Projektbezeichner
    • zh-classical – klassisches Chinesisch
    • zh-min-nan – Min Nan; mittlerweile mit nan auch ein eigener ISO-Code
    • zh-yue – Kantonesisch; mittlerweile mit yue auch ein eigener ISO-Code
  • Besondere Sprachvarianten:
    • de-formal – Formelles Deutsch (Anrede „Sie“); auch syntaktisch korrekt als de-x-formal
    • es-formal
    • hu-formal
    • nl-informal
    • zh-classical
  • Eigene Sprachcodes:
  • Alternative Schriftsysteme:
    • abq-Latn
    • ady-Cyrl
    • aeb-Arab aeb-Latn
    • akk-Latn akk-Xsux
    • ary-Arab ary-Latn
    • az-Cyrl
    • bal-Latn
    • ban-Bali
    • bbc-Latn
    • bft-Tibt
    • bfz-Deva bfz-Takr
    • bgc-Arab bgc-Deva
    • bgq-Arab bgq-Deva
    • bhd-Deva bhd-Takr
    • brh-Latn
    • ccp-Beng
    • cdo-Hani cdo-Hant cdo-Latn
    • cja-Arab cja-Cham cja-Latn
    • cjm-Arab cjm-Cham cjm-Latn
    • cjy-Hans cjy-Hant (vereinfachte und traditionelle Han-Schrift)
    • ckb-Arab ckb-Latn
    • cpx-Hans cpx-Hant cpx-Latn
    • crh-Cyrl crh-Latn
    • gan-Hans gan-Hant
    • gbk-Deva gbk-Takr
    • gju-Arab gju-Deva
    • gom-Deva gom-Latn
    • ha-Arab
    • hak-Hans hak-Hant hak-Latn
    • hi-Kthi hi-Latn
    • hif-Latn
    • hit-Latn hit-Xsux
    • hsn-Hans hsn-Hant
    • ike-Cans ike-Latn
    • isv-Latn
    • ja-Hani ja-Hira ja-Hrkt ja-Kana
    • kbd-Cyrl
    • kk-Arab kk-Cyrl kk-Latn
    • kls-Arab kls-Latn
    • kmr-Arab kmr-Latn
    • ko-Hani ko-Kore
    • ks-Arab ks-Deva
    • ku-Arab ku-Latn
    • lad-Hebr
    • mn-Mong
    • mnc-Latn mnc-Mong
    • ms-Arab – Malaiisch, arabisches Schriftsystem
    • mvi-Hira
    • nan-Hani nan-Hant nan-Latn-pehoeji nan-Latn-tailo (Min Nan in Han-Schrift, traditioneller Han-Schrift, Pe̍h-ōe-jī, Tâi-lô)
    • non-Runr – Altnordisch (Runen-Schrift)
    • ojp-Hani ojp-Hira
    • osa-Latn
    • pal-Phli pal-Phlp pal-Phlv
    • pgd-Arab pgd-Deva pgd-Khar
    • phn-Latn phn-Phnx
    • pi-Sidd
    • psu-Arab psu-Brah psu-Deva psu-Guru
    • rhg-Arab rhg-Rohg
    • ruq-Cyrl ruq-Latn
    • rys-Hira
    • ryu-Hira
    • sa-Sidd
    • sat-Beng sat-Latn sat-Orya
    • sd-Deva sd-Gujr sd-Arab sd-Khoj sd-Sind
    • sdh-Arab sdh-Latn
    • shi-Latn shi-Tfng
    • shy-Latn
    • skr-Arab
    • sr – Serbisch
      • sr-EC – Serbisch/Kyrillisch (wikipedianisch; EC=Kyrillisch-Ekavisch); standardisiert: sr-Cyrl
      • sr-EL – Serbisch/Lateinisch (wikipedianisch); standardisiert: sr-Latn
    • sux-Latn sux-Xsux
    • syl-Beng
    • tg-Cyrl tg-Latn
    • tlh-Latn tlh-Piqd
    • tly-Cyrl
    • tt-Cyrl tt-Latn
    • ug-Arab ug-Latn
    • unr-Deva unr-Nagm
    • uz-Cyrl uz-Latn
    • vi-Hani
    • wuu-Hans wuu-Hant
    • xnr-Deva xnr-Takr
    • yoi-Hira
    • yox-Hira
    • yue-Hans yue-Hant
    • zgh-Latn
    • zh-Hans zh-Hant
  • Besondere Varianten
    • ar-001 – Modernes Hocharabisch
    • de-1901 – Deutsch vor Duden-Rechtschreibreform
    • es-419 – Lateinamerikanisches Spanisch
    • eo-hsistemo / eo-xsistemoEsperanto in h- oder x-Schreibung
    • nn-hognorsk – Norwegisch als Høgnorsk
    • pt-ao1990 / pt-colb1945 – Portugiesisch in Rechtschreibung von 1990 bzw. 1945
    • Rätoromanisch in Varianten:
      • rm-puter – Oberengadinisch
      • rm-rumgr – Rumantsch Grischun
      • rm-surmiran – Surmeirisch
      • rm-sursilv – Surselvisch
      • rm-sutsilv – Sutselvisch
      • rm-vallader – Vallader
  • Sonderfälle (qq ist für private Zwecke reservierter Code-Bereich):

Bei allen Sprachen bedeutet eine unterstützte Variante formal (wie de-formal), dass mit „Sie“ angesprochen wird; Standard ist in der Regel das „Du“ (informal).

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

Bearbeiten

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 für:

Sprachnamen

Bearbeiten

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 1122 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.

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

Bearbeiten
  • 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

Bearbeiten

Seiteninhaltssprache

Bearbeiten

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

Bearbeiten

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

Bearbeiten

Weitere Informationen

Bearbeiten
  • Hilfe:Parserfunktionen/Multilingual
  • Hilfe:Parserfunktionen/Text #FORMAL – Abfrage auf formale Sprachvariante
  • Hilfe:Lua/Umgebung – Lua-Bibliotheken mit weiteren Funktionen zu Sprachen und Systemnachrichten.
  • Wikipedia:Lua/Modul/Multilingual/maintain – Unterstützung für Wartungszwecke
  • meta:Language codes (englisch)
  • RFC 5646 – Tags for Identifying Languages [Errata: RFC 5646]. September 2009 – Standard: [BCP47] (löst RFC 4646 ab, englisch).
    • RFC 5645 – Update to the Language Subtag Registry. September 2009 (englisch).
  • Language Subtag RegistryIANA (≈8500 gültige Sprachcodes)
  • Schriftsysteme
  • Spezial:Interwikitabelle #interwikitable-language

Anmerkungen

Bearbeiten
  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