Wikipedia:Lua/Modul/ISO15924/de

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch English

Modul: Dokumentation

ISO15924 – Schriftsysteme gemäß ISO 15924 und Texte.

Siehe Wikipedia:Technik zu technischen Einzelheiten.

Funktionen für Vorlagen

[Quelltext bearbeiten]
getLanguageScript
Primäres Schriftsystem zu einer Sprache ermitteln
Ergebnis: Zeichenkette mit Schriftsystem-Code gemäß ISO 15924 oder Latn
isRTL
Gehört dieser Code zu einer von rechts nach links geschriebenen Schrift?
Ergebnis: nicht leer wenn rechts nach links
isScript
Gehören alle Zeichen des Textes zu einer vorgegebenen Schrift?
  • 1 – Schriftsystem-Code gemäß ISO 15924
  • 2 – Text
Ergebnis: nicht leer wenn gültig
isTrans
Passt ein Transkriptionssystem zu einer vorgegebenen Schrift?
  • 1 – Code eines Transkriptionssystems
  • 2 – Schriftsystem-Code gemäß ISO 15924 oder Sprachcode gemäß ISO 639
  • site(optional) Schriftsystem-Code des umgebenden Wiki
Ergebnis: nicht leer wenn gültig
scriptName
Bezeichnung des Schriftsystems, möglichst auf einen Artikel verlinkt
  • 1 – Schriftsystem-Code gemäß ISO 15924
  • 2(optional) Proprietäre Zusatzinformation
  • lang(optional) Sprache des Ergebnisses, Vorgabe: Projektsprache
Ergebnis: leer wenn ungültig oder zurzeit unbekannt
showScript
Zu einem einzelnen Zeichen das Schriftsystem ermitteln
  • 1 – Zeichen
    • Zeichen direkt; ΩGrek
    • Hexcode; U+03A9Grek
Ergebnis: leer wenn ungültig oder zurzeit unbekannt; sonst Code des Schriftsystems
showScripts
Zu jedem Zeichen des Textes den Zeichencode und das Schriftsystem beigeben
  • 1 – Text
