Module:Language info
Aller à la navigation
Aller à la recherche
Documentation
Voir aussi la page anglaise du module : Module:Language info. Elle pourra contenir des informations plus complètes et actuelles.
Aucune sous-page de documentation n'existe déjà pour ce module. En créer une maintenant.
-- We only invoke this module once per page, therefore we do not need to use mw.loadData()
-- This cache is set in Module:Language_info/data
-- Note:
-- If a template that's being used by large number of page changed, it will causing all of these page's cache to be invalidated and requires regeneration.
-- This may crash wiki platform and cause visitor get 5xx error. So we use luacache to decouple data template and template which uses it.
-- By doing this, editing on data template won't cause massive pages to be regenerated.
local cache = require 'mw.ext.LuaCache'
local info = cache.get(':_language_info:data')
if not info then
require('Module:Language_info/data').purge()
info = cache.get(':_language_info:data') or {}
end
return {
interwiki_links = function(frame)
local key = frame.args['en']
local lang = frame.args['lang']
local iwlinks = {}
for k,v in pairs(info) do
if k ~= lang then
if v[key] then
iwlinks[#iwlinks+1] = '[[' .. k .. ':'.. v[key] .. ']]'
end
end
end
table.sort(iwlinks)
return table.concat(iwlinks)
end,
}