Saltar al contento

Modulo:Wd/i18n

De Wikipedia, le encyclopedia libere
Info
Info
Documentation del modulo
This submodule is used by Module:Wd for internationalization (i18n) purposes and has been separated to allow for locale-independent updating of the module's logic.

Le modification de iste modulo es limitate al usatores autoconfirmate

-- copiate e traducite desde [[:en:Special:Permalink/1301986825]]

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

local p = {}

function p.init(aliasesP)
	p = {
		["version"] = "8",  -- increment this each time the below parameters are changed to avoid reference conflict errors
		["errors"] = {
			["unknown-data-type"]          = "Typo de datos ‘%s’ incognite o non supportate",
			["missing-required-parameter"] = "Necun parametro requirite es definite, es necessari al minus un",
			["extra-required-parameter"]   = "Le parametro ‘%s’ debe esser definite como optional",
			["no-function-specified"]      = "Es necessari specificar un function a appellar",  -- equal to the standard module error message
			["main-called-twice"]          = 'Le function “main” non pote esser appellate duo vices',
			["no-such-function"]           = 'Le function “%s” non existe',  -- equal to the standard module error message
            ["no-such-reference-template"] = 'Error: le patrono “%s”, que es definite in %s como le patrono de sortita pro le typo de sortita de citation “%s”, non existe',
            -- Parts of the error message signalling a malformed reference.
            ["malformed-reference-header"] = "<span style=\"color:#dd3333\">\nError: Impossibile monstrar correctemente le referentia obtenite de Wikidata. Detalios technic:\n",
            ["malformed-reference-footer"] = "Vide [[Module:wd/doc#References|le documentation]] pro ulterior detalios.\n</span>\n[[Categoria:Errores de referentias in Modulo:Wd]]",
            ["template-failure-reason"]    = "* Motivo del fallimento de {{tl|%s}}: %s\n",
            ["missing-mandatory-param"]    = 'Le appello al patrono de sortita omitterea le parametro obligatori <code>%s</code>',
            ["unknown-property-in-ref"]    = 'Le referentia obtenite de Wikidata contine le proprietate <code>%s</code>, que non es assignate a alcun parametro de iste patrono.'
		},
		["info"] = {
			["edit-on-wikidata"] = "Modificar isto sur Wikidata"
		},
		["numeric"] = {
			["decimal-mark"] = ",",
			["delimiter"]    = "&nbsp;"
		},
		["datetime"] = {
			["prefixes"] = {
				["decade-period"] = "annos "
			},
			["suffixes"] = {
				["decade-period"] = "",
				["millennium"]    = " millennio",
				["century"]       = " seculo",
				["million-years"] = " million de annos",
				["billion-years"] = " milliardo de annos",
				["year"]          = " anno",
				["years"]         = " annos"
			},
			["julian-calendar"] = "Calendario julian",  -- linked page title
			["julian"]          = "julian",
			["BCE"]             = "aEC",
			["CE"]              = "EC",
			["common-era"]      = "Era commun"  -- linked page title
		},
		["coord"] = {
			["latitude-north"] = "N",
			["latitude-south"] = "S",
			["longitude-east"] = "E",
			["longitude-west"] = "W",
			["degrees"]        = "°",
			["minutes"]        = "'",
			["seconds"]        = '"',
			["separator"]      = ", "
		},
		["values"] = {
			["unknown"] = "incognite",
			["none"]    = "necun"
		},
		["cite"] = {
			["output-types"] = {"web", "q"},  -- In this order, the output types will be tried
			["param-mapping"] = {
				["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]         = "date",
					[aliasesP.lastUpdate]              = "date",
					[aliasesP.retrieved]               = "access-date",
					[aliasesP.title]                   = "title",
					[aliasesP.subjectNamedAs]          = "title",
					[aliasesP.archiveURL]              = "archive-url",
					[aliasesP.archiveDate]             = "archive-date",
					[aliasesP.language]                = "language",
					[aliasesP.author]                  = "author",
					[aliasesP.authorNameString]        = "author",
					[aliasesP.publisher]               = "publisher",
					[aliasesP.quote]                   = "quote",
					[aliasesP.pages]                   = "pages",  -- extra option
					[aliasesP.publishedIn]             = "website",
					[aliasesP.sectionVerseOrParagraph] = "at"
				},
				["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]                = "1",
					[aliasesP.pages]                   = "pages",
					[aliasesP.column]                  = "at",
					[aliasesP.chapter]                 = "chapter",
					[aliasesP.sectionVerseOrParagraph] = "section",
					["external-id"]                    = "id",  -- used for any type of database property ID
					[aliasesP.title]                   = "title",
					[aliasesP.publicationDate]         = "date",
					[aliasesP.lastUpdate]              = "date",
					[aliasesP.retrieved]               = "access-date"
				}
			},
			["config"] = {
				-- supported fields:
				--     - template: name of the template used for output
				--     - numbered-params: citation params accepting an arbitrary number of values by numbering the params (e.g. author1, author2)
				--     - raw-value-params: params taking a raw value (which means the property is rendered with getValue with raw=true)
				--     - mandatory-params: params that are required be in the template call (after potentially appending numbers to params listed in numbered-params)
				--     - prioritization: table associating a list of properties, in the order in which they are preferred, to template parameters;
				--                       properties not mentioned here have the lowest priority;
				--                       prioritization of properties handled through additionalProcessedProperties is unsupported;
				--                       no key of this table can be from numbered-params 
				-- Leaving out the "template" field causes the output type to be ignored.
				["web"] = {
					["template"] = "Cite web",
					["numbered-params"] = {"author"},
					["mandatory-params"] = {"url"},
					["prioritization"] = {
						["date"] = {aliasesP.lastUpdate, aliasesP.publicationDate},
						["title"] = {aliasesP.title, aliasesP.subjectNamedAs}
					}
				},
				["q"] = {
					["template"] = "Cite Q",
					["raw-value-params"] = {"1"},  -- the first, unnamed parameter of CiteQ takes a QID, not the name of the item cited
					["mandatory-params"] = {"1"},
					["prioritization"] = {
						["date"] = {aliasesP.lastUpdate, aliasesP.publicationDate}
					}
				}
			}
		},
		-- ADAPTATION LOCAL
		["ordinales_ia"] = {
			[0] = "me",
			[1] = "me",
			[2] = "nde",
			[3] = "tie",
			[4] = "te",
			[5] = "te",
			[6] = "te",
			[7] = "me",
			[8] = "ve",
			[9] = "ne"
		}
	}

	-- ADAPTATION LOCAL
	p.getOrdinalSuffix = function(num)
		return p.ordinales_ia[math.abs(num % 10)]
	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