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
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
BearbeitenFunktionen für Lua-Module
BearbeitenAlle 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
BearbeitenloadData
BearbeitenDie 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
BearbeitenIntern – zur Generierung abgeleiteter Daten etc. genutzte Funktionen.
Globale Daten
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
BearbeitenAuf 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
BearbeitenVerwendung
BearbeitenAllgemeine Bibliothek; nicht eingegrenzt.
Abhängigkeiten
BearbeitenKeine, abgesehen von eigenen Untermodulen.