Moduł:Wiki

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
Template-info.png Dokumentacja modułu [stwórz] [odśwież]
local p={};
function p.OddawajDaneKodyWiki(self,klucz_projektu,kod_jezyka,kod_projektu)
	if(self.tabkodywiki)then
		local parametry_modul=require("Module:Parametry");
        local pudelko_modul=require("Module:Pudełko");
        		
		local czy_k=parametry_modul.CzyTak(klucz_projektu);
		
		for _,tab_element in ipairs(self.tabkodywiki)do
			if(czy_k)then
				if(tab_element[1]==klucz_projektu)then
					return {tab_element[1],tab_element[2],tab_element[3],tab_element[4],tab_element[5],};
				end;
			else
				if(kod_jezyka==tab_element[2] 
					or (not parametry_modul.CzyTak(tab_element[2]) and parametry_modul.CzyTak(kod_jezyka) and kod_jezyka==pudelko_modul["Kod języka tego projektu"]()) 
					   or (not parametry_modul.CzyTak(kod_jezyka) and parametry_modul.CzyTak(tab_element[2]) and tab_element[2]==pudelko_modul["Kod języka tego projektu"]()))
				and (kod_projektu==tab_element[3] 
				    or (not tab_element[3] and parametry_modul.CzyTak(kod_projektu) and kod_projektu==pudelko_modul["Kod projektu tego projektu"]()) 
				      or (not parametry_modul.CzyTak(kod_projektu) and parametry_modul.CzyTak(tab_element[3]) and tab_element[3]==pudelko_modul["Kod projektu tego projektu"]()))then
					      return {tab_element[1],tab_element[2],tab_element[3],tab_element[4],tab_element[5],};
				end;
			end;
		end;
	end;
	return;
end;
function p.UstawDaneKodyWiki(self,klucz_projektu,kod_jezyka,kod_projektu,czy_jezyk,czy_iterwiki)
	local wynik=p:OddawajDaneKodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
	if(type(wynik)=="nil")then
		if(not self.tabkodywiki)then self.tabkodywiki={};end;
		table.insert(self.tabkodywiki,{klucz_projektu,kod_jezyka,kod_projektu,czy_jezyk,czy_iterwiki});
	end;
end;
function p.SpecjalneKodyInterwiki(kod_jezyka,kod_projektu)
	local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
	local interwikisiostrzaneangielskie=wiki_interwiki_modul.interwikisiostrzaneangielskie;
	local kod=interwikisiostrzaneangielskie[kod_projektu];
	if(kod)then
		kod_projektu=kod;
		kod_jezyka="en";
	end;
	return kod_jezyka,kod_projektu;
