Módulo:Marker utilities/i18n

De Wikiviajes, la guía libre de viajes
Icono de documentación de módulo Documentación del módulo[ver] [editar] [historial] [purgar]

Uso

This module provides the internationalisation for the marker features, messages and maintenance categories.

Designación de la versión en Wikidata: 2024-04-18 Contra Este módulo está desactualizado/obsoleto
Esta documentación está transcluida desde Módulo:Marker utilities/i18n/doc.
Los editores pueden experimentar en la zona de pruebas (crear) y en los casos de prueba (crear) del módulo.
Por favor, añade las categorías en la subpágina de documentación. Subpáginas de este módulo.

-- Separating code from internationalization

return {
	-- module administration
	moduleInterface  = {
		suite  = 'Marker utilities',
		sub    = 'i18n',
		serial = '2024-01-04',
		item   = 65441686
	},

	dates            = { yyyymmdd = { p = '^20[0-5]%d%-[01]?%d%-[0-3]?%d$', f = 'j. M Y' },
	                     yyyy     = { p = '^20[0-5]%d$', f = 'Y' },
	                     yy       = { p = '^[0-5]%d$', f = 'Y' },
	                     mmdd     = { p = '^[01]?%d%-[0-3]?%d$', f = 'j. M' },
	                     dd       = { p = '^[0-3]?%d%.?$', f = 'j.' },
	                     mm       = { p = '^[01]?%d%.?$', f = 'M' },
	                     lastedit = { f = 'M Y' },
	                     asOf     = { f = 'n/Y' }
	                   },
	fileExtensions   = { 'tif', 'tiff', 'gif', 'png', 'jpg', 'jpeg', 'jpe',
	                     'webp', 'xcf', 'ogg', 'ogv', 'svg', 'pdf', 'stl',
	                     'djvu', 'webm', 'mpg', 'mpeg' },
	months           = { 'enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio',
	                     'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre' },
	monthAbbr        = { 'ene%.?', 'feb%.?', 'mar%.?', 'abr%.?', 'may%.?', 'jun%.?',
	                      'jul%.?', 'ago%.?', 'sep%.?', 'oct%.?', 'nov%.?', 'dic%.?' },

	-- Map related constants
	coordURL          = 'https://de.wikivoyage.org/w/index.php?title=Special%3AMapsources&params=',
	defaultDmsFormat  = 'f1', -- see: Module:Coordinates/i18n
	defaultSiteType   = 'type:landmark_globe:earth',
	defaultZoomLevel  = 17,
	maxZoomLevel      = 19,   -- also to set in Module:GeoData, Module:Mapshape utilities/i18n

	-- Wikidata related constants
	p31Limit          = 3, -- maximum count of P31 values to analyse
	searchLimit       = 4, -- count of levels for P31-P279 search

	-- Wikidata properties
	properties = {
		appliesToJurisdiction = 'P1001',
		appliesToPart     = 'P518',
		appliesToPeople   = 'P6001',
		capacity          = 'P1083',
		centerCoordinates = 'P5140',
		commonsCategory   = 'P373',
		coordinates       = 'P625',
		endTime           = 'P582',  -- time
		image             = 'P18',
		instanceOf        = 'P31',
		iso4217           = 'P498',
		languageOfName    = 'P407',
		mainCategory      = 'P910',
		maximumAge        = 'P4135',
		minimumAge        = 'P2899',
		nameInNativeLang  = 'P1559',
		occupation        = 'P106',
		of                = 'P642',
		officialName      = 'P1448',
		pointInTime       = 'P585',
		propertyScope     = 'P5314', -- time, for fees
		quantity          = 'P1114',
		retrieved         = 'P813',
		roomNumber        = 'P8733',
		startTime         = 'P580',
		streetAddress     = 'P6375',
		subclassOf        = 'P279',
		unitSymbol        = 'P5061',
		use               = 'P366',
		validInPeriod     = 'P1264'
	},

	-- Groups of Wikidata properties
	propTable = {
		contactComments = { 'P366', 'P518', 'P642', 'P1001', 'P1559', 'P106' },
		feeComments     = { 'P5314', 'P518', 'P6001', 'P1264', 'P585', 'P2899',
		                    'P4135', 'P642', 'P580' },
		policyComments  = { 'P518', 'P1001', 'P6001' },
		quantity        = { 'P1114', 'P1083' }
	},

	-- Wikidata properties representing a qualifier
	qualifiers = {
		mobilePhone = 'Q17517',
		P8733       = 'Q180516',
		roomNumber  = 'Q180516'
	},

	-- Display and performance options for vCard / Listing module
	options = {
		defaultAuto     = true,  -- vCard default auto mode
		defaultShow     = 'poi',
		lasteditHours   = true,
		normalizeValues = { 'type', 'subtype', 'show', 'status', 'symbol' },
		noStarParams    = { 'nameExtra', 'nameLocal', 'alt', 'comment' },
		noTypeMsgs      = true,  -- prevents display of maintenance( typeFromWD, typeIsGroup )
		parameters      = { 'nameExtra', 'subtype', 'wikipedia' }, -- parameter is used
		showIata        = true,  -- possible values true, false
		showIcao        = true,
		showLocalData   = true,  -- names, addresses, directions
		showSisters     = true,  -- possible values true, false, 'atEnd'
		showUnesco      = true,
		useMobile       = true,  -- distinguish landline and mobile phones
		usePropertyCateg= true,  -- for Wikidata properties
		useTypeCateg    = true,  -- for marker types

		-- useful but not necessary function calls
		WDmediaCheck    = false, -- check file names retrieved from Wikidata
		mediaCheck      = false, -- for better performance, otherwise expensive
		                         -- mw.title.new( 'Media:' .. image ) call is used
		secondaryCoords = false, -- adding listing coordinates to article database
		                         -- using #coordinates parser function
		skipPathCheck   = false  -- for URL check, see Module:UrlCheck
	},

	-- Languages for fallbacks, except wiki language
	langs = { 'en', 'fr' }, -- array can be empty

	-- Formatting numbers: replacement patterns
	formatnum = {
		decimalPoint   = ',',
		groupSeparator = '.'
	},

	-- strings
	texts = {
		asOf           = '; a partir de %s', -- with semicolon separator
		from           = "desde %s",
		fromTo         = "%s–%s",
		to             = "hasta %s",
		fromTo2        = '%s hasta %s',

		-- General, i18n
		closeX         = '[[File:Close x - white.png|15px|link=|class=noviewer|Símbolo de marcador desconocido]]',
		missingName    = 'Falta el nombre',
		-- In case of CJK languages no spaces are used with punctuation
		-- Enumeration commas. listing-comma is used for alt names only
		comma          = '<span class="listing-comma">, ​</span>', -- with zero-width space
		commaSeparator = ', ',
		period         = '.',
		periodSeparator= '. ',
		-- Space following a punctuation mark
		space          = ' ',
		parentheses    = ' (%s)',

		-- Marker
		CategoryNS     = { '[Cc]ategory', '[Cc]ategoría' },
		FileNS         = { '[Ff]ile', '[Ii]mage', '[Aa]rchivo', '[Ii]magen' },
		latitude       = 'latitud',
		longitude      = 'longitud',
		tooltip        = 'número en el mapa\\nHacer clic: directamente al mapa',

		-- vCard / Listing module
		checkin        = 'Hora de entrada: %s',
		checkout       = 'hora de salida: %s',
		closed         = 'cerrado: %s',
		closedPattern  = '^[Cc]errado:?%s*',
		email          = '<abbr title="correo electrónico" style="text-decoration:none;">✉</abbr>: %s',
		expirationPeriod = 'now - 3 years',
		fax            = 'fax: %s',
		hintName       = 'nombre en el idioma local %s',
		hintLatin      = 'nombre en transcripción latina',
		hintAddress    = 'dirección en el idioma local %s',
		hintAddress2   = 'dirección en %s',
		hintDirections = 'ubicación en el idioma local %s',
		hours          = '<abbr title="horario">🕓</abbr> %s',
		iata           = '[[w:Asociación Internacional de Transporte Aéreo|IATA]]: %s',
		icao           = '[[w:Organización de Aviación Civil Internacional|ICAO]]: %s',
		lastedit       = 'última edición: %s',
		lasteditNone   = 'sin información',
		maybeOutdated  = '(la información puede estar desactualizada)[[Categoría:Vcard: Información desactualizada]]',
		mobile         = 'teléfono móvil: %s',
		payment        = 'Formas de pago aceptadas: %s',
		phone          = '<abbr title="teléfono" style="text-decoration:none">☎</abbr> %s',
		price          = 'Precio: %s',
		skype          = 'Skype: %s',
		subtype        = 'Característica: %s.',
		subtypes       = 'Características: %s.',
		subtypeAbbr    = '<abbr title="%s">%s</abbr>',
		subtypeFile    = '[[File:%s|x14px|link=|class=noviewer listing-subtype-icon|%s]]',
		subtypeSpan    = '<span title="%s">%s</span>',
		subtypeWithCount = '%d %s',
		tollfree       = 'teléfono gratuito: %s'
	},

	-- namespaces without maintenance messages
	nsNoMaintenance = {
		[ 4 ]   = true,
		[ 10 ]  = true,
		[ 828 ] = true
	},

	-- format strings for mu.addMaintenance
	formats = {
		category = '[[Categoría:%s]]',
		error    = ' <span class="error">%s</span>',
		hint     = ' <span class="listing-check-recommended" style="display: none;">%s</span>'
	},

	-- maintenance
	maintenance = {
		-- general
		properties     = '[[Categoría:Páginas usando la propiedad %s de Wikidata]]',
		type           = { category = 'Páginas con el tipo de marcador %s' },

		urlWithIP      = { category = 'La URL contiene una dirección IP', hint = 'La URL contiene una dirección IP' },
		wrongUrl       = { category = 'La URL no es válida', err = 'La URL no es válida' },

		commonscat     = { category = 'Vcard: Parámetro commonscat utilizado' },
		commonscatWD   = { category = 'Vcard: Parámetro commonscat utilizado junto con Wikidata' },
		currencyTooltip= { category = 'Vcard: Información sobre herramientas de moneda utilizada' },
		dmsCoordinate  = { category = 'Vcard: Coordenadas DMS', hint = 'Coordenadas DMS' },
		duplicateAliases = { category = 'Vcard: Alias duplicados', err = 'Alias duplicados: %s' },
		groupUsed      = { category = 'Vcard: Grupo de parámetros utilizados' },
		illegalCtrls   = { category = 'Vcard: Parámetros con caracteres de control no autorizados', err = 'Parámetros con caracteres de control no autorizados' },
		labelFromWD    = { category = 'Vcard: Etiqueta de Wikidata', hint = 'Etiqueta de Wikidata' },
		linkIsRedirect = { category = 'Vcard: El enlace del artículo es una redirección' },
		linkToOtherWV  = { category = 'Vcard: Otros enlaces de Wikivoyage' },
		malformedName  = { category = 'Vcard: Nombre incorrecto', err = 'Nombre incorrecto' },
		missingImg     = { category = 'Vcard: El archivo no existe', err = 'Imagen no disponible: %s' },
		missingNameMsg = { category = 'Vcard: Sin nombre', err = 'Falta el nombre' },
		missingType    = { category = 'Vcard: Falta el tipo', err = 'Falta el tipo' },
		nameFromWD     = { category = 'Vcard: Nombre obtenido de Wikidata', err = 'Nombre obtenido de Wikidata' },
		nameWithStar   = { category = 'Vcard: Nombre contiene un estrella', err = 'Nombre contiene un estrella' },
		outdated       = { category = 'Vcard: Evento desactualizado', err = 'Evento desactualizado' },
		parameterUsed  = { category = 'Vcard: Parámetro %s utilizado' },
		deleteShowCopy = { category = 'Vcard: show=copy eliminada', hint = 'show=copy eliminada' },
		inlineSelected = { category = 'Vcard: show=inline en línea' },
		showPoiUsed    = { category = 'Vcard: show=poi en línea' },
		typeFromWDchain= { category = 'Vcard: Tipo obtenido de cadena de Wikidata', hint = 'Tipo obtenido de Wikidata' },
		typeIsGroup    = { category = 'Vcard: El tipo es la designación del grupo', hint = 'El tipo es la designación del grupo' },
		typeIsColor    = { category = 'Vcard: El tipo es la designación del color', hint = 'El tipo es la designación del color' },
		unknownCountry = { category = 'Vcard: Código de país desconocido', err = 'Código de país desconocido' },
		unknownGroup   = { category = 'Vcard: Grupo desconocido', err = 'Grupo desconocido' },
		unknownLanguage= { category = 'Vcard: Idioma local desconocido', hint = 'Idioma local desconocido' },
		unknownParam   = { category = 'Vcard: Parámetro desconocido', err = 'Parámetro desconocido: %s' },
		unknownParams  = { category = 'Vcard: Parámetro desconocido', err = 'Parámetros desconocidos: %s' },
		unknownPropertyLanguage= { category = 'Vcard: Idioma desconocido para la propiedad', hint = 'Idioma desconocido para la propiedad' },
		unknownStatus  = { category = 'Vcard: Estado desconocido', err = 'Estado desconocido' },
		unknownType    = { category = 'Vcard: Tipo desconocido', err = 'Tipo desconocido' },
		unusedRedirect = { category = 'Vcard: Enlace de sitio de redireccionamiento no utilizado' },
		urlIsSocialMedia = { category = 'Vcard: La URL provista es de una red social', err = 'La URL provista es de una red social' },
		wikidata       = { category = 'Vcard: Uso de Wikidata' },
		wrongCoord     = { category = 'Vcard: Coordenadas incorrectas', err = 'Coordenadas incorrectas' },
		wrongImgName   = { category = 'Vcard: Nombre de archivo multimedia incorrecto', err = 'Nombre de archivo multimedia incorrecto' },
		wrongQualifier = { category = 'Vcard: Calificador de Wikidata defectuoso', err = 'Calificador de Wikidata defectuoso' },

		-- Marker module
		missingCoord   = { category = 'Marcador: Sin coordenadas', err = 'Falta la longitud y/o la latitud' },
		numberUsed     = { category = 'Marcador: Número asignado manualmente' },
		unknownIcon    = { category = 'Marcador: Símbolo desconocido' },

		-- vCard / Listing module
		countryFromWD  = { category = 'Vcard: Datos de países en Wikidata' },
		missingCoordVc = { category = 'Vcard: Sin coordenadas' },
		paymentUsed    = { category = 'Vcard: Métodos de pago especificados' },
		socialUrlUsed  = { category = 'Vcard: URL de las redes sociales utilizadas', hint = '%s-URL utilizada' },
		unitFromWD     = { category = 'Vcard: Unidad de Wikidata', hint = 'Unidad de Wikidata' },
		unknownLabel   = { category = 'Vcard: Etiqueta o identificación desconocida' },
		unknownMAKI    = { category = 'Vcard: Símbolo MAKI desconocido', hint = 'Símbolo MAKI desconocido' },
		unknownShow    = { category = 'Vcard: Valor desconocido para el evento', err = 'Valor(es) del evento desconocido(s): %s' },
		unknownSubtype = { category = 'Vcard: Valor desconocido para el subtipo', err = 'Valor(es) del subtipo desconocido: %s' },
		unknownUnit    = { category = 'Vcard: Unidades desconocidast', hint = 'Unidades desconocidas' },
		unknowWDfeatures = { category = 'Vcard: Características desconocidas de Wikidata', hint = 'Características desconocidas de Wikidata' },
		wrongDate      = { category = 'Vcard: Fecha incorrecta', err = 'Fecha incorrecta' },
		wrongSocialId  = { category = 'Vcard: ID incorrecta de red social', err = 'La ID de la red social suministrada es incorrecta: %s' },
		wrongSocialUrl = { category = 'Vcard: URL incorrecta de red social', err = 'La URL de la red social suministrada es incorrecta: %s' }
	},

	iconTitles = {
		commons    = '%s en el directorio de medios de Wikimedia Commons',
		facebook   = '%s en Facebook',
		flickr     = '%s en Flickr',
		instagram  = '%s en Instagram',
		internet   = 'Pagina web de esta institucion',
		rss        = 'Fuente web RSS de esta institucion',
		tiktok     = '%s en TikTok',
		twitter    = '%s en Twitter',
		wikidata   = '%s (%s) en la base de datos de Wikidata',
		wikipedia  = '%s en la enciclopedia Wikipedia',
		wikivoyage = '%s en la guía de viaje Wikivoyage en otro idioma',
		youtube    = '%s en YouTube'
	},

	-- social media services
	services = {
		{ key = 'facebook',  url = 'https://www.facebook.com/%s', pattern = { '^[-.%d%w]+$', '^[^%z\1-,/:-?\91-\94{-~]+/[1-9]%d+$' } },
		{ key = 'flickr',    url = 'https://www.flickr.com/photos/%s', pattern = '^%d%d%d%d%d+@N%d%d$' },
		{ key = 'instagram', url = 'https://www.instagram.com/%s/', pattern = { '^[0-9a-z_][0-9a-z._]+[0-9a-z_]$', '^explore/locations/%d+$' } },
		{ key = 'tiktok',    url = 'https://www.tiktok.com/@%s', pattern = '^[0-9A-Za-z_][0-9A-Za-z_.]+$' },
		{ key = 'twitter',   url = 'https://twitter.com/%s', pattern = '^[0-9A-Za-z_]+$' },
		{ key = 'youtube',   url = 'https://www.youtube.com/channel/%s', pattern = '^UC[-_0-9A-Za-z]+[AQgw]$' }
	},

	-- status symbols
	statuses = {
		none    = { alias = "class-0", label = "Sin clasificación" },
		stub    = { alias = "class-1", label = "Esbozo" },
		outline = { alias = "class-2", label = "Borrador del artículo" },
		usable  = { alias = "class-3", label = "Artículo útil" },
		guide   = { alias = "class-4", label = "Artículo completo" },
		star    = { alias = "class-5", label = "Artículo recomendado" },
		
		['top-hotel']  = { label = "Hotel excepcional" },
		['top-restaurant']  = { label = "Restaurante excepcional" },
		['top-sight']  = { label = "Atracción turística superior" },
		recommendation = { label = "Recomendación" }
	},

	-- Marker name styles
	nameStyles = {
		italic  = 'font-weight: normal; font-style: italic;',
		kursiv  = 'font-weight: normal; font-style: italic;', -- de: kursiv = italic
		normal  = 'font-weight: normal; font-style: normal;',
		station = 'font-weight: normal; white-space: nowrap; background: #f4f4f4; border: 1px solid #ddd; padding-left: 2px; padding-right: 2px;'
	},

	-- yes/no variants
	yesno = {
		y      = 'y',
		yes    = 'y',
		o      = 'y',
		oui    = 'y',
		['sí'] = 'y',
		si     = 'y',
		n      = 'n',
		no     = 'n',
		non    = 'n'
	},

	-- List of currencies without conversion tooltips
	noCurrencyConversion = {
		EUR = 1
	},

	-- Language-dependent sorting substitutes
	substitutes = {
		{ l = 'ä', as = 'a' },
		{ l = 'ö', as = 'o' },
		{ l = 'ü', as = 'u' },
		{ l = 'ß', as = 'ss' }
	}
}