Modul:Pg: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
1.566 Bytes hinzugefügt ,  19:44, 28. Sep. 2021
handle interwiki links better in getMyLanguage
K (1 Version importiert)
StadtbahnBI>AntiCompositeNumber
(handle interwiki links better in getMyLanguage)
Zeile 6: Zeile 6:
-- at read time if that exists, or English otherwise
-- at read time if that exists, or English otherwise
local function getMyLanguage(title)
local function getMyLanguage(title)
return mw.title.new('Special:MyLanguage/' .. title.fullText)
-- interwiki prefixes for wikis with translate extension
-- created from https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/wmf-config/InitialiseSettings.php$19151
-- and https://commons.wikimedia.org/wiki/Special:Interwiki
-- frwiktionary is excluded because there are multiple wiktionaries
local multilang = {
wmam = true,
wmbe = true,
betawikiversity = true,
wmbr = true,
wmbd = true,
wmca = true,
wmge = true,
wmid = true,
wmhi = true,
incubator = true,
m = true,
meta = true,
metawiki = true,
metawikimedia = true,
metawikipedia = true,
wmno = true,
otrswiki = true,
vrtwiki = true,
outreach = true,
outreachwiki = true,
wmpl = true,
wmru = true,
wmpunjabi = true,
oldwikisource = true,
species = true,
wikispecies = true,
wmse = true,
testwiki = true,
wmua = true,
d = true,
wikidata = true,
wmania = true,
wikimania = true,
}
if title.isExternal then
if multilang[title.interwiki] then
-- mw.title.interwiki only seperates the first interwiki or interlanguage
-- prefix. that means this wouldn't work with a link that has both,
-- eg 'wikt:fr:foo' -> 'wikt:Special:MyLanguage/fr:foo' which breaks.
-- if the wiki supports translation, the link probably doesn't have an
-- interlanguage prefix and Special:MyLanguage might be useful
return mw.title.new(title.interwiki .. ':Special:MyLanguage/' .. title.nsText .. title.text)
else
-- wiki doesn't support translation, so don't try to add Special:MyLanguage
return title
end
else
return mw.title.new('Special:MyLanguage/' .. title.fullText)
end
end
end


Navigationsmenü