end;
function p.KluczProjektu(klucz_projektu) 
	local parametry_modul=require("Module:Parametry");
	if(parametry_modul.CzyTak(klucz_projektu))then
		klucz_projektu=mw.ustring.gsub(klucz_projektu,"^[%s_:]*","");
		klucz_projektu=mw.ustring.gsub(klucz_projektu,"[%s_:]*$","");
	    klucz_projektu=mw.ustring.gsub(klucz_projektu,"[%s_]+"," ");
	    klucz_projektu=mw.ustring.gsub(klucz_projektu,"[%s_:]*:[%s_:]*",":");
	    klucz_projektu=mw.getContentLanguage():lc(klucz_projektu) or nil;
	end;
	
	local wynik=p:OddawajDaneKodyWiki(klucz_projektu,nil,nil)
	if(type(wynik)=="table")then 
		if(wynik[4] and wynik[5])then 
			return wynik[2],wynik[3];
		else 
			return;
		end;
	end;
	if(parametry_modul.CzyTak(klucz_projektu))then
		local kod1,kod2=mw.ustring.match(klucz_projektu,"^[%s:_]*([^:]+)[%s:_]*:[%s:_]*([^:]+)[%s:_]*$");
		if(kod1 and kod2)then
			local interwikimap=mw.loadData("Module:Wiki/interwiki").interwikimap;
			local czy_kod_jezyka=mw.language.isKnownLanguageTag(kod1);
			local czy_interwiki=interwikimap[kod2];
			if(czy_kod_jezyka and czy_interwiki)then
			    kod1,kod2=p.SpecjalneKodyInterwiki(kod1,kod2);
			    p:UstawDaneKodyWiki(klucz_projektu,kod1,kod2,czy_kod_jezyka,czy_interwiki);
				return kod1,kod2;
			else
				czy_kod_jezyka=mw.language.isKnownLanguageTag(kod2);
		    	czy_interwiki=interwikimap[kod1];
		    	if(czy_kod_jezyka and czy_interwiki)then
		    	    kod2,kod1=p.SpecjalneKodyInterwiki(kod2,kod1);
		    		p:UstawDaneKodyWiki(klucz_projektu,kod2,kod1,czy_kod_jezyka,czy_interwiki);
		    		return kod2,kod1;
		    	else
					p:UstawDaneKodyWiki(klucz_projektu,nil,nil,czy_kod_jezyka,czy_interwiki);
		    		return;
		    	end;
			end;
		else
			local parametry_modul=require("Module:Parametry");
			local kod=parametry_modul["Odstępy"]{[1]=klucz_projektu,[2]="tak",};
			if(kod~="")then
				local interwikimap=mw.loadData("Module:Wiki/interwiki").interwikimap;
				if(mw.language.isKnownLanguageTag(kod))then
            		local pudelko_modul=require("Module:Pudełko");
            		local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
            		kod,kod_projektu_tego_projektu=p.SpecjalneKodyInterwiki(kod,kod_projektu_tego_projektu);
            		p:UstawDaneKodyWiki(klucz_projektu,kod,kod_projektu_tego_projektu,true,true);
					return kod,kod_projektu_tego_projektu;
				elseif(interwikimap[kod])then
					local pudelko_modul=require("Module:Pudełko");
            		local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
            		kod_jezyka_tego_projektu,kod=p.SpecjalneKodyInterwiki(kod_jezyka_tego_projektu,kod);
            		p:UstawDaneKodyWiki(klucz_projektu,kod_jezyka_tego_projektu,kod,true,true);
					return kod_jezyka_tego_projektu,kod;
				else
					p:UstawDaneKodyWiki(klucz_projektu,nil,nil,false,false);
					return;
				end;
			else
				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"]();
				kod_jezyka_tego_projektu,kod_projektu_tego_projektu=p.SpecjalneKodyInterwiki(kod_jezyka_tego_projektu,kod_projektu_tego_projektu);
				p:UstawDaneKodyWiki(klucz_projektu,kod_jezyka_tego_projektu,kod_projektu_tego_projektu,true,true);
				return kod_jezyka_tego_projektu,kod_projektu_tego_projektu;
			end;
		end;
	else
		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"]();
	    kod_jezyka_tego_projektu,kod_projektu_tego_projektu=p.SpecjalneKodyInterwiki(kod_jezyka_tego_projektu,kod_projektu_tego_projektu);
		p:UstawDaneKodyWiki(klucz_projektu,kod_jezyka_tego_projektu,kod_projektu_tego_projektu,true,true);
		return kod_jezyka_tego_projektu,kod_projektu_tego_projektu;
	end;
