Notice: Template failed integrity check: /home/jvzmxxx/wiki/extensions/MobileFrontend/includes/skins/minerva.mustache in /home/jvzmxxx/wiki/includes/TemplateParser.php on line 121
Zmiany – Czarnobyl Wiki
Otwórz menu główne

Czarnobyl Wiki β

Zmiany

Moduł:Lang

Dodane 1603 bajty, 22:27, 15 lis 2016
możliwość definiowania wartości dla wariantów
if not code or (#code == 0) then
-- brak kodu języka
--mw.log("Pusty kod języka: "..code);
return
end
local data = mw.loadData( 'Module:lang/data' )
-- bezbłędny kod
local lang = data[code]
lang = data[lcode]
if lang then
--mw.log('kod "'..code..'" został zamieniony na "'..lcode..'"')
return lang, lcode
end
-- może kod jest podany z variantem
local scode , vcode = string.match(lcodecode, "^%s*([a-zzA-Z]+)%-([_-^%s]+)%s*$") lang if not scode then scode, vcode = datastring.match(code, "%s*([a-zA-Z]+)_([scode^%s]+)%s*$") end
if scode then
--mw.log('kod "'..code..'" został zinterpretowany jako rozdzielony na "'..scode..'" i wariant "'..vcode..'"') lang = data[scode] if not lang then --mw.log('kod "'..scode..'" został zamieniony na "'..string.lower(scode)..'"') scode = string.lower(scode) lang = data[scode] end if lang then -- test variant if lang.warianty then local lvcode = string.lower(vcode) for k, v in pairs(lang.warianty) do if (type(k) == "number") and (type(v) == "string") and (lvcode == string.lower(v)) then --mw.log('kod "'..code..'" w formie kanonicznej "'..scode..'-'..v..'"') return lang, scode, scode.."-"..v elseif (type(k) == "string") and (type(v) == "table") and (lvcode == string.lower(k)) then --mw.log('zindywizualizowany kod "'..code..'" w formie kanonicznej "'..scode..'-'..k..'"') local fields = { "hasło", "mianownik", "dopełniacz", "miejscownik", "skrót" } local vlang = {} for _, f in ipairs(fields) do vlang[f] = v[f] or lang[f] end return vlang, scode, scode.."-"..k end end end --mw.log('kod "'..code..'" z nieznanym wariantem') return lang, scode end
end
-- poddaje się
--mw.log('Nieznany kod języka: "'..code..'"');
return false, code
end
function lang.istnieje(frame)
local languageData, code , _ = langData(frame.args[1])
return languageData and code or nil
end
function lang.kursywa(frame)
local langCode = frame.args[1] local languageData, code , _ = langData(framelangCode) if langCode and (langCode ~= code) and string.match(langCode, "^%a+%-[Ll][Aa][Tt][Nn]$") or string.argsmatch(langCode, "^%a+%-[Ll][Aa][Tt][1Nn]%-")then -- Latn script return "''" end
return (languageData and (languageData.kursywa ~= false)) and "''" or ""
end
lang["hasło"] = function(frame)
local languageData, _, _ = langData(frame.args[1])
return languageData['hasło']
end
lang["skrót"] = function(frame)
local languageData, _, _ = langData(frame.args[1])
return languageData['skrót'] or languageData['mianownik']
end
function lang.mianownik(frame)
local languageData, _, _ = langData(frame.args[1])
return languageData['mianownik']
end
lang["dopełniacz"] = function(frame)
local languageData, _, _ = langData(frame.args[1])
return languageData['dopełniacz']
end
function lang.miejscownik(frame)
local languageData, _, _ = langData(frame.args[1])
return languageData['miejscownik']
end
}
local formatLanguageItem = function(langCode, languageData, alt) local class = alt and "lang-link lang-link-warning" or "lang-link"
local skrot = languageData['skrót'] or languageData['mianownik']
local nativeName = mw.language.fetchLanguageName(langCode)
if nativeName and #nativeName > 0 and langCode ~= "pl" then
return string.format("[[%s|<span styleclass=\"color:#005%s\" title=\"Treść w języku %s (%s)\">%s</span>]]", languageData['hasło'], class, languageData['miejscownik'], nativeName, skrot)
else
return string.format("[[%s|<span styleclass=\"color:#005%s\" title=\"Treść w języku %s\">%s</span>]]", languageData['hasło'], class, languageData['miejscownik'], skrot)
end
end
local formatItem = function(languageCode)
local languageData, langCode , langTag = langData(languageCode) local altFormat = false
if langCode and (languageCode ~= langCode) then
altFormat = languageCode ~= langTag modified = truemodified or altFormat
end
end
local item = formatLanguageItem(langCode, languageData, altFormat)
if parsedLanguages[langCode] then
duplicated = true
--mw.log("Powtórne przywołanie języka ("..languageCode..")")
else
parsedLanguages[langCode] = item;
-- pomiń język polski
hiddenpl = true
--mw.log("Ukrywam język polski")
else
table.insert(items, item)
if parsedLanguages[languageCode] then
duplicated = true
--mw.log("Powtórne przywołanie języka ("..languageCode..")")
else
parsedLanguages[languageCode] = item;
Anonimowy użytkownik