mirror of
https://github.com/ManInDark/HabitTrove.git
synced 2026-01-21 06:34:30 +01:00
Added i18n support (#129)
This commit is contained in:
407
messages/es.json
Normal file
407
messages/es.json
Normal file
@@ -0,0 +1,407 @@
|
||||
{
|
||||
"Dashboard": {
|
||||
"title": "Tablero"
|
||||
},
|
||||
"HabitList": {
|
||||
"myTasks": "Mis tareas",
|
||||
"myHabits": "Mis hábitos",
|
||||
"addTaskButton": "Añadir tarea",
|
||||
"addHabitButton": "Añadir hábito",
|
||||
"searchTasksPlaceholder": "Buscar tareas...",
|
||||
"searchHabitsPlaceholder": "Buscar hábitos...",
|
||||
"sortByLabel": "Ordenar por:",
|
||||
"sortByName": "Nombre",
|
||||
"sortByCoinReward": "Recompensa de monedas",
|
||||
"sortByDueDate": "Fecha límite",
|
||||
"sortByFrequency": "Frecuencia",
|
||||
"toggleSortOrderAriaLabel": "Cambiar orden de clasificación",
|
||||
"noTasksFoundMessage": "No se encontraron tareas que coincidan con tu búsqueda.",
|
||||
"noHabitsFoundMessage": "No se encontraron hábitos que coincidan con tu búsqueda.",
|
||||
"emptyStateTasksTitle": "Aún no hay tareas",
|
||||
"emptyStateHabitsTitle": "Aún no hay hábitos",
|
||||
"emptyStateTasksDescription": "Crea tu primera tarea para empezar a seguir tu progreso",
|
||||
"emptyStateHabitsDescription": "Crea tu primer hábito para empezar a seguir tu progreso",
|
||||
"archivedSectionTitle": "Archivado",
|
||||
"deleteTaskDialogTitle": "Eliminar tarea",
|
||||
"deleteHabitDialogTitle": "Eliminar hábito",
|
||||
"deleteTaskDialogMessage": "¿Estás seguro de que quieres eliminar esta tarea? Esta acción no se puede deshacer.",
|
||||
"deleteHabitDialogMessage": "¿Estás seguro de que quieres eliminar este hábito? Esta acción no se puede deshacer.",
|
||||
"deleteButton": "Eliminar"
|
||||
},
|
||||
"DailyOverview": {
|
||||
"addTaskButtonLabel": "Añadir tarea",
|
||||
"addHabitButtonLabel": "Añadir hábito",
|
||||
"todaysOverviewTitle": "Resumen de hoy",
|
||||
"dailyTasksTitle": "Tareas diarias",
|
||||
"noTasksDueTodayMessage": "No hay tareas para hoy. ¡Añade algunas para empezar!",
|
||||
"dailyHabitsTitle": "Hábitos diarios",
|
||||
"noHabitsDueTodayMessage": "No hay hábitos para hoy. ¡Añade algunos para empezar!",
|
||||
"wishlistGoalsTitle": "Objetivos de lista de deseos",
|
||||
"redeemableBadgeLabel": "{count}/{total} canjeable",
|
||||
"noWishlistItemsMessage": "Aún no hay items en la lista de deseos. ¡Añade algunas metas para trabajar!",
|
||||
"readyToRedeemMessage": "¡Listo para canjear!",
|
||||
"coinsToGoMessage": "Faltan {amount} monedas",
|
||||
"showLessButton": "Mostrar menos",
|
||||
"showAllButton": "Mostrar todo",
|
||||
"viewButton": "Ver",
|
||||
"deleteTaskDialogTitle": "Eliminar tarea",
|
||||
"deleteHabitDialogTitle": "Eliminar hábito",
|
||||
"confirmDeleteDialogMessage": "¿Estás seguro de que quieres eliminar \"{name}\"? Esta acción no se puede deshacer.",
|
||||
"deleteButton": "Eliminar",
|
||||
"overdueTooltip": "Vencido"
|
||||
},
|
||||
"HabitContextMenuItems": {
|
||||
"startPomodoro": "Iniciar Pomodoro",
|
||||
"moveToToday": "Mover a hoy",
|
||||
"moveToTomorrow": "Mover a mañana",
|
||||
"unpin": "Desanclar",
|
||||
"pin": "Anclar",
|
||||
"edit": "Editar",
|
||||
"archive": "Archivar",
|
||||
"unarchive": "Desarchivar",
|
||||
"delete": "Eliminar"
|
||||
},
|
||||
"HabitStreak": {
|
||||
"dailyCompletionStreakTitle": "Racha de finalización diaria",
|
||||
"tooltipHabitsLabel": "hábitos",
|
||||
"tooltipTasksLabel": "tareas",
|
||||
"tooltipCompletedLabel": "Completado"
|
||||
},
|
||||
"CoinBalance": {
|
||||
"coinBalanceTitle": "Saldo de monedas"
|
||||
},
|
||||
"AddEditHabitModal": {
|
||||
"editTaskTitle": "Editar tarea",
|
||||
"editHabitTitle": "Editar hábito",
|
||||
"addNewTaskTitle": "Añadir nueva tarea",
|
||||
"addNewHabitTitle": "Añadir nuevo hábito",
|
||||
"nameLabel": "Nombre *",
|
||||
"descriptionLabel": "Descripción",
|
||||
"whenLabel": "Cuándo *",
|
||||
"completeLabel": "Completar",
|
||||
"timesSuffix": "veces",
|
||||
"rewardLabel": "Recompensa",
|
||||
"coinsSuffix": "monedas",
|
||||
"shareLabel": "Compartir",
|
||||
"saveChangesButton": "Guardar cambios",
|
||||
"addTaskButton": "Añadir tarea",
|
||||
"addHabitButton": "Añadir hábito"
|
||||
},
|
||||
"ConfirmDialog": {
|
||||
"confirmButton": "Confirmar",
|
||||
"cancelButton": "Cancelar"
|
||||
},
|
||||
"AddEditWishlistItemModal": {
|
||||
"editTitle": "Editar recompensa",
|
||||
"addTitle": "Añadir nueva recompensa",
|
||||
"nameLabel": "Nombre *",
|
||||
"descriptionLabel": "Descripción",
|
||||
"costLabel": "Costo",
|
||||
"coinsSuffix": "monedas",
|
||||
"redeemableLabel": "Canjeable",
|
||||
"timesSuffix": "veces",
|
||||
"errorNameRequired": "El nombre es requerido",
|
||||
"errorCoinCostMin": "El costo en monedas debe ser al menos 1",
|
||||
"errorTargetCompletionsMin": "El número de finalizaciones objetivo debe ser al menos 1",
|
||||
"errorInvalidUrl": "Por favor ingresa una URL válida",
|
||||
"linkLabel": "Enlace",
|
||||
"shareLabel": "Compartir",
|
||||
"saveButton": "Guardar cambios",
|
||||
"addButton": "Añadir recompensa"
|
||||
},
|
||||
"Navigation": {
|
||||
"dashboard": "Tablero",
|
||||
"tasks": "Tareas",
|
||||
"habits": "Hábitos",
|
||||
"calendar": "Calendario",
|
||||
"wishlist": "Lista de deseos",
|
||||
"coins": "Monedas"
|
||||
},
|
||||
"TodayEarnedCoins": {
|
||||
"todaySuffix": "hoy"
|
||||
},
|
||||
"WishlistItem": {
|
||||
"usesLeftSingular": "uso restante",
|
||||
"usesLeftPlural": "usos restantes",
|
||||
"coinsSuffix": "monedas",
|
||||
"redeem": "Canjear",
|
||||
"redeemedDone": "Hecho",
|
||||
"redeemedExclamation": "¡Canjeado!",
|
||||
"editButton": "Editar",
|
||||
"archiveButton": "Archivar",
|
||||
"unarchiveButton": "Desarchivar",
|
||||
"deleteButton": "Eliminar"
|
||||
},
|
||||
"WishlistManager": {
|
||||
"title": "Mi lista de deseos",
|
||||
"addRewardButton": "Añadir recompensa",
|
||||
"emptyStateTitle": "Tu lista de deseos está vacía",
|
||||
"emptyStateDescription": "Añade recompensas que te gustaría ganar con tus monedas",
|
||||
"archivedSectionTitle": "Archivado",
|
||||
"popupBlockedTitle": "Popup bloqueado",
|
||||
"popupBlockedDescription": "Por favor permite los popups para abrir el enlace",
|
||||
"deleteDialogTitle": "Eliminar recompensa",
|
||||
"deleteDialogMessage": "¿Estás seguro de que quieres eliminar esta recompensa? Esta acción no se puede deshacer.",
|
||||
"deleteButton": "Eliminar"
|
||||
},
|
||||
"UserSelectModal": {
|
||||
"addUserButton": "Añadir usuario",
|
||||
"createNewUserTitle": "Crear nuevo usuario",
|
||||
"selectUserTitle": "Seleccionar usuario",
|
||||
"signInSuccessTitle": "Inicio de sesión exitoso",
|
||||
"signInSuccessDescription": "¡Bienvenido de nuevo, {username}!",
|
||||
"errorInvalidPassword": "contraseña inválida"
|
||||
},
|
||||
"CoinsManager": {
|
||||
"title": "Gestión de monedas",
|
||||
"currentBalanceLabel": "Saldo actual",
|
||||
"coinsSuffix": "monedas",
|
||||
"addCoinsButton": "Añadir monedas",
|
||||
"removeCoinsButton": "Quitar monedas",
|
||||
"statisticsTitle": "Estadísticas",
|
||||
"totalEarnedLabel": "Total ganado",
|
||||
"totalSpentLabel": "Total gastado",
|
||||
"totalTransactionsLabel": "Transacciones totales",
|
||||
"todaysEarnedLabel": "Ganado hoy",
|
||||
"todaysSpentLabel": "Gastado hoy",
|
||||
"todaysTransactionsLabel": "Transacciones hoy",
|
||||
"transactionHistoryTitle": "Historial de transacciones",
|
||||
"showLabel": "Mostrar:",
|
||||
"entriesSuffix": "entradas",
|
||||
"showingEntries": "Mostrando {from} a {to} de {total} entradas",
|
||||
"noTransactionsTitle": "Aún no hay transacciones",
|
||||
"noTransactionsDescription": "Tu historial de transacciones aparecerá aquí una vez que empieces a ganar o gastar monedas",
|
||||
"pageLabel": "Página",
|
||||
"ofLabel": "de",
|
||||
"transactionTypeHabitCompletion": "Finalización de hábito",
|
||||
"transactionTypeTaskCompletion": "Finalización de tarea",
|
||||
"transactionTypeHabitUndo": "Deshacer hábito",
|
||||
"transactionTypeTaskUndo": "Deshacer tarea",
|
||||
"transactionTypeWishRedemption": "Canje de deseo",
|
||||
"transactionTypeManualAdjustment": "Ajuste manual",
|
||||
"transactionTypeCoinReset": "Reinicio de monedas",
|
||||
"transactionTypeInitialBalance": "Saldo inicial"
|
||||
},
|
||||
"NotificationBell": {
|
||||
"errorUpdateTimestamp": "Error al actualizar la marca de tiempo de notificación leída:"
|
||||
},
|
||||
"PomodoroTimer": {
|
||||
"focusLabel1": "Mantente enfocado",
|
||||
"focusLabel2": "Tú puedes",
|
||||
"focusLabel3": "Sigue adelante",
|
||||
"focusLabel4": "Hazlo",
|
||||
"focusLabel5": "Haz que suceda",
|
||||
"focusLabel6": "Mantente fuerte",
|
||||
"focusLabel7": "Esfuérzate",
|
||||
"focusLabel8": "Un paso a la vez",
|
||||
"focusLabel9": "Tú puedes hacerlo",
|
||||
"focusLabel10": "Enfócate y conquista",
|
||||
"breakLabel1": "Toma un descanso",
|
||||
"breakLabel2": "Relájate y recarga",
|
||||
"breakLabel3": "Respira profundamente",
|
||||
"breakLabel4": "Estírate",
|
||||
"breakLabel5": "Refréscate",
|
||||
"breakLabel6": "Te lo mereces",
|
||||
"breakLabel7": "Recarga tu energía",
|
||||
"breakLabel8": "Aléjate un momento",
|
||||
"breakLabel9": "Despeja tu mente",
|
||||
"breakLabel10": "Descansa y recupérate",
|
||||
"focusType": "Enfoque",
|
||||
"breakType": "Descanso",
|
||||
"pauseButton": "Pausar",
|
||||
"startButton": "Iniciar",
|
||||
"resetButton": "Reiniciar",
|
||||
"skipButton": "Saltar",
|
||||
"wakeLockNotSupported": "El navegador no soporta wake lock",
|
||||
"wakeLockInUse": "Wake lock ya está en uso",
|
||||
"wakeLockRequestError": "Error al solicitar wake lock:",
|
||||
"wakeLockReleaseError": "Error al liberar wake lock:"
|
||||
},
|
||||
"HabitCalendar": {
|
||||
"title": "Calendario de hábitos",
|
||||
"calendarCardTitle": "Calendario",
|
||||
"selectDatePrompt": "Selecciona una fecha",
|
||||
"tasksSectionTitle": "Tareas",
|
||||
"habitsSectionTitle": "Hábitos",
|
||||
"errorCompletingPastHabit": "Error al completar hábito pasado:"
|
||||
},
|
||||
"NotificationDropdown": {
|
||||
"notLoggedIn": "No has iniciado sesión.",
|
||||
"userCompletedItem": "{username} completó {itemName}.",
|
||||
"userRedeemedItem": "{username} canjeó {itemName}.",
|
||||
"activityRelatedToItem": "Actividad relacionada con {itemName} por {username}.",
|
||||
"defaultUsername": "Alguien",
|
||||
"defaultItemName": "un item compartido",
|
||||
"notificationsTitle": "Notificaciones",
|
||||
"notificationsTooltip": "Muestra finalizaciones o canjes de otros usuarios para hábitos o lista de deseos que compartiste con ellos (debes ser admin)",
|
||||
"noNotificationsYet": "Aún no hay notificaciones."
|
||||
},
|
||||
"AboutModal": {
|
||||
"dialogArisLabel": "acerca de",
|
||||
"changelogButton": "Registro de cambios",
|
||||
"createdByPrefix": "Creado con ❤️ por",
|
||||
"starOnGitHubButton": "Dar estrella en GitHub"
|
||||
},
|
||||
"PermissionSelector": {
|
||||
"permissionsTitle": "Permisos",
|
||||
"adminAccessLabel": "Acceso de administrador",
|
||||
"adminAccessDescription": "Los administradores tienen permiso completo sobre todos los datos de todos los usuarios",
|
||||
"resourceHabitTask": "Hábito / Tarea",
|
||||
"resourceWishlist": "Lista de deseos",
|
||||
"resourceCoins": "Monedas",
|
||||
"permissionWrite": "Escritura",
|
||||
"permissionInteract": "Interactuar"
|
||||
},
|
||||
"UserForm": {
|
||||
"toastUserUpdatedTitle": "Usuario actualizado",
|
||||
"toastUserUpdatedDescription": "Usuario {username} actualizado con éxito",
|
||||
"toastUserCreatedTitle": "Usuario creado",
|
||||
"toastUserCreatedDescription": "Usuario {username} creado con éxito",
|
||||
"actionUpdate": "actualizar",
|
||||
"actionCreate": "crear",
|
||||
"errorFailedUserAction": "Error al {action} usuario",
|
||||
"errorTitle": "Error",
|
||||
"errorFileSizeLimit": "El tamaño del archivo debe ser menor a 5MB",
|
||||
"toastAvatarUploadedTitle": "Avatar subido",
|
||||
"toastAvatarUploadedDescription": "Avatar subido con éxito",
|
||||
"errorFailedAvatarUpload": "Error al subir avatar",
|
||||
"changeAvatarButton": "Cambiar avatar",
|
||||
"uploadAvatarButton": "Subir avatar",
|
||||
"usernameLabel": "Nombre de usuario",
|
||||
"usernamePlaceholder": "Nombre de usuario",
|
||||
"newPasswordLabel": "Nueva contraseña",
|
||||
"passwordLabel": "Contraseña",
|
||||
"passwordPlaceholderEdit": "Dejar en blanco para mantener la actual",
|
||||
"passwordPlaceholderCreate": "Ingresar contraseña",
|
||||
"demoPasswordDisabledMessage": "La contraseña está automáticamente desactivada en la instancia demo",
|
||||
"disablePasswordLabel": "Desactivar contraseña",
|
||||
"cancelButton": "Cancelar",
|
||||
"saveChangesButton": "Guardar cambios",
|
||||
"createUserButton": "Crear usuario"
|
||||
},
|
||||
"ViewToggle": {
|
||||
"habitsLabel": "Hábitos",
|
||||
"tasksLabel": "Tareas"
|
||||
},
|
||||
"HabitItem": {
|
||||
"overdue": "Vencido",
|
||||
"whenLabel": "Cuándo: {frequency}",
|
||||
"coinsPerCompletion": "{count} monedas por finalización",
|
||||
"completedStatus": "Completado",
|
||||
"completedStatusCount": "Completado ({completed}/{target})",
|
||||
"completedStatusCountMobile": "{completed}/{target}",
|
||||
"completeButton": "Completar",
|
||||
"completeButtonCount": "Completar ({completed}/{target})",
|
||||
"completeButtonCountMobile": "{completed}/{target}",
|
||||
"undoButton": "Deshacer",
|
||||
"editButton": "Editar"
|
||||
},
|
||||
"TransactionNoteEditor": {
|
||||
"noteTooLongTitle": "Nota demasiado larga",
|
||||
"noteTooLongDescription": "Las notas deben tener menos de 200 caracteres",
|
||||
"errorSavingNoteTitle": "Error al guardar nota",
|
||||
"errorDeletingNoteTitle": "Error al eliminar nota",
|
||||
"pleaseTryAgainDescription": "Por favor inténtalo de nuevo",
|
||||
"addNotePlaceholder": "Añadir nota...",
|
||||
"saveNoteTitle": "Guardar nota",
|
||||
"cancelButtonTitle": "Cancelar",
|
||||
"deleteNoteTitle": "Eliminar nota",
|
||||
"editNoteAriaLabel": "Editar nota"
|
||||
},
|
||||
"Profile": {
|
||||
"guestUsername": "Invitado",
|
||||
"editProfileButton": "Editar perfil",
|
||||
"signOutSuccessTitle": "Cierre de sesión exitoso",
|
||||
"signOutSuccessDescription": "Has cerrado sesión en tu cuenta",
|
||||
"signOutErrorTitle": "Error al cerrar sesión",
|
||||
"signOutErrorDescription": "Error al cerrar sesión",
|
||||
"switchUserButton": "Cambiar usuario",
|
||||
"settingsLink": "Configuración",
|
||||
"aboutButton": "Acerca de",
|
||||
"themeLabel": "Tema",
|
||||
"editProfileModalTitle": "Editar perfil"
|
||||
},
|
||||
"PasswordEntryForm": {
|
||||
"notYouButton": "¿No eres tú?",
|
||||
"passwordLabel": "Contraseña",
|
||||
"passwordPlaceholder": "Ingresar contraseña",
|
||||
"loginErrorToastTitle": "Error",
|
||||
"loginFailedErrorToastDescription": "Error al iniciar sesión",
|
||||
"cancelButton": "Cancelar",
|
||||
"loginButton": "Iniciar sesión"
|
||||
},
|
||||
"CompletionCountBadge": {
|
||||
"countCompleted": "{completedCount}/{totalCount} completado"
|
||||
},
|
||||
"SettingsPage": {
|
||||
"title": "Configuración",
|
||||
"uiSettingsTitle": "Configuración de interfaz",
|
||||
"numberFormattingLabel": "Formato numérico",
|
||||
"numberFormattingDescription": "Formatear números grandes (ej: 1K, 1M, 1B)",
|
||||
"numberGroupingLabel": "Agrupación numérica",
|
||||
"numberGroupingDescription": "Usar separadores de miles (ej: 1,000 vs 1000)",
|
||||
"systemSettingsTitle": "Configuración del sistema",
|
||||
"timezoneLabel": "Zona horaria",
|
||||
"timezoneDescription": "Selecciona tu zona horaria para un seguimiento preciso de fechas",
|
||||
"weekStartDayLabel": "Día de inicio de semana",
|
||||
"weekStartDayDescription": "Selecciona tu día preferido para iniciar la semana",
|
||||
"weekdays": {
|
||||
"sunday": "Domingo",
|
||||
"monday": "Lunes",
|
||||
"tuesday": "Martes",
|
||||
"wednesday": "Miércoles",
|
||||
"thursday": "Jueves",
|
||||
"friday": "Viernes",
|
||||
"saturday": "Sábado"
|
||||
},
|
||||
"autoBackupLabel": "Copia de seguridad automática",
|
||||
"autoBackupTooltip": "Cuando está habilitado, los datos de la aplicación (hábitos, monedas, configuraciones, etc.) se respaldan automáticamente diariamente alrededor de las 2 AM hora del servidor. Las copias de seguridad se almacenan como archivos ZIP en el directorio `backups/` en la raíz del proyecto. Solo se conservan las últimas 7 copias de seguridad; las más antiguas se eliminan automáticamente.",
|
||||
"autoBackupDescription": "Realizar copia de seguridad automática diaria",
|
||||
"languageLabel": "Idioma",
|
||||
"languageDescription": "Elige tu idioma preferido para mostrar en la aplicación.",
|
||||
"languageChangedTitle": "Idioma cambiado",
|
||||
"languageChangedDescription": "Por favor actualiza la página para ver los cambios",
|
||||
"languageDisabledInDemoTooltip": "Cambiar el idioma está deshabilitado en la versión de demostración."
|
||||
},
|
||||
"Common": {
|
||||
"authenticationRequiredTitle": "Autenticación requerida",
|
||||
"authenticationRequiredDescription": "Por favor inicia sesión para continuar.",
|
||||
"permissionDeniedTitle": "Permiso denegado",
|
||||
"permissionDeniedDescription": "No tienes permiso de {action} para {resource}.",
|
||||
"undoButton": "Deshacer",
|
||||
"redoButton": "Rehacer",
|
||||
"errorTitle": "Error"
|
||||
},
|
||||
"useHabits": {
|
||||
"alreadyCompletedTitle": "Ya completado",
|
||||
"alreadyCompletedDescription": "Ya has completado este hábito hoy.",
|
||||
"completedTitle": "¡Completado!",
|
||||
"earnedCoinsDescription": "Ganaste {coinReward} monedas.",
|
||||
"progressTitle": "¡Progreso!",
|
||||
"progressDescription": "Has completado {count}/{target} veces hoy.",
|
||||
"completionUndoneTitle": "Finalización deshecha",
|
||||
"completionUndoneDescription": "Tienes {count}/{target} finalizaciones hoy.",
|
||||
"noCompletionsToUndoTitle": "No hay finalizaciones para deshacer",
|
||||
"noCompletionsToUndoDescription": "Este hábito no ha sido completado hoy.",
|
||||
"alreadyCompletedPastDateTitle": "Ya completado",
|
||||
"alreadyCompletedPastDateDescription": "Este hábito ya fue completado el {dateKey}.",
|
||||
"earnedCoinsPastDateDescription": "Ganaste {coinReward} monedas por {dateKey}.",
|
||||
"progressPastDateDescription": "Has completado {count}/{target} veces el {dateKey}."
|
||||
},
|
||||
"useWishlist": {
|
||||
"redemptionLimitReachedTitle": "Límite de canjes alcanzado",
|
||||
"redemptionLimitReachedDescription": "Has alcanzado el máximo de canjes para \"{itemName}\".",
|
||||
"rewardRedeemedTitle": "🎉 ¡Recompensa canjeada!",
|
||||
"rewardRedeemedDescription": "Has canjeado \"{itemName}\" por {itemCoinCost} monedas.",
|
||||
"notEnoughCoinsTitle": "No hay suficientes monedas",
|
||||
"notEnoughCoinsDescription": "Necesitas {coinsNeeded} monedas más para canjear esta recompensa."
|
||||
},
|
||||
"useCoins": {
|
||||
"invalidAmountTitle": "Cantidad inválida",
|
||||
"invalidAmountDescription": "Por favor ingresa un número positivo válido",
|
||||
"successTitle": "Éxito",
|
||||
"addedCoinsDescription": "Añadidas {amount} monedas",
|
||||
"removedCoinsDescription": "Quitadas {amount} monedas",
|
||||
"transactionNotFoundDescription": "Transacción no encontrada"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user