Ergebnis: Zeichenweiser Text jeweils mit Codepoint und Schriftsystem
failsafe
Versionsbezeichnung (lokal): 2020-03-10
Optionaler Zusatzparameter:
  • 1 – Mindestversionsbezeichnung oder wikidata oder ~
{{#invoke:ISO15924|failsafe}} ergibt 2020-03-10
Mit Angabe eines Parameters als Datum im ISO-Format wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
  • {{#invoke:ISO15924|failsafe|2001-01-01}} ergibt: »2020-03-10«
  • {{#invoke:ISO15924|failsafe|2099-01-01}} ergibt: »« – leer, falls Mindestversionsbezeichnung nicht erfüllt
Ist dieser Zusatzparameter das Schlüsselwort wikidata, so ist der Wert die auf Wikidata registrierte Versionsbezeichnung (2020-03-10) oder lokal, falls dort keine gefunden.
  • Ist der Zusatzparameter das Zeichen ~, so ist das Ergebnis leer, falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung besteht ().
Rückgabewert:
  • Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
  • Versionsbezeichnung (auf Wikidata registriert:2020-03-10) bei wikidata, oder lokal falls dort keine gefunden, bzw. leer wenn synchronisiert

Übersichtstabellen

[Quelltext bearbeiten]

Funktionen für Lua-Module

[Quelltext bearbeiten]

Alle oben dokumentierten Funktionen können auch über require() in andere Module eingebunden werden:

local lucky, ISO15924 = pcall( require, "Module:ISO15924" )
if type( ISO15924 ) == "table" then
    ISO15924 = ISO15924.ISO15924()
else
    -- Fehlerfall; ISO15924 enthält Fehlermeldung
    return "<span class=\"error\">" .. ISO15924 .. "</span>"
end

Danach stehen zur Verfügung:

ISO15924.getLanguageScript( ask )
Rückgabewert: Zeichenkette
ISO15924.getScripts( analyse )
  • analyse – Zeichenkette
Rückgabewert: sequence table aus jeweils sequence table aus Codepoint und Scriptname
ISO15924.isRTL( ask )
Rückgabewert: Boolesch
ISO15924.isScript( assume, analyse )
Gehören alle Zeichen des Textes zu einer vorgegebenen Schrift?
  • assume – Schriftsystem-Code gemäß ISO 15924
  • analyse – Text als Zeichenkette oder numerischen Codepoint oder table der Einzelzeichen
Rückgabewerte: Boolesch und table
  1. Zulässig
  2. Umsetzung der Einzelzeichen von analyse
ISO15924.isTrans( ask, assign, about )
Passt ein Transkriptionssystem zu einer vorgegebenen Schrift?
  • ask – Code eines Transkriptionssystems
  • assign – Schriftsystem-Code gemäß ISO 15924 oder Sprachcode gemäß ISO 639
  • about – (optional) Schriftsystem-Code des umgebenden Wiki
Rückgabewert: Boolesch
ISO15924.scriptName( assigned, alien, add )
Bezeichnung des Schriftsystems, möglichst auf einen Artikel verlinkt
  • assigned – Schriftsystem-Code gemäß ISO 15924
  • alien – (optional) Sprache des Ergebnisses, Vorgabe: Projektsprache
  • add – (optional) Proprietäre Zusatzinformation
Rückgabewert: Zeichenkette
ISO15924.showScript( analyse )
Zum ersten Zeichen des Textes das Schriftsystem ermitteln
  • analyse – Text als Zeichenkette oder numerischen Codepoint oder table der Einzelzeichen
Rückgabewert: Zeichenkette (4 Buchstaben) oder false
ISO15924.showScripts( analyse )
Zu jedem Zeichen des Textes das Schriftsystem beigeben
  • analyse – Text als Zeichenkette oder numerischen Codepoint oder table der Einzelzeichen
Rückgabewert: Zeichenkette
ISO15924.testScripts( assume, analyse )
Wie viele Zeichen des Textes gehören zu einer vorgegebenen Schrift?
  • assume – Schriftsystem-Code gemäß ISO 15924
  • analyse – Text als Zeichenkette oder numerischen Codepoint oder table der Einzelzeichen
Rückgabewerte: Zwei Zahlen
  1. Anzahl der explizit übereinstimmenden Zeichen
  2. Anzahl der verletzenden Zeichen
ISO15924.failsafe( atleast )
  • atleastoptional
    nil oder Mindestversion oder "wikidata" oder ~ für Synchronisation
Rückgabewert: Boolesch oder Zeichenkette

Interne Untermodule

[Quelltext bearbeiten]

Die globalen Daten werden pro dargestellter Seite einmalig bei Bedarf in eine table konvertiert, die über mw.loadData() der dargestellten Seite zugeordnet wird.

Dabei gibt es zwei Zugriffsarten:

  1. Modul:ISO15924/commons
    • Live-Generierung aus den globalen Daten auf Commons; bedarf ggf. eines purge.
  2. Modul:ISO15924/codes
    • Gleiche Informationen, jedoch eingefrorener Schnappschuss.
    • Bessere Performance.

Datenstruktur:

  • Der Nutzinhalt sind Komponenten mit jeweils einer table als Zuordnung:
    • cjkboolean wenn CJK
    • iso639scripttable mit beliebig vielen string – Schriftsysteme, die zu diesem Sprachcode üblicherweise passen
    • rtlboolean wenn rechts nach links
    • transtable mit beliebig vielen string – Transkriptionssysteme, die zu diesem Schriftsystem oder Sprachcode üblicherweise passen
    • unicodestable mit Unicode-Bereichen (table aus zwei Zahlen), die für ein Schriftsystem oder eine Gruppe von Sonderzeichen vorgesehen sind
    • reversetable mit zwei Zahlen als Codepoints und table mit beliebig vielen string
  • failsafestring mit lokaler Versionsbezeichnung
  • lastboolean, true falls aktuell

Intern – zur Generierung abgeleiteter Daten etc. genutzte Funktionen.

Globale Daten

[Quelltext bearbeiten]
commons:Data:ISO15924.tab
Auflistung einzelner Code-Tabellen auf commons:Data:
commons:Data:ISO15924/cjk.tab
Gehört Schriftsystem zu den CJK-Sprachen?
Verfügbar als loadData .cjk
commons:Data:ISO15924/iso639script.tab
In welchen Schriftsystemen wird diese Sprache üblicherweise geschrieben?
Verfügbar als loadData .iso639script
commons:Data:ISO15924/rtl.tab
Wird Schriftsystem von rechts nach links geschrieben?
Verfügbar als loadData .rtl
commons:Data:ISO15924/trans.tab
Transkriptionssysteme, die für ein Schriftsystem oder eine Sprache vorgesehen sind
Verfügbar als loadData .trans
commons:Data:ISO15924/unicodes.tab
Unicode-Bereiche, die für ein Schriftsystem vorgesehen sind
Verfügbar als loadData .unicodes
commons:Data:ISO15924/reverse.tab
Abbildung aller Unicode-Bereiche auf zugehörige Schriftsysteme
Verfügbar als loadData .reverse
Generiert durch /maintain

Die Daten stehen zentral und aktuell allen Wikis zur Verfügung.

Projektkonfiguration

[Quelltext bearbeiten]

Auf Modul:ISO15924/config kann optional das lokale Projekt konfiguriert werden.

table mit Komponenten:

live
true – Benutze commons → commons:Data:
Vorgabe: Schnappschuss
tmplLang
Muster für Vorlage im lokalen Projekt zur Anzeige eines Sprachnamens
table mit Komponenten:
  • title – einheitlicher Name der Vorlage
  • namePatpattern für den Name der Vorlage, mit %s für Code nach ISO 639
  • param – Parametername, für Code nach ISO 639
Beispiel: enwiki → { namePat = "lang-%s" }

Installation auf anderen Projekten

[Quelltext bearbeiten]

Siehe englischsprachige Dokumentation.

Allgemeine Bibliothek; nicht eingegrenzt.

Abhängigkeiten

[Quelltext bearbeiten]

Keine, abgesehen von eigenen Untermodulen.