Moduł:Wiki/interwiki

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
Template-info.png Dokumentacja modułu [stwórz] [odśwież]
local s={};
s.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1={
   ["w"]="wiki",
   ["b"]="wikibooks",
   ["wikt"]="wiktionary",
   ["q"]="wikiquote",
   ["s"]="wikisource",
   ["voy"]="wikivoyage",    	
   ["n"]="wikinews",
   ["v"]="wikiversity",    
};
s.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2={
   ["commons"]="commonswiki",
   ["wikispecies"]="specieswiki", 
   ["d"]="wikidatawiki",
   ["mw"]="mediawikiwiki",
   ["m"]="metawiki",
   ["wikimania"]="wikimaniawiki",
};
--funkcje
local p={};
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["TablicaKodó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["TablicaAliasówKodówProjektów"]=function()
	local tabprojekt=mw.site.interwikiMap();
	local tablica_aliasow={}
	for kod,element in pairs(tabprojekt)do
		if(not mw.language.isKnownLanguageTag(kod))then
			if(not tablica_aliasow[element.url])then
				tablica_aliasow[element.url]={}
			end;
			tablica_aliasow[element.url][kod]=true;
		end;
	end;
	return tablica_aliasow;
end;
p["TablicaKodówProjektówWikiDanych"]=function()
	local interwikimap=s.interwikimap;
	local interwiki_jezykowe=s.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1;
	local interwiki_angielskie=s.kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2;
	local tab_jezykowe={};
	local tab_angielskie={};
	for kod, wartosc in pairs(interwiki_jezykowe)do tab_jezykowe[kod]=wartosc; end;
	for kod, wartosc in pairs(interwiki_angielskie)do  tab_angielskie[kod]=wartosc; end;
	local tab_interwiki={jezykowe=tab_jezykowe,angielskie=tab_angielskie,};
	local function Interwiki(interwiki_jakie,interwiki_nowe)
		for kod, idwiki in pairs(interwiki_jakie)do
			for kod_interwikimap,url in pairs(interwikimap)do
				if(kod_interwikimap==kod)then
					for kod_interwikimap2,url2 in pairs(interwikimap)do
		   				if(kod_interwikimap~=kod_interwikimap2)then
		   					if(url==url2)then
		   						if(tab_interwiki[interwiki_nowe][kod_interwikimap2]==nil)then
		   							tab_interwiki[interwiki_nowe][kod_interwikimap2]=idwiki;
		   						end;
		   					end;
		   				end;
					end;
	   				break;
		   		end;
		   end;
		end;
	end;
	Interwiki(interwiki_jezykowe,"jezykowe");
	Interwiki(interwiki_angielskie,"angielskie");
	return tab_interwiki;
end;
p["TablicaPozaJęzykowychProjektówSiostrzanych"]=function(frame)
	local wiki_kody_projektow_wikidane=s.kody_projektow_wikidane;
	local interwikimap=s.interwikimap;
    local interwiki2=wiki_kody_projektow_wikidane.jezykowe;
	local tabelka={};
	for kod,element in pairs(interwikimap)do
		if(interwiki2[kod]==nil)then
			tabelka[kod]=element;
		end;
	end;
	return tabelka;
end;
p["TablicaProjektówPozaWikidane"]=function()
	local interwikimap=s.interwikimap;
	local parametry_modul=require("Module:Parametry");
	local wiki_interwiki=s.kody_projektow_wikidane;
	local kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1=wiki_interwiki.jezykowe;
	local kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2=wiki_interwiki.angielskie;
	local interwikimap_nowy=parametry_modul["TwórzTabelęBezElementówTabel"]{
		                                                                     [1] = interwikimap,
		                                                                     [2] = kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_1,
		                                                                     [3] = kody_projektow_z_indetyfikatorow_globalnej_danej_wiki_2,
	                                                                       }
	return interwikimap_nowy;
end;
p["TablicaLokalnychJęzykowychProjektówSiostrzanych"]=function()
	local wiki_interwiki=s.kody_projektow_wikidane;
	local parametry_modul=require("Module:Parametry");
	local tablokalnejezykowesiostrzane={};
	for kod,_ in pairs(wiki_interwiki.jezykowe)do
		tablokalnejezykowesiostrzane[kod]=true;
	end;
	return tablokalnejezykowesiostrzane;
end;
p["TablicaLokalnychProjektówSiostrzanych"]=function()
    local wiki_interwiki=s.kody_projektow_wikidane;
	local tabela1=wiki_interwiki.jezykowe;
	local tabela2=wiki_interwiki.angielskie;
	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;
--koniec funkcje
--interwiki
s.interwikimap=p["TablicaKodówProjektów"]();
s.interwiki_siostrzane_angielskie=p["KodProjektuAngielskichProjektówSiostrzanych"]();
----interprojekty wikidane
s.kody_projektow_wikidane=p["TablicaKodówProjektówWikiDanych"]();
----interprojekty
s.tab_nowiki_data=p["TablicaProjektówPozaWikidane"]();
s.tab_lokalne_jezykowe_siostrzane=p["TablicaLokalnychJęzykowychProjektówSiostrzanych"]();
s.tab_lokalne_siostrzane=p["TablicaLokalnychProjektówSiostrzanych"]();
s.poza_jezykowe_projekty_siostrzane=p["TablicaPozaJęzykowychProjektówSiostrzanych"]();
s.tablica_aliasow_kodow_projektow=p["TablicaAliasówKodówProjektów"]();
return s;