Przejdź do zawartości

Moduł:Linki

Z Wikibooks, biblioteki wolnych podręczników.
 Dokumentacja modułu [stwórz] [odśwież]
local p={};
p["PrzetłumaczZnakZastępczyNaStronę"]=function(nazwa_przestrzeni_nazw,nazwa_strony,kod_jezyka,kod_projektu,hash)
	local czy_pusta_nazwa_przestrzeni_nazw=mw.ustring.match(nazwa_przestrzeni_nazw,"^([%s_]*)$");
	local czy_pusta_nazwa_strony=mw.ustring.match(nazwa_strony,"^([%s_]*)#.*$") or mw.ustring.match(nazwa_strony,"^([%s_]*)$");
	if(not czy_pusta_nazwa_przestrzeni_nazw and czy_pusta_nazwa_strony)then
	     local tabglownestronyprojektu=mw.loadData("Module:Nazwy/przestrzenie").tabnp;
	     local parametry_modul=require("Module:Parametry");
	     nazwa_przestrzeni_nazw=parametry_modul["Odstępy"](nazwa_przestrzeni_nazw);
	     local wiki_modul=require("Module:Wiki");
	     local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
	     if(not czy_biezaca)then
	        local nazwy_modul=require("Module:Nazwy");
	        local wiki_modul=require("Module:Wiki");
	        local nazwa_kanoniczna_nazwy_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,kanoniczna="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
	        local nazwa_bazowa_strony=tabglownestronyprojektu[nazwa_kanoniczna_nazwy_przestrzeni_nazw];
	        if(nazwa_bazowa_strony)then
	        	local nazwa_strony_na_innym_projekcie=wiki_modul.WikidaneOdpowiednikStrony{
		 				["nazwa strony"]=nazwa_bazowa_strony,
		 	    		["kod języka"]=kod_jezyka,
		 	    		["kod projektu"]=kod_projektu,
		 	    		["kod języka bazy"]="pl",
		 	    		["kod projektu bazy"]=(nazwa_kanoniczna_nazwy_przestrzeni_nazw~="Project")and "w" or "b",
					}
			    if(nazwa_strony_na_innym_projekcie)then
			    	return nazwa_strony_na_innym_projekcie,false;
			    end;
			end;
	     else
	        local nazwy_modul=require("Module:Nazwy");
	     	if(hash)then
				local nazwy_modul=require("Module:Nazwy");
				local prze_bierzacej_strony=nazwy_modul["NAZWAPRZESTRZENI"]();
				local nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,};
				if(nazwa_przestrzeni_nazw==prze_bierzacej_strony)then
					return nazwy_modul["PEŁNANAZWASTRONY"](),true;
				end;
		    end;
	     	local nazwy_modul=require("Module:Nazwy");
		    local nazwa_kanoniczna_nazwy_przestrzeni_nazw=nazwy_modul.Np{["nazwa"]=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak"}
		    local nazwa_strony_glownych_stron_projektu=tabglownestronyprojektu[nazwa_kanoniczna_nazwy_przestrzeni_nazw];
	     	if(nazwa_strony_glownych_stron_projektu)then
	     		return nazwa_strony_glownych_stron_projektu,false;
	     	end;
	     end;   
	elseif czy_pusta_nazwa_przestrzeni_nazw and czy_pusta_nazwa_strony then
	    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)and(hash))then
				local nazwy_modul=require("Module:Nazwy");
				return nazwy_modul["PEŁNANAZWASTRONY"](),true;
		end;
	    local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
	    local tablokalnesiostrzane=wiki_interwiki_modul.tablica_lokalne_siostrzane;
		if(tablokalnesiostrzane[kod_projektu])then
		    local wiki_modul=require("Module:Wiki");
		    local pudelko_modul=require("Module:Pudełko");
		    local strona_glowna_tego_projektu=pudelko_modul["Strona główna tego projektu"]();
		    if(not czy_biezaca)then
				local nazwa_strony_glownej_na_innym_projekcie=wiki_modul.WikidaneOdpowiednikStrony{
		 			["nazwa strony"]=strona_glowna_tego_projektu,
		 			["kod języka"]=kod_jezyka,
		 			["kod projektu"]=kod_projektu,
				}
				if(nazwa_strony_glownej_na_innym_projekcie)then
					return nazwa_strony_glownej_na_innym_projekcie,false;
				end;
			else
				return strona_glowna_tego_projektu,false;
			end;
		end;
	end;
	return  ((nazwa_przestrzeni_nazw~="")and (nazwa_przestrzeni_nazw..":") or "")..nazwa_strony,false;
end;
p["PoprawLinki"]=function(frame)	
	local parametry_modul=require("Module:Parametry");
	local PobierzParametr=parametry_modul.PobierzParametr(frame);
	local argument_pierwszy,_=PobierzParametr();
	local html_modul=require("Module:Html");
	local function pojedynczy_link(link)
  		local strona=mw.ustring.match(link,"^%[%[:?([^%[%]|]*)");
  		local nazwa=mw.ustring.match(link,"^%[%[[^|]*|([^%[%]]*)%]%]$") or strona;
    	link=p.TworzenieWikiLinku(nil,nil,nil,strona,nil,nazwa,nil,nil,false,nil);
    	return link;
	end;
	return mw.ustring.gsub(argument_pierwszy,"(%[%[[^%[%]]*%]%])",function(s)return pojedynczy_link(s);end);
end;
p["WydobądźLinki"]=function(frame)
	local parametry_modul=require("Module:Parametry");
	local PobierzParametr=parametry_modul.PobierzParametr(frame);
	local wartosc,_=PobierzParametr();
	local specjalne_modul=require("Module:Specjalne");
	wartosc=specjalne_modul["UsuńKomentarze"](wartosc);
	wartosc=specjalne_modul["UsuńSzablonyStylów"](wartosc);
	wartosc=specjalne_modul["UsuńZnaczniki"](wartosc);
	wartosc=specjalne_modul["UsuńKategorie"](wartosc);
	wartosc=specjalne_modul["UsuńWywołaniaPlików"](wartosc);
	wartosc=specjalne_modul["UsuńInterwiki"](wartosc);
	local linki_modul=require("Module:Linki");
	wartosc=linki_modul["PoprawLinki"](wartosc);
	return wartosc;
