Modul:Sandkasse/jeblad/Modul:External links/messages
Utseende
Moduldokumentasjon
[opprett]
---
local msgs = {}
msgs['en'] = {
['qualifier-default-empty'] = 'empty value (an error)',
['qualifier-P407-empty'] = 'empty language (an error)',
['qualifier-default-missing'] = 'missing qualifier',
['qualifier-default-missing-P407'] = 'unknown language',
['qualifier-P856-missing'] = 'unknown language',
['qualifier-P1019-missing'] = 'unkown language',
['qualifier-P1581-missing'] = 'unknown language',
['qualifier-P856-missing-P407'] = 'unknown language',
['qualifier-P1019-missing-P407'] = 'unkown language',
['qualifier-P1581-missing-P407'] = 'unknown language',
['ext-link-normal'] = '[$1 $2]',
['ext-link-preferred'] = '[$1 $2] (preferred)',
['initial-P407-combiner'] = '/',
['final-P407-combiner'] = '$1/$2',
['initial-default-combiner'] = ', ',
['final-default-combiner'] = '$1 and $2',
['first-list-item'] = '$1: $2',
['rest-list-item'] = '* $1: $2',
['first-list-item-with-additional'] = '$1: $2 $3',
['rest-list-item-with-additional'] = '* $1: $2 $3',
['no-list-available'] = 'No $1 available',
['cat-inclusion'] = 'Articles with $1',
['cat-exclusion'] = 'Articles without $1',
['no-links-available'] = 'No automatic links available',
}
msgs['nb'] = {
['qualifier-default-empty'] = 'tom verdi (en feil)',
['qualifier-P407-empty'] = 'tomt språk (en feil)',
['qualifier-default-missing'] = 'mangler kvalifikator',
['qualifier-default-missing-P407'] = 'ukjent språk',
['qualifier-P856-missing'] = 'ukjent språk',
['qualifier-P1019-missing'] = 'ukjent språk',
['qualifier-P1581-missing'] = 'ukjent språk',
['qualifier-P856-missing-P407'] = 'ukjent språk',
['qualifier-P1019-missing-P407'] = 'ukjent språk',
['qualifier-P1581-missing-P407'] = 'ukjent språk',
['ext-link-normal'] = '[$1 $2]',
['ext-link-preferred'] = '[$1 $2] (foretrukket)',
['initial-P407-combiner'] = '/',
['final-P407-combiner'] = '$1/$2',
['initial-default-combiner'] = ', ',
['final-default-combiner'] = '$1 og $2',
['first-list-item'] = '$1 på $2',
['rest-list-item'] = '* $1 på $2',
['first-list-item-with-additional'] = '$1 på $2 $3',
['rest-list-item-with-additional'] = '* $1 på $2 $3',
['no-list-available'] = 'Ikke noe $1 tilgjengelig',
['cat-inclusion'] = 'Artikler med $1',
['cat-exclusion'] = 'Artikler uten $1',
['no-links-available'] = 'Ingen automatiske lenker tilgjengelig',
}
msgs['nn'] = {
['qualifier-default-empty'] = 'tom verdi (ein feil)',
['qualifier-P407-empty'] = 'tomt språk (ein feil)',
['qualifier-default-missing'] = 'manglar kvalifikator',
['qualifier-default-missing-P407'] = 'ukjend språk',
['qualifier-P856-missing'] = 'ukjend språk',
['qualifier-P1019-missing'] = 'ukjend språk',
['qualifier-P1581-missing'] = 'ukjend språk',
['qualifier-P856-missing-P407'] = 'ukjend språk',
['qualifier-P1019-missing-P407'] = 'ukjend språk',
['qualifier-P1581-missing-P407'] = 'ukjend språk',
['ext-link-normal'] = '[$1 $2]',
['ext-link-preferred'] = '[$1 $2] (foretrekt)',
['initial-P407-combiner'] = '/',
['final-P407-combiner'] = '$1/$2',
['initial-default-combiner'] = ', ',
['final-default-combiner'] = '$1 og $2',
['first-list-item'] = '$1: $2',
['rest-list-item'] = '* $1: $2',
['first-list-item-with-additional'] = '$1: $2 $3',
['rest-list-item-with-additional'] = '* $1: $2 $3',
['no-list-available'] = 'Ikkje nokon $1 tilgjengeleg',
['cat-inclusion'] = 'Artiklar med $1',
['cat-exclusion'] = 'Artiklar utan $1',
['no-links-available'] = 'Ingen automatisk lekk tilgjengeleg',
}
---
local messages = {}
---
messages._chain = {}
---
messages.g = function(self, ...)
local args = {...}
assert(args[1], 'Can not find any keys')
for _,v in ipairs(args) do
if self[v] then
return self[v]
end
end
return nil
end
---
-- metatable for the export
local mt = {}
---
-- adjust the installation of the module
mt.__call = function (self, code)
local lang = mw.language.getContentLanguage()
self._chain = code and mw.language.getFallbacksFor( code ) or lang:getFallbackLanguages()
table.insert(self._chain, 1, lang:getCode())
return self
end
---
-- get any unknown entry
-- Note that we can't memoize the entries as the messages are not imutable.
mt.__index = function (self, key)
for _,v in ipairs(self._chain) do
local msg = msgs[v] and msgs[v][key] and mw.message.newRawMessage(msgs[v][key]) or nil
if msg then
return msg
end
end
return nil
end
---
-- assign to an unknown entry
mt.__newindex = function (self)
error('Can not assign to the table')
return nil
end
-- install the metatable
setmetatable(messages, mt)
return messages