end;
function p.KodyGeneruj(kod_jezyka,kod_projektu,nie_sprawdzaj)
	local parametry_modul=require("Module:Parametry");
	if(parametry_modul.CzyTak(kod_jezyka))then
		kod_jezyka=mw.ustring.gsub(kod_jezyka,"^[%s_:]*","");
		kod_jezyka=mw.ustring.gsub(kod_jezyka,"[%s_:]*$","");
	    kod_jezyka=mw.ustring.gsub(kod_jezyka,"[%s_]+"," ");
	    kod_jezyka=mw.getContentLanguage():lc(kod_jezyka) or nil;
	end;
	if(parametry_modul.CzyTak(kod_projektu))then
		kod_projektu=mw.ustring.gsub(kod_projektu,"^[%s_:]*","");
		kod_projektu=mw.ustring.gsub(kod_projektu,"[%s_:]*$","");
	    kod_projektu=mw.ustring.gsub(kod_projektu,"[%s_]+"," ");
	    kod_projektu=mw.getContentLanguage():lc(kod_projektu) or nil;
	end;	
	local wynik=p:OddawajDaneKodyWiki(nil,kod_jezyka,kod_projektu)
	if(type(wynik)=="table")then 
		if(wynik[4] and wynik[5])then 
			return wynik[2],wynik[3];
		else 
			return;
		end;
	end;
	local pudelko_modul=require("Module:Pudełko");
	local parametry_modul=require("Module:Parametry");
	local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
	local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
	local interwikimap=mw.loadData("Module:Wiki/interwiki").interwikimap;
	if(parametry_modul.CzyTak(kod_jezyka) and kod_jezyka_tego_projektu~=kod_jezyka)then
		if(parametry_modul.CzyTak(kod_projektu) and kod_projektu_tego_projektu~=kod_projektu)then
			if(nie_sprawdzaj)then
				kod_jezyka,kod_projektu=p.SpecjalneKodyInterwiki(kod_jezyka,kod_projektu);
				p:UstawDaneKodyWiki(nil,kod_jezyka,kod_projektu,true,true);
				return kod_jezyka,kod_projektu;
			else
				local czy_jezyk=mw.language.isKnownLanguageTag(kod_jezyka);
				local czy_interwiki=interwikimap[kod_projektu];
				if(czy_jezyk and czy_interwiki)then
					kod_jezyka,kod_projektu=p.SpecjalneKodyInterwiki(kod_jezyka,kod_projektu);
					p:UstawDaneKodyWiki(nil,kod_jezyka,kod_projektu,czy_jezyk,czy_interwiki);
					return kod_jezyka,kod_projektu;
				else
					p:UstawDaneKodyWiki(nil,kod_jezyka,kod_projektu,czy_jezyk,czy_interwiki);
					return;
				end;
			end;
		else
			if(nie_sprawdzaj)then
				kod_jezyka,kod_projektu_tego_projektu=p.SpecjalneKodyInterwiki(kod_jezyka,kod_projektu_tego_projektu);
				p:UstawDaneKodyWiki(nil,kod_jezyka,kod_projektu_tego_projektu,true,true);
				return kod_jezyka,kod_projektu_tego_projektu;
			else
				if(mw.language.isKnownLanguageTag(kod_jezyka))then				
					kod_jezyka,kod_projektu_tego_projektu=p.SpecjalneKodyInterwiki(kod_jezyka,kod_projektu_tego_projektu);
					p:UstawDaneKodyWiki(nil,kod_jezyka,kod_projektu_tego_projektu,true,true);
					return kod_jezyka,kod_projektu_tego_projektu;					
				else
					p:UstawDaneKodyWiki(nil,kod_jezyka,kod_projektu_tego_projektu,false,true);
					return;
				end;
			end;
		end;
	else
		if(parametry_modul.CzyTak(kod_projektu) and kod_projektu_tego_projektu~=kod_projektu)then
			if(nie_sprawdzaj)then
				kod_jezyka_tego_projektu,kod_projektu=p.SpecjalneKodyInterwiki(kod_jezyka_tego_projektu,kod_projektu);
				p:UstawDaneKodyWiki(nil,kod_jezyka_tego_projektu,kod_projektu,true,true);
				return kod_jezyka_tego_projektu,kod_projektu;
			else
				if(interwikimap[kod_projektu])then
					kod_jezyka_tego_projektu,kod_projektu=p.SpecjalneKodyInterwiki(kod_jezyka_tego_projektu,kod_projektu);
					p:UstawDaneKodyWiki(nil,kod_jezyka_tego_projektu,kod_projektu,true,true);
					return kod_jezyka_tego_projektu,kod_projektu;					
				else
					p:UstawDaneKodyWiki(nil,kod_jezyka_tego_projektu,kod_projektu,true,false);
					return;
				end;
			end;
		else
			kod_jezyka_tego_projektu,kod_projektu_tego_projektu=p.SpecjalneKodyInterwiki(kod_jezyka_tego_projektu,kod_projektu_tego_projektu);
			p:UstawDaneKodyWiki(nil,kod_jezyka_tego_projektu,kod_projektu_tego_projektu,true,true);
			return kod_jezyka_tego_projektu,kod_projektu_tego_projektu;
		end;
	end;
    kod_jezyka_tego_projektu,kod_projektu_tego_projektu=p.SpecjalneKodyInterwiki(kod_jezyka_tego_projektu,kod_projektu_tego_projektu);
	p:UstawDaneKodyWiki(nil,kod_jezyka_tego_projektu,kod_projektu_tego_projektu,true,true);
	return kod_jezyka_tego_projektu,kod_projektu_tego_projektu;