end;
function p.TworzenieWikiLinku(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow)
	if(not czy_url)then
		local parametry_modul=require("Module:Parametry");
		local czy_klucz_projektu_do_projektu_linku=parametry_modul.CzyTak(klucz_projektu_do_projektu_linku);
		local czy_kod_jezyka_do_projektu_linku=parametry_modul.CzyTak(kod_jezyka_do_projektu_linku);
		local czy_kod_projektu_do_projektu_linku=parametry_modul.CzyTak(kod_projektu_do_projektu_linku);
		local czy_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
		local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
		local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
		local czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
		local czy_po=parametry_modul.CzyTak(po);
      
		if(not czy_naglowek_strony)then
   	    	if(czy_nazwa_strony_linku)then
   	    		local html_modul=require("Module:Html");
   	            local strona_zmienna_tymczasowa=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true)
   	            local naglowek_zmienna_tymczasowa=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true);
				if(strona_zmienna_tymczasowa and naglowek_zmienna_tymczasowa)then
					nazwa_strony_linku=strona_zmienna_tymczasowa;
					naglowek_strony_zmienna_tymczasowa=parametry_modul["Odstępy"]{[1]=naglowek_zmienna_tymczasowa,[2]="tak",[3]="tak",};
					if(parametry_modul.CzyTak(naglowek_zmienna_tymczasowa))then
						naglowek_strony=naglowek_zmienna_tymczasowa;
						czy_naglowek_strony=true;
					end;
				end;
			end;
		else
			naglowek_strony=parametry_modul["Odstępy"]{[1]=naglowek_strony,[2]="tak",[3]="tak",};
			if(not parametry_modul.CzyTak(naglowek_strony))then
				czy_naglowek_strony=false;
				naglowek_strony=nil;
			end;
		end;
   ---
   	    local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
   	    local interwikimap=wiki_interwiki_modul.interwikimap;
		local interwikisiostrzaneangielskie=wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie;

    	local wiki_modul=require("Module:Wiki");
    	local kod_jezyka_uzyskany_poczatkowy,kod_projektu_uzyskany_poczatkowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);

    	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(not kod_jezyka_uzyskany_poczatkowy or not kod_projektu_uzyskany_poczatkowy)then
    		kod_jezyka_uzyskany_poczatkowy=kod_jezyka_uzyskany_poczatkowy or kod_jezyka_tego_projektu;
    		kod_projektu_uzyskany_poczatkowy=kod_projektu_uzyskany_poczatkowy or kod_projektu_tego_projektu;
    	end;
    
    	local czy_pelna_nazwa_strony_prawidlowa=parametry_modul["CzyTakCiąg"](nazwa_strony_linku) and not mw.ustring.match(nazwa_strony_linku,"^[%s_:]+$") or nil;
    	
    	local tablica_kodow={};
    	local kod_jezyka_koncowy;local kod_projektu_koncowy;
    	
---------------------------------------------------------------------
    	kod_jezyka_koncowy=kod_jezyka_uzyskany_poczatkowy;
    	kod_projektu_koncowy=kod_projektu_uzyskany_poczatkowy;
