Naar inhoud springen

Module:Wd/i18n

Van Wikipedia
🛑
Ipgelet: Ôog risico module!
Dit module wordt gebruukt in systeem-berichtn of ip vrêe vele bloadn. Een anpassienge an dees code kan d'n uutkyk van de gansche wiki direct verandern. Test anpassiengn êest in e zandbak of discuteer d'rover ip 't overlegblad vôoda je ze definitief bywerkt.

Moduleinfo: Wd/i18n

[brontekst bewerken]

Wuk doet et?

[brontekst bewerken]

Module:Wd/i18n is et vertoaliengsbestand (i18n stoat vo internationalization) vo Module:Wd.

In plekke van aolle West-Vloamsche of Nederlandsche woordn (lik "eeuw", "onbekend", of error-berichtn) in d'n oofdmotor te programmeern, zittn ze apart in dit bestand. Dit is e slimme truc: as d'n oofdmotor (Module:Wd) in de toekomst ne grôten update krygt van d' Iengelsche wiki, kunn we die geweun kopiëren en plakkn zounder da we uze eign vertoaliengn kwytspeeln. D'n oofdmotor kykt noamelik assan noa dit bestand vo de toal.

Wuk zit er in deze configuroatie?

[brontekst bewerken]

As je de code van deze module bekykt, zie je da 't e grôot wôordenboek is da ounderverdêeld is in specifieke stikkn:

  • errors: De foutberichtn die getoogd wordn as er etwuk mislopt (byv. "Datatype '$1' is onbekend").
  • info: Extra tekstjes, lik "Bewerken op Wikidata" da verschynt a je over 't potlood-icoontje goat.
  • numeric: De wiskundige opmoak. Ier stoat in ingesteld da we ip uze wiki e komma (,) gebruukn vo decimoaln, en e punt (.) vo duuzendtallen (byv. 1.000.000,50).
  • datetime: Vertoaliengn vo tydanduidiengn, lik "eeuw", "millennium", en d' afkortiengn vo vôor/achter Christus (v.g.j. en g.j. - vôor/gangbare jaartelling).
  • coord: D' afkortiengn vo geografische coördinatn (NB = Noordrbrêedte, ZB = Zuudrbrêedte, OL = Ôosterlengte, WL = Westerlengte).
  • values: Boasiswoordn lik "onbekend" en "geen".
  • cite: Dit is e vrêe andig stik da Wikidata-eigenschappn (lik P1476 vo titel) otematisch koppelt an de juuste parameters in uze bronvermeldings-patrôonn (lik |titel= of |url=).

Slimme Lua-funcsjes

[brontekst bewerken]

In teegnstellienge toet normoale wôordenboekn, bevat dit bestand hêel ounderoan ôok twêe klêne brokkn wiskunde-code:

  1. getOrdinalSuffix: Berekent of e getal eindigt ip "-de" of "-ste" (byv. 1ste, 2de, 8ste, 20ste).
  2. addDelimiters: E funcsje die otematisch de puntjes in grôte getalln platst (makt van "1000000" schôon "1.000.000").

Oe pas je dit an?

[brontekst bewerken]

O je ôoit ziet da Module:Wd e lelik Iengels woord uutspuugt, of a je d' error-berichtn mêer in 't West-Vloams wilt zettn in plekke van 't Algemêen Nederlands, toun is dit de ênigste plekke woa da je da moe anpassn. Je verandert geweun de tekst tussn d' anhaaliengstêekns an de rechterkant van 't is-gelyk-an têekn (=).


-- The values and functions in this submodule should be localized per wiki.

local p = {}

