feat(i18n): add French language support and enhance localization
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 French as a supported language across the application, updating locale files and adding translations for various components. - Enhanced language handling logic to accommodate French, ensuring proper detection and fallback mechanisms. - Updated UI elements to include French language options, improving accessibility for French-speaking users. - Refactored SEO handling to include French in hreflang links, enhancing search engine indexing for multilingual content. - Added new scripts for managing French translations and ensuring consistency across language files.
This commit is contained in:
@@ -10,6 +10,16 @@
|
||||
"windy": "Ventoso",
|
||||
"clear": "Despejado"
|
||||
},
|
||||
"conditionBand": {
|
||||
"excellent": "Excelente",
|
||||
"veryGood": "Muy bueno",
|
||||
"good": "Bueno",
|
||||
"moderate": "Regular",
|
||||
"bad": "Malo",
|
||||
"veryBad": "Muy malo",
|
||||
"catastrophic": "Crítico",
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"statusbar": {
|
||||
"age": "Edad",
|
||||
"wealth": "Patrimonio",
|
||||
@@ -128,7 +138,8 @@
|
||||
"loading": "Cargando posibles herederos…",
|
||||
"noHeirs": "No hay herederos disponibles.",
|
||||
"select": "Elegir como personaje",
|
||||
"error": "Error al elegir al heredero."
|
||||
"error": "Error al elegir al heredero.",
|
||||
"success": "Ahora juegas con el heredero elegido."
|
||||
},
|
||||
"metadata": {
|
||||
"title": "Datos personales",
|
||||
@@ -194,6 +205,32 @@
|
||||
"stockHint": "Vista resumida del inventario en todas las regiones.",
|
||||
"open": "Abrir"
|
||||
},
|
||||
"routine": {
|
||||
"branch": {
|
||||
"kicker": "Rutina",
|
||||
"title": "Abrir una sucursal",
|
||||
"description": "La ruta más rápida a producción, almacén, ventas y transporte.",
|
||||
"cta": "Ir a operaciones"
|
||||
},
|
||||
"finance": {
|
||||
"kicker": "Resumen",
|
||||
"title": "Revisar finanzas",
|
||||
"description": "Saldo, historial y evolución económica sin buscar mucho.",
|
||||
"cta": "Historial de dinero"
|
||||
},
|
||||
"family": {
|
||||
"kicker": "Personaje",
|
||||
"title": "Familia y sucesión",
|
||||
"description": "Decisiones personales y estado del hogar en un solo lugar.",
|
||||
"cta": "Abrir familia"
|
||||
},
|
||||
"house": {
|
||||
"kicker": "Propiedad",
|
||||
"title": "Casa y entorno",
|
||||
"description": "Residencia y día a día como área de trabajo propia.",
|
||||
"cta": "Ir a la casa"
|
||||
}
|
||||
},
|
||||
"productions": {
|
||||
"title": "Producciones"
|
||||
},
|
||||
@@ -1052,20 +1089,44 @@
|
||||
"highestOfficeAny": "Cargo más alto en total",
|
||||
"none": "ninguno",
|
||||
"nextTitle": "Siguiente título posible",
|
||||
"advanceNoNext": "Error: no hay información sobre el siguiente título. Recarga la página.",
|
||||
"requirement": {
|
||||
"money": "Patrimonio mínimo {amount}",
|
||||
"cost": "Coste: {amount}",
|
||||
"branches": "Al menos {amount} sucursales",
|
||||
"reputation": "Popularidad mínima {amount}",
|
||||
"house_position": "Casa al menos nivel {amount}",
|
||||
"house_condition": "Estado de la casa al menos {amount}",
|
||||
"house_position": "Hogar al menos: {label}",
|
||||
"house_condition": "Estado de la casa al menos {quality}",
|
||||
"office_rank_any": "Cargo político o eclesiástico más alto al menos rango {amount}",
|
||||
"office_rank_political": "Cargo político más alto al menos rango {amount}",
|
||||
"lover_count_min": "Al menos {amount} amantes o favoritos",
|
||||
"lover_count_max": "Como máximo {amount} amantes o favoritos"
|
||||
"lover_count_max": "Como máximo {amount} amantes o favoritos",
|
||||
"unknown": "{type}: {amount}"
|
||||
},
|
||||
"housePosition": {
|
||||
"1": "Vivir bajo un puente",
|
||||
"2": "Una choza de paja",
|
||||
"3": "Una casa de madera",
|
||||
"4": "Un cuarto en el patio",
|
||||
"5": "Una casa familiar pequeña",
|
||||
"6": "Una casa urbana",
|
||||
"7": "Una villa",
|
||||
"8": "Una mansión",
|
||||
"9": "Un castillo",
|
||||
"fallback": "Nivel de casa {level}"
|
||||
},
|
||||
"houseConditionQuality": {
|
||||
"nearPerfect": "casi impecable",
|
||||
"veryGood": "muy bueno",
|
||||
"good": "bueno",
|
||||
"decent": "decente",
|
||||
"usable": "aceptable"
|
||||
},
|
||||
"houseConditionPercent": "{pct} %",
|
||||
"officeWithRank": "{label} (rango {rank})",
|
||||
"advance": {
|
||||
"confirm": "Solicitar ascenso"
|
||||
"confirm": "Solicitar ascenso",
|
||||
"processing": "Procesando…"
|
||||
},
|
||||
"cooldown": "Podrás ascender de nuevo como muy pronto el {date}.",
|
||||
"errors": {
|
||||
@@ -1358,6 +1419,9 @@
|
||||
"elections": "Elecciones"
|
||||
},
|
||||
"bookmarkCandidate": "Recordar esta candidatura",
|
||||
"voteSuccess": "Voto enviado correctamente.",
|
||||
"voteAllSuccess": "Todos los votos se enviaron correctamente.",
|
||||
"applyBookmarkSuccess": "Candidaturas guardadas correctamente.",
|
||||
"voteError": "Error al emitir el voto",
|
||||
"voteAllError": "Error al emitir los votos",
|
||||
"applyError": "No se pudo enviar la candidatura.",
|
||||
|
||||
Reference in New Issue
Block a user