mitlist/fe/src/i18n/es.json

641 lines
24 KiB
JSON

{
"message": {
"hello": "Hola"
},
"loginPage": {
"emailLabel": "Correo electrónico",
"passwordLabel": "Contraseña",
"togglePasswordVisibilityLabel": "Alternar visibilidad de contraseña",
"loginButton": "Iniciar sesión",
"signupLink": "¿No tienes una cuenta? Regístrate",
"errors": {
"emailRequired": "El correo electrónico es obligatorio",
"emailInvalid": "Formato de correo electrónico inválido",
"passwordRequired": "La contraseña es obligatoria",
"loginFailed": "Inicio de sesión fallido. Por favor, comprueba tus credenciales."
},
"notifications": {
"loginSuccess": "Inicio de sesión exitoso"
}
},
"listsPage": {
"retryButton": "Reintentar",
"emptyState": {
"noListsForGroup": "No se encontraron listas para este grupo.",
"noListsYet": "Aún no tienes listas.",
"personalGlobalInfo": "Crea una lista personal o únete a un grupo para ver listas compartidas.",
"groupSpecificInfo": "Este grupo aún no tiene listas."
},
"createNewListButton": "Crear nueva lista",
"loadingLists": "Cargando listas...",
"noDescription": "Sin descripción",
"addItemPlaceholder": "Añadir nuevo artículo...",
"createCard": {
"title": "+ Lista"
},
"pageTitle": {
"forGroup": "Listas para {groupName}",
"forGroupId": "Listas para el Grupo {groupId}",
"myLists": "Mis Listas"
},
"errors": {
"fetchFailed": "Error al obtener las listas."
}
},
"groupsPage": {
"retryButton": "Reintentar",
"emptyState": {
"title": "¡Aún no hay grupos!",
"description": "Aún no eres miembro de ningún grupo. Crea uno o únete usando un código de invitación.",
"createButton": "Crear nuevo grupo"
},
"groupCard": {
"newListButton": "Lista"
},
"createCard": {
"title": "+ Grupo"
},
"joinGroup": {
"title": "Unirse a un grupo con código de invitación",
"inputLabel": "Ingresar código de invitación",
"inputPlaceholder": "Ingresar código de invitación",
"joinButton": "Unirse"
},
"createDialog": {
"title": "Crear nuevo grupo",
"closeButtonLabel": "Cerrar",
"groupNameLabel": "Nombre del grupo",
"cancelButton": "Cancelar",
"createButton": "Crear"
},
"errors": {
"fetchFailed": "Error al cargar los grupos",
"groupNameRequired": "El nombre del grupo es obligatorio",
"createFailed": "Error al crear el grupo. Por favor, inténtalo de nuevo.",
"inviteCodeRequired": "El código de invitación es obligatorio",
"joinFailed": "Error al unirse al grupo. Por favor, comprueba el código de invitación e inténtalo de nuevo.",
"invalidDataFromServer": "Datos inválidos recibidos del servidor.",
"createFailedConsole": "Error creando grupo:",
"joinFailedConsole": "Error al unirse al grupo:"
},
"notifications": {
"groupCreatedSuccess": "Grupo '{groupName}' creado exitosamente.",
"joinSuccessNamed": "Te uniste exitosamente al grupo '{groupName}'.",
"joinSuccessGeneric": "Te uniste exitosamente al grupo.",
"listCreatedSuccess": "Lista '{listName}' creada exitosamente."
}
},
"authCallbackPage": {
"redirecting": "Redirigiendo...",
"errors": {
"authenticationFailed": "Autenticación fallida",
"noTokenProvided": "No se proporcionó ningún token"
}
},
"choresPage": {
"title": "Tareas",
"tabs": {
"overdue": "Vencidas",
"today": "Hoy",
"upcoming": "Próximas",
"allPending": "Todas pendientes",
"completed": "Completadas"
},
"viewToggle": {
"calendarLabel": "Vista de calendario",
"calendarText": "Calendario",
"listLabel": "Vista de lista",
"listText": "Lista"
},
"newChoreButtonLabel": "Nueva tarea",
"newChoreButtonText": "Nueva tarea",
"loadingState": {
"loadingChores": "Cargando tareas..."
},
"calendar": {
"prevMonthLabel": "Mes anterior",
"nextMonthLabel": "Mes siguiente",
"weekdays": {
"sun": "Dom",
"mon": "Lun",
"tue": "Mar",
"wed": "Mié",
"thu": "Jue",
"fri": "Vie",
"sat": "Sáb"
},
"addChoreToDayLabel": "Añadir tarea a este día",
"emptyState": "No hay tareas para mostrar en este período."
},
"listView": {
"choreTypePersonal": "Personal",
"choreTypeGroupFallback": "Grupo",
"completedDatePrefix": "Completada:",
"actions": {
"doneTitle": "Marcar como hecha",
"doneText": "Hecha",
"undoTitle": "Marcar como no hecha",
"undoText": "Deshacer",
"editTitle": "Editar",
"editLabel": "Editar tarea",
"editText": "Editar",
"deleteTitle": "Eliminar",
"deleteLabel": "Eliminar tarea",
"deleteText": "Eliminar"
},
"emptyState": {
"message": "No hay tareas en esta vista. ¡Bien hecho!",
"viewAllButton": "Ver todas las pendientes"
}
},
"choreModal": {
"editTitle": "Editar tarea",
"newTitle": "Nueva tarea",
"closeButtonLabel": "Cerrar modal",
"nameLabel": "Nombre",
"namePlaceholder": "Ingresar nombre de la tarea",
"typeLabel": "Tipo",
"typePersonal": "Personal",
"typeGroup": "Grupo",
"groupLabel": "Grupo",
"groupSelectDefault": "Seleccionar un grupo",
"descriptionLabel": "Descripción",
"descriptionPlaceholder": "Añadir una descripción (opcional)",
"frequencyLabel": "Frecuencia",
"intervalLabel": "Intervalo (días)",
"intervalPlaceholder": "p.ej. 10",
"dueDateLabel": "Fecha de vencimiento",
"quickDueDateToday": "Hoy",
"quickDueDateTomorrow": "Mañana",
"quickDueDateNextWeek": "Próxima semana",
"cancelButton": "Cancelar",
"saveButton": "Guardar"
},
"consoleErrors": {
"loadFailed": "Error al cargar todas las tareas:",
"loadGroupsFailed": "Error al cargar grupos",
"createAssignmentForNewChoreFailed": "Error al crear asignación para nueva tarea:",
"saveFailed": "Error al guardar tarea:",
"deleteFailed": "Error al eliminar tarea:",
"createAssignmentFailed": "Error al crear asignación:",
"updateCompletionStatusFailed": "Error al actualizar estado de finalización de la tarea:"
},
"deleteDialog": {
"title": "Eliminar tarea",
"confirmationText": "¿Estás seguro de que quieres eliminar esta tarea? Esta acción no se puede deshacer.",
"deleteButton": "Eliminar"
},
"shortcutsModal": {
"title": "Atajos de teclado",
"descNewChore": "Nueva tarea",
"descToggleView": "Alternar vista (Lista/Calendario)",
"descToggleShortcuts": "Mostrar/Ocultar atajos",
"descCloseModal": "Cerrar cualquier Modal/Diálogo abierto"
},
"frequencyOptions": {
"oneTime": "Una vez",
"daily": "Diariamente",
"weekly": "Semanalmente",
"monthly": "Mensualmente",
"custom": "Personalizado"
},
"frequency": {
"customInterval": "Cada {n} día | Cada {n} días"
},
"formatters": {
"noDueDate": "Sin fecha de vencimiento",
"dueToday": "Vence hoy",
"dueTomorrow": "Vence mañana",
"overdueFull": "Vencida: {date}",
"dueFull": "Vence el {date}",
"invalidDate": "Fecha inválida"
},
"notifications": {
"loadFailed": "Error al cargar las tareas.",
"loadGroupsFailed": "Error al cargar los grupos.",
"updateSuccess": "Tarea '{name}' actualizada exitosamente.",
"createSuccess": "Tarea '{name}' creada exitosamente.",
"updateFailed": "Error al actualizar la tarea.",
"createFailed": "Error al crear la tarea.",
"deleteSuccess": "Tarea '{name}' eliminada exitosamente.",
"deleteFailed": "Error al eliminar la tarea.",
"markedDone": "{name} marcada como hecha.",
"markedNotDone": "{name} marcada como no hecha.",
"statusUpdateFailed": "Error al actualizar el estado de la tarea.",
"createAssignmentFailed": "Error al crear la asignación para la tarea."
},
"validation": {
"nameRequired": "El nombre de la tarea es obligatorio.",
"groupRequired": "Por favor, selecciona un grupo para tareas grupales.",
"intervalRequired": "El intervalo personalizado debe ser de al menos 1 día.",
"dueDateRequired": "La fecha de vencimiento es obligatoria.",
"invalidDueDate": "Formato de fecha de vencimiento inválido."
},
"unsavedChangesConfirmation": "Tienes cambios sin guardar en el formulario de la tarea. ¿Estás seguro de que quieres salir?"
},
"errorNotFoundPage": {
"errorCode": "404",
"errorMessage": "Vaya. Aquí no hay nada...",
"goHomeButton": "Ir al inicio"
},
"groupDetailPage": {
"loadingLabel": "Cargando detalles del grupo...",
"retryButton": "Reintentar",
"groupNotFound": "Grupo no encontrado o se produjo un error.",
"members": {
"title": "Miembros del grupo",
"defaultRole": "Miembro",
"removeButton": "Eliminar",
"emptyState": "No se encontraron miembros.",
"closeMenuLabel": "Cerrar menú"
},
"invites": {
"title": "Invitar miembros",
"description": "Invita a nuevos miembros generando un código compartible.",
"addMemberButtonLabel": "Añadir miembro",
"closeInviteLabel": "Cerrar invitación",
"regenerateButton": "Regenerar código de invitación",
"generateButton": "Generar código de invitación",
"activeCodeLabel": "Código de invitación activo actual:",
"copyButtonLabel": "Copiar código de invitación",
"copySuccess": "¡Código de invitación copiado al portapapeles!",
"emptyState": "No hay código de invitación activo. Haz clic en el botón de arriba para generar uno.",
"errors": {
"newDataInvalid": "Los datos del nuevo código de invitación son inválidos."
}
},
"errors": {
"failedToFetchActiveInvite": "Error al obtener el código de invitación activo.",
"failedToFetchGroupDetails": "Error al obtener los detalles del grupo.",
"failedToLoadUpcomingChores": "Error al cargar las próximas tareas:",
"failedToLoadRecentExpenses": "Error al cargar los gastos recientes:"
},
"console": {
"noActiveInvite": "No se encontró ningún código de invitación activo para este grupo."
},
"chores": {
"title": "Tareas del grupo",
"manageButton": "Gestionar tareas",
"duePrefix": "Vence:",
"emptyState": "No hay tareas programadas. ¡Haz clic en \"Gestionar tareas\" para crear algunas!"
},
"expenses": {
"title": "Gastos del grupo",
"manageButton": "Gestionar gastos",
"emptyState": "No hay gastos registrados. ¡Haz clic en \"Gestionar gastos\" para añadir algunos!",
"paidBy": "Pagado por:",
"owes": "debe",
"paidAmount": "Pagado:",
"onDate": "el",
"settleShareButton": "Saldar mi parte",
"activityLabel": "Actividad:",
"byUser": "por",
"fallbackUserName": "ID de usuario: {userId}",
"activityByUserFallback": "Usuario {userId}",
"splitTypes": {
"equal": "Igual",
"exactAmounts": "Cantidades exactas",
"percentage": "Porcentaje",
"shares": "Partes",
"itemBased": "Basado en artículos"
}
},
"notifications": {
"fetchDetailsFailed": "Error al obtener los detalles del grupo.",
"fetchInviteFailed": "Error al obtener el código de invitación activo.",
"generateInviteSuccess": "¡Nuevo código de invitación generado exitosamente!",
"generateInviteError": "Error al generar el código de invitación.",
"clipboardNotSupported": "Portapapeles no compatible o no hay código para copiar.",
"copyInviteFailed": "Error al copiar el código de invitación.",
"removeMemberSuccess": "Miembro eliminado exitosamente",
"removeMemberFailed": "Error al eliminar miembro",
"loadExpensesFailed": "Error al cargar los gastos recientes.",
"cannotSettleOthersShares": "Solo puedes saldar tus propias partes.",
"settlementDataMissing": "No se puede procesar el saldo: faltan datos.",
"settleShareSuccess": "¡Parte saldada exitosamente!",
"settleShareFailed": "Error al saldar la parte."
},
"loading": {
"settlement": "Procesando saldo..."
},
"settleShareModal": {
"title": "Saldar parte",
"settleAmountFor": "Saldar cantidad para {userName}:",
"amountLabel": "Cantidad",
"cancelButton": "Cancelar",
"confirmButton": "Confirmar",
"errors": {
"enterAmount": "Por favor, ingresa una cantidad.",
"positiveAmount": "Por favor, ingresa una cantidad positiva.",
"exceedsRemaining": "La cantidad no puede exceder el restante: {amount}.",
"noSplitSelected": "Error: No se seleccionó ninguna división."
}
},
"status": {
"settled": "Saldado",
"partiallySettled": "Parcialmente saldado",
"unsettled": "Pendiente",
"paid": "Pagado",
"partiallyPaid": "Parcialmente pagado",
"unpaid": "No pagado",
"unknown": "Estado desconocido"
}
},
"accountPage": {
"title": "Configuración de la cuenta",
"loadingProfile": "Cargando perfil...",
"retryButton": "Reintentar",
"profileSection": {
"header": "Información del perfil",
"nameLabel": "Nombre",
"emailLabel": "Correo electrónico",
"saveButton": "Guardar cambios"
},
"passwordSection": {
"header": "Cambiar contraseña",
"currentPasswordLabel": "Contraseña actual",
"newPasswordLabel": "Nueva contraseña",
"changeButton": "Cambiar contraseña"
},
"notificationsSection": {
"header": "Preferencias de notificación",
"emailNotificationsLabel": "Notificaciones por correo electrónico",
"emailNotificationsDescription": "Recibir notificaciones por correo electrónico para actualizaciones importantes",
"listUpdatesLabel": "Actualizaciones de listas",
"listUpdatesDescription": "Recibir notificaciones cuando se actualicen las listas",
"groupActivitiesLabel": "Actividades de grupo",
"groupActivitiesDescription": "Recibir notificaciones para actividades de grupo"
},
"notifications": {
"profileLoadFailed": "Error al cargar el perfil",
"profileUpdateSuccess": "Perfil actualizado exitosamente",
"profileUpdateFailed": "Error al actualizar el perfil",
"passwordFieldsRequired": "Por favor, completa los campos de contraseña actual y nueva.",
"passwordTooShort": "La nueva contraseña debe tener al menos 8 caracteres.",
"passwordChangeSuccess": "Contraseña cambiada exitosamente",
"passwordChangeFailed": "Error al cambiar la contraseña",
"preferencesUpdateSuccess": "Preferencias actualizadas exitosamente",
"preferencesUpdateFailed": "Error al actualizar las preferencias"
},
"saving": "Guardando..."
},
"signupPage": {
"header": "Regístrate",
"fullNameLabel": "Nombre completo",
"emailLabel": "Correo electrónico",
"passwordLabel": "Contraseña",
"confirmPasswordLabel": "Confirmar contraseña",
"togglePasswordVisibility": "Alternar visibilidad de contraseña",
"submitButton": "Regístrate",
"loginLink": "¿Ya tienes una cuenta? Iniciar sesión",
"validation": {
"nameRequired": "El nombre es obligatorio",
"emailRequired": "El correo electrónico es obligatorio",
"emailInvalid": "Formato de correo electrónico inválido",
"passwordRequired": "La contraseña es obligatoria",
"passwordLength": "La contraseña debe tener al menos 8 caracteres",
"confirmPasswordRequired": "Por favor, confirma tu contraseña",
"passwordsNoMatch": "Las contraseñas no coinciden"
},
"notifications": {
"signupFailed": "Registro fallido. Por favor, inténtalo de nuevo.",
"signupSuccess": "Cuenta creada exitosamente. Por favor, inicia sesión."
}
},
"listDetailPage": {
"loading": {
"list": "Cargando lista...",
"items": "Cargando artículos...",
"ocrProcessing": "Procesando imagen...",
"addingOcrItems": "Añadiendo artículos OCR...",
"costSummary": "Cargando resumen...",
"expenses": "Cargando gastos...",
"settlement": "Procesando saldo..."
},
"errors": {
"fetchFailed": "Error al cargar los detalles de la lista.",
"genericLoadFailure": "Grupo no encontrado o se produjo un error.",
"ocrNoItems": "No se extrajeron artículos de la imagen.",
"ocrFailed": "Error al procesar la imagen.",
"addItemFailed": "Error al añadir el artículo.",
"updateItemFailed": "Error al actualizar el artículo.",
"updateItemPriceFailed": "Error al actualizar el precio del artículo.",
"deleteItemFailed": "Error al eliminar el artículo.",
"addOcrItemsFailed": "Error al añadir artículos OCR.",
"fetchItemsFailed": "Error al cargar artículos: {errorMessage}",
"loadCostSummaryFailed": "Error al cargar el resumen de costos."
},
"retryButton": "Reintentar",
"buttons": {
"addViaOcr": "Añadir vía OCR",
"addItem": "Añadir",
"addItems": "Añadir artículos",
"cancel": "Cancelar",
"confirm": "Confirmar",
"saveChanges": "Guardar cambios",
"close": "Cerrar",
"costSummary": "Resumen de costos"
},
"badges": {
"groupList": "Lista de grupo",
"personalList": "Lista personal"
},
"items": {
"emptyState": {
"title": "¡Aún no hay artículos!",
"message": "Añade algunos artículos usando el formulario de abajo."
},
"addItemForm": {
"placeholder": "Añadir un nuevo artículo",
"quantityPlaceholder": "Cant.",
"itemNameSrLabel": "Nombre del nuevo artículo",
"quantitySrLabel": "Cantidad"
},
"pricePlaceholder": "Precio",
"editItemAriaLabel": "Editar artículo",
"deleteItemAriaLabel": "Eliminar artículo"
},
"modals": {
"ocr": {
"title": "Añadir artículos vía OCR",
"uploadLabel": "Subir imagen"
},
"confirmation": {
"title": "Confirmación"
},
"editItem": {
"title": "Editar artículo",
"nameLabel": "Nombre del artículo",
"quantityLabel": "Cantidad"
},
"costSummary": {
"title": "Resumen de costos de la lista",
"totalCostLabel": "Costo total de la lista:",
"equalShareLabel": "Parte igual por usuario:",
"participantsLabel": "Usuarios participantes:",
"userBalancesHeader": "Saldos de usuarios",
"tableHeaders": {
"user": "Usuario",
"itemsAddedValue": "Valor de los artículos añadidos",
"amountDue": "Cantidad debida",
"balance": "Saldo"
},
"emptyState": "No hay resumen de costos disponible."
},
"settleShare": {
"title": "Saldar parte",
"settleAmountFor": "Saldar cantidad para {userName}:",
"amountLabel": "Cantidad",
"errors": {
"enterAmount": "Por favor, ingresa una cantidad.",
"positiveAmount": "Por favor, ingresa una cantidad positiva.",
"exceedsRemaining": "La cantidad no puede exceder el restante: {amount}.",
"noSplitSelected": "Error: No se seleccionó ninguna división."
}
}
},
"confirmations": {
"updateMessage": "¿Marcar '{itemName}' como {status}?",
"statusComplete": "completado",
"statusIncomplete": "incompleto",
"deleteMessage": "¿Eliminar '{itemName}'? Esto no se puede deshacer."
},
"notifications": {
"itemAddedSuccess": "Artículo añadido exitosamente.",
"itemsAddedSuccessOcr": "{count} artículo(s) añadido(s) exitosamente desde OCR.",
"itemUpdatedSuccess": "Artículo actualizado exitosamente.",
"itemDeleteSuccess": "Artículo eliminado exitosamente.",
"enterItemName": "Por favor, ingresa un nombre de artículo.",
"costSummaryLoadFailed": "Error al cargar el resumen de costos.",
"cannotSettleOthersShares": "Solo puedes saldar tus propias partes.",
"settlementDataMissing": "No se puede procesar el saldo: faltan datos.",
"settleShareSuccess": "¡Parte saldada exitosamente!",
"settleShareFailed": "Error al saldar la parte."
},
"expensesSection": {
"title": "Gastos",
"addExpenseButton": "Añadir gasto",
"loading": "Cargando gastos...",
"emptyState": "Aún no hay gastos registrados para esta lista.",
"paidBy": "Pagado por:",
"onDate": "el",
"owes": "debe",
"paidAmount": "Pagado:",
"activityLabel": "Actividad:",
"byUser": "por",
"settleShareButton": "Saldar mi parte",
"retryButton": "Reintentar"
},
"status": {
"settled": "Saldado",
"partiallySettled": "Parcialmente saldado",
"unsettled": "Pendiente",
"paid": "Pagado",
"partiallyPaid": "Parcialmente pagado",
"unpaid": "No pagado",
"unknown": "Estado desconocido"
}
},
"myChoresPage": {
"title": "Mis tareas asignadas",
"showCompletedToggle": "Mostrar completadas",
"timelineHeaders": {
"overdue": "Vencidas",
"today": "Vencen hoy",
"thisWeek": "Esta semana",
"later": "Más tarde",
"completed": "Completadas"
},
"choreCard": {
"personal": "Personal",
"group": "Grupo",
"duePrefix": "Vence",
"completedPrefix": "Completada",
"dueToday": "Vence hoy",
"markCompleteButton": "Marcar como completada"
},
"frequencies": {
"one_time": "Una vez",
"daily": "Diariamente",
"weekly": "Semanalmente",
"monthly": "Mensualmente",
"custom": "Personalizado",
"unknown": "Frecuencia desconocida"
},
"dates": {
"invalidDate": "Fecha inválida",
"unknownDate": "Fecha desconocida"
},
"emptyState": {
"title": "¡Aún no hay asignaciones!",
"noAssignmentsPending": "No tienes asignaciones de tareas pendientes.",
"noAssignmentsAll": "No tienes asignaciones de tareas (completadas o pendientes).",
"viewAllChoresButton": "Ver todas las tareas"
},
"notifications": {
"loadFailed": "Error al cargar las asignaciones",
"markedComplete": "¡Se marcó \"{choreName}\" como completada!",
"markCompleteFailed": "Error al marcar la asignación como completada"
}
},
"personalChoresPage": {
"title": "Tareas personales",
"newChoreButton": "Nueva tarea",
"editButton": "Editar",
"deleteButton": "Eliminar",
"cancelButton": "Cancelar",
"saveButton": "Guardar",
"modals": {
"editChoreTitle": "Editar tarea",
"newChoreTitle": "Nueva tarea",
"deleteChoreTitle": "Eliminar tarea"
},
"form": {
"nameLabel": "Nombre",
"descriptionLabel": "Descripción",
"frequencyLabel": "Frecuencia",
"intervalLabel": "Intervalo (días)",
"dueDateLabel": "Próxima fecha de vencimiento"
},
"deleteDialog": {
"confirmationText": "¿Estás seguro de que quieres eliminar esta tarea?"
},
"frequencies": {
"one_time": "Una vez",
"daily": "Diariamente",
"weekly": "Semanalmente",
"monthly": "Mensualmente",
"custom": "Personalizado",
"unknown": "Frecuencia desconocida"
},
"dates": {
"invalidDate": "Fecha inválida",
"duePrefix": "Vence"
},
"notifications": {
"loadFailed": "Error al cargar las tareas personales",
"updateSuccess": "Tarea personal actualizada exitosamente",
"createSuccess": "Tarea personal creada exitosamente",
"saveFailed": "Error al guardar la tarea personal",
"deleteSuccess": "Tarea personal eliminada exitosamente",
"deleteFailed": "Error al eliminar la tarea personal"
}
},
"indexPage": {
"welcomeMessage": "Bienvenido a la aplicación Valerie UI",
"mainPageInfo": "Esta es la página de índice principal.",
"sampleTodosHeader": "Tareas de ejemplo (de datos de IndexPage)",
"totalCountLabel": "Recuento total de meta:",
"noTodos": "No hay tareas para mostrar."
},
"languageSelector": {
"title": "Idioma",
"languages": {
"en": "English",
"de": "Deutsch",
"nl": "Nederlands",
"fr": "Français",
"es": "Español"
}
}
}