„Modul:Babel“ – Versionsunterschied
Erscheinungsbild
[gesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
K Schützte „Modul:Babel“: Schutz bezüglich Anfrage ([Bearbeiten=Nur Sichter] (unbeschränkt) [Verschieben=Nur Administratoren] (unbeschränkt)) |
+ simple classical |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 10: | Zeile 10: | ||
end |
end |
||
if scope then |
if scope then |
||
⚫ | |||
local lucky, c = pcall( mw.loadJsonData, "Module:Babel.json" ) |
local lucky, c = pcall( mw.loadJsonData, "Module:Babel.json" ) |
||
if type( c ) == "table" and |
if type( c ) == "table" and |
||
type( c[ scope ] ) == "table" then |
type( c[ scope ] ) == "table" then |
||
⚫ | |||
local slang, start |
local slang, start |
||
c = c[ scope ] |
c = c[ scope ] |
||
if type( c.sub ) == "string" then |
if type( c.sub ) == "string" then |
||
start, slang = s:match( c.sub ) |
start, slang = s:match( c.sub ) |
||
end |
|||
if not start and |
|||
type( c.special ) == "string" then |
|||
start, slang = s:match( c.special ) |
|||
end |
end |
||
if not start and |
if not start and |
Aktuelle Version vom 14. April 2025, 14:25 Uhr
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
local p = { }
p.fill = function ( frame )
-- Template filling
local t = mw.title.getCurrentTitle()
local r, scope
if t.namespace == 10 then
scope = "doc"
elseif t.namespace == 14 then
scope = "cat"
end
if scope then
local lucky, c = pcall( mw.loadJsonData, "Module:Babel.json" )
if type( c ) == "table" and
type( c[ scope ] ) == "table" then
local s = t.text
local slang, start
c = c[ scope ]
if type( c.sub ) == "string" then
start, slang = s:match( c.sub )
end
if not start and
type( c.special ) == "string" then
start, slang = s:match( c.special )
end
if not start and
type( c.slang ) == "string" then
start, slang = s:match( c.slang )
end
if start and
type( c.source ) == "string" then
local n = start:len() + slang:len()
local params, score
if s:len() > n then
s = s:sub( n + 1 )
if type( c.standard ) == "string" then
score = s:match( c.standard )
end
if not score and
type( c.superior ) == "string" then
score = s:match( c.superior )
end
end
params = { lang = slang,
level = score or "N" }
s = frame:expandTemplate{ title = c.source,
args = params }
if type( s ) == "string" then
r = s
end
end
end
end
return r or ""
end -- p.fill
return p