end;
function p.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu)
  local parametry_modul=require("Module:Parametry");
  local kod_jezyka2;local kod_projektu2;
  if(parametry_modul.CzyTak(klucz_projektu)and not mw.ustring.match(klucz_projektu,"^[%s_:]+$"))then
	kod_jezyka2,kod_projektu2=p.KluczProjektu(klucz_projektu);
  else
	kod_jezyka2,kod_projektu2=p.KodyGeneruj(kod_jezyka,kod_projektu);
	if(not kod_jezyka2 and not kod_projektu2)then
		kod_jezyka2,kod_projektu2=p.KodyGeneruj(kod_projektu,kod_jezyka);
		if(not kod_jezyka2 and not kod_projektu2)then
			kod_jezyka2,kod_projektu2=p.KluczProjektu(kod_jezyka);
			if(not kod_jezyka2 and not kod_projektu2)then
				kod_jezyka2,kod_projektu2=p.KluczProjektu(kod_projektu);
			end;
		end;
	end;
  end;
  return kod_jezyka2,kod_projektu2;
end;
function p.KluczProjektuWiki(frame)
	local parametry_modul=require("Module:Parametry");
	local args=frame and ((frame.getParent and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};
	local kod_jezyka,kod_projektu=p.KodyWiki(args["klucz projektu"],args["kod języka"],args["kod projektu"]);
	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
		return kod_jezyka..":"..kod_projektu;
	elseif(kod_jezyka~=kod_jezyka_tego_projektu)then
		return kod_jezyka;
	elseif(kod_projektu~=kod_projektu_tego_projektu)then
		return kod_projektu;
	else
		return "";
	end;
end;
p["KodJęzykaWiki"]=function(frame)
	local parametry_modul=require("Module:Parametry");
	local args=(frame.getParent and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args;
	local wiki_modul=require("Module:Wiki");
	local kod_jezyka,_=p.KodyWiki(args["klucz projektu"],args["kod języka"],args["kod projektu"]);
	return kod_jezyka;
end;
p["KodProjektuWiki"]=function(frame)
	local parametry_modul=require("Module:Parametry");
	local args=(frame.getParent and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args;
	local wiki_modul=require("Module:Wiki");
	local _,kod_projektu=p.KodyWiki(args["klucz projektu"],args["kod języka"],args["kod projektu"]);
	return kod_projektu;
end;
function p.WikidaneIdWiki(frame)
   local parametry_modul=require("Module:Parametry");
   local args=frame and ((frame.getParent and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};

   	local klucz_projektu=args["klucz projektu"];
	local kod_jezyka=args["kod języka"];
	local kod_projektu=args["kod projektu"];
		
   	kod_jezyka,kod_projektu=p.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
    local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
    local pudelko_modul=require("Module:Pudełko");
    local parametry_modul=require("Module:Parametry");
	if(not parametry_modul.CzyTak(kod_jezyka))then kod_jezyka=pudelko_modul["Kod języka tego projektu"]();end;
	if(not parametry_modul.CzyTak(kod_projektu))then kod_projektu=pudelko_modul["Kod projektu tego projektu"]();end;
    local kod_projektu_identyfikatora_projektu_11=wiki_interwiki_modul.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1[kod_projektu];    
    local kod_projektu_identyfikatora_projektu_12=wiki_interwiki_modul.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2[kod_projektu];
    
    local czy_wspierany=mw.language.isKnownLanguageTag(kod_jezyka);
    if(czy_wspierany)then
    	if(kod_projektu_identyfikatora_projektu_11)then 
    		return kod_jezyka..kod_projektu_identyfikatora_projektu_11;
    	elseif(kod_projektu_identyfikatora_projektu_12) then
     		return kod_projektu_identyfikatora_projektu_12;
    	else 
     		return nil;
    	end;
    else
    	return nil;
    end;
end;
function p.WikidaneOdpowiednikStrony(frame)
	local parametry_modul=require("Module:Parametry");
	local args=frame and ((frame.getParent and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};
	
	local nazwa_strony=args["nazwa strony"];
	local kod_jezyka=args["kod języka"];
	local kod_projektu=args["kod projektu"];
	local klucz_projektu=args["klucz projektu"];
	local kod_jezyka_baza=args["kod języka bazy"];
	local kod_projektu_baza=args["kod projektu bazy"];
    local klucz_projektu_baza=args["klucz projektu bazy"];
	    
	local identyfikator_projektu_globalnej_danej_wiki=p.WikidaneIdWiki{
		                     ["klucz projektu"]=klucz_projektu_baza,
		                     ["kod języka"]=kod_jezyka_baza,
		                     ["kod projektu"]=kod_projektu_baza,
	};
	if(not identyfikator_projektu_globalnej_danej_wiki)then identyfikator_projektu_globalnej_danej_wiki=mw.wikibase.getGlobalSiteId();end;
	local identyfikator_strony=mw.wikibase.getEntityIdForTitle(nazwa_strony,identyfikator_projektu_globalnej_danej_wiki);
	if(not identyfikator_strony)then return nil;end;
	local identyfikator_projektu_globalnej_danej_wiki_2=p.WikidaneIdWiki{
		                    ["klucz projektu"]=klucz_projektu,
		                    ["kod języka"]=kod_jezyka,
		                    ["kod projektu"]=kod_projektu,
	};
	if(not identyfikator_projektu_globalnej_danej_wiki_2)then return;end;
    local odpowiednik=mw.wikibase.getSitelink(identyfikator_strony,identyfikator_projektu_globalnej_danej_wiki_2);
    if(odpowiednik)then
    	local odpowiednik_strony_danej_wiki_na_innej_wiki,_=mw.ustring.gsub(odpowiednik,"[_%s]+"," ");
    	return odpowiednik_strony_danej_wiki_na_innej_wiki;
    else
        return nil
    end;
end;
function p.CzyIstniejeDanaWiki(frame)
	local parametry_modul=require("Module:Parametry");
	local args=frame and ((frame.getParent and (parametry_modul.CzyTak(frame["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};
	local klucz_projektu=args["klucz projektu"];
	local kod_jezyka=args["kod języka"];
	local kod_projektu=args["kod projektu"];
	local kod_jezyka,kod_projektu=p.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
	if(kod_jezyka and kod_projektu)then
		return p.WikidaneIdWiki{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
	else
		return;
	end;
end;
function p.CzyIstniejeStronaDanejWiki(frame)
	local parametry_modul=require("Module:Parametry");
	local args=frame and ((frame.getParent and (parametry_modul.CzyTak(frame["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};
	local strona=args["strona"];
	local czy_url=parametry_modul.CzyTak(args["url"]);
	if(czy_url)then
		local hash=args["nagłówek"];
		if(parametry_modul.CzyTak(hash))then
			return "strona_z_url_z_nagłówkiem";
		else
			return "strona_z_url";
		end;
	end;
	local nazwy_modul=require("Module:Nazwy");
	local parametry_modul=require("Module:Parametry")
	local idwiki=p.CzyIstniejeDanaWiki(frame);
	local klucz_projektu=args["klucz projektu"];
	local kod_jezyka=args["kod języka"];
	local kod_projektu=args["kod projektu"];
	local hash=args["nagłówek"];
    local kod_jezyka,kod_projektu=p.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
	local wiki_interprojekty_modul=mw.loadData("Module:Wiki/interprojekty");
	if (not idwiki)then 
		if(wiki_interprojekty_modul.tabnowikidata[kod_projektu])then
			if(not parametry_modul.CzyTak(hash))then
				return "istnieje_poza_wikidane";
			else
				return "istnieje_z_nagłówkiem_poza_wikidane";
			end;
		end;
		return "dana_wiki_nie_istnieje";
	end;
	if(idwiki=="plwikibooks")then
		strona=nazwy_modul["PEŁNANAZWASTRONY"](strona)
		local wikidane_modul=require("Module:Wikidane");
		local id=wikidane_modul.id{args={["idwiki"]=idwiki,[1]=strona}};
		local title=mw.title.getCurrentTitle();
		if(strona==title.fullText)then 
			if(not parametry_modul.CzyTak(hash))then
				return (not id)and "wskazuje_na_aktualną_stronę" or "wskazuje_na_aktualną_stronę_jako_element_wikidanych";
			else
				return (not id)and "wskazuje_na_aktualną_stronę_z_nagłówkiem" or "wskazuje_na_aktualną_stronę_z_nagłówkiem_jako_element_wikidanych";
			end;
		end;
		local title=mw.title.makeTitle('',strona);
		if(title and title.exists)then
			if(not parametry_modul.CzyTak(hash))then
				return (not id)and "istnieje_na_tej_wiki" or "istnieje_na_tej_wiki_jako_element_wikidanych";
			else
				return (not id)and "istnieje_z_nagłówkiem_na_tej_wiki" or "istnieje_z_nagłówkiem_na_tej_wiki_jako_element_wikidanych";
			end;
		else
			if(not parametry_modul.CzyTak(hash))then
				return "nie_istnieje_na_tej_wiki";
			else
				return "nie_istnieje_z_nagłówkiem_na_tej_wiki";
			end;
		end;
	else
		strona=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,}
		local wikidane_modul=require("Module:Wikidane");
		local id=wikidane_modul.id{args={["idwiki"]=idwiki,[1]=strona}};
		if(id)then
			if(not parametry_modul.CzyTak(hash))then
				return "istnieje_jako_element_wikidanych";
			else
				return "istnieje_z_nagłówkiem_jako_element_wikidanych";
			end;
		else
			if(not parametry_modul.CzyTak(hash))then
				return "nie_istnieje_jako_element_wikidanych";
			else
				return "nie_istnieje_z_nagłówkiem_jako_element_wikidanych";
			end;
		end;
	end;
end;
p["CzyBieżącaWiki"]=function(frame)
	local parametry_modul=require("Module:Parametry");
	local args=frame and ((frame.getParent and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};
	
	local klucz_projektu=args["klucz projektu"];
	local kod_jezyka=args["kod języka"];
	local kod_projektu=args["kod projektu"];
	
	if(not klucz_projektu and not kod_jezyka and not kod_projektu)then return "tak";end;
	
	local wiki_modul=require("Module:Wiki");
	local parametry_modul=require("Module:Parametry");
	local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
	if(not kod_jezyka and not kod_projektu)then return true;end;
	local pudelko_modul=require("Module:Pudełko");
	local kod_jezyka_pl=pudelko_modul["Kod języka tego projektu"]();
	local kod_projektu_lokalne=pudelko_modul["Kod projektu tego projektu"]();
	if((kod_jezyka==kod_jezyka_pl)and(kod_projektu==kod_projektu_lokalne))then
		return "tak";
	end;
	return;
end;
p["KodProjektuAngielskichProjektówSiostrzanych"]=function()
  local przestrzenie_alternatywne={["wikipedia"]="w",["wikibooks"]="b",["wiktionary"]="wikt",["wikiquote"]="q",["wikisource"]="s",["wikivoyage"]="voy",["wikinews"]="n",["wikiversity"]="v",["commons"]="commons",["wikispecies"]="wikispecies",["wikidata"]="d",["mediawikiwiki"]="mw",["meta"]="m",["wikimania"]="wikimania",};
  return przestrzenie_alternatywne;
end;
p["TwórzTablicęKodówProjektów"]=function()
	local tabprojekt=mw.site.interwikiMap();
	for kod,element in pairs(tabprojekt)do
		if(mw.language.isKnownLanguageTag(kod))then
			tabprojekt[kod]=nil;
		else
			tabprojekt[kod]=element.url;
		end;
	end;
	return tabprojekt;
end;
p["TwórzTablicęPozaJęzykowychProjektówSiostrzanych"]=function(frame)
	local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
	local interwikimap=wiki_interwiki_modul.interwikimap;
    local interwiki2=wiki_interwiki_modul.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1;
	local tabelka={};
	for kod,element in pairs(interwikimap)do
		if(not interwiki2[kod])then
			tabelka[kod]=element;
		end;
	end;
	return tabelka;
end;
p["TwórzTablicęProjektówPozaWikidane"]=function()
	local interwikimap=mw.loadData("Module:Wiki/interwiki").interwikimap;
	local parametry_modul=require("Module:Parametry");
	interwikimap=parametry_modul["KopiujTabelęElementów"](interwikimap);
	local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
	local kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1=wiki_interwiki_modul.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1;
	for kod2,_ in pairs(kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1)do
		interwikimap[kod2]=nil;
	end;
	local kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2=wiki_interwiki_modul.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2;
	for kod3,_ in pairs(kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2)do
		interwikimap[kod3]=nil;
	end;
	return interwikimap;
end;
p["TwórzTablicęLokalnychJęzykowychProjektówSiostrzanych"]=function()
	local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
	local parametry_modul=require("Module:Parametry");
	local tablokalnejezykowesiostrzane={};
	for kod,_ in pairs(wiki_interwiki_modul.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1)do
		tablokalnejezykowesiostrzane[kod]=true;
	end;
	return tablokalnejezykowesiostrzane;
end;
p["TwórzTablicęLokalnychProjektówSiostrzanych"]=function()
	local wiki_interwiki_modul=require("Module:Wiki/interwiki");
	local tabela1=wiki_interwiki_modul.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1;
	local tabela2=wiki_interwiki_modul.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2;
	local parametry_modul=require("Module:Parametry");
	local tabela={};
	for name,_ in pairs(tabela1)do
		tabela[name]=true;
	end;
	for name,_ in pairs(tabela2)do
		tabela[name]=true;
	end;
	return tabela;
end;
return p;