function p.init(aliasesP)
	p = {
		["errors"] = {
			["unknown-data-type"]          = "Datatype '$1' es onbekend of wordt nie oundersteund.",
			["missing-required-parameter"] = "gin verplichte parameters gedefinieerd, minstens êen nôdig.",
			["extra-required-parameter"]   = "parameter '$1' moe als optioneel gedefinieerd zyn.",
			["no-function-specified"]      = "ge moe een an te roepn functie ipgeevn.",  -- equal to the standard module error message
			["main-called-twice"]          = 'de functie "main" kan nie twêe kêers angeroopn wordn.',
			["no-such-function"]           = 'de functie "$1" bestoat nie.'  -- equal to the standard module error message
		},
		["info"] = {
			["edit-on-wikidata"] = "Bewerkn ip Wikidata"
		},
		["numeric"] = {
			["decimal-mark"] = ",",
			["delimiter"]    = "."
		},
		["datetime"] = {
			["prefixes"] = {
				["decade-period"] = "joarn "
			},
			["suffixes"] = {
				["decade-period"] = "",
				["millennium"]    = " millennium",
				["century"]       = " êeuwe",
				["million-years"] = " miljoen joar",
				["billion-years"] = " miljard joar",
				["year"]          = " joar",
				["years"]         = " joar"
			},
			["julian-calendar"] = "Julioansche kalender",  -- linked page title
			["julian"]          = "Julioans",
			["BCE"]             = "v.C.",
			["CE"]              = "n.C.",
			["common-era"]      = "Christelikke joartellienge"  -- linked page title
		},
		["coord"] = {
			["latitude-north"] = "NB",
			["latitude-south"] = "ZB",
			["longitude-east"] = "OL",
			["longitude-west"] = "WL",
			["degrees"]        = "°",
			["minutes"]        = "'",
			["seconds"]        = '"',
			["separator"]      = ", "
		},
		["values"] = {
			["unknown"] = "onbekend",
			["none"]    = "gin"
		},
		["cite"] = {
			["version"] = "2",  -- increment this each time the below parameters are changed to avoid conflict errors
			["web"] = {
				-- <= left side: all allowed reference properties for *web page sources* per https://www.wikidata.org/wiki/Help:Sources
				-- => right side: corresponding parameter names in (equivalent of) [[:en:Template:Cite web]] (if non-existent, keep empty i.e. "")
				[aliasesP.statedIn]        = "website",
				[aliasesP.referenceURL]    = "url",
				[aliasesP.publicationDate] = "doatum",
				[aliasesP.retrieved]       = "bezocht ip",
				[aliasesP.title]           = "titel",
				[aliasesP.archiveURL]      = "archiefurl",
				[aliasesP.archiveDate]     = "archiefdoatum",
				[aliasesP.language]        = "toale",
				[aliasesP.author]          = "auteur",  -- existence of author1, author2, author3, etc. is assumed
				[aliasesP.publisher]       = "uutgever",
				[aliasesP.quote]           = "citoat",
				[aliasesP.pages]           = "bladzydn"  -- extra option
			},
			["q"] = {
				-- <= left side: all allowed reference properties for *sources other than web pages* per https://www.wikidata.org/wiki/Help:Sources
				-- => right side: corresponding parameter names in (equivalent of) [[:en:Template:Cite Q]] (if non-existent, keep empty i.e. "")
				[aliasesP.statedIn]                = "",
				[aliasesP.pages]                   = "",
				[aliasesP.column]                  = "",
				[aliasesP.chapter]                 = "",
				[aliasesP.sectionVerseOrParagraph] = "",
				["external-id"]                    = "",  -- used for any type of database property ID
				[aliasesP.title]                   = "",
				[aliasesP.publicationDate]         = "",
				[aliasesP.retrieved]               = ""
			}
		}
	}

	p.getOrdinalSuffix = function(num)
		if num == 0 then
			return "ste"
		end

		num = tonumber(tostring(math.abs(num)):sub(-2))

		if num == 1 or num == 8 then
			return "ste"
		end

		if num > 0 and num < 20 then
			return "ste"
		end

		return "ste"
	end

	p.addDelimiters = function(n)
		local left, num, right = string.match(n, "^([^%d]*%d)(%d*)(.-)$")

		if left and num and right then
			return left .. (num:reverse():gsub("(%d%d%d)", "%1" .. p['numeric']['delimiter']):reverse()) .. right
		else
			return n
		end
	end

	return p
end

return p