---------------------------------------------------------------------

    	local kod_jezyka_poczatkowy,kod_projektu_poczatkowy;
    	if(czy_pelna_nazwa_strony_prawidlowa)then
    		nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy,kod_jezyka_poczatkowy,kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy,bez_przetwarzania_kodow and tablica_kodow or nil);
        	czy_pelna_nazwa_strony_prawidlowa=parametry_modul["CzyTakCiąg"](nazwa_strony_linku) and not mw.ustring.match(nazwa_strony_linku,"^[%s_:]+$") or nil;
    	end;
	----
    	if(not nazwa)then
    		local html_modul=require("Module:Html");
    		nazwa=nazwa_strony_linku..(czy_naglowek_strony and ("#"..naglowek_strony) or "");
    		nazwa,_=mw.ustring.gsub(nazwa,"[%s_]+"," ");
    		czy_nazwa=parametry_modul.CzyTak(nazwa);
	    end
       
	    local ciag_tablica_kodow="";
	    
	   	if(bez_przetwarzania_kodow)then 
        	if(kod_jezyka_poczatkowy)then
        		if((kod_jezyka_uzyskany_poczatkowy==kod_jezyka_tego_projektu)and(kod_projektu_uzyskany_poczatkowy==kod_projektu_tego_projektu))then
        			kod_jezyka_uzyskany_poczatkowy=kod_jezyka_poczatkowy;
        		else
        			ciag_tablica_kodow=kod_jezyka_poczatkowy;
        		end;
        	elseif(kod_projektu_poczatkowy)then
        		if((kod_jezyka_uzyskany_poczatkowy==kod_jezyka_tego_projektu)and(kod_projektu_uzyskany_poczatkowy==kod_projektu_tego_projektu))then
        			kod_projektu_uzyskany_poczatkowy=kod_projektu_poczatkowy;
        		else
        			ciag_tablica_kodow=kod_projektu_poczatkowy;
        		end;
        	end;
        	
	    	local ciag_tablica_kodow_zmienna_tymczasowa=table.concat(tablica_kodow,":");
        	ciag_tablica_kodow=ciag_tablica_kodow..(((ciag_tablica_kodow~="")and(ciag_tablica_kodow_zmienna_tymczasowa~=""))and ":" or "")..ciag_tablica_kodow_zmienna_tymczasowa;
        else
        	kod_jezyka_uzyskany_poczatkowy=kod_jezyka_koncowy;
        	kod_projektu_uzyskany_poczatkowy=kod_projektu_koncowy;
        end;
        
        	
    	local nazwy_modul=require("Module:Nazwy");
    	local czy_dyskusja=parametry_modul.CzyTak(dyskusja);
    	
    	local pierwsza_litera=((czy_pelna_nazwa_strony_prawidlowa)and(not dyskusja)) and mw.ustring.match(nazwa_strony_linku,"^(%a)") or nil;
    	local nazwaprzestrzeni=czy_pelna_nazwa_strony_prawidlowa and ((not czy_dyskusja)and nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy}
    	                                                       or nazwy_modul["PRZESTRZEŃDYSKUSJI"]{[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,}) or "";
    	local nazwastrony=czy_pelna_nazwa_strony_prawidlowa and nazwy_modul["NAZWASTRONY"]{[1]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,} or "";
    
    	local linki_modul=require("Module:Linki");
    	local strona_inna_zmienna_tymczasowa,czy_strona_lokalna=linki_modul["PrzetłumaczZnakZastępczyNaStronę"](nazwaprzestrzeni,nazwastrony,kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
        
        strona_inna_zmienna_tymczasowa=strona_inna_zmienna_tymczasowa or nazwa_strony_linku;
        
    	local function NazwaStronyDyskusji(strona)
        	if(czy_dyskusja and czy_pelna_nazwa_strony_prawidlowa)then
        		return nazwy_modul["NAZWASTRONYDYSKUSJI"]{[1]=strona,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
        	end;
        	return strona;
    	end;
    	local strona_zmienna_tymczasowa=NazwaStronyDyskusji(strona_inna_zmienna_tymczasowa);
    	nazwa_strony_linku=((not czy_strona_lokalna or ((czy_dyskusja)and(nazwy_modul["NAZWAPRZESTRZENI"]{[1]=strona_inna_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,}~=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=strona_zmienna_tymczasowa,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,})))and strona_zmienna_tymczasowa or "");
    
    	nazwa_strony_linku=pierwsza_litera and mw.ustring.gsub(nazwa_strony_linku,"^["..mw.getContentLanguage():ucfirst(pierwsza_litera)..mw.getContentLanguage():lcfirst(pierwsza_litera).."]",pierwsza_litera) or nazwa_strony_linku;
    	czy_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
    
        local function BiezacaWikiDwukropek()
    		local czy_biezace_wiki=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
    		local czy_wstawiac_dwukropek;
    		if(czy_biezace_wiki)then
    			local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
    			if((nazwaprzestrzeni==nazwy_np_modul.Category)or(nazwaprzestrzeni==nazwy_np_modul.File))then
    				czy_wstawiac_dwukropek=true;
    			end;
    		end;
    		return czy_wstawiac_dwukropek;
    	end;
    	local pudelko_modul=require("Module:Pudełko");
    
    	local jezykowe_projekty=wiki_interwiki_modul.tablica_lokalne_lingwistyczne_siostrzane;
    	local projekty_nie_en=jezykowe_projekty[kod_projektu_uzyskany_poczatkowy];
    
    	local czy_kod_jezyka_uzyskany_poczatkowy=(kod_jezyka_uzyskany_poczatkowy~=kod_jezyka_tego_projektu);
    	local czy_kod_projektu_uzyskany_poczatkowy=(kod_projektu_uzyskany_poczatkowy~=kod_projektu_tego_projektu);
    	local html_modul=require("Module:Html");
    	local function AdresLinku()
    		local kody_poczatkowe=(not projekty_nie_en and (czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "") or(czy_kod_jezyka_uzyskany_poczatkowy and kod_jezyka_uzyskany_poczatkowy..":"..(czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "") or (czy_kod_projektu_uzyskany_poczatkowy and kod_projektu_uzyskany_poczatkowy..":" or "")));
    		local tablica_kodow=kody_poczatkowe..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "");
    		
			local czy_wstawiac_dwukropek=((tablica_kodow~="")and (projekty_nie_en and (czy_kod_jezyka_uzyskany_poczatkowy and ":" or "") or "") or (BiezacaWikiDwukropek() and ":" or ""));
            naglowek_strony=html_modul.DecodeHtml(naglowek_strony,true);
            
			local zmienna_linkowa=tablica_kodow..(czy_nazwa_strony_linku and html_modul.ZnakiSpecjalneWikiLinku(html_modul.DecodeHtml(nazwa_strony_linku,true) or "") or "") 
    	                            ..(czy_parametry_strony and "?"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeParametryHtml(parametry_strony)) or "")
    	                             ..(czy_naglowek_strony and "#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony,false,true)) or "");
    		return zmienna_linkowa, czy_wstawiac_dwukropek;
		end;
		nazwa=nazwa and mw.ustring.gsub(nazwa,"^[%s_]*","") or nil;
		nazwa=nazwa and mw.ustring.gsub(nazwa,"[%s_]*$","") or nil;
		--nazwa=nazwa and mw.ustring.gsub(nazwa,"[%s_]+"," ") or nil;
		if(czy_ogolne and not czy_nazwa)then
   			if(parametry_modul.CzyTak(wyswietl))then
   				nazwa=strona_zmienna_tymczasowa;
   				czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
   			else
   				if((czy_pelna_nazwa_strony_prawidlowa)and(nazwastrony~=""))then
   					nazwa=nazwastrony;
   				else
   					nazwa=nazwy_modul["NAZWASTRONY"]{[1]=strona_zmienna_tymczasowa,["kod języka"]=kod_jezyka_uzyskany_poczatkowy,["kod projektu"]=kod_projektu_uzyskany_poczatkowy,};
   				end;
   				czy_nazwa=parametry_modul["CzyTakCiąg"](nazwa);
   			end
		end;
		local zmienna_linkowa;
		local aktywny;
		if(not czy_wewnetrzny_z_fullurl)then
			local czy_wstawiac_dwukropek;
			zmienna_linkowa,czy_wstawiac_dwukropek=AdresLinku();
			zmienna_linkowa,_=mw.ustring.gsub(zmienna_linkowa,"[%s_]+"," ");
			local czy_za=parametry_modul.CzyTak(za);
			
			if(czy_za or(nazwa and (nazwa~=zmienna_linkowa)))then
   				zmienna_linkowa="[["..czy_wstawiac_dwukropek..zmienna_linkowa..(czy_nazwa and "|"..nazwa..(czy_za and za or "") or (czy_za and ("|"..zmienna_linkowa..za) or "")).."]]"..(czy_po and po or "");
			else
   				zmienna_linkowa="[["..czy_wstawiac_dwukropek..zmienna_linkowa.."]]"..(czy_po and po or "");
			end
			aktywny=false;
		else
			aktywny=true;
			local serwer;
			local projekt;
			if(projekty_nie_en)then
				for kod_specjalny_projektu,kod_projektu_interwiki in pairs(wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie)do
					if(kod_projektu_uzyskany_poczatkowy==kod_projektu_interwiki)then
						projekt=kod_specjalny_projektu;
					end;
				end;
			end;
			local function Protocol(kod_projektu)
				local interwikimap=wiki_interwiki_modul.interwikimap;
				local url=interwikimap[kod_projektu];
				if(not url)then return "";end;
				return mw.ustring.match(url,"^([^/]*)//");
			end;
			local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
			local nazwy_np_modul=require("Module:Nazwy/Np");
			local nazwy_modul=require("Module:Nazwy");
			
			local czy_specjalna=(nazwaprzestrzeni==nazwy_np_modul.Special);
			ciag_tablica_kodow_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"[%s_]+","_");
			if(((projekt)and(czy_parametry_strony)and(czy_specjalna))or((projekt)and(wersja_linku=="w")))then
				local adres=Protocol(kod_projektu_uzyskany_poczatkowy).."//"..kod_jezyka_uzyskany_poczatkowy.."."..projekt..".org/w/index.php?title="..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and "&"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
				
				zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za)and (" "..adres..za) or "")).."]"..(czy_po and po or "");
			elseif(((not projekty_nie_en)and(czy_parametry_strony)and(czy_specjalna))or((not projekty_nie_en)and(wersja_linku=="w")))then
				local techniczne_modul=require("Module:Techniczne");
				local wiki_nie_jezykowe=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane[kod_projektu_uzyskany_poczatkowy];
    			local serwer=mw.ustring.match(wiki_nie_jezykowe,"^([^/]*//[^/]*)")
    			local adres=serwer.."/w/index.php?title="..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and "&"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
    			
				zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za)and (" "..adres..za) or "")).."]"..(czy_po and po or "");
			elseif(((projekt)and(czy_parametry_strony))or((projekt)and(wersja_linku=="wiki")))then
				local strona_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"[_%s]+","_");
				local adres=Protocol(kod_projektu_uzyskany_poczatkowy).."//"..kod_jezyka_uzyskany_poczatkowy.."."..projekt..".org/wiki/"..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..html_modul.EncodeHtml(strona_zmienna_tymczasowa)..(czy_parametry_strony and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
				
				zmienna_linkowa="["..adres..(czy_nazwa and " "..nazwa..(parametry_modul.CzyTak(za) and za or "") or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
			elseif(((not projekty_nie_en)and(czy_parametry_strony))or((not projekty_nie_en)and(wersja_linku=="wiki")))then
				local wiki_nie_jezykowe=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane[kod_projektu_uzyskany_poczatkowy];
	            local strona_zmienna_tymczasowa,_=mw.ustring.gsub(ciag_tablica_kodow_zmienna_tymczasowa,"[_%s]+","_");
	            strona_zmienna_tymczasowa=((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..strona_zmienna_tymczasowa;
	            strona_zmienna_tymczasowa=html_modul.EncodeHtml(strona_zmienna_tymczasowa);
	            strona_zmienna_tymczasowa,_=mw.ustring.gsub(strona_zmienna_tymczasowa,"([%%])(%d+)","%%%%%2");
	            strona_zmienna_tymczasowa,_=mw.ustring.gsub(wiki_nie_jezykowe,"$1",strona_zmienna_tymczasowa);
	            
	            local adres=strona_zmienna_tymczasowa..(czy_parametry_strony and "?"..html_modul.EncodeParametryHtml(parametry_strony) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
	            
				zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
			else
				local pudelko_modul=require("Module:Pudełko");
		    	zmienna_linkowa=(parametry_modul.CzyTak(klucz_projektu)and ((not(klucz_projektu==pudelko_modul["Klucz projektu tego projektu"]()))and (klucz_projektu..":")or "" )
    			or ((parametry_modul.CzyTak(kod_jezyka_uzyskany_poczatkowy)and ((not(kod_jezyka_uzyskany_poczatkowy==pudelko_modul["Kod języka tego projektu"]()))and(kod_jezyka_uzyskany_poczatkowy..":")or "") or "")..(parametry_modul.CzyTak(kod_projektu_uzyskany_poczatkowy)and ((not(kod_projektu_uzyskany_poczatkowy==pudelko_modul["Kod projektu tego projektu"]()))and(kod_projektu_uzyskany_poczatkowy..":")or "") or "")))
    		..((ciag_tablica_kodow~="")and (ciag_tablica_kodow..":") or "")..strona_zmienna_tymczasowa;
    		    local strona=(czy_parametry_strony and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(czy_naglowek_strony and ("#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony))) or "");
    		    local adres=tostring(mw.uri.fullUrl(zmienna_linkowa))..strona;
    		    
        		zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
        	end;
		end;
		return zmienna_linkowa,kod_jezyka_koncowy,kod_projektu_koncowy,strona_zmienna_tymczasowa,czy_naglowek_strony,aktywny;
	else
		local parametry_modul=require("Module:Parametry");
		local html_modul=require("Module:Html");
		local czy_nazwa;
		if(not nazwa)then
    		nazwa=mw.ustring.match(nazwa_strony_linku,"//[^/]*/(.*)$");
    		nazwa=html_modul.DecodeHtml(nazwa);
    		czy_nazwa=parametry_modul.CzyTak(nazwa);
    	else
    		czy_nazwa=parametry_modul.CzyTak(nazwa);
	    end;
		local czy_po=parametry_modul.CzyTak(po);
		local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
		local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
		nazwa_strony_linku,_=mw.ustring.gsub(nazwa_strony_linku,"[%s_]+","_");
		nazwa_strony_linku,_=mw.ustring.gsub(nazwa_strony_linku,"//([^/]*)/(.*)$", function(s1,s2)return "//"..s1.."/"..html_modul.EncodeHtml(s2);end)
		
		local adres=nazwa_strony_linku..(czy_parametry_strony and "?"..html_modul.EncodeParametryHtml(parametry_strony) or "")
		                                ..(czy_naglowek_strony and "#"..html_modul.ZnakiSpecjalneWikiLinku(html_modul.EncodeHtml(naglowek_strony)) or "");
		                                
		local zmienna_linkowa="["..adres..(czy_nazwa and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or "")).."]"..(czy_po and po or "");
		return zmienna_linkowa,nil,nil,nazwa_strony_linku,czy_naglowek_strony,aktywny;
	end;
end;
function p.TworzLinkBezPrzetwarzania(klucz_projektu,kod_jezyka,kod_projektu,strona,naglowek,nazwa,za,po)
	local parametry_modul=require("Module:Parametry");
	local adres=(parametry_modul.CzyTak(klucz_projektu)and (klucz_projektu..":") 
    			or ((parametry_modul.CzyTak(kod_jezyka)and (kod_jezyka..":") or "")..(parametry_modul.CzyTak(kod_projektu)and (kod_projektu..":") or "")))
    		..strona..(parametry_modul.CzyTak(naglowek) and ("#"..naglowek) or "");
	local wartosc="[[:"..adres..(parametry_modul.CzyTak(nazwa) and ("|"..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and ("|"..adres..za) or "")).."]]"..(po and po or "");
    return wartosc;
end;
function p.LinkWikidane(link,klucz_projektu,kod_jezyka,kod_projektu,strona,czy_naglowek,czy_url,czy_parametry,aktywny)
	local wiki_modul=require("Module:Wiki");
	local klasa=wiki_modul.KodyKlasStronyNaDanejWiki{["klucz projektu"]=klucz_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["strona"]=strona,["nagłówek"]=czy_naglowek,["url"]=czy_url,["parametry"]=czy_parametry,["aktywny"]=aktywny,};
	local nazwy_modul=require("Module:Nazwy");
	
	local spanramka=mw.html.create('span');
    spanramka:addClass(klasa);
    spanramka:addClass("link");
    spanramka:wikitext(link);
    
    return tostring(spanramka:allDone());
end;
function p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow,bez_znacznikow)
	local parametry_modul=require("Module:Parametry");
	parametry_strony=czy_wewnetrzny_z_fullurl and parametry_strony or nil;
	local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
	local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
    
    local html_modul=require("Module:Html");
	nazwa_strony_linku=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_strony_linku);
    local wartosc_parent,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,czy_naglowek_strony,aktywny=p.TworzenieWikiLinku(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,czy_ogolne,wyswietl,dyskusja,bez_przetwarzania_kodow);

	if(parametry_modul.CzyTak(bez_znacznikow))then return wartosc_parent;end;
	
	return p.LinkWikidane(wartosc_parent,nil,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,czy_naglowek_strony,czy_url,czy_parametry_strony,aktywny);
end;
function p.RozwinKreskaPoziomowa(miano_przestrzeni_nazw,nazwa_strony_linku,naglowek,czy_link_url,dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,__FUNKCJA)
	local nowa_nazwa_strony_linku;
	local czy_kreska_dolna;local hash;local prze_nie_main;
	local czy_strona_lokalna;
	if(not czy_analiza)then
		czy_kreska_dolna=mw.ustring.match(nazwa_strony_linku,"^[%s_]*$");
		hash=(not czy_kreska_dolna)and ((not czy_link_url) and mw.ustring.match(nazwa_strony_linku,"^[_%s]*#(.*)$") or nil) or (((czy_kreska_dolna)and(czy_link_url) and require("Module:Parametry").CzyTak(naglowek)) and naglowek or nil);
		if((czy_kreska_dolna)or(hash))then
			local wiki_modul=require("Module:Wiki");
			local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
			nowa_nazwa_strony_linku,czy_strona_lokalna=p["PrzetłumaczZnakZastępczyNaStronę"](miano_przestrzeni_nazw or "","",kod_jezyka,kod_projektu,hash);
		else
			prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
			nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
		end;
	else
		prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
		nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
	end;
	nowa_nazwa_strony_linku=__FUNKCJA(nowa_nazwa_strony_linku,dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main);
	return nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna;
end;
p["GanerujSkładoweURL"] = function(args)
	local klucz_projektu_do_projektu_linku;
	local kod_jezyka_do_projektu_linku;
    local kod_projektu_do_projektu_linku;
    local miano_przestrzeni_nazw;
    local nazwa_strony_linku=args["strona"] or "_";
    local html_modul=require("Module:Html");
    nazwa_strony_linku=nazwa_strony_linku and html_modul.DecodeHtml(nazwa_strony_linku) or nil;
    local parametry_modul=require("Module:Parametry");
    local wersja_linku=parametry_modul.CzyTak(args["wersja linku"]) and ((args["wersja linku"]=="wiki")and "wiki" or "w") or "";
    local _;
    local czy_url=html_modul["SprawdźURL"](nazwa_strony_linku);
    local parametry_strony;local naglowek_strony;local nazwa;local po;local po;local za;
    
    nazwa=args["nazwa"];
    
    local function DaneStrony(nazwa_strony_linku_parametr,adres)
    	if(parametry_modul.CzyTak(nazwa_strony_linku_parametr))then
	        if(mw.ustring.match(nazwa_strony_linku_parametr,"^/wiki/"))then
    			nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/wiki/","");
    		
	    		local html_modul=require("Module:Html");
    			naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true);
    			parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true);
    			nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true);
	    	elseif(mw.ustring.match(nazwa_strony_linku_parametr,"^/w/"))then
    			nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/w/","");
    		
    			local html_modul=require("Module:Html");
    			naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true);
	    		parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true);
    			nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true);
    		
    			local nazwa_strony_jednostki,parametry_strony_jednostki=html_modul["NazwaStronyZParametrówStronyAdresu"](parametry_strony,true);
	    		parametry_strony=parametry_strony_jednostki or parametry_strony;
    			nazwa_strony_linku_parametr=nazwa_strony_jednostki or nazwa_strony_linku_parametr;
	    	else
    			nazwa_strony_linku_parametr,_=mw.ustring.gsub(nazwa_strony_linku_parametr,"^/(.*)$","%1");
    			local html_modul=require("Module:Html");
    			naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku_parametr,true);
    			parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku_parametr,true);
    			nazwa_strony_linku_parametr=html_modul["NazwaStronyAdresu"](nazwa_strony_linku_parametr,true);
    		end;
    	else
    		if((parametry_modul.CzyTak(kod_jezyka_do_projektu_linku))or(parametry_modul.CzyTak(kod_projektu_do_projektu_linku)))then
    			if((not adres)or(mw.ustring.match(adres,"/$1$")))then
    				local pudelko_modul=require("Module:Pudełko");
    				nazwa_strony_linku_parametr=pudelko_modul["Nazwa strony głównej projektu 2"]{[1]=kod_jezyka_do_projektu_linku,[2]=kod_projektu_do_projektu_linku,} or "";
    			end;
    		end;
    	end;
    	parametry_strony=parametry_modul.CzyTak(parametry_strony) and parametry_strony or args["parametry"];
    	naglowek_strony=parametry_modul.CzyTak(naglowek_strony) and naglowek_strony or args["nagłówek"];
    	nazwa=args["nazwa"];
    	klucz_projektu_do_projektu_linku=parametry_modul.CzyTak(args["klucz projektu"]) and args["klucz projektu"] or klucz_projektu_do_projektu_linku;
		kod_jezyka_do_projektu_linku=parametry_modul.CzyTak(args["kod języka"]) and args["kod języka"] or kod_jezyka_do_projektu_linku;
    	kod_projektu_do_projektu_linku=parametry_modul.CzyTak(args["kod projektu"]) and args["kod projektu"] or kod_projektu_do_projektu_linku;
        po=args["po"];
        za=args["za"];
    	nazwa_strony_linku=nazwa_strony_linku_parametr;
    	czy_url=false;
    end;
    if(not czy_url)then
    	local miano_przestrzeni_nazw=args["miano przestrzeni nazw"] or args["przestrzeń"];
    	nazwa_strony_linku=parametry_modul["CzyTakCiąg"](miano_przestrzeni_nazw) and miano_przestrzeni_nazw..":"..nazwa_strony_linku or nazwa_strony_linku;
        DaneStrony(nazwa_strony_linku);
    else
    	local html_modul=require("Module:Html");
    	local nazwa_strony_bez_protokolu=html_modul["UrlBezProtokołu"](nazwa_strony_linku);
    	local serwer,nazwa_strony=html_modul["URLStrona"](nazwa_strony_bez_protokolu);
    	local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
    	local function SerwerWiki(serwer)
    		local kod_jezyka_zmienna_tymczasowa,kod_specjalny_projektu=mw.ustring.match(serwer,"^(%w+)%.(%w+)%.org");
    		local interwikisiostrzaneangielskie=wiki_interwiki_modul.tablica_interwiki_siostrzane_angielskie;
    		local kod_projektu=interwikisiostrzaneangielskie[kod_specjalny_projektu];
    		local kod_jezyka=kod_jezyka_zmienna_tymczasowa and (mw.language.isKnownLanguageTag(kod_jezyka_zmienna_tymczasowa) and kod_jezyka_zmienna_tymczasowa or nil) or nil;
    		return kod_jezyka,kod_projektu;
    	end;
    	local function JezykoweLubAngielskieProjekty(serwer_portalu)
        	local kod_jezyka,kod_projektu=SerwerWiki(serwer_portalu);
        	if(kod_jezyka and kod_projektu)then
    			kod_jezyka_do_projektu_linku=kod_jezyka;
    			kod_projektu_do_projektu_linku=kod_projektu;
    			klucz_projektu_do_projektu_linku=nil;
    			DaneStrony(nazwa_strony);
    			return true;
    		else
    			local pozajezykoweprojektysiostrzane=wiki_interwiki_modul.tablica_poza_lingwistyczne_projekty_siostrzane;
    			local techniczne_modul=require("Module:Techniczne");
    			for kod, url in pairs(pozajezykoweprojektysiostrzane)do
    				local adres=html_modul["UrlBezProtokołu"](url);
    			    local serwer_portalu=mw.ustring.match(adres,"^//+([^/]*)");
    	    		if(serwer_portalu)then
    	    			if(serwer_portalu==serwer)then
    	    				kod_jezyka_do_projektu_linku=kod_jezyka or "en";
    	    				kod_projektu_do_projektu_linku=--[[kod_projektu or]] kod;
    	    				local nazwa_strony_spreparowana=nil;
    	    				if(not mw.ustring.match(adres,"/wiki/%$1$"))then
    	    					if(mw.ustring.match(url,"[:/]$1$"))then
    	    						local url_wzor=techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](adres);
    	    						url_wzor=mw.ustring.gsub(url_wzor,"(%%$1)$","(.-)");
    	    						nazwa_strony_spreparowana=mw.ustring.match(nazwa_strony_bez_protokolu,"^"..url_wzor.."$");
    	    						if(not nazwa_strony_spreparowana)then
    	    							return false;
    	    						end;
    	    					end;
    	    				end;
    	    				DaneStrony(nazwa_strony_spreparowana or nazwa_strony,adres);
    	    				return true;
    	    			end;
    	    		end;
    			end;
        	end;	
		end;
    	local function __FUNKCJA()
    		if(mw.ustring.match(serwer,"^upload%.wikimedia%.org$"))then
    			DaneStrony(nazwa_strony);
    			nazwa_strony=nazwa_strony_linku;
  	 			nazwa_strony_linku="Media:"..mw.ustring.match(nazwa_strony,"([^/]*)$");
  	 		    local kod_projektu_do_projektu_linku2,kod_jezyka_do_projektu_linku2=mw.ustring.match(nazwa_strony,"^([^/]*)/([^/]*)/.*$");
  	 		    kod_jezyka_do_projektu_linku=kod_jezyka_do_projektu_linku or kod_jezyka_do_projektu_linku2;
  	 		    kod_projektu_do_projektu_linku=kod_projektu_do_projektu_linku or kod_projektu_do_projektu_linku2;
  	 			czy_url=false;
  	 		 else
  	 		 	local juz_tak=JezykoweLubAngielskieProjekty(serwer);
  	 		 	if(not juz_tak)then
  	 		 		  local html_modul=require("Module:Html");
    				  
    				  naglowek_strony=html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true);
    				  naglowek_strony=parametry_modul.CzyTak(naglowek_strony) and naglowek_strony or args["nagłówek"];
    				  
    				  parametry_strony=html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true);
    				  parametry_strony=parametry_modul.CzyTak(parametry_strony) and parametry_strony or args["parametry"];
    				  
    				  nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true);
  	 		 	end;
    		 end;
    	end;
        __FUNKCJA();
    end;
    local czy_wewnetrzny_z_fullurl;
    if(not parametry_modul.CzyTak(parametry_strony))then
    	if(wersja_linku=="")then
			if((klucz_projektu_do_projektu_linku)or(kod_jezyka_do_projektu_linku)or(kod_projektu_do_projektu_linku))then
    			czy_wewnetrzny_z_fullurl=false;
    		elseif(not czy_url)then
    			czy_wewnetrzny_z_fullurl=false;
    		else	
    			czy_wewnetrzny_z_fullurl=true;
    		end;
    	else
    		czy_wewnetrzny_z_fullurl=true;
    	end;
    else
    	czy_wewnetrzny_z_fullurl=true;
    end;
    return klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url;
