Hopp til innhold

Modul:Official links/conf

Fra Wikipedia, den frie encyklopedi
Moduldokumentasjon


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'] = 'Internasjonalt',
	['org'] = 'Internasjonalt',
	['com'] = 'Internasjonalt',	
	['no'] = '«i Norge»',
	['sv'] = '«i Sverige»',
	['dk'] = '«i Danmark»',
	['de'] = '«i Tyskland»',
	['nl'] = '«i Nederland»',
}
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'] = 'verdi ikke oppgitt',
	['qualifier-P407-empty'] = 'språk ikke oppgitt',
	['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: $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'] = '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'] = 'verdi ikkje oppgitt',
	['qualifier-P407-empty'] = 'språk ikkje oppgitt',
	['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 = {
	['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]
		return self
	end
}

-- install the metatable
setmetatable(p, mt)

return p