Wikipedia:Lua/Modul/ISO15924/de
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
1
– Sprachcode gemäß ISO 639
- 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 159242
– Text
- Ergebnis: nicht leer wenn gültig
- isTrans
- Passt ein Transkriptionssystem zu einer vorgegebenen Schrift?
- Ergebnis: nicht leer wenn gültig
- scriptName
- Bezeichnung des Schriftsystems, möglichst auf einen Artikel verlinkt
1
– Schriftsystem-Code gemäß ISO 159242
– (optional) Proprietäre Zusatzinformationlang
– (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+03A9
→Grek
- Zeichen direkt;
- 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 oderwikidata
oder~
{{#invoke:ISO15924|failsafe}}
ergibt2020-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 ().
- Ist der Zusatzparameter das Zeichen
- Rückgabewert:
- Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
- Versionsbezeichnung (auf Wikidata registriert:
2020-03-10
) beiwikidata
, 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 )
-
ask
– Sprachcode gemäß ISO 639
- Rückgabewert: Zeichenkette
- ISO15924.getScripts( analyse )
-
analyse
– Zeichenkette
- Rückgabewert: sequence table aus jeweils sequence table aus Codepoint und Scriptname
- ISO15924.isRTL( ask )
-
ask
– Schriftsystem-Code gemäß ISO 15924
- Rückgabewert: Boolesch
- ISO15924.isScript( assume, analyse )
- Gehören alle Zeichen des Textes zu einer vorgegebenen Schrift?
assume
– Schriftsystem-Code gemäß ISO 15924analyse
– Text als Zeichenkette oder numerischen Codepoint oder table der Einzelzeichen
- Rückgabewerte: Boolesch und table
- Zulässig
- Umsetzung der Einzelzeichen von
analyse
- ISO15924.isTrans( ask, assign, about )
- Passt ein Transkriptionssystem zu einer vorgegebenen Schrift?
- Rückgabewert: Boolesch
- ISO15924.scriptName( assigned, alien, add )
- Bezeichnung des Schriftsystems, möglichst auf einen Artikel verlinkt
assigned
– Schriftsystem-Code gemäß ISO 15924alien
– (optional) Sprache des Ergebnisses, Vorgabe: Projektspracheadd
– (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 15924analyse
– Text als Zeichenkette oder numerischen Codepoint oder table der Einzelzeichen
- Rückgabewerte: Zwei Zahlen
- Anzahl der explizit übereinstimmenden Zeichen
- Anzahl der verletzenden Zeichen
- ISO15924.failsafe( atleast )
-
atleast
– optional
nil oder Mindestversion oder"wikidata"
oder~
für Synchronisation
- Rückgabewert: Boolesch oder Zeichenkette
Interne Untermodule
[Quelltext bearbeiten]loadData
[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:
- Modul:ISO15924/commons
- Live-Generierung aus den globalen Daten auf Commons; bedarf ggf. eines purge.
- Modul:ISO15924/codes
- Gleiche Informationen, jedoch eingefrorener Schnappschuss.
- Bessere Performance.
Datenstruktur:
- Der Nutzinhalt sind Komponenten mit jeweils einer table als Zuordnung:
cjk
– boolean wenn CJKiso639script
– table mit beliebig vielen string – Schriftsysteme, die zu diesem Sprachcode üblicherweise passenrtl
– boolean wenn rechts nach linkstrans
– table mit beliebig vielen string – Transkriptionssysteme, die zu diesem Schriftsystem oder Sprachcode üblicherweise passenunicodes
– table mit Unicode-Bereichen (table aus zwei Zahlen), die für ein Schriftsystem oder eine Gruppe von Sonderzeichen vorgesehen sindreverse
– table mit zwei Zahlen als Codepoints und table mit beliebig vielen string
failsafe
– string mit lokaler Versionsbezeichnunglast
– boolean,true
falls aktuell
/maintain
[Quelltext bearbeiten]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:
- Beispiel: enwiki →
{ namePat = "lang-%s" }
Installation auf anderen Projekten
[Quelltext bearbeiten]Siehe englischsprachige Dokumentation.
Verwendung
[Quelltext bearbeiten]Allgemeine Bibliothek; nicht eingegrenzt.
Abhängigkeiten
[Quelltext bearbeiten]Keine, abgesehen von eigenen Untermodulen.