Module:Wikidata Infobox/i18n
Jump to navigation
Jump to search
CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules
Lua
Documentation for this module may be created at Module:Wikidata Infobox/i18n/doc
Code
-- On wikis that don't use the Translations namespace, replace this module
-- with something akin to [[en:Module:Wikidata_Infobox/i18n]].
local p = {}
--- Loops over fallback languages. Returns translated message if the given message
--- is available in one of these languages. Returns English message otherwise.
--- @param msgKey "editlink-alttext"|"newitem"|"noid"|"search-depicted"|"taxon-depicted"|"search"|"noclaims"
--- @param fallbacklangs string[]: list of language codes
--- @return string message, string msgLang
function p.i18n( msgKey, fallbacklangs )
local titlebase = 'Translations:Template:Wikidata Infobox/i18n/msg-'..msgKey..'/'
local msgLang = 'en'
for _, lang in ipairs( fallbacklangs ) do
if mw.title.new( titlebase..lang ).exists then
msgLang = lang
break
end
end
local message = mw.getCurrentFrame():expandTemplate{ title = titlebase..msgLang }
return message, msgLang
end
return p