Modul:Sandkasse/jeblad/Modul:External links/conf
Utseende
Moduldokumentasjon
[opprett]
local languageWeights = {}
languageWeights['en'] = {
['Q9043'] = 100, -- norsk
['Q25167'] = 110, -- bokmål (målform av norsk)
['Q25164'] = 90, -- nynorsk (målform av norsk)
['Q9035'] = 80, -- dansk (nærstående språk)
['Q9027']= 80, -- svensk (nærstående språk)
['Q1860'] = 70, -- engelsk (vanlig å kunne dette språket)
['Q7979'] = 70, -- britisk-engelsk (variant av engelsk)
['Q7976'] = 70, -- amerikansk-engelsk (variant av engelsk)
-- flere varianter av engelsk...
['Q188'] = 60, -- tysk (vanlig å kunne dette språket)
['Q150'] = 50, -- fransk (vanlig å kunne dette språket)
['Q33947'] = 40, -- nordsamisk (offisielt språk i norge)
['Q13293'] = 40, -- sørsamisk (offisielt språk i norge)
['Q56322'] = 40, -- lulesamisk (offisielt språk i norge)
['Q165795'] = 30, -- kvensk (offisielt språk i norge)
['Q36641'] = 20, -- romani (offisielt språk i norge)
['Q13201'] = 30, -- romanes (offisielt språk i norge)
}
languageWeights['nb'] = languageWeights['en']
languageWeights['nn'] = languageWeights['en']
local fragmentWeights = {}
fragmentWeights['en'] = {
['com'] = 20,
['net'] = 20,
['org'] = 20,
['no'] = 30,
['sv'] = 20,
['dk'] = 20,
['en'] = 20,
['de'] = 10,
['nl'] = 10,
}
fragmentWeights['nb'] = fragmentWeights['en']
fragmentWeights['nn'] = fragmentWeights['en']
--the following will be removed
local prioritize = {}
prioritize['en'] = {
['Q9043'] = true, -- norsk
['Q25167'] = true, -- bokmål (målform av norsk)
['Q25164'] = true, -- nynorsk (målform av norsk)
['Q9035'] = true, -- dansk (nærstående språk)
['Q9027']= true, -- svensk (nærstående språk)
['Q1860'] = true, -- engelsk (vanlig å kunne dette språket)
['Q7979'] = true, -- britisk-engelsk (variant av engelsk)
['Q7976'] = true, -- amerikansk-engelsk (variant av engelsk)
-- flere varianter av engelsk...
['Q188'] = true, -- tysk (vanlig å kunne dette språket)
['Q150'] = true, -- fransk (vanlig å kunne dette språket)
['Q33947'] = true, -- nordsamisk (offisielt språk i norge)
['Q13293'] = true, -- sørsamisk (offisielt språk i norge)
['Q56322'] = true, -- lulesamisk (offisielt språk i norge)
['Q165795'] = true, -- kvensk (offisielt språk i norge)
['Q36641'] = true, -- romani (offisielt språk i norge)
['Q13201'] = true, -- romanes (offisielt språk i norge)
}
prioritize['nb'] = prioritize['en']
prioritize['nn'] = prioritize['en']
local domain = {}
domain['en'] = {
['com'] = '"com-domain"',
['net'] = '"net-domain"',
['org'] = '"org-domain"',
['no'] = '"Norwegian domain"',
['sv'] = '"Swedish domain"',
['dk'] = '"Danish domain"',
['de'] = '"German domain"',
['nl'] = '"Dutch domain"',
}
domain['no'] = {
['net'] = '«net-domene»',
['org'] = '«org-domene»',
['no'] = '«norsk domene»',
['sv'] = '«svensk domene»',
['dk'] = '«dansk domene»',
['de'] = '«tysk domene»',
['nl'] = '«nederlandsk domene»',
}
domain['nb'] = domain['no']
domain['nn'] = domain['no']
local messages = {}
messages['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',
}
messages['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 $4',
['rest-list-item-with-additional'] = '* $1 på $2 $3 $4',
['no-list-available'] = 'Ikke noe $1 tilgjengelig',
['cat-inclusion'] = 'Artikler med $1',
['cat-exclusion'] = 'Artikler uten $1',
['no-links-available'] = 'Ingen automatiske lenker tilgjengelig',
}
messages['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 p = {
['languageWeight'] = function (self, code)
local weight = 0
if self.languageWeights[code] then
weight = weight + self.languageWeights[code]
end
return weight
end,
['fragmentWeight'] = function (self, url)
local maxWeight = 0
for v in url:gfind("%a+") do
--for _,v in url:gsub('%a') do
if self.fragmentWeights[v] and self.fragmentWeights[v] > maxWeight then
maxWeight = self.fragmentWeights[v]
end
end
return maxWeight
end,
['p'] = function (self, code)
return self.prioritize[code]
end,
['guess'] = function (self, uri)
-- this is for country codes
local _,_,code = uri:match('//([-%w]+)%.([-%w]+)%.(%w+)')
if code and self.domain[code] then
return self.domain[code]
end
local _,code = uri:match('//([-%w]+)%.(%w+)')
if code and self.domain[code] then
return self.domain[code]
end
return uri
end,
['g'] = function (self, ...)
for _,v in ipairs(arg) do
if self.messages[v] then
return self.messages[v]
end
end
return '<'..arg[1]..'>'
end
}
-- metatable for the export
local mt = {
-- adjust the installation of the module
['__call'] = function (self, lang)
self.messages = messages[lang]
self.prioritize = prioritize[lang]
self.domain = domain[lang]
self.languageWeights = languageWeights[lang]
self.fragmentWeights = fragmentWeights[lang]
return self
end
}
-- install the metatable
setmetatable(p, mt)
return p