feat(i18n): implement deep merging for locale chunks and enhance Cebuano translations
All checks were successful
Deploy to production / deploy (push) Successful in 2m48s
All checks were successful
Deploy to production / deploy (push) Successful in 2m48s
- Introduced a deep merge function to combine locale chunks, improving the handling of language data for Cebuano. - Updated Cebuano locale files with comprehensive translations, including new sections for admin, social network, and settings. - Enhanced existing translations for clarity and consistency across various components, ensuring a better user experience. - Added new fields in the settings and profile sections to capture more user attributes, improving personalization options.
This commit is contained in:
@@ -1,11 +1,61 @@
|
||||
{
|
||||
"blog": {
|
||||
"blog": {
|
||||
"posts": "Publicaciones",
|
||||
"noPosts": "No hay publicaciones.",
|
||||
"newPost": "Escribir nueva publicación",
|
||||
"title": "Blog",
|
||||
"title": "Título",
|
||||
"publish": "Publicar",
|
||||
"pickImage": "Seleccionar imagen",
|
||||
"uploadImage": "Subir imagen"
|
||||
"uploadImage": "Subir imagen",
|
||||
"list": {
|
||||
"eyebrow": "Blogs de la comunidad",
|
||||
"title": "Blogs",
|
||||
"intro": "Artículos, avances de proyectos y miradas personales de la comunidad YourPart.",
|
||||
"create": "Crear nuevo blog",
|
||||
"loading": "Cargando…",
|
||||
"empty": "No se han encontrado blogs.",
|
||||
"by": "por",
|
||||
"unknownAuthor": "Desconocido",
|
||||
"open": "Ir al blog",
|
||||
"fallbackExcerpt": "Entradas públicas, ideas y avances de proyectos de la comunidad."
|
||||
},
|
||||
"view": {
|
||||
"loading": "Cargando…",
|
||||
"edit": "Editar",
|
||||
"entriesCount": "{count} entradas",
|
||||
"empty": "No hay entradas.",
|
||||
"fallbackDescription": "Blog público de la comunidad en YourPart.",
|
||||
"notFoundTitle": "Blog no encontrado | YourPart",
|
||||
"notFoundDescription": "No se pudo cargar el blog solicitado."
|
||||
},
|
||||
"editor": {
|
||||
"createTitle": "Crear blog",
|
||||
"editTitle": "Editar blog",
|
||||
"description": "Descripción",
|
||||
"visibility": "Visibilidad",
|
||||
"visibilityPublic": "Público",
|
||||
"visibilityLoggedIn": "Solo usuarios con sesión iniciada",
|
||||
"ageRange": "Rango de edad",
|
||||
"gender": "Género",
|
||||
"genderMale": "Masculino",
|
||||
"genderFemale": "Femenino",
|
||||
"save": "Guardar",
|
||||
"newPostTitle": "Nueva entrada",
|
||||
"addPost": "Añadir entrada",
|
||||
"shareTitle": "Compartir blog",
|
||||
"url": "URL",
|
||||
"copyLink": "Copiar enlace",
|
||||
"shareToFriends": "Enviar a amigos",
|
||||
"emailAddresses": "Direcciones de correo (separadas por comas)",
|
||||
"send": "Enviar",
|
||||
"restrictedHint": "Nota: este blog no es público. Los destinatarios pueden necesitar iniciar sesión y permisos de edad/género adecuados.",
|
||||
"invalidAgeRange": "Rango de edad no válido",
|
||||
"copySuccess": "Enlace copiado",
|
||||
"copyError": "No se pudo copiar",
|
||||
"shareError": "Error al compartir",
|
||||
"emailError": "Error al enviar el correo",
|
||||
"friendsSent": "Enviado a {count} amigo(s).",
|
||||
"emailsSent": "{count} correo(s) enviado(s)."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,9 @@
|
||||
},
|
||||
"notifications": {
|
||||
"notify_election_created": "Se ha convocado una nueva elección.",
|
||||
"director_death": "{characterName} ha fallecido a la edad de {ageYears} años. Como empleador debes nombrar un nuevo director.{regionLabel}{spouses}{children}{lovers}",
|
||||
"relationship_death": "{characterName} ha fallecido a la edad de {ageYears} años.{regionLabel}{spouses}{children}{lovers}",
|
||||
"child_death": "Tu hijo/a {characterName} ha fallecido a la edad de {ageYears} años.{regionLabel}",
|
||||
"production": {
|
||||
"overproduction": "Sobreproducción: tu producción está un {value}% por encima de la demanda."
|
||||
},
|
||||
@@ -118,12 +121,22 @@
|
||||
},
|
||||
"overview": {
|
||||
"title": "Falukant - Resumen",
|
||||
"heroIntro": "Tu situación en economía, familia y patrimonio, de un vistazo.",
|
||||
"heirSelection": {
|
||||
"title": "Elección de heredero",
|
||||
"description": "Tu personaje anterior ya no está disponible. Elige un heredero de la lista para seguir jugando.",
|
||||
"loading": "Cargando posibles herederos…",
|
||||
"noHeirs": "No hay herederos disponibles.",
|
||||
"select": "Elegir como personaje",
|
||||
"error": "Error al elegir al heredero."
|
||||
},
|
||||
"metadata": {
|
||||
"title": "Datos personales",
|
||||
"name": "Nombre",
|
||||
"money": "Patrimonio",
|
||||
"age": "Edad",
|
||||
"years": "años",
|
||||
"days": "días",
|
||||
"mainbranch": "Ciudad natal",
|
||||
"nobleTitle": "Rango",
|
||||
"certificate": "Certificado"
|
||||
@@ -171,6 +184,16 @@
|
||||
"two_of": "Al menos dos condiciones de estatus"
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"certificateHint": "Determina qué categorías de producto puedes fabricar ahora.",
|
||||
"branches": "Sucursales",
|
||||
"branchesHint": "Acceso directo a tus principales ubicaciones.",
|
||||
"productions": "Producciones activas",
|
||||
"productionsHint": "Producciones en curso que pronto requieren conclusión o control.",
|
||||
"stock": "Posiciones de almacén",
|
||||
"stockHint": "Vista resumida del inventario en todas las regiones.",
|
||||
"open": "Abrir"
|
||||
},
|
||||
"productions": {
|
||||
"title": "Producciones"
|
||||
},
|
||||
@@ -196,6 +219,8 @@
|
||||
"toddler": "niño pequeño",
|
||||
"child": "niño",
|
||||
"adolescence": "joven",
|
||||
"teen": "jovencito",
|
||||
"youngAdult": "joven adulto",
|
||||
"adult": "hombre",
|
||||
"mature": "señor",
|
||||
"elder": "anciano"
|
||||
@@ -205,6 +230,8 @@
|
||||
"toddler": "niña pequeña",
|
||||
"child": "niña",
|
||||
"adolescence": "joven",
|
||||
"teen": "jovencita",
|
||||
"youngAdult": "joven adulta",
|
||||
"adult": "mujer",
|
||||
"mature": "señora",
|
||||
"elder": "anciana"
|
||||
@@ -256,6 +283,8 @@
|
||||
},
|
||||
"branch": {
|
||||
"title": "Sucursal",
|
||||
"heroEyebrow": "Sucursal",
|
||||
"heroIntro": "Producción, almacén, venta y transporte en un panel ligado al mundo del juego.",
|
||||
"debtorsPrison": {
|
||||
"branchLocked": "En la prisión por deudas se bloquean los nuevos pasos económicos. Las sucursales cerradas o embargadas también se reflejarán aquí.",
|
||||
"branchRisk": "Tu mora pone en peligro sucursales, vehículos y mercancías almacenadas.",
|
||||
@@ -393,7 +422,10 @@
|
||||
"current": "Producciones en curso",
|
||||
"product": "Producto",
|
||||
"remainingTime": "Tiempo restante (segundos)",
|
||||
"noProductions": "No hay producciones en curso."
|
||||
"noProductions": "No hay producciones en curso.",
|
||||
"status": "Estado",
|
||||
"sleep": "En pausa",
|
||||
"active": "Activo"
|
||||
},
|
||||
"columns": {
|
||||
"city": "Ciudad",
|
||||
@@ -792,6 +824,23 @@
|
||||
"time": "Hora",
|
||||
"prev": "Anterior",
|
||||
"next": "Siguiente",
|
||||
"graph": {
|
||||
"open": "Mostrar evolución",
|
||||
"title": "Evolución del dinero",
|
||||
"close": "Cerrar",
|
||||
"loading": "Cargando historial…",
|
||||
"noData": "No hay movimientos en el periodo seleccionado.",
|
||||
"yesterday": "Ayer",
|
||||
"range": {
|
||||
"label": "Periodo",
|
||||
"today": "Hoy",
|
||||
"24h": "Últimas 24 horas",
|
||||
"week": "Última semana",
|
||||
"month": "Último mes",
|
||||
"year": "Último año",
|
||||
"all": "Todo el historial"
|
||||
}
|
||||
},
|
||||
"activities": {
|
||||
"Product sale": "Productos vendidos",
|
||||
"Production cost": "Costes de producción",
|
||||
@@ -882,7 +931,8 @@
|
||||
"apathetic": "Apático",
|
||||
"relieved": "Aliviado",
|
||||
"proud": "Orgulloso",
|
||||
"ashamed": "Avergonzado"
|
||||
"ashamed": "Avergonzado",
|
||||
"calm": "Tranquilo"
|
||||
},
|
||||
"character": {
|
||||
"brave": "Valiente",
|
||||
@@ -1027,7 +1077,34 @@
|
||||
"reputation": {
|
||||
"title": "Reputación",
|
||||
"overview": {
|
||||
"title": "Resumen"
|
||||
"title": "Resumen",
|
||||
"current": "Reputación actual"
|
||||
},
|
||||
"actions": {
|
||||
"title": "Acciones de reputación",
|
||||
"description": "Puedes realizar distintas acciones para mejorar tu reputación.",
|
||||
"none": "No hay acciones de reputación disponibles.",
|
||||
"action": "Acción",
|
||||
"cost": "Coste",
|
||||
"gain": "Ganancia",
|
||||
"timesUsed": "Usado",
|
||||
"execute": "Ejecutar",
|
||||
"running": "En curso…",
|
||||
"dailyLimit": "Límite diario: quedan {remaining} de {cap} acciones",
|
||||
"cooldown": "Enfriamiento: aún {minutes} minutos",
|
||||
"type": {
|
||||
"soup_kitchen": "Comedor social",
|
||||
"library_donation": "Donación a la biblioteca",
|
||||
"scholarships": "Becas",
|
||||
"church_hospice": "Hospicio eclesiástico",
|
||||
"school_funding": "Financiación escolar",
|
||||
"orphanage_build": "Construir orfanato",
|
||||
"bridge_build": "Construir puente",
|
||||
"hospital_donation": "Donación al hospital",
|
||||
"patronage": "Mecenazgo",
|
||||
"statue_build": "Erigir estatua",
|
||||
"well_build": "Construir pozo"
|
||||
}
|
||||
},
|
||||
"party": {
|
||||
"title": "Fiestas",
|
||||
@@ -1078,6 +1155,17 @@
|
||||
},
|
||||
"church": {
|
||||
"title": "Iglesia",
|
||||
"offices": {
|
||||
"lay-preacher": "Predicador laico",
|
||||
"village-priest": "Párroco del pueblo",
|
||||
"parish-priest": "Párroco",
|
||||
"dean": "Decano",
|
||||
"archdeacon": "Arcediano",
|
||||
"bishop": "Obispo",
|
||||
"archbishop": "Arzobispo",
|
||||
"cardinal": "Cardenal",
|
||||
"pope": "Papa"
|
||||
},
|
||||
"tabs": {
|
||||
"baptism": "Bautizos",
|
||||
"current": "Cargos actuales",
|
||||
@@ -1254,7 +1342,12 @@
|
||||
"drunkOfLife": "Elixir de la vida",
|
||||
"barber": "Barbero"
|
||||
},
|
||||
"choose": "Por favor, selecciona"
|
||||
"choose": "Por favor, selecciona",
|
||||
"errors": {
|
||||
"tooClose": "No puedes aplicar medidas tan a menudo.",
|
||||
"generic": "Se ha producido un error."
|
||||
},
|
||||
"nextMeasureAt": "Próxima medida a partir de"
|
||||
},
|
||||
"politics": {
|
||||
"title": "Política",
|
||||
@@ -1264,6 +1357,10 @@
|
||||
"upcoming": "Cargos pendientes de (re)elección",
|
||||
"elections": "Elecciones"
|
||||
},
|
||||
"bookmarkCandidate": "Recordar esta candidatura",
|
||||
"voteError": "Error al emitir el voto",
|
||||
"voteAllError": "Error al emitir los votos",
|
||||
"applyError": "No se pudo enviar la candidatura.",
|
||||
"benefits": {
|
||||
"daily_salary": "Estipendio diario (una vez al día): {amount}",
|
||||
"tax_exemption": "Exención fiscal: {regions}",
|
||||
@@ -1326,9 +1423,13 @@
|
||||
"region": "Región",
|
||||
"date": "Fecha",
|
||||
"candidacy": "Candidatura",
|
||||
"candidacyWithAge": "Candidatura (desde 16 años)",
|
||||
"none": "No hay cargos abiertos.",
|
||||
"apply": "Presentarse a los cargos seleccionados"
|
||||
"apply": "Presentarse a los cargos seleccionados",
|
||||
"minAgeHint": "La candidatura solo es posible a partir de 16 años.",
|
||||
"ageRequirement": "Para todos los cargos políticos: candidatura solo a partir de 16 años."
|
||||
},
|
||||
"too_young": "Tu personaje es demasiado joven. La candidatura solo es posible a partir de 16 años.",
|
||||
"upcoming": {
|
||||
"office": "Cargo",
|
||||
"region": "Región",
|
||||
|
||||
@@ -32,7 +32,13 @@
|
||||
"totalScore": "Puntuación total",
|
||||
"totalStars": "Estrellas totales",
|
||||
"levelsCompleted": "Niveles completados",
|
||||
"restartCampaign": "Reiniciar campaña"
|
||||
"restartCampaign": "Reiniciar campaña",
|
||||
"nextStep": "Siguiente paso",
|
||||
"objectivesCollapse": "Ocultar objetivos",
|
||||
"objectivesShow": "Mostrar objetivos",
|
||||
"objectives": "Objetivos",
|
||||
"loadingBoard": "Preparando el tablero…",
|
||||
"loadingHint": "Sincronizando datos del nivel, objetivos y disposición del campo."
|
||||
},
|
||||
"taxi": {
|
||||
"title": "Taxi Simulator",
|
||||
@@ -64,6 +70,34 @@
|
||||
"refuel": "Repostar",
|
||||
"startEngine": "Arrancar motor",
|
||||
"stopEngine": "Parar motor",
|
||||
"controls": "Controles",
|
||||
"accelerate": "Acelerar",
|
||||
"brake": "Frenar",
|
||||
"steerRight": "Girar a la derecha",
|
||||
"steerLeft": "Girar a la izquierda",
|
||||
"goals": "Objetivos",
|
||||
"avoidCollisions": "Evita colisiones con otros vehículos",
|
||||
"streetNames": "Nombres de calles",
|
||||
"remainingVehicles": "Vehículos restantes",
|
||||
"fuelTitle": "Combustible",
|
||||
"pointsTitle": "Puntos",
|
||||
"speedViolations": "Infracciones de velocidad",
|
||||
"redLightsPassed": "Semáforos en rojo saltados",
|
||||
"highscore": "Récords",
|
||||
"topPlayers": "Top 20 jugadores",
|
||||
"loadingHighscore": "Cargando récords…",
|
||||
"noHighscore": "Aún no hay récords",
|
||||
"pointsShort": "pts",
|
||||
"backToGame": "Volver al juego",
|
||||
"minimap": "Minimapa",
|
||||
"loadedPassengers": "Pasajeros a bordo",
|
||||
"waitingPassengers": "Pasajeros en espera",
|
||||
"noPassengersInTaxi": "No hay pasajeros en el taxi",
|
||||
"noWaitingPassengers": "No hay pasajeros esperando",
|
||||
"name": "Nombre",
|
||||
"destination": "Destino",
|
||||
"bonus": "Bonificación",
|
||||
"time": "Tiempo",
|
||||
"crash": {
|
||||
"title": "¡Accidente!",
|
||||
"message": "¡Has tenido un accidente! Choques: {crashes}"
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"passwordReset": {
|
||||
"title": "Restablecer contraseña",
|
||||
"email": "E-Mail",
|
||||
"passwordReset": {
|
||||
"title": "Restablecer contraseña",
|
||||
"email": "Correo electrónico",
|
||||
"reset": "Restablecer",
|
||||
"success": "Si el correo electrónico existe, se ha enviado una guía para restablecer la contraseña.",
|
||||
"failure": "No se pudo restablecer la contraseña. Inténtalo de nuevo más tarde."
|
||||
"success": "Si el correo existe, se ha enviado una guía para restablecer la contraseña.",
|
||||
"failure": "No se pudo restablecer la contraseña. Inténtalo de nuevo más tarde.",
|
||||
"emailHint": "Enviaremos el enlace a la dirección de correo registrada.",
|
||||
"validation": {
|
||||
"invalidEmail": "Introduce una dirección de correo válida."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,29 @@
|
||||
{
|
||||
"register": {
|
||||
"title": "Registrarse",
|
||||
"email": "Dirección de correo electrónico",
|
||||
"username": "Nombre de usuario",
|
||||
"password": "Contraseña",
|
||||
"repeatPassword": "Repetir contraseña",
|
||||
"language": "Idioma",
|
||||
"languages": {
|
||||
"en": "Inglés",
|
||||
"de": "Alemán"
|
||||
},
|
||||
"register": "Registrarse",
|
||||
"close": "Cerrar",
|
||||
"failure": "Se ha producido un error.",
|
||||
"success": "Te has registrado correctamente. Revisa tu correo electrónico para activar tu cuenta.",
|
||||
"passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"emailinuse": "La dirección de correo electrónico ya está en uso.",
|
||||
"usernameinuse": "El nombre de usuario no está disponible."
|
||||
"register": {
|
||||
"title": "Registrarse en yourPart",
|
||||
"email": "Dirección de correo electrónico",
|
||||
"username": "Nombre de usuario",
|
||||
"password": "Contraseña",
|
||||
"repeatPassword": "Repetir contraseña",
|
||||
"language": "Idioma",
|
||||
"languages": {
|
||||
"en": "Inglés",
|
||||
"de": "Alemán",
|
||||
"ceb": "Bisaya",
|
||||
"es": "Español"
|
||||
},
|
||||
"register": "Registrarse",
|
||||
"close": "Cerrar",
|
||||
"failure": "Se ha producido un error.",
|
||||
"success": "Te has registrado correctamente. Revisa tu correo para activar tu cuenta.",
|
||||
"passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"emailinuse": "La dirección de correo ya está en uso.",
|
||||
"usernameinuse": "El nombre de usuario no está disponible.",
|
||||
"validation": {
|
||||
"invalidEmail": "Introduce una dirección de correo válida.",
|
||||
"usernameTooShort": "El nombre de usuario debe tener al menos 3 caracteres.",
|
||||
"passwordHint": "Al menos 8 caracteres.",
|
||||
"passwordTooShort": "La contraseña es demasiado corta."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,6 +142,8 @@
|
||||
},
|
||||
"account": {
|
||||
"title": "Account",
|
||||
"heroEyebrow": "Ajustes",
|
||||
"heroIntro": "Gestiona nombre de usuario, correo, contraseña y visibilidad en un solo lugar.",
|
||||
"username": "Nombre de usuario",
|
||||
"email": "Dirección de correo electrónico",
|
||||
"newpassword": "Contraseña",
|
||||
@@ -151,6 +153,15 @@
|
||||
"showinsearch": "Mostrar en búsquedas de usuarios",
|
||||
"changeaction": "Actualizar datos de usuario",
|
||||
"oldpassword": "Contraseña anterior (obligatoria)",
|
||||
"validation": {
|
||||
"newPasswordTooShort": "La nueva contraseña debe tener al menos 8 caracteres.",
|
||||
"passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"oldPasswordRequired": "Se necesita la contraseña actual para cambiarla."
|
||||
},
|
||||
"feedback": {
|
||||
"saved": "Los ajustes de la cuenta se guardaron correctamente.",
|
||||
"saveError": "Se produjo un error al guardar los ajustes de la cuenta."
|
||||
},
|
||||
"adultAccessTitle": "Área erótica",
|
||||
"adultAccessIntro": "El área erótica está destinada solo a usuarios adultos y además requiere aprobación de moderación.",
|
||||
"requestAdultVerification": "Solicitar acceso",
|
||||
@@ -218,6 +229,10 @@
|
||||
"AdultsOnly": "Solo adultos",
|
||||
"All": "Mostrar a todos"
|
||||
},
|
||||
"feedback": {
|
||||
"updateError": "No se pudo guardar el cambio.",
|
||||
"visibilityUpdateError": "No se pudo actualizar la visibilidad."
|
||||
},
|
||||
"flirt": {
|
||||
"title": "Flirt"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user