„Modul:Babel“ – Versionsunterschied
Erscheinungsbild
Die Seite wurde neu angelegt: „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 loca…“ |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 10: | Zeile 10: | ||
end | end | ||
if scope then | if scope then | ||
local lucky, c = pcall( mw.loadJsonData, " | local lucky, c = pcall( mw.loadJsonData, "Modul:Babel.json" ) | ||
if type( c ) == "table" and | if type( c ) == "table" and | ||
type( c[ scope ] ) == "table" then | type( c[ scope ] ) == "table" then | ||
Aktuelle Version vom 6. September 2026, 11:55 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, "Modul: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