end;
p["Link wewnętrzny"]=function(frame)
	local parametry_modul=require("Module:Parametry");
	local args=parametry_modul.PobierzArgsParametry(frame);
	
	local klucz_projektu_do_projektu_linku=args["klucz projektu"];
	local kod_jezyka_do_projektu_linku=args["kod języka"];
    local kod_projektu_do_projektu_linku=args["kod projektu"];
    local nazwa_strony_linku=args["strona"] or "_";
    local nazwa=args["nazwa"];
    local czy_nazwa=parametry_modul.CzyTak(nazwa);
    nazwa=czy_nazwa and nazwa or nil;
    local po=args["po"];
    local za=args["za"];
    local naglowek_strony=args["nagłówek"];
    local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]);
    local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]);
    local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]);
    
    local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
    local czy_naglowek=parametry_modul.CzyTak(naglowek_strony);
    
    local hash;local czy_kreska_dolna;local prze_nie_main;local czy_strona_lokalna;local nowa_nazwa_strony_linku;
    if(not czy_analiza)then
		nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa("",nazwa_strony_linku,naglowek_strony,czy_naglowek,nil,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,function(nowa_nazwa_strony_linku,dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
				return nowa_nazwa_strony_linku;
		end);
		nazwa=czy_nazwa and nazwa or (hash and ("#"..hash) or nil);
	else
		nowa_nazwa_strony_linku=nazwa_strony_linku;
	end;
    
    
    local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (((not czy_naglowek)and(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$")))or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*#(.*)$")))) or nil);
    
    if(not bez_przetwarzania)then
    	return p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_naglowek and naglowek_strony or hash,nazwa,za,po,nil,nil,nil,nil,nil,nil,nil,bez_przetwarzania_kodow,bez_znacznikow);
    else
    	local link=p.TworzLinkBezPrzetwarzania(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,(not czy_strona_lokalna) and nowa_nazwa_strony_linku or (hash and "" or nowa_nazwa_strony_linku),czy_naglowek and naglowek_strony or hash,nazwa,za,po)
    	if(not bez_znacznikow)then
    		local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
    		return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_naglowek_strony or hash or mw.ustring.match(nazwa_strony_linku,"#"),nil,nil);
    	else
    		return link;
    	end;
    end;
