Moduł:Wiki/interwiki
Zobacz podstrony tego modułu.
|
local s={};
s.globalne_kody_projektu_z_identyfikatorami_danej_wiki_1={
["w"]="wiki",
["b"]="wikibooks",
["wikt"]="wiktionary",
["q"]="wikiquote",
["s"]="wikisource",
["voy"]="wikivoyage",
["n"]="wikinews",
["v"]="wikiversity",
};
s.globalne_kody_projektu_z_identyfikatorami_danej_wiki_2={
["commons"]="commonswiki",
["wikispecies"]="specieswiki",
["d"]="wikidatawiki",
["mw"]="mediawikiwiki",
["m"]="metawiki",
["wikimania"]="wikimaniawiki",
};
--funkcje
local p={};
p["KodyProjektówAngielskichProjektówSiostrzanych"]=function()
local przestrzenie_alternatywne={["wikipedia"]="w",["wikibooks"]="b",["wiktionary"]="wikt",["wikiquote"]="q",["wikisource"]="s",["wikivoyage"]="voy",["wikinews"]="n",["wikiversity"]="v",["commons"]="c",["wikispecies"]="species",["wikidata"]="d",["meta"]="m",["wikimania"]="wikimania",["wikimedia"]="wmf",["incubator"]="incubator",["wikitech"]="wikitech",};
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_lingwistyczne=s.globalne_kody_projektu_z_identyfikatorami_danej_wiki_1;
local interwiki_specjalistyczne=s.globalne_kody_projektu_z_identyfikatorami_danej_wiki_2;
local tab_lingwistyczne={};
local tab_specjalistyczne={};
for kod, wartosc in pairs(interwiki_lingwistyczne)do tab_lingwistyczne[kod]=wartosc; end;
for kod, wartosc in pairs(interwiki_specjalistyczne)do tab_specjalistyczne[kod]=wartosc; end;
local tab_interwiki={lingwistyczne=tab_lingwistyczne,specjalistyczne=tab_specjalistyczne,};
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(not tab_interwiki[interwiki_nowe][kod_interwikimap2])then
tab_interwiki[interwiki_nowe][kod_interwikimap2]=idwiki;
end;
end;
end;
end;
break;
end;
end;
end;
end;
Interwiki(interwiki_lingwistyczne,"lingwistyczne");
Interwiki(interwiki_specjalistyczne,"specjalistyczne");
return tab_interwiki;
end;
p["TablicaPozaJęzykowychProjektówSiostrzanych"]=function(frame)
local wiki_kody_projektu_wikidane=s.tablica_kody_projektu_wikidane;
local interwikimap=s.interwikimap;
local interwiki2=wiki_kody_projektu_wikidane.lingwistyczne;
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.tablica_kody_projektu_wikidane;
local globalne_kody_projektu_z_identyfikatorami_danej_wiki_1=wiki_interwiki.lingwistyczne;
local globalne_kody_projektu_z_identyfikatorami_danej_wiki_2=wiki_interwiki.specjalistyczne;
local interwikimap_nowy=parametry_modul["TwórzTabelęBezElementówTabel"]{
[1] = interwikimap,
[2] = globalne_kody_projektu_z_identyfikatorami_danej_wiki_1,
[3] = globalne_kody_projektu_z_identyfikatorami_danej_wiki_2,
}
return interwikimap_nowy;
end;
p["TablicaLokalnychJęzykowychProjektówSiostrzanych"]=function()
local wiki_interwiki=s.tablica_kody_projektu_wikidane;
local parametry_modul=require("Module:Parametry");
local tablokalnejezykowesiostrzane={};
for kod,_ in pairs(wiki_interwiki.lingwistyczne)do
tablokalnejezykowesiostrzane[kod]=true;
end;
return tablokalnejezykowesiostrzane;
end;
p["TablicaLokalnychProjektówSiostrzanych"]=function()
local wiki_interwiki=s.tablica_kody_projektu_wikidane;
local tabela1=wiki_interwiki.lingwistyczne;
local tabela2=wiki_interwiki.specjalistyczne;
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.tablica_interwiki_siostrzane_angielskie=p["KodyProjektówAngielskichProjektówSiostrzanych"]();
----interprojekty wikidane
s.tablica_kody_projektu_wikidane=p["TablicaKodówProjektówWikiDanych"]();
----interprojekty
s.tablica_nowiki_data=p["TablicaProjektówPozaWikidane"]();
s.tablica_lokalne_lingwistyczne_siostrzane=p["TablicaLokalnychJęzykowychProjektówSiostrzanych"]();
s.tablica_lokalne_siostrzane=p["TablicaLokalnychProjektówSiostrzanych"]();
s.tablica_poza_lingwistyczne_projekty_siostrzane=p["TablicaPozaJęzykowychProjektówSiostrzanych"]();
s.tablica_aliasowe_kody_projektu=p["TablicaAliasówKodówProjektów"]();
return s;