feat(i18n): add internationalization with i18next and expo-localization

This commit is contained in:
2026-08-08 10:09:30 +02:00
parent 408a2fa10c
commit 9946e78858
81 changed files with 1820 additions and 125 deletions
+21
View File
@@ -0,0 +1,21 @@
{
"workoutSentToWatch": "¡Entrenamiento enviado al Watch!",
"openWatchApp": "Abre la app SwimBuddy en tu Apple Watch para empezar el seguimiento.",
"failedToSend": "Error al enviar",
"couldNotSend": "No se pudo enviar el entrenamiento al Watch. Iniciando sin Watch.",
"startWithoutWatch": "Iniciar sin Watch",
"sendToWatchAndStart": "Enviar al Watch e iniciar",
"syncToWatch": "El entrenamiento se sincronizará con tu Apple Watch",
"trackedOnDevice": "El entrenamiento se rastreará en este dispositivo",
"rest": "Descanso",
"betweenSets": "{{duration}}s de descanso entre series",
"swimComplete": "¡Natación completada!",
"greatJob": "¡Buen trabajo! ¡Hoy has estado en el agua!",
"loadingSummary": "Cargando resumen...",
"watchStatus": {
"ready": "Apple Watch lista",
"pairedNotInRange": "Watch emparejada pero fuera de alcance",
"pairedNotInstalled": "Watch emparejada, app no instalada",
"noWatch": "Ninguna Watch emparejada"
}
}
+43
View File
@@ -0,0 +1,43 @@
{
"done": "Listo",
"cancel": "Cancelar",
"delete": "Eliminar",
"start": "Iniciar",
"back": "Volver",
"loading": "Cargando...",
"error": "Error",
"save": "Guardar",
"saving": "Guardando...",
"yes": "Sí",
"no": "No",
"confirm": "Confirmar",
"ok": "OK",
"distance": "Distancia",
"duration": "Duración",
"workouts": "Entrenamientos",
"sets": "Series",
"laps": "Largos",
"avgSwolf": "SWOLF prom.",
"pool": "Piscina de {{length}}m",
"untitledWorkout": "Entrenamiento sin nombre",
"swimSession": "Sesión de natación",
"workout": "Entrenamiento",
"kcal": "{{count}} kcal",
"meter": "{{count}}m",
"kilometer": "{{count}}km",
"pace": "{{pace}}/100m",
"noPace": "--:--",
"stroke": {
"freestyle": "Libre",
"backstroke": "Espalda",
"breaststroke": "Pecho",
"butterfly": "Mariposa",
"mixed": "Mixto"
},
"alert": {
"deleteWorkout": "Eliminar entrenamiento",
"deleteTemplate": "Eliminar plantilla",
"areYouSure": "¿Estás seguro?",
"deleteConfirm": "¿Eliminar \"{{name}}\"?"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"noCompletedYet": "Aún no hay entrenamientos completados",
"lap": "Largo {{number}}",
"statistics": "Estadísticas",
"thisWeek": "Esta semana",
"allTime": "Todos los tiempos",
"personalBests": "Récords personales",
"noDataYet": "Aún no hay datos",
"swolf": "SWOLF: {{value}}"
}
+12
View File
@@ -0,0 +1,12 @@
{
"workouts": "Entrenamientos",
"history": "Historial",
"settings": "Ajustes",
"newWorkout": "Nuevo entrenamiento",
"buildWorkout": "Crear entrenamiento",
"startSwim": "Iniciar natación",
"readyToSwim": "Listo para nadar",
"swimComplete": "Natación completada",
"session": "Sesión",
"sessionDetail": "Detalle de sesión"
}
+7
View File
@@ -0,0 +1,7 @@
{
"settings": "Ajustes",
"defaultPoolLength": "Longitud de piscina predeterminada",
"language": "Idioma",
"systemLanguage": "Idioma del sistema",
"version": "SwimBuddy v1.0.0"
}
+23
View File
@@ -0,0 +1,23 @@
{
"workoutName": "Nombre del entrenamiento",
"poolLength": "Longitud de la piscina",
"stroke": "Estilo",
"distanceM": "Distancia (m)",
"reps": "Repeticiones",
"restS": "Descanso (s)",
"addSet": "+ Añadir serie",
"remove": "Eliminar",
"setNumber": "Serie {{number}}",
"startSwim": "Iniciar natación",
"newWorkout": "+ Nuevo entrenamiento",
"noWorkoutsYet": "Aún no hay entrenamientos",
"tapNewWorkout": "Toca \"Nuevo entrenamiento\" para empezar",
"morningSwim": "Natación matutina",
"placeholder": {
"workoutName": "Natación matutina"
},
"validation": {
"error": "Error",
"failedToSave": "No se pudo guardar el entrenamiento: {{error}}"
}
}