end;
p["LinkURL"]=function(frame)
	local parametry_modul=require("Module:Parametry");
	local args=parametry_modul.PobierzArgsParametry(frame);
    local linki_modul=require("Module:Linki");
    local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"](args);
    
    local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
    local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]);
    local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]);
    local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]);
    
    local czy_naglowek=parametry_modul.CzyTak(naglowek_strony);
    local hash;local czy_kreska_dolna;local prze_nie_main;local czy_strona_lokalna;local nowa_nazwa_strony_linku;
    if((not czy_analiza)and(not czy_url))then
		nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa("",nazwa_strony_linku,naglowek_strony,czy_naglowek,nil,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,function(nowa_nazwa_strony_linku,dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
				return nowa_nazwa_strony_linku;
		end);
		nazwa=parametry_modul.CzyTak(nazwa) and nazwa or (hash and ("#"..hash) or nil);
	else
		nowa_nazwa_strony_linku=nazwa_strony_linku;
	end;
    
    
    local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$"))) or nil);
    
    function Bez_przetwarzania_lub_bez_znaczkow()
    	if(parametry_modul.CzyTak(bez_przetwarzania))then
    		local bez_znacznikow=parametry_modul.CzyTak(bez_znacznikow);
    		local czy_parametry=parametry_modul.CzyTak(parametry_strony);
    		local wartosc=((not czy_url)and((parametry_modul.CzyTak(klucz_projektu_do_projektu_linku)and (klucz_projektu_do_projektu_linku..":") 
    			or ((parametry_modul.CzyTak(kod_jezyka_do_projektu_linku)and (kod_jezyka_do_projektu_linku..":") or "")..(parametry_modul.CzyTak(kod_projektu_do_projektu_linku)and (kod_projektu_do_projektu_linku..":") or "")))..nowa_nazwa_strony_linku) or nil);
    		local link;
    		local po_linku=parametry_modul.CzyTak(po) and po or "";
    		if((not czy_url)and((czy_parametry)or(parametry_modul.CzyTak(wersja_linku))))then
    			local adres=tostring(mw.uri.fullUrl(wartosc,""));
    			adres=((not parametry_modul.CzyTak(wersja_linku))or(wersja_linku=="wiki")) and adres or mw.ustring.gsub(adres,"/wiki/","/w/index.php?title=",1);
    			local html_modul=require("Module:Html");
    			local parametry_i_naglowek=((czy_parametry)and ((((wersja_linku=="w")) and "&" or "?")..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "")
    			adres=adres..parametry_i_naglowek;
    			link= "["..adres..(parametry_modul.CzyTak(nazwa) and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or (" "..nowa_nazwa_strony_linku))).."]"..po_linku;
    		elseif(czy_url)then
    			local html_modul=require("Module:Html");
    			local parametry_i_naglowek=((czy_parametry)and ("?"..html_modul.EncodeParametryHtml(parametry_strony)) or "")..(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "")
    			local adres=nowa_nazwa_strony_linku..parametry_i_naglowek;
    			link= "["..adres..(parametry_modul.CzyTak(nazwa) and (" "..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and (" "..adres..za) or (" "..nowa_nazwa_strony_linku))).."]"..po_linku;
    		else
    			local naglowek=(parametry_modul.CzyTak(naglowek_strony) and ("#"..mw.ustring.gsub(naglowek_strony,"[%s_]+","_")) or "");
    			local adres=wartosc..naglowek;
    			link="[[:"..adres..((parametry_modul.CzyTak(nazwa)) and ("|"..nazwa..(parametry_modul.CzyTak(za) and za or "")) or (parametry_modul.CzyTak(za) and ("|"..adres..za) or "")).."]]"..po_linku;
    		end;
    		if not bez_znacznikow then
    			local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
    			local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
    			return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,czy_naglowek_strony,czy_url,czy_parametry_strony);
    		else
    			return link;
    		end;
    	end;
    end;
    
    local wynik=Bez_przetwarzania_lub_bez_znaczkow();if(wynik)then return wynik;end;
    
    return linki_modul.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url,nil,nil,nil,bez_przetwarzania_kodow,bez_znacznikow);
end;
function p.UzyskajKodWikiLinku(frame)
	local parametry_modul=require("Module:Parametry");
	local args=parametry_modul.PobierzArgsParametry(frame);
    local linki_modul=require("Module:Linki");
    local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"](args);
    
    local wiki_modul=require("Module:Wiki");
    
    local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
    
    local pudelko_modul=require("Module:Pudełko");
    kod_jezyka_koncowy=parametry_modul.CzyTak(kod_jezyka_koncowy) and kod_jezyka_koncowy or pudelko_modul["Kod języka tego projektu"]();
    kod_projektu_koncowy=parametry_modul.CzyTak(kod_projektu_koncowy) and kod_projektu_koncowy or pudelko_modul["Kod projektu tego projektu"]();
    
    local czy_nazwa=parametry_modul.CzyTak(nazwa_strony_linku);
    if(not czy_nazwa or not mw.ustring.match(nazwa_strony_linku,"_+"))then
    	if((not czy_nazwa)and((not kod_jezyka_koncowy)or(kod_jezyka_koncowy==pudelko_modul["Kod języka tego projektu"]()))and((not kod_projektu_koncowy)or(kod_projektu_koncowy==pudelko_modul["Kod projektu tego projektu"]())))then
    		if((parametry_modul.CzyTak(naglowek_strony)) or (not args["strona"] or args["strona"]=="") or ((args["strona"])and(mw.ustring.match(args["strona"],"^[_%s]*#[_%s]*$"))or(nil)))then
    			aktywny=false;
    			local nazwy_modul=require("Module:Nazwy");
				nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]();
    		end;
    	else
    		aktywny=true;
		end;
	else
		aktywny=true;
		local pudelko_modul=require("Module:Pudełko");
		nazwa_strony_linku=pudelko_modul["Strona główna tego projektu"]();
	end;
    
    local nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy);
    
    ---
    local czy_parametry_strony=parametry_modul.CzyTak(parametry_strony);
    local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
    local czy_pusta_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
    
    if(not czy_pusta_nazwa_strony_linku)then
    	local linki_modul=require("Module:Linki");
    	nazwa_strony_linku,_=linki_modul["PrzetłumaczZnakZastępczyNaStronę"]("","",kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
    end;
    ----
	local klasa=wiki_modul.KodyKlasStronyNaDanejWiki{["klucz projektu"]=nil,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["strona"]=nazwa_strony_linku,["nagłówek"]=czy_naglowek_strony,["url"]=czy_url,["parametry"]=czy_parametry_strony,["aktywny"]=aktywny,};
	return klasa;
end;
p["LinkOgólne"]=function(frame)
	local parametry_modul=require("Module:Parametry");
	local args=parametry_modul.PobierzArgsParametry(frame);
	local miano_przestrzeni_nazw=args["miano przestrzeni nazw"] or args["przestrzeń"] or args["m"];
	local czy_dyskusja=parametry_modul.CzyTak(args["dyskusja"] or args["d"]);
	local klucz_projektu_do_projektu_linku=args["klucz projektu"] or args["k"];
	local kod_jezyka_do_projektu_linku=args["kod języka"] or args["kj"];
	local kod_projektu_do_projektu_linku=args["kod projektu"] or args["kp"];
	local bez_znacznikow=parametry_modul.CzyTak(args["bez znaczników"]);
	local wyswietl_miano_przestrzeni_nazw=args["wyświetl miano przestrzeni nazw"] or args["wyświetl"] or args["w"];
	local nazwa_strony_linku=args[1] or "_";
	local czy_nazwa=parametry_modul.CzyTak(args[2]);
	local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
	
	local nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna;
	local czy_niepusta_nazwa_przestrzeni_nazw;
	
	local nazwy_modul=require("Module:Nazwy");
	if(not czy_analiza)then
		miano_przestrzeni_nazw=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or "";
		nowa_nazwa_strony_linku,hash,czy_kreska_dolna,prze_nie_main,czy_strona_lokalna=p.RozwinKreskaPoziomowa(miano_przestrzeni_nazw,nazwa_strony_linku,nil,nil,dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,czy_analiza,function(nowa_nazwa_strony_linku,dyskusja,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,prze_nie_main)
				if(czy_dyskusja)then
					nowa_nazwa_strony_linku=nazwy_modul["NAZWASTRONYDYSKUSJI"]{nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["bez zmiany adresu"]="tak",};
				end;
				return nowa_nazwa_strony_linku;
		end);
	else
		prze_nie_main=((miano_przestrzeni_nazw)and((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw~="(main)"))) and miano_przestrzeni_nazw or nil;
		nowa_nazwa_strony_linku=prze_nie_main and((miano_przestrzeni_nazw..":")..nazwa_strony_linku) or nazwa_strony_linku;
	end;
	
	local czy_biezaca;
	if((czy_dyskusja)or(czy_analiza))then
		local wiki_modul=require("Module:Wiki");
		czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
		local nazwy_modul=require("Module:Nazwy");
		if(czy_biezaca)then
			miano_przestrzeni_nazw=nazwy_modul[((czy_dyskusja)and(czy_analiza)) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"](nowa_nazwa_strony_linku);
		else
			miano_przestrzeni_nazw=nazwy_modul[((czy_dyskusja)and(czy_analiza)) and "PRZESTRZEŃDYSKUSJI" or "NAZWAPRZESTRZENI"]{nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
		end;
		czy_niepusta_nazwa_przestrzeni_nazw=parametry_modul.CzyTak(miano_przestrzeni_nazw);
	elseif(hash or czy_kreska_dolna)then
		czy_niepusta_nazwa_przestrzeni_nazw=true;
	elseif(not prze_nie_main)then
		miano_przestrzeni_nazw="";
		czy_niepusta_nazwa_przestrzeni_nazw=false;
	else
		miano_przestrzeni_nazw=prze_nie_main;
		czy_niepusta_nazwa_przestrzeni_nazw=true;
	end;
	
	local function NazwaLinkuDoStrony()
		if(czy_niepusta_nazwa_przestrzeni_nazw)then
			if(parametry_modul.CzyTak(wyswietl_miano_przestrzeni_nazw))then
				if(not czy_nazwa)then
					if((not czy_kreska_dolna)and(not hash))then
						if(mw.ustring.match(nazwa_strony_linku,"^[%s_:]*$"))then nazwa_strony_linku="Przykładowa nazwa";end;
						----
						local aliases;
						local alias=args["alias miana przestrzeni nazw"] or args["alias"] or args["a"];
						local czy_alias=parametry_modul.CzyTak(alias);
						if(czy_alias)then
							if((not dyskusja)and(not czy_analiza))then
								local wiki_modul=require("Module:Wiki");
								czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
							end;
							if(czy_biezaca)then
								local uchwyt=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,uchwyt="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak"}
								if(uchwyt)then
									aliases=uchwyt.aliases;
									--miano_przestrzeni_nazw=uchwyt.name;
								end;
							else
								local uchwyt=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,uchwyt="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
								if(uchwyt)then
									if(parametry_modul.TypeTable(uchwyt))then
										aliases=uchwyt.aliasy;
										--miano_przestrzeni_nazw=uchwyt[1];
									else
										--miano_przestrzeni_nazw=uchwyt;
										aliases={};
									end;
								end;
							end;
						end;
						----
						if((czy_alias)and(parametry_modul.CzyTak(aliases)))then
							if(parametry_modul["CzySąElementyNumerowaneTablicy"](aliases))then
								alias=mw.getContentLanguage():uc(alias);
                				for _,value in pairs(aliases)do
                					if((mw.getContentLanguage():uc(value))==alias)then
										return alias..":"..nazwa_strony_linku;
	                				end;
    	            			end;
        	        		end;
						end;
    	        		local miano_przestrzeni_nazw_zmienna_tymczasowa;
        	    		if(czy_biezaca)then
							miano_przestrzeni_nazw_zmienna_tymczasowa=nazwy_modul.Np{nazwa=miano_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
						else
							miano_przestrzeni_nazw_zmienna_tymczasowa=nazwy_modul.NpDane{nazwa=miano_przestrzeni_nazw,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",} or miano_przestrzeni_nazw;
            			end;
						if(not miano_przestrzeni_nazw_zmienna_tymczasowa)then return nil;end;
						return ((miano_przestrzeni_nazw_zmienna_tymczasowa~="") and (miano_przestrzeni_nazw_zmienna_tymczasowa..":") or "")..nazwa_strony_linku;
					else
						return hash and("#"..hash) or nowa_nazwa_strony_linku;
					end;
        		end;
			else 
				if(not czy_nazwa)then
					if((not czy_kreska_dolna)and(not hash))then
						return nazwa_strony_linku;
					else
						local nazwy_modul=require("Module:Nazwy");
						return hash and ("#"..hash) or nazwy_modul["NAZWASTRONY"]{nazwa=nowa_nazwa_strony_linku,["klucz projektu"]=klucz_projektu_do_projektu_linku,["kod języka"]=kod_jezyka_do_projektu_linku,["kod projektu"]=kod_projektu_do_projektu_linku,};
					end;
				end;
			end;
		else
			if(not czy_nazwa)then
				if((not czy_kreska_dolna)and(not hash))then
					return nowa_nazwa_strony_linku;
				else
					local nazwy_modul=require("Module:Nazwy");
					return hash and("#"..hash) or nowa_nazwa_strony_linku;
				end;
			end;
		end;
	end;
	
	local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]);
    local bez_przetwarzania_kodow=parametry_modul.CzyTak(args["bez przetwarzania kodów"]);
	
	local bez_przetwarzania=bez_przetwarzania or ((not czy_analiza)and(((hash)or(czy_kreska_dolna)) and "tak" or (((miano_przestrzeni_nazw)and(miano_przestrzeni_nazw~=""))or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*$")or(mw.ustring.match(nazwa_strony_linku,"^[%s_]*[^:#]-[^%s_#:][%s_]*#(.*)$"))))) or nil);
	
	local nazwa=czy_nazwa and args[2] or NazwaLinkuDoStrony();
	local po=args["po"] or args["p"];
	local za=args["za"] or args["z"];
	
	if(not bez_przetwarzania)then
		return p.Link(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,hash,nazwa,za,po,false,nil,nil,nil,true,wyswietl_miano_przestrzeni_nazw,czy_dyskusja,bez_przetwarzania_kodow,bez_znacznikow);
	else
	   local link=p.TworzLinkBezPrzetwarzania(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,(not czy_strona_lokalna) and nowa_nazwa_strony_linku or (hash and "" or nowa_nazwa_strony_linku),hash,nazwa,za,po);
	   if(not bez_znacznikow)then
			return p.LinkWikidane(link,klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nowa_nazwa_strony_linku,hash or ((not czy_kreska_dolna) and mw.ustring.match(nazwa_strony_linku,"#") or nil),nil,nil);
		else
			return link;
		end;
	end;
end;
function p.ZamianaKategoriiNaLinki(frame)
	local parametry_modul=require("Module:Parametry");
	local PobierzParametr=parametry_modul.PobierzParametr(frame);
	local tekst=PobierzParametr("tekst") or PobierzParametr(1);
	
	local techniczne_modul=require("Module:Techniczne");
	local nazwy_np_modul=wm.loadData("Module:Nazwy/Np");
	local kategoria_polska=nazwy_np_modul.Category;
	local wzor_kategorii_polskiej=techniczne_modul["WzórDanejPrzestrzeniNazw"](kategoria_polska)
	tekst=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1|%2]]");
	tekst=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1]]");
	tekst=mw.ustring.gsub(tekst,"%[%[%s*"..wzor_kategorii_polskiej.."%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1|%2]]");
	tekst=mw.ustring.gsub(tekst,"%[%[%s*"..wzor_kategorii_polskiej.."%s*:%s*([^|%[%]]+)%s*%]%]","[[:"..kategoria_polska..":%1]]");
	return tekst;
end;
return p;