Moduł:Pudełko/Pomocne
Zobacz podstrony tego modułu.
|
local p={};
function p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu)
local strona=require("Module:Pudełko")["Strona główna tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu};
if(odpowiednik_strony)then
nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
local pudelko_modul=require("Module:Pudełko");
if((kod_jezyka==pudelko_modul["Kod języka tego projektu"]())and(kod_projektu==pudelko_modul["Kod projektu tego projektu"]()))then
return strona;
else
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local czy_w_wikidanych=wiki_interwiki_modul.tablica_kody_projektu_wikidane.lingwistyczne[kod_projektu]
or wiki_interwiki_modul.tablica_kody_projektu_wikidane.specjalistyczne[kod_projektu];
return czy_w_wikidanych and "Main Page" or nil;
end;
end;
end;
function p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka)
local strona=require("Module:Pudełko")["Strona główna dla dzieci tego projektu"]();
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then return strona;end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu};
if(odpowiednik_strony)then
nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,};
else
return "Wikijunior";
end;
end;
function p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local strona_glowna_projektu;
if(i~=0)then
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu==kod_projektu_tego_projektu)then
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
else
strona_glowna_projektu=(frame.args["strona główna projektu "..i] or pf.args["strona główna projektu "..i])
end;
else
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
end;
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_projektu))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or (strona_glowna_projektu and "" or nil);
end;
function p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka)
local pf=frame.getParent and frame:getParent() or {args={}};
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_dla_dzieci;
if(i~=0)then
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
else
strona_glowna_dla_dzieci=(frame.args["strona główna dla dzieci "..i] or pf.args["strona główna dla dzieci "..i])
end;
else
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_dla_dzieci))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_dla_dzieci,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,} or (strona_glowna_dla_dzieci and "" or nil);
end;
function p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw, normmalna_przedmiotwa_dyskusji,kod_jezyka,kod_projektu)
local nazwa_przestrzeni_nazw_blad;
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(normmalna_przedmiotwa_dyskusji==0)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==1)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, przedmiotowa=tak,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, przedmiotowa=tak,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==2)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, dyskusja=tak,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, dyskusja=tak,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
return nazwa_przestrzeni_nazw_blad
end;
function p.Nazwa_przestrzeni_nazw(frame,kod_liczbowy_przestrzeni_nazw,czy_uwzglednic_alternatywna_nazwe,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_przestrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,numer_jednostki,1) or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,numer_jednostki);
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwy_przestrzeni_nazw;
if(kod_liczbowy_przestrzeni_nazw==1)then
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(kod_liczbowy_przestrzeni_nazw==2)then
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka, ["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
if(czy_blad_nazwy_przestrzeni_nazw)then
return czy_blad_nazwy_przestrzeni_nazw;
else
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local nazwa_przestrzeni_nazw_alternatywnej=mw.text.trim(frame.args[1]);
if(mw.ustring.match(nazwa_przestrzeni_nazw_alternatywnej,"^[%w%s_]*$"))then
local czy_blad_nazwa_przestrzeni_nazw_alternatywnej;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw_alternatywnej,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw_alternatywnej,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
return czy_blad_nazwa_przestrzeni_nazw_alternatywnej or "(błąd)";
else
return "(błąd)";
end;
else
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"]{[1]=nazwa_przestrzeni_nazw,[2]="tak",};
if(mw.ustring.match(nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni_nazw_blad;
local parametry_modul=require("Module:Parametry");
if(czy_biezaca_wiki)then
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
nazwa_jednostki,_=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki,_=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
else
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw_blad or nazwa_przestrzeni_nazw;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if(czy_biezaca_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Template;
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Module;
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
nazwa_przestrzeni_nazw=template_prze;
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
nazwa_przestrzeni_nazw=module_prze;
end;
end;
end;
if(not nazwa_przestrzeni_nazw_blad)then
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(frame.args[1]);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
if(czy_biezaca_wiki)then
local nazwy_modul=require("Module:Nazwy");
local czy_blad_nazwy_przestrzeni_nazw=nazwy_modul.Np{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
return czy_blad_nazwy_przestrzeni_nazw or "(błąd)";
else
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_blad2=nazwy_modul.NpDane{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
return nazwa_przestrzeni_nazw_blad2 or "(błąd)";
end;
else
return "(błąd)";
end;
else
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(nazwa_przestrzeni_nazw);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return wytrimowana_nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,typ)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local nazwa_przestrzeni_nazw=require("Module:Pudełko")["Nazwa przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
return nazwy_modul.Np{[typ]="tak",nazwa=nazwa_przestrzeni_nazw};
else
return nazwy_modul.NpDane{[typ]="tak",nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Kod_jezyka(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod języka tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod języka tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka"] or frame.args["kod języka 1"] or pf.args["kod języka"] or pf.args["kod języka 1"]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka "..i] or pf.args["kod języka "..i]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Kod_projektu(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod projektu tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod projektu tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu"] or frame.args["kod projektu 1"] or pf.args["kod projektu"] or pf.args["kod projektu 1"]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu "..i] or pf.args["kod projektu "..i]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local klucz_projektu;
local function domyslne_klucz(klucz_projektu)
local parametry_modul=require("Module:Parametry");
return ((klucz_projektu)and(klucz_projektu~=""))and mw.text.trim(klucz_projektu)or((parametry_modul.CzyTak(wartosc_domyslna_jezyka)and(parametry_modul.CzyTak(wartosc_domyslna_projektu)))and (wartosc_domyslna_jezyka..":" ..wartosc_domyslna_projektu)or(parametry_modul.CzyTak(wartosc_domyslna_jezyka) and wartosc_domyslna_jezyka or (parametry_modul.CzyTak(wartosc_domyslna_projektu) and wartosc_domyslna_projektu or nil)));
end;
if(i==0)then
return nil;
elseif(i==1)then
local klucz_projektu=frame.args["klucz projektu"] or frame.args["klucz projektu 1"] or pf.args["klucz projektu"] or pf.args["klucz projektu 1"]
return domyslne_klucz(klucz_projektu);
elseif(i>1)then
local klucz_projektu=frame.args["klucz projektu "..i] or pf.args["klucz projektu"]
return domyslne_klucz(klucz_projektu);
end;
end;
function p.Wikikody_kontenera(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu),p.Kod_jezyka(frame,i,wartosc_domyslna_jezyka),p.Kod_projektu(frame,i,wartosc_domyslna_projektu));
return kod_jezyka,kod_projektu;
end;
function p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,args,bez_analizy)
if(not bez_analizy)then
local parametry_modul=require("Module:Parametry");
if((((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł")or(typ=="podręcznik")))or (typ=="artykuł")))then
return "";
elseif(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci")))or(typ=="artykuł dla dzieci"))then
return "Wikijunior";
elseif((not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"]))
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki brudnopisu projektu"])and (typ=="podręcznik brudnopisu projektu" or typ=="artykuł brudnopisu projektu")or (typ=="jednostka brudnopisu projektu")) or (typ=="strona brudnopisu projektu"))or(typ=="strona projektu"))or (typ=="strona projektu"))then
return "Project";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona szablonu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))or(typ=="strona brudnopisu szablonu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona szablonu")or(typ=="strona opisu szablonu"))or(typ=="strona szablonu"))))then
return "Template";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona modułu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))or(typ=="strona brudnopisu modułu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona modułu")or(typ=="strona opisu modułu"))or(typ=="strona modułu"))))then
return "Module";
elseif(not parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika jako normalne strony"])
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika"])and (typ=="podręcznik użytkownika" or typ=="artykuł użytkownika") or (typ=="jednostka użytkownika")) or (typ=="strona użytkownika"))or(typ=="strona główna użytkownika"))or(typ=="strona użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
return;
end;
if(typ)then
if((typ=="artykuł")or(typ=="podręcznik"))then
return "";
elseif((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci"))then
return "Wikijunior";
elseif((typ=="podręcznik brudnopisu projektu")or(typ=="artykuł brudnopisu projektu")or(typ=="jednostka brudnopisu projektu")or(typ=="strona brudnopisu projektu")or(typ=="strona projektu"))then
return "Project";
elseif((typ=="strona szablonu")or(typ=="strona opisu szablonu")or(typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))then
return "Template";
elseif((typ=="strona modułu")or(typ=="strona opisu modułu")or(typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))then
return "Module";
elseif((typ=="podręcznik użytkownika")or(typ=="artykuł użytkownika")or(typ=="jednostka użytkownika")or(typ=="strona użytkownika")or(typ=="strona główna użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
end;
end;
function p.Typ_jednostki_uzyskany_z_frame(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local pf=frame.getParent and frame:getParent() or {args={}};
local typ;
if liczba_numer_jednostki~=0 then
typ=liczba_numer_jednostki and(frame.args["typ jednostki "..liczba_numer_jednostki] or pf.args["typ jednostki "..liczba_numer_jednostki]);
if(not typ)then
local nazwa_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,2);
if(nazwa_jednostki)then
if(not mw.ustring.match(mw.text.trim(nazwa_jednostki),"^:"))then
local nazwa_przesrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,1);
if(not nazwa_przesrzeni_nazw)then
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
end;
end;
end;
else
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
return typ,liczba_numer_jednostki;
end;
function p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i)
local typ=p.Typ_jednostki_uzyskany_z_frame(frame,i);
return typ and p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,nil,true) or nil;
end;
function p.Typ_jednostki(frame, kod_liczbowy_przestrzeni_nazw,i,numer_argorytmu)
local parametry_modul=require("Module:Parametry");
local analiza=parametry_modul.CzyTak(frame.args["analiza"]);
local typ,liczba_numer_jednostki=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local uzyskana_przestrzen_nazw_od_typu_jednostki;
local nazwa_przestrzeni_nazw_podana,nazwa_jednostki_podana=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki);
if((not analiza)and(typ))then
if(typ~="")then
uzyskana_przestrzen_nazw_od_typu_jednostki=p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,frame.args);
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((not nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
return typ;
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local nazwa_przestrzeni_nazw,nazwa_jednostki=p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,liczba_numer_jednostki,numer_argorytmu);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwa_przestrzeni_nazw;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
else
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
end;
if(not czy_blad_nazwa_przestrzeni_nazw)then return "(błąd nazwy przestrzeni nazw)";end;
nazwa_przestrzeni_nazw=czy_blad_nazwa_przestrzeni_nazw;
---
---
if((not analiza)and(typ))then
if(typ~="")then
---typ jednostki
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
if(uzyskana_przestrzen_nazw_od_typu_jednostki==nazwa_przestrzeni_nazw)then
return typ;
else
return "(błąd niezgodności)";
end;
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local function Typ_jednostki()
if(nazwa_jednostki~="")then
--local kod_jezyka,kod_projektu=KodyWikiPudelka(frame,liczba_numer_jednostki);
--local klucz_projektu=kod_projektu..":"..kod_jezyka;
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_strony=((nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":" or "")..nazwa_jednostki;
if(pudelko_modul.CzyNiepoprawnaNazwa(pelna_nazwa_strony))then return "(błąd nazwy jednostki)";end;
local nazwy_modul=require("Module:Nazwy")
pelna_nazwa_strony=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local norm_przed_lub_dyskusji=p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw, kod_liczbowy_przestrzeni_nazw,kod_jezyka,kod_projektu);
if(kod_projektu==pudelko_modul["Kod projektu tego projektu"]())then
local nazwa_strony_glownej_dla_dzieci_ze_zmiennej=p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka);
if(nazwa_strony_glownej_dla_dzieci_ze_zmiennej=="")then return "(błąd nazwy strony głównej dla dzieci)";end;
local nazwa_strony_glownej_wikijuniora=p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
local nazwa_strony_glownej_dla_dzieci_uzyskana=(not nazwa_strony_glownej_dla_dzieci_ze_zmiennej)and nazwa_strony_glownej_wikijuniora or nazwa_strony_glownej_dla_dzieci_ze_zmiennej;
if(nazwa_strony_glownej_dla_dzieci_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_dla_dzieci_uzyskana))then return "(błąd nazwy strony głównej dla dzieci)";end;
nazwa_strony_glownej_dla_dzieci_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_dla_dzieci_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_dla_dzieci_uzyskana)then return "strona główna dla dzieci";end;
end;
end;
local nazwa_strony_glownej_projektu_ze_zmiennej=p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka,kod_projektu);
if(nazwa_strony_glownej_projektu_ze_zmiennej=="")then return "(błąd nazwy strony głównej projektu)";end;
local nazwa_strony_glownej_projektu_z_wikidanych=p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
local nazwa_strony_glownej_projektu_uzyskana=(not nazwa_strony_glownej_projektu_ze_zmiennej)and nazwa_strony_glownej_projektu_z_wikidanych or nazwa_strony_glownej_projektu_ze_zmiennej;
if(nazwa_strony_glownej_projektu_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_projektu_uzyskana))then return "(błąd nazwy strony głównej projektu)";end;
nazwa_strony_glownej_projektu_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_projektu_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_projektu_uzyskana)then return "strona główna projektu";end;
end;
if(norm_przed_lub_dyskusji=="")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik";else return "artykuł";end;
end;
elseif(norm_przed_lub_dyskusji=="Wikijunior")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł dla dzieci";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik dla dzieci";else return "artykuł dla dzieci";end;
end;
elseif(norm_przed_lub_dyskusji=="User")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika jako normalne strony"]))then
return "strona użytkownika";
else
local czy_podstrony=mw.ustring.match(nazwa_jednostki,"^[^/]+$")
if(czy_podstrony)then
return "strona główna użytkownika";
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^[^/]+/[^/]*$");
if(czy_ksiazka)then
return "podręcznik użytkownika";
else
return "artykuł użytkownika";
end;
else
return "jednostka użytkownika";
end;
else
return "strona użytkownika";
end;
end;
end;
elseif(norm_przed_lub_dyskusji=="File")then return "strona pliku";
elseif(norm_przed_lub_dyskusji=="Category")then return "strona kategorii";
elseif(norm_przed_lub_dyskusji=="Project")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))then return "strona projektu";end;
if(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*"))then
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki brudnopisu projektu"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/[^/]*");
if(czy_ksiazka)then
return "podręcznik brudnopisu projektu";
else
return "artykuł brudnopisu projektu";
end;
else
return "jednostka brudnopisu projektu";
end;
else
return "strona brudnopisu projektu";
end;
else
return "strona projektu";
end;
elseif(norm_przed_lub_dyskusji=="Help")then return "strona pomocy";
elseif(norm_przed_lub_dyskusji=="MediaWiki")then return "strona komunikatu";
elseif(norm_przed_lub_dyskusji=="Special")then return "strona specialna";
elseif(norm_przed_lub_dyskusji=="Gadget")then return "strona gadżetu";
elseif(nazwa_przestrzeni_nazw=="Template")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona szablonu";end;
local function CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,szablon,opis_szablonu,strona_szablonu,prefix)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return szablon;
else
if(mw.ustring.match(nazwa_jednostki,"^"..prefix..".*/opis$"))then
return opis_szablonu;
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane nieudokumentowane szablony jako szablony"]))then
local czy_brudnopis=mw.ustring.match(nazwa_jednostki,"^"..prefix..".*$");
if(czy_brudnopis)then
local pagename=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
local czy_istnieje_strona,tab=require("Module:Techniczne").PoliczZbiory(pagename);
if(czy_istnieje_strona==1)then
local czy_brudnopis_opisu_szablonu=require("Module:Łatki").contentMatch{
[1]='<noinclude>.-{{%s*[Dd]okumentacja%s*}}.-</noinclude>',
[2]='<noinclude>.-{{%s*[Dd]okumentacja%s*|.-</noinclude>',pagename=pagename,namespace=0
};
if(not czy_brudnopis_opisu_szablonu)then return opis_szablonu;else return szablon;end;
else
return szablon;
end;
else
return strona_szablonu;
end;
else
return szablon;
end;
end;
end;
end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
return CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,"strona brudnopisu szablonu","strona brudnopisu opisu szablonu","strona szablonu","[Bb]rudnopis/[^/]*/");
else
return CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,"strona szablonu","strona opisu szablonu","strona szablonu","");
end;
elseif(nazwa_przestrzeni_nazw=="Module")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona modułu";end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona brudnopisu modułu"
else
local pelna_nazwa_strony=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_strony_brudnopisu_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_strony_brudnopisu_opisu_modulu)then
return "strona brudnopisu opisu modułu";
else
return "strona brudnopisu modułu";
end;
end;
else
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona modułu"
else
local pelna_nazwa_strony=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_opisu_modulu)then
return "strona opisu modułu";
else
return "strona modułu";
end;
end;
end;
else return "inne";
end;
end;
return "inne";
end;
local typ_jednostki=Typ_jednostki();
if(((analiza)or(nazwa_jednostki_podana))and(typ)and(typ~=""))then
if(typ_jednostki==typ)then
return typ_jednostki;
elseif(nazwa_jednostki_podana)then
return "(błąd parametrów pudełkowych)"
else
return "(błąd typu jednostki)";
end;
end;
return typ_jednostki;
end;
function p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,i,numer_argorytmu,co_ma_liczyc)
local nazwa_przestrzeni_nazw,nazwa_jednostki;
if(kod_liczbowy_przestrzeni_nazw==0)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw==1)then
nazwa_przestrzeni_fun="Nazwa przedmiotowej przestrzeni nazw";
nazwa_jednostki_fun="Nazwa przedmiotowa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw==2)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw dyskusji"
nazwa_jednostki_fun="Nazwa dyskusji jednostki";
else
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
end;
local pudelko_modul=require("Module:Pudełko");
if(not numer_argorytmu)then
if((not i)or(i==0))then
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw,nazwa_jednostki;
nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,false);
nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,false);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul["Nazwa jednostki"](frame);
end;
else
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local n=p.Nazwa_przestrzeni_nazw_dodatkowe(frame,i);
nazwa_przestrzeni_nazw=(n)and pudelko_modul[nazwa_przestrzeni_fun](frame,false,i) or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,false,i);
nazwa_jednostki=(n)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local n=p.Nazwa_przestrzeni_nazw_dodatkowe(frame,i);
local nazwa_przestrzeni_nazw=(n)and pudelko_modul[nazwa_przestrzeni_fun](frame,false,i) or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,false,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
local n=p.Nazwa_przestrzeni_nazw_dodatkowe(frame,i);
return (n)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
end;
else
if(numer_argorytmu==0)then
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw,nazwa_jednostki;
nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,false,i);
nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,false,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul["Nazwa jednostki"](frame,i);
end;
else
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw,nazwa_jednostki;
nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,false,i);
nazwa_jednostki=pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,false,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_dodatkowe(frame,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
return frame.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)] or pf.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)]
end;
function p.Nazwa_jednostki(frame,i)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,2);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
if(nazwa_jednostki)then
nazwa_jednostki=mw.text.trim(nazwa_jednostki);
nazwa_jednostki,_=mw.ustring.gsub(nazwa_jednostki,"^:","");
nazwa_jednostki,_=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki,_=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
local nazwy_modul=require("Module:Nazwy");
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
end;
function p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,co_podac)
local pf=frame.getParent and frame:getParent() or {args={}};
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local nazwa_jednostki;
local bool_numer_jednostki=(liczba_numer_jednostki~=0);
local function Nazwa_jednostki()
if bool_numer_jednostki then
nazwa_jednostki=frame.args["nazwa jednostki "..liczba_numer_jednostki] or ((liczba_numer_jednostki==1)and(pf.args["cel"])) or pf.args[liczba_numer_jednostki];
else
nazwa_jednostki=frame.args["nazwa jednostki"] or pf.args["nazwa jednostki"];
end;
return nazwa_jednostki;
end;
local function Nazwa_przestrzeni_nazw()
local nazwa_przestrzeni_nazw=bool_numer_jednostki and (frame.args["nazwa przestrzeni nazw i"] or pf.args["nazwa przestrzeni nazw i"] or frame.args["nazwa przestrzeni nazw "..liczba_numer_jednostki] or pf.args["nazwa przestrzeni nazw "..liczba_numer_jednostki])
or frame.args["nazwa przestrzeni nazw"] or pf.args["nazwa przestrzeni nazw"];
return nazwa_przestrzeni_nazw;
end;
if(not co_podac)then
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
elseif(co_podac==1)then
return Nazwa_przestrzeni_nazw(),liczba_numer_jednostki;
elseif(co_podac==2)then
return Nazwa_jednostki(),liczba_numer_jednostki;
else
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
end;
end;
function p.Jaka_nazwa_jednostki(frame,i,jaka)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
----
local nazwy_modul=require("Module:Nazwy");
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, [jaka]="tak"};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, [jaka]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if(czy_biezaca)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Czy_przestrzen_nazw_jest_obslugiwana(frame,jakas_przestrzen_nazw,kod_jezyka,kod_projektu)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
jakas_przestrzen_nazw=nazwy_modul.Np{nazwa=jakas_przestrzen_nazw};
else
jakas_przestrzen_nazw=nazwy_modul.NpDane{nazwa=jakas_przestrzen_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local function nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_iter)
if(czy_biezaca)then
nazwa_przestrzeni_nazw_iter=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw_iter};
else
nazwa_przestrzeni_nazw_iter=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw_iter,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
if(jakas_przestrzen_nazw==nazwa_przestrzeni_nazw_iter)then
return true;
end;
return false;
end;
for licznik,nazwa_przestrzeni_nazw in pairs(frame.args)do
if(type(licznik)=="number")then
local nazwa_przestrzeni_nazw_element,klucze_element=mw.ustring.match(nazwa_przestrzeni_nazw,"^%s*([%w%s]*)%s*:%s*(.-)%s*");
if(nazwa_przestrzeni_nazw_element and klucze_element)then
local tab_klucze=mw.text.split(klucze_element,"%s*,%s*",false);
local wiki_modul=require("Module:Wiki");
for _,klucz_element in ipairs(tab_klucze)do
local kod_jezyka_obslugiwane,kod_projektu_obslugiwane=wiki_modul.KluczProjektu(klucz_element);
if(kod_jezyka_obslugiwane==kod_jezyka and kod_projektu_obslugiwane==kod_projektu)then
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_element);
if(wynik)then return true;end;
end;
end;
else
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw);
if(wynik)then return true;end;
end;
end;
end;
return false;
end;
function p.Analiza_interwiki_czy_projekt_aktualny(frame,czy_jezyk,czy_projekt)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
local pudelko_modul=require("Module:Pudełko");
local wiki_modul=require("Module:Wiki");
local jezyk_biezacy=czy_jezyk and pudelko_modul["Kod języka tego projektu"]();
local projekt_biezacy=czy_projekt and pudelko_modul["Kod projektu tego projektu"]();
for i,_ in pairs(p.args)do
if(type(i)=="number")then
local klucz_projektu=pudelko_modul["Klucz projektu"](frame,i);
local kod_jezyka=pudelko_modul["Kod języka"](frame,i);
local kod_projektu=pudelko_modul["kod projektu"](frame,i);
local jezyk,projekt=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
if((czy_jezyk and (jezyk~=jezyk_biezacy))or(czy_projekt and(projekt~=projekt_biezacy)))then
return "tak";
end;
end;
end;
return;
end;
return p;