Files
oikos/public/locales/es.json
T
2026-05-01 09:05:20 -03:00

1085 lines
43 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"common": {
"save": "Guardar",
"cancel": "Cancelar",
"delete": "Eliminar",
"edit": "Editar",
"close": "Cerrar",
"create": "Crear",
"add": "Añadir",
"back": "Atrás",
"next": "Siguiente",
"loading": "Cargando…",
"saving": "Guardando…",
"required": "Este campo es obligatorio.",
"error": "Error",
"allFieldsRequired": "Por favor, rellena todos los campos.",
"today": "Hoy",
"tomorrow": "Mañana",
"skipToContent": "Saltar al contenido",
"reload": "Recargar",
"errorOccurred": "Algo ha salido mal.",
"unexpectedError": "Se ha producido un error inesperado.",
"errorGeneric": "Se ha producido un error.",
"updateAvailable": "Actualización disponible - recarga la página para obtener la última versión.",
"titleRequired": "El título es obligatorio",
"nameRequired": "El nombre es obligatorio",
"contentRequired": "El contenido es obligatorio",
"all": "Todo",
"unknownError": "Error desconocido",
"confirm": "Confirmar",
"undo": "Deshacer",
"reset": "Restaurar original",
"errorOffline": "Sin conexión a internet. Por favor, revisa tu red.",
"errorForbidden": "Acceso denegado. Por favor, inicia sesión de nuevo.",
"errorNotFound": "No se encontró el registro.",
"errorServer": "Error del servidor. Por favor, inténtalo más tarde.",
"errorTimeout": "La conexión tardó demasiado. Por favor, inténtalo de nuevo."
},
"nav": {
"dashboard": "Inicio",
"tasks": "Tareas",
"calendar": "Calendario",
"meals": "Comidas",
"shopping": "Compras",
"notes": "Notas",
"contacts": "Contactos",
"birthdays": "Cumpleaños",
"budget": "Presupuesto",
"settings": "Ajustes",
"main": "Navegación principal",
"navigation": "Navegación",
"quickActions": "Acciones rápidas",
"recipes": "Recetas",
"more": "Más",
"documents": "Documentos",
"kitchen": "Cocina",
"search": "Buscar"
},
"dashboard": {
"title": "Inicio",
"greetingMorning": "Buenos días, {{name}}",
"greetingDay": "Buenas tardes, {{name}}",
"greetingEvening": "Buenas noches, {{name}}",
"allDone": "Todo listo",
"noEvents": "Sin eventos",
"noPinnedNotes": "Sin notas fijadas",
"todayMeals": "Comidas de hoy",
"allLink": "Todo",
"weekLink": "Semana",
"urgentTasksChip": "{{count}} tarea por vencer",
"urgentTasksChipPlural": "{{count}} tareas por vencer",
"eventsChip": "{{count}} evento hoy",
"eventsChipPlural": "{{count}} eventos hoy",
"todayMealChip": "Hoy: {{title}}",
"loadError": "No se pudo cargar el panel completamente.",
"weatherRefresh": "Actualizar tiempo",
"weatherRefreshTitle": "Actualizar",
"weatherUpdated": "Tiempo actualizado",
"weatherFeelsLike": "Sensación {{temp}}° · {{humidity}}% · Viento {{wind}} {{windUnit}}",
"fabTaskLabel": "Añadir tarea",
"fabCalendarLabel": "Añadir evento",
"fabShoppingLabel": "Añadir compra",
"fabNoteLabel": "Añadir nota",
"fabTask": "Tarea",
"fabCalendar": "Evento",
"fabShopping": "Compra",
"fabNote": "Nota",
"overdue": "Vencida",
"dueSoon": "Vence hoy",
"dueToday": "Vence hoy",
"dueTomorrow": "Vence mañana",
"allDay": "Todo el día",
"shoppingMore": "+{{count}} más",
"weather": "Clima",
"familyMembers": "Miembros de la familia",
"participantsAdded": "participantes añadidos",
"upcomingBirthdays": "Próximos cumpleaños",
"noBirthdays": "Aún no hay cumpleaños",
"daysLeft": "{{count}} días",
"budgetOverview": "Resumen del presupuesto",
"monthlyIncome": "Ingresos",
"monthlyExpenses": "Gastos",
"monthlyBalance": "Saldo",
"savingsRate": "Tasa de ahorro",
"topExpense": "Mayor gasto",
"budgetEntries": "Movimientos",
"noBudgetData": "No hay datos de presupuesto este mes.",
"customize": "Personalizar",
"customizeTitle": "Personalizar widgets",
"customizeReset": "Restablecer",
"customizeSaved": "Panel guardado",
"customizeMoveUp": "Subir",
"customizeMoveDown": "Bajar",
"overdueTasksChip": "{{count}} tarea vencida",
"overdueTasksChipPlural": "{{count}} tareas vencidas",
"customizeManage": "Widgets",
"customizeExit": "Salir de personalización",
"customizeDrag": "Arrastrar widget",
"customizeSize": "Tamaño",
"customizeSizeFor": "Tamaño de {{widget}}",
"customizeHide": "Ocultar {{widget}}",
"widgetSize_1_1": "c · 1 ancho x 1 alto",
"widgetSize_1_2": "t · 1 ancho x 2 alto",
"widgetSize_1_3": "col · 1 ancho x 3 alto",
"widgetSize_1_4": "tower · 1 ancho x 4 alto",
"widgetSize_2_1": "w · 2 ancho x 1 alto",
"widgetSize_2_2": "f · 2 ancho x 2 alto",
"widgetSize_2_3": "tf · 2 ancho x 3 alto",
"widgetSize_2_4": "poster · 2 ancho x 4 alto",
"widgetSize_3_1": "pan · 3 ancho x 1 alto",
"widgetSize_3_2": "show · 3 ancho x 2 alto",
"widgetSize_3_3": "board · 3 ancho x 3 alto",
"widgetSize_4_1": "row · 4 ancho x 1 alto",
"widgetSize_4_2": "banner · 4 ancho x 2 alto",
"widgetSize_3_4": "Mural · 3 ancho x 4 alto",
"widgetSize_4_3": "Centro de control · 4 ancho x 3 alto",
"widgetSize_4_4": "Lienzo · 4 ancho x 4 alto"
},
"tasks": {
"title": "Tareas",
"newTask": "Nueva tarea",
"editTask": "Editar tarea",
"emptyTitle": "Sin tareas - ¿todo hecho?",
"emptyDescription": "Crea nuevas tareas con el botón +.",
"titleLabel": "Título *",
"titlePlaceholder": "¿Qué hay que hacer?",
"descriptionLabel": "Nota",
"descriptionPlaceholder": "Detalles opcionales…",
"priorityLabel": "Prioridad",
"categoryLabel": "Categoría",
"dueDateLabel": "Fecha límite",
"dueTimeLabel": "Hora",
"assignedLabel": "Asignado a",
"assignedNobody": "- Nadie -",
"statusLabel": "Estado",
"priorityUrgent": "Urgente",
"priorityHigh": "Alta",
"priorityMedium": "Media",
"priorityLow": "Baja",
"priorityNone": "Ninguna",
"statusOpen": "Abierta",
"statusInProgress": "En progreso",
"statusDone": "Completada",
"categoryHousehold": "Hogar",
"categorySchool": "Escuela",
"categoryShopping": "Compras",
"categoryRepair": "Reparación",
"categoryHealth": "Salud",
"categoryFinance": "Finanzas",
"categoryLeisure": "Ocio",
"categoryMisc": "Otros",
"overdue": "Vencida",
"overdueDay": "{{count}}d de retraso",
"dueToday": "Vence hoy",
"dueTomorrow": "Vence mañana",
"groupOverdue": "Vencidas",
"groupToday": "Hoy",
"groupThisWeek": "Esta semana",
"groupNextWeek": "Próxima semana",
"groupLater": "Más tarde",
"groupNoDate": "Sin fecha",
"markDone": "Marcar {{title}} como completada",
"markOpen": "Marcar {{title}} como pendiente",
"editButton": "Editar tarea",
"swipeOpen": "Abrir",
"swipeDone": "Completar",
"swipeEdit": "Editar",
"subtaskAdd": "+ Añadir subtarea",
"subtaskToggle": "Mostrar subtareas",
"subtaskMarkDone": "Marcar {{title}} como completada",
"deleteConfirm": "¿Eliminar tarea y todas sus subtareas?",
"savedToast": "Tarea guardada.",
"createdToast": "Tarea creada.",
"deletedToast": "Tarea eliminada.",
"loadError": "No se pudo cargar la tarea.",
"subtaskPrompt": "Subtarea:",
"kanbanOpen": "Abierta",
"kanbanInProgress": "En progreso",
"kanbanDone": "Completada",
"kanbanMoveToInProgress": "Mover a en progreso",
"kanbanMoveToDone": "Marcar como completada",
"kanbanMoveToOpen": "Reabrir",
"recurring": "Recurrente",
"listView": "Vista de lista",
"kanbanView": "Vista Kanban",
"filterBtn": "Filtrar",
"filterClearAll": "Borrar todos los filtros",
"filterGroupPerson": "Persona",
"filterGroupPriority": "Prioridad",
"filterGroupStatus": "Estado",
"swipedDoneToast": "Marcado como hecho.",
"swipedOpenToast": "Marcado como abierto.",
"statusArchived": "Archivado",
"archiveButton": "Archivar tarea",
"archivedToast": "Tarea archivada.",
"kanbanArchived": "Archivado",
"reminderNeedsDueDate": "Establece una fecha de vencimiento para activar los recordatorios de tareas.",
"emptyAction": "Crear tarea"
},
"shopping": {
"title": "Compras",
"noLists": "Sin listas",
"noListsDescription": "Crea una lista con el botón +.",
"emptyList": "La lista está vacía",
"emptyListDescription": "Añade artículos en el campo de arriba.",
"newListPrompt": "Nombre de la nueva lista:",
"newListButton": "Crear nueva lista",
"renameListPrompt": "Nuevo nombre de lista:",
"deleteListConfirm": "¿Eliminar lista «{{name}}» y todos sus artículos?",
"deletedListToast": "Lista eliminada.",
"itemDeletedToast": "«{{name}}» eliminado.",
"itemsRemovedToast": "{{count}} artículos eliminados.",
"clearChecked": "Eliminar marcados ({{count}})",
"itemNamePlaceholder": "Añadir artículo…",
"itemQtyPlaceholder": "Cantidad",
"itemNameLabel": "Nombre del artículo",
"itemQtyLabel": "Cantidad",
"categoryLabel": "Categoría",
"addItemLabel": "Añadir artículo",
"renameListLabel": "Renombrar lista",
"deleteListLabel": "Eliminar lista",
"swipeBack": "Atrás",
"swipeCheck": "Marcar",
"swipeDelete": "Eliminar",
"markDoneLabel": "Marcar {{name}}",
"markUndoneLabel": "Desmarcar {{name}}",
"deleteItemLabel": "Eliminar {{name}}",
"listsLoadError": "No se pudieron cargar las listas.",
"itemsLoadError": "No se pudieron cargar los artículos.",
"catFruitVeg": "Frutas y verduras",
"catBakery": "Panadería",
"catDairy": "Lácteos",
"catMeatFish": "Carne y pescado",
"catFrozen": "Congelados",
"catDrinks": "Bebidas",
"catHousehold": "Hogar",
"catDrugstore": "Droguería",
"catMisc": "Otros",
"emptyAction": "Agregar artículo"
},
"meals": {
"title": "Plan de comidas",
"noMealPlanned": "Sin comida planificada",
"addMeal": "Añadir {{type}}",
"editMeal": "Editar comida",
"addMealTitle": "Añadir comida",
"deleteMeal": "Eliminar comida",
"transferToShoppingList": "Ingredientes a la lista de compras",
"today": "Hoy",
"prevWeek": "Semana anterior",
"nextWeek": "Semana siguiente",
"loadError": "No se pudo cargar el plan de comidas.",
"typeBreakfast": "Desayuno",
"typeLunch": "Almuerzo",
"typeDinner": "Cena",
"typeSnack": "Merienda",
"dayMo": "Lu",
"dayDi": "Ma",
"dayMi": "Mi",
"dayDo": "Ju",
"dayFr": "Vi",
"daySa": "Sá",
"daySo": "Do",
"dateLabel": "Fecha",
"mealTypeLabel": "Comida",
"titleLabel": "Título *",
"titlePlaceholder": "Ej. Espagueti a la boloñesa",
"notesLabel": "Notas",
"notesPlaceholder": "Opcional…",
"ingredientsLabel": "Ingredientes",
"addIngredient": "Añadir ingrediente",
"ingredientNamePlaceholder": "Ingrediente",
"ingredientQtyPlaceholder": "Cantidad",
"ingredientCategoryLabel": "Categoría",
"ingredientCategoryDefault": "Varios",
"removeIngredient": "Eliminar ingrediente",
"transferLabel": "Transferir ingredientes a la lista de compras",
"transferNow": "Transferir ahora",
"noShoppingLists": "No hay listas de compras",
"transferSuccess": "{{count}} ingrediente transferido",
"transferSuccessPlural": "{{count}} ingredientes transferidos",
"transferAlreadyDone": "Todos los ingredientes ya han sido transferidos",
"ingredientCount": "{{count}} ingrediente",
"ingredientCountPlural": "{{count}} ingredientes",
"titleRequired": "El título es obligatorio",
"loadingIndicator": "Cargando…",
"recipeUrlLabel": "Enlace a la receta (opcional)",
"recipeUrlPlaceholder": "https://…",
"openRecipe": "Abrir receta",
"savedRecipeLabel": "Saved recipe",
"savedRecipePlaceholder": "Select recipe",
"saveAsRecipe": "Save as recipe",
"recipeScaleLabel": "Scale ingredients",
"deletedToast": "Meal deleted"
},
"calendar": {
"title": "Calendario",
"newEvent": "Nuevo evento",
"editEvent": "Editar evento",
"addEvent": "Añadir evento",
"deleteEvent": "Eliminar evento",
"noEvents": "Sin eventos en el período seleccionado.",
"today": "Hoy",
"back": "Atrás",
"forward": "Siguiente",
"viewMonth": "Mes",
"viewWeek": "Semana",
"viewDay": "Día",
"viewAgenda": "Agenda",
"allDay": "Todo el día",
"allDayShort": "todo el día",
"moreEvents": "+{{count}} más",
"weekNumberLabel": "Sem. {{week}} · {{month}} {{year}}",
"agendaFrom": "Desde {{date}}",
"titleLabel": "Título *",
"titlePlaceholder": "Ej. Dentista",
"allDayToggle": "Todo el día",
"startDateLabel": "Fecha de inicio",
"startTimeLabel": "Hora de inicio",
"endDateLabel": "Fecha de fin",
"endTimeLabel": "Hora de fin",
"fromLabel": "De",
"toLabel": "A",
"locationLabel": "Lugar",
"locationPlaceholder": "Opcional",
"assignedLabel": "Asignado a",
"assignedNobody": "- Nadie -",
"colorLabel": "Color {{color}}",
"descriptionLabel": "Descripción",
"descriptionPlaceholder": "Opcional…",
"popupEdit": "Editar",
"deleteConfirm": "¿Eliminar «{{title}}»?",
"createdToast": "Evento creado",
"savedToast": "Evento guardado",
"deletedToast": "Evento eliminado",
"loadError": "No se pudieron cargar los eventos.",
"saveError": "Error al guardar",
"deleteError": "Error al eliminar",
"titleRequired": "El título es obligatorio",
"monthJanuary": "Enero",
"monthFebruary": "Febrero",
"monthMarch": "Marzo",
"monthApril": "Abril",
"monthMay": "Mayo",
"monthJune": "Junio",
"monthJuly": "Julio",
"monthAugust": "Agosto",
"monthSeptember": "Septiembre",
"monthOctober": "Octubre",
"monthNovember": "Noviembre",
"monthDecember": "Diciembre",
"dayShortSunday": "Do",
"dayShortMonday": "Lu",
"dayShortTuesday": "Ma",
"dayShortWednesday": "Mi",
"dayShortThursday": "Ju",
"dayShortFriday": "Vi",
"dayShortSaturday": "Sá",
"dayLongSunday": "Domingo",
"dayLongMonday": "Lunes",
"dayLongTuesday": "Martes",
"dayLongWednesday": "Miércoles",
"dayLongThursday": "Jueves",
"dayLongFriday": "Viernes",
"dayLongSaturday": "Sábado",
"timeSuffix": "",
"ics": {
"reset": "Restaurar original",
"resetToast": "Cambios restablecidos."
},
"iconLabel": "Icon",
"invalidDate": "Use a valid date in the selected date format.",
"attachmentLabel": "Attachment",
"attachmentHint": "Attach a local image, PDF, or document. Images will be shown in the event popup.",
"attachmentFallback": "Attachment",
"attachmentReadError": "The attachment could not be read.",
"attachmentTooLarge": "Attachment may be at most 5 MB."
},
"notes": {
"title": "Notas",
"newNote": "Nueva nota",
"editNote": "Editar nota",
"addNoteLabel": "Nueva nota",
"searchPlaceholder": "Buscar notas…",
"emptyTitle": "Sin notas todavía",
"emptyDescription": "Crea una nueva nota con el botón +.",
"noResultsTitle": "Sin resultados",
"noResultsDescription": "Ninguna nota contiene «{{query}}».",
"titleLabel": "Título (opcional)",
"titlePlaceholder": "Sin título",
"contentLabel": "Contenido",
"contentMarkdownHint": "(se admite formato Markdown)",
"contentPlaceholder": "Escribe una nota…",
"colorLabel": "Color",
"pinnedLabel": "Fijar (aparece en el panel)",
"pinAction": "Fijar",
"unpinAction": "Desfijar",
"deleteLabel": "Eliminar nota",
"deleteConfirm": "¿Eliminar nota?",
"createdToast": "Nota creada",
"savedToast": "Nota guardada",
"deletedToast": "Nota eliminada",
"loadError": "No se pudieron cargar las notas.",
"formatBold": "Negrita (Ctrl+B)",
"formatItalic": "Cursiva (Ctrl+I)",
"formatUnderline": "Subrayado (Ctrl+U)",
"formatStrikethrough": "Tachado",
"formatHeading": "Encabezado",
"formatList": "Lista",
"formatOrderedList": "Lista numerada",
"formatChecklist": "Lista de verificación",
"formatLink": "Enlace",
"formatCode": "Código",
"formatQuote": "Cita",
"formatDivider": "Separador",
"emptyAction": "Crear nota"
},
"contacts": {
"title": "Contactos",
"newContact": "Nuevo contacto",
"editContact": "Editar contacto",
"addButton": "Nuevo",
"newContactLabel": "Nuevo contacto",
"searchPlaceholder": "Buscar nombre, teléfono o email…",
"importButton": "Importar",
"importLabel": "Importar contacto desde vCard",
"importTooltip": "Importar vCard",
"emptyTitle": "Sin contactos todavía",
"emptyDescription": "Añade nuevos contactos con el botón +.",
"filterAll": "Todos",
"nameLabel": "Nombre *",
"namePlaceholder": "Nombre completo",
"categoryLabel": "Categoría",
"phoneLabel": "Teléfono",
"phonePlaceholder": "+34 …",
"emailLabel": "Email",
"emailPlaceholder": "nombre@ejemplo.es",
"addressLabel": "Dirección",
"addressPlaceholder": "Calle, código postal, ciudad",
"notesLabel": "Notas",
"notesPlaceholder": "Opcional…",
"callLabel": "Llamar",
"emailActionLabel": "Email",
"mapsLabel": "Abrir en Maps",
"exportLabel": "Exportar como vCard",
"exportTooltip": "Exportar vCard",
"deleteLabel": "Eliminar contacto",
"deleteConfirm": "¿Eliminar contacto?",
"deletePersonConfirm": "¿Eliminar «{{name}}»?",
"savedToast": "Contacto guardado",
"updatedToast": "Contacto actualizado",
"deletedToast": "Contacto eliminado",
"importedToast": "{{name}} importado.",
"importError": "Error al importar: {{error}}",
"vcardNoName": "La vCard no contiene nombre.",
"catDoctor": "Médico",
"catSchool": "Escuela/Guardería",
"catAuthority": "Administración",
"catInsurance": "Seguro",
"catCraftsman": "Artesano",
"catEmergency": "Emergencia",
"catMisc": "Otros",
"categoryDoctor": "Médico",
"categorySchool": "Escuela/Guardería",
"categoryAuthority": "Administración",
"categoryInsurance": "Seguro",
"categoryCraftsman": "Artesano",
"categoryEmergency": "Emergencia",
"categoryOther": "Otros",
"emptyAction": "Agregar contacto"
},
"budget": {
"title": "Presupuesto",
"newEntry": "Nueva entrada",
"editEntry": "Editar entrada",
"addEntryLabel": "Añadir entrada",
"newEntryFabLabel": "Nueva entrada",
"currentMonth": "Este mes",
"prevMonth": "Mes anterior",
"nextMonth": "Mes siguiente",
"income": "Ingresos",
"expenses": "Gastos",
"balance": "Saldo",
"byCategory": "Por categoría",
"transactions": "Transacciones",
"emptyTitle": "Sin entradas este mes",
"emptyDescription": "Añade entradas de presupuesto con el botón +.",
"csvExport": "CSV",
"typeExpense": "Gasto",
"typeIncome": "Ingreso",
"titleLabel": "Título *",
"titlePlaceholder": "Ej. Supermercado",
"amountLabel": "Importe *",
"amountPlaceholder": "0,00",
"categoryLabel": "Categoría",
"dateLabel": "Fecha *",
"recurringLabel": "Recurrente",
"deleteLabel": "Eliminar entrada",
"deleteConfirm": "¿Eliminar entrada?",
"deletePersonConfirm": "¿Eliminar «{{title}}»?",
"addedToast": "Entrada añadida",
"savedToast": "Entrada guardada",
"deletedToast": "Entrada eliminada",
"loadError": "No se pudo cargar el presupuesto.",
"trendNeutral": "- como {{month}}",
"validAmountRequired": "Introduce un importe válido",
"dateRequired": "La fecha es obligatoria",
"catFood": "Alimentación",
"catRent": "Alquiler",
"catInsurance": "Seguro",
"catMobility": "Movilidad",
"catLeisure": "Ocio y entretenimiento",
"catClothing": "Ropa",
"catHealth": "Salud",
"catEducation": "Educación",
"catMisc": "Otros",
"catEarnedIncome": "Ingresos del Trabajo",
"catInvestmentIncome": "Ingresos de Inversión",
"catTransferGiftIncome": "Transferencias y Regalos",
"catGovernmentBenefits": "Prestaciones Sociales",
"catOtherIncome": "Otros Ingresos",
"loadingIndicator": "Cargando…",
"subcategoryLabel": "Subcategoría",
"catHousing": "Vivienda / Casa",
"catTransport": "Transporte",
"catPersonalHealth": "Cuidado personal / Salud",
"catShoppingClothing": "Compras y ropa",
"catFinancialOther": "Servicios financieros y otros",
"subcatRentMortgage": "Alquiler / Hipoteca",
"subcatCondominium": "Comunidad",
"subcatUtilities": "Luz / Agua / Gas",
"subcatInternetTvPhone": "Internet / TV / Teléfono",
"subcatRenovationMaintenance": "Reforma / Mantenimiento",
"subcatCleaning": "Limpieza",
"subcatGroceries": "Supermercado",
"subcatRestaurantsBars": "Restaurantes / Bares",
"subcatSnacksFastFood": "Snacks / Comida rápida",
"subcatBakery": "Panadería",
"subcatFuel": "Combustible",
"subcatParkingTolls": "Aparcamiento / Peajes",
"subcatPublicTransport": "Transporte público",
"subcatAppsTaxi": "Apps / Taxi",
"subcatMaintenanceInsurance": "Mantenimiento / Seguro",
"subcatPharmacy": "Farmacia",
"subcatHealthInsurance": "Seguro médico",
"subcatGymSports": "Gimnasio / Deportes",
"subcatBeautyCosmetics": "Belleza / Cosmética",
"subcatTravel": "Viajes",
"subcatStreaming": "Streaming",
"subcatEvents": "Eventos",
"subcatHobbies": "Aficiones",
"subcatClothesShoes": "Ropa / Calzado",
"subcatElectronics": "Electrónica",
"subcatGifts": "Regalos",
"subcatCoursesCollege": "Cursos / Universidad",
"subcatSchoolSupplies": "Material escolar",
"subcatLanguages": "Idiomas",
"subcatLoansInterest": "Préstamos / Intereses",
"subcatBankFees": "Comisiones bancarias",
"subcatInsuranceOther": "Seguros",
"subcatInvestments": "Inversiones",
"subcatTaxes": "Impuestos",
"metaLoadError": "No se pudieron cargar las categorías del presupuesto.",
"addCategory": "+ categoría",
"addSubcategory": "+ subcategoría",
"newCategoryPrompt": "Nombre de la nueva categoría:",
"newSubcategoryPrompt": "Nombre de la nueva subcategoría:",
"categoryAddedToast": "Categoría añadida.",
"subcategoryAddedToast": "Subcategoría añadida.",
"emptyAction": "Agregar entrada",
"loansTitle": "Préstamos",
"loansSummary": "{{count}} activos · {{amount}} restantes",
"newLoan": "Nuevo préstamo",
"createLoan": "Crear préstamo",
"editLoan": "Editar préstamo",
"deleteLoan": "Eliminar préstamo",
"deleteLoanConfirm": "¿Eliminar el préstamo \"{{title}}\"? También se eliminarán los pagos ya registrados en el presupuesto.",
"deleteLoanPaymentConfirm": "¿Eliminar este pago del préstamo?",
"loanRemainingAmount": "Restante",
"loanRemainingInstallments": "Cuotas restantes",
"loanPaidAmount": "Pagado",
"loansEmpty": "No hay préstamos activos.",
"loanInstallmentMeta": "{{paid}} de {{total}} cuotas pagadas",
"loanRemainingOf": "de {{total}}",
"loanNextDue": "Siguiente: {{month}}",
"loanPaidStatus": "Pagado",
"markLoanPaid": "Marcar pagado",
"loanBorrowerLabel": "Persona *",
"loanBorrowerPlaceholder": "Ej. Lais",
"loanTitleLabel": "Título del préstamo",
"loanTitlePlaceholder": "Ej. Préstamo personal",
"loanAmountLabel": "Importe total *",
"loanInstallmentsLabel": "Cuotas *",
"loanStartMonthLabel": "Primer mes de vencimiento *",
"loanNotesLabel": "Notas",
"loanBorrowerRequired": "La persona es obligatoria",
"loanInstallmentsRequired": "Introduce el número de cuotas",
"loanStartMonthRequired": "Introduce el primer mes de vencimiento",
"loanAddedToast": "Préstamo añadido",
"loanSavedToast": "Préstamo guardado",
"loanDeletedToast": "Préstamo eliminado",
"loanPaymentAddedToast": "Pago registrado",
"loanPaymentTitle": "Pago del préstamo: {{borrower}}",
"typeLoan": "Préstamo",
"tabsLabel": "Secciones del presupuesto",
"budgetTab": "Presupuesto",
"loansTab": "Préstamos",
"filteredTransactions": "Transacciones filtradas",
"clearLoanFilter": "Limpiar filtro",
"loanFilterActive": "Préstamo: {{title}}",
"filterLoanTransactions": "Mostrar transacciones de este préstamo",
"loansEmptyDescription": "Crea un préstamo con el botón + y elige Préstamo.",
"newCategoryTitle": "Nueva categoría",
"newCategoryPlaceholder": "Nombre de la categoría",
"newSubcategoryTitle": "Nueva subcategoría",
"newSubcategoryPlaceholder": "Nombre de la subcategoría",
"loanStatusFilterLabel": "Filtro de estado de préstamos",
"loanStatusActive": "Activos",
"loanStatusPaid": "Pagados",
"loanStatusAll": "Todos",
"loanTransactions": "Transacciones del préstamo",
"loanInstallmentNumber": "Cuota {{number}} de {{total}}",
"loanReportTitle": "Informe del préstamo",
"loanNoTransactions": "Aún no hay pagos registrados."
},
"settings": {
"title": "Ajustes",
"tabGeneral": "General",
"tabMeals": "Comidas",
"tabBudget": "Presupuesto",
"tabShopping": "Compras",
"tabCalendar": "Calendario",
"tabFamily": "Gestión familiar",
"tabApiTokens": "API Tokens",
"tabAccount": "Cuenta",
"tabsAriaLabel": "Secciones de configuración",
"sectionDesign": "Diseño",
"sectionAppName": "Nombre de la aplicación",
"sectionShopping": "Compras",
"shoppingCategoriesLabel": "Categorías de compra",
"shoppingCategoriesHint": "Añade, renombra, elimina u ordena las categorías.",
"shoppingCategoryPlaceholder": "Nueva categoría…",
"shoppingCategoryRenameHint": "Haz clic para renombrar",
"shoppingCategoryRenamePrompt": "Nuevo nombre de categoría:",
"shoppingCategoryMoveUp": "Subir categoría",
"shoppingCategoryMoveDown": "Bajar categoría",
"shoppingCategoryDelete": "Eliminar categoría",
"shoppingCategoryDeleteConfirm": "¿Eliminar categoría «{{name}}»? Los artículos existentes se asignarán a la siguiente categoría.",
"shoppingCategoryAdded": "Categoría añadida.",
"shoppingCategoryRenamed": "Categoría renombrada.",
"shoppingCategoryDeleted": "Categoría eliminada.",
"sectionAccount": "Mi cuenta",
"sectionCalendarSync": "Sincronización de calendario",
"sectionFamily": "Miembros de la familia",
"cardAppearance": "Apariencia",
"appNameTitle": "Nombre de la app",
"appNameLabel": "Nombre de la aplicación",
"appNameHint": "Este nombre aparece en la barra lateral, el título del navegador y la pantalla de inicio de sesión.",
"appNamePlaceholder": "Oikos",
"appNameSavedToast": "Nombre de la aplicación guardado.",
"sectionDate": "Fecha",
"dateFormatTitle": "Formato de fecha",
"dateFormatLabel": "Formato de fecha preferido",
"dateFormatHint": "Elige cómo se muestran las fechas en toda la app.",
"dateFormatSavedToast": "Formato de fecha guardado.",
"timeFormatLabel": "Formato de hora",
"timeFormatHours": "horas",
"timeFormatSavedToast": "Formato de hora guardado.",
"themeSystem": "Sistema",
"themeSysLabel": "Usar configuración del sistema",
"themeLight": "Claro",
"themeLightLabel": "Tema claro",
"themeDark": "Oscuro",
"themeDarkLabel": "Tema oscuro",
"changePassword": "Cambiar contraseña",
"currentPasswordLabel": "Contraseña actual",
"newPasswordLabel": "Nueva contraseña",
"confirmPasswordLabel": "Confirmar nueva contraseña",
"savePassword": "Guardar contraseña",
"passwordMismatch": "Las contraseñas no coinciden.",
"passwordSavedToast": "Contraseña cambiada correctamente.",
"googleCalendar": "Google Calendar",
"appleCalendar": "Apple Calendar (iCloud)",
"syncNow": "Sincronizar ahora",
"disconnect": "Desconectar",
"connectGoogle": "Conectar con Google",
"connected": "Conectado",
"connectedLastSync": "Conectado · Última: {{date}}",
"notConnected": "No conectado",
"notConfigured": "No configurado (faltan variables .env)",
"configured": "Configurado (via .env)",
"configuredLastSync": "Configurado (via .env) · Última: {{date}}",
"syncSuccess": "{{provider}} sincronizado.",
"disconnectedToast": "{{provider}} desconectado.",
"googleOnlyAdmin": "Solo el administrador puede conectar Google Calendar.",
"appleOnlyAdmin": "Solo el administrador puede conectar Apple Calendar.",
"caldavUrlLabel": "URL del servidor CalDAV",
"caldavUrlPlaceholder": "https://caldav.icloud.com",
"appleIdLabel": "Apple ID (email)",
"applePasswordLabel": "Contraseña específica de app",
"applePasswordHint": "Crea la contraseña en <strong>appleid.apple.com → Seguridad</strong>.",
"appleConnectBtn": "Conectar y probar",
"appleConnecting": "Conectando…",
"appleConnectedToast": "Apple Calendar conectado.",
"syncSuccessGoogle": "Sincronización de calendario con Google conectada correctamente.",
"syncSuccessApple": "Sincronización de calendario con Apple conectada correctamente.",
"syncErrorGoogle": "Error al conectar con Google. Por favor, inténtalo de nuevo.",
"syncErrorApple": "Error al conectar con Apple. Por favor, inténtalo de nuevo.",
"addMember": "+ Añadir miembro",
"newMemberTitle": "Nuevo miembro de la familia",
"usernameLabel": "Nombre de usuario",
"displayNameLabel": "Nombre para mostrar",
"memberPasswordLabel": "Contraseña",
"colorLabel": "Color",
"profilePictureTitle": "Foto de perfil",
"profilePictureLabel": "Subir foto",
"profilePictureHint": "PNG, JPEG o WebP. Las imágenes grandes se redimensionan antes de subirlas.",
"profilePictureRemove": "Eliminar foto",
"profilePictureTypeError": "Usa una imagen PNG, JPEG o WebP.",
"profilePictureFileTooLarge": "El archivo de imagen es demasiado grande.",
"profilePictureTooLarge": "La foto sigue siendo demasiado grande después de redimensionarla.",
"profilePictureReadError": "No se pudo leer la imagen seleccionada.",
"profileSavedToast": "Perfil actualizado.",
"editMemberLabel": "Editar",
"editMemberTitle": "Editar miembro de la familia",
"saveMember": "Guardar miembro",
"memberUpdatedToast": "{{name}} actualizado.",
"familyRoleLabel": "Rol familiar",
"familyRoleDad": "Papá",
"familyRoleMom": "Mamá",
"familyRoleParent": "Progenitor",
"familyRoleChild": "Hijo/a",
"familyRoleGrandparent": "Abuelo/a",
"familyRoleRelative": "Familiar",
"familyRoleOther": "Miembro de la familia",
"systemAdminLabel": "Administrador del sistema",
"systemAdminHint": "Los administradores del sistema pueden gestionar ajustes, integraciones, tokens de API y cuentas familiares.",
"systemAdminBadge": "Admin del sistema",
"roleLabel": "Rol",
"roleMember": "Miembro",
"roleAdmin": "Administrador",
"createMember": "Crear",
"cancelAddMember": "Cancelar",
"memberAddedToast": "{{name}} añadido.",
"deleteMemberConfirm": "¿Eliminar a {{name}}?",
"memberDeletedToast": "{{name}} eliminado.",
"deleteMemberLabel": "Eliminar",
"logout": "Cerrar sesión",
"synchronizing": "Sincronizando…",
"googleDisconnectConfirm": "¿Desconectar Google Calendar?",
"appleDisconnectConfirm": "¿Desconectar Apple Calendar?",
"localeSystem": "Sistema",
"localeLabel": "Idioma",
"languageTitle": "Idioma",
"sectionMeals": "Plan de comidas",
"mealTypesLabel": "Comidas visibles",
"mealTypesHint": "Solo se mostrarán los tipos de comida seleccionados.",
"mealTypesSaved": "Ajustes del plan de comidas guardados.",
"mealTypesMinOne": "Al menos un tipo de comida debe estar activo.",
"sectionBudget": "Presupuesto",
"currencyLabel": "Moneda",
"currencyHint": "Establece la moneda para toda la sección de presupuesto.",
"currencySaved": "Moneda guardada.",
"apiTokensTitle": "API Tokens",
"apiTokensCardTitle": "Access Tokens",
"apiTokensHint": "Create API tokens for external integrations. The full token is shown only once after creation.",
"apiTokenNameLabel": "Token name",
"apiTokenExpiresLabel": "Expiration date",
"apiTokenExpiresHint": "Leave empty to create a token without expiration.",
"apiTokenCreatedLabel": "New API token",
"apiTokenCreatedHint": "Store this token securely. It cannot be shown again.",
"apiTokenCreate": "Create token",
"apiTokenInvalidExpiration": "Please enter a valid expiration date.",
"apiTokenCreatedToast": "API token created.",
"apiTokenRevokedToast": "API token revoked.",
"apiTokenRevokeConfirm": "Revoke API token \"{{name}}\"?",
"apiTokenRevoke": "Revoke token",
"apiTokenRevoked": "Revoked",
"apiTokenExpired": "Expired",
"apiTokenActive": "Active",
"apiTokenPrefix": "Prefix",
"apiTokenExpires": "Expires",
"apiTokenNeverExpires": "No expiration",
"apiTokenLastUsed": "Last used",
"apiTokenNeverUsed": "Never used",
"ics": {
"title": "Suscripciones ICS",
"add": "Añadir suscripción",
"addedToast": "Suscripción añadida.",
"deletedToast": "Suscripción eliminada.",
"syncedToast": "Suscripción sincronizada.",
"confirm_delete": "¿Realmente deseas eliminar esta suscripción? Todos los eventos asociados también se eliminarán.",
"empty": "Aún no hay suscripciones.",
"form": {
"name": "Nombre",
"url": "URL ICS",
"color": "Color",
"shared": "Visible para todos"
},
"actions": {
"submit": "Añadir",
"save": "Guardar",
"cancel": "Cancelar",
"delete": "Eliminar",
"edit": "Editar",
"sync": "Sincronizar ahora"
},
"status": {
"lastSync": "Última sincronización:",
"never": "Aún no sincronizado",
"syncing": "Sincronizando...",
"syncError": "Error de sincronización"
},
"badges": {
"private": "Privado",
"shared": "Compartido"
},
"updatedToast": "Suscripción actualizada."
},
"memberPhoneLabel": "Número de teléfono (opcional)",
"memberEmailLabel": "Correo electrónico (opcional)",
"memberBirthDateLabel": "Fecha de nacimiento (opcional)",
"memberContactBirthdayHint": "Este miembro se sincroniza automáticamente con Contactos y Cumpleaños.",
"memberBirthDateInvalid": "Usa una fecha de nacimiento válida en el formato seleccionado.",
"memberPhoneMeta": "Teléfono: {{value}}",
"memberBirthdayMeta": "Cumpleaños: {{date}}",
"tabBackup": "Gestión de copias",
"sectionBackup": "Gestión de copias",
"backupDownloadTitle": "Descargar copia de la base de datos",
"backupDownloadHint": "Crea una copia SQLite consistente de todos los datos de la aplicación.",
"backupDownloadButton": "Descargar copia",
"backupRestoreTitle": "Restaurar copia de la base de datos",
"backupRestoreHint": "La restauración reemplaza la base de datos actual. Descarga una copia reciente antes de continuar.",
"backupDropzoneTitle": "Suelta un archivo de copia aquí o haz clic para seleccionarlo",
"backupDropzoneHint": "Archivos SQLite: .db, .sqlite o .sqlite3",
"backupRestoreButton": "Restaurar copia",
"backupRestoreConfirm": "Restaurar esta copia reemplazará la base de datos actual para todos. ¿Continuar?",
"backupRestoring": "Restaurando...",
"backupRestoredToast": "Base de datos restaurada. Recargando...",
"backupCliTitle": "Restauración por CLI / Docker Compose",
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
"backupCliBackupHint": "También puedes crear una copia directamente con Docker Compose:"
},
"login": {
"tagline": "Planificación familiar. Segura. Privada. Código abierto.",
"usernameLabel": "Nombre de usuario",
"usernamePlaceholder": "usuario",
"passwordLabel": "Contraseña",
"passwordPlaceholder": "••••••••",
"loginButton": "Iniciar sesión",
"loggingIn": "Iniciando sesión…",
"tooManyAttempts": "Demasiados intentos. Por favor, espera un momento.",
"invalidCredentials": "Credenciales incorrectas.",
"version": "v{{version}}"
},
"install": {
"title": "Instalar Oikos",
"subtitle": "Añadir a la pantalla de inicio",
"iosTip1": "Toca ",
"iosTip2": " → «Añadir a pantalla de inicio»",
"installButton": "Instalar",
"dismissLabel": "Cerrar"
},
"modal": {
"closeLabel": "Cerrar",
"overlayLabel": "Fondo del cuadro de diálogo modal",
"unsavedChanges": "¿Descartar cambios?",
"discardChanges": "Descartar"
},
"rrule": {
"freqNone": "Sin repetición",
"freqDaily": "Diariamente",
"freqWeekly": "Semanalmente",
"freqMonthly": "Mensualmente",
"dayMo": "Lu",
"dayTu": "Ma",
"dayWe": "Mi",
"dayTh": "Ju",
"dayFr": "Vi",
"daySa": "Sá",
"daySu": "Do",
"labelRepeat": "Repetición",
"labelEvery": "Cada",
"labelOnDays": "En estos días",
"labelUntil": "Termina el (opcional)",
"unitDay": "día",
"unitDays": "días",
"unitWeek": "semana",
"unitWeeks": "semanas",
"unitMonth": "mes",
"unitMonths": "meses"
},
"recipes": {
"title": "Recetas",
"addRecipe": "Agregar receta",
"editRecipe": "Editar receta",
"emptyTitle": "Sin recetas aún",
"emptyDescription": "Guarda tus recetas favoritas y reutilízalas en la planificación de comidas.",
"titleLabel": "Título *",
"titlePlaceholder": "ej. Pasta a la Carbonara",
"notesLabel": "Notas",
"notesPlaceholder": "Opcional...",
"urlLabel": "Enlace de receta",
"urlPlaceholder": "https://...",
"ingredientsLabel": "Ingredientes",
"addToMeals": "Agregar al plan de comidas",
"openLink": "Abrir enlace de receta",
"deleteConfirm": "¿Eliminar receta \"{{title}}\"?",
"created": "Receta guardada.",
"updated": "Receta actualizada.",
"deleted": "Receta eliminada.",
"titleRequired": "El título es obligatorio",
"duplicate": "Duplicar",
"duplicated": "Receta duplicada.",
"copySuffix": "copia",
"emptyAction": "Crear receta"
},
"search": {
"title": "Búsqueda",
"open": "Abrir búsqueda",
"placeholder": "Buscar…",
"noResults": "No se encontraron resultados."
},
"birthdays": {
"title": "Cumpleaños",
"addButton": "Añadir cumpleaños",
"searchPlaceholder": "Buscar cumpleaños…",
"upcomingTitle": "Próximos cumpleaños",
"upcomingHint": "Las próximas celebraciones, ya sincronizadas con el calendario.",
"peopleTitle": "Personas",
"peopleHint": "Busca, revisa y edita todos los cumpleaños guardados.",
"emptyTitle": "Todavía no hay cumpleaños",
"emptyDescription": "Añade un cumpleaños para mantenerlo visible en el calendario y en los recordatorios.",
"newTitle": "Nuevo cumpleaños",
"editTitle": "Editar cumpleaños",
"nameLabel": "Nombre",
"birthDateLabel": "Fecha de nacimiento",
"photoLabel": "Foto de perfil",
"removePhoto": "Eliminar foto",
"notesLabel": "Notas",
"notesPlaceholder": "Ideas de regalo, tarta favorita, notas familiares…",
"calendarHint": "Cada cumpleaños se añade automáticamente al calendario y al sistema de recordatorios.",
"requiredFields": "El nombre y la fecha de nacimiento son obligatorios.",
"createdToast": "Cumpleaños guardado.",
"updatedToast": "Cumpleaños actualizado.",
"deletedToast": "Cumpleaños eliminado.",
"deleteConfirm": "¿Eliminar el cumpleaños de \"{{name}}\"?",
"ageNoteToday": "Cumple {{age}} años hoy.",
"ageNoteTomorrow": "Cumple {{age}} años mañana.",
"ageNoteDays": "Cumplirá {{age}} años en {{days}} días."
},
"reminders": {
"sectionTitle": "Recordatorio",
"enableLabel": "Establecer recordatorio",
"offsetLabel": "Recordar",
"offsetNone": "Ninguno",
"offsetAtTime": "A la hora de inicio",
"offset15min": "15 minutos antes",
"offset1hour": "1 hora antes",
"offset1day": "1 día antes",
"dateLabel": "Fecha",
"timeLabel": "Hora",
"toastTitle": "Recordatorio",
"dismiss": "Descartar",
"pendingBadgeTitle": "{{count}} recordatorio pendiente",
"pendingBadgeTitlePlural": "{{count}} recordatorios pendientes",
"notificationPermission": "Notificaciones del navegador",
"notificationEnable": "Activar notificaciones",
"notificationEnabled": "Notificaciones activas",
"notificationDenied": "Notificaciones bloqueadas",
"notificationHint": "Recibe notificaciones incluso cuando la aplicación está abierta.",
"offset2days": "2 days before",
"offset1week": "1 week before",
"offset2weeks": "2 weeks before",
"offsetCustom": "Custom...",
"customAmountLabel": "Number",
"customUnitLabel": "Unit",
"customMinutes": "Minutes",
"customHours": "Hours",
"customDays": "Days",
"customWeeks": "Weeks"
},
"onboarding": {
"step1Title": "Welcome to Oikos",
"step1Body": "Your personal family planner. Tasks, calendar, shopping and more all in one place.",
"step2Title": "Navegación y módulos",
"step2Body": "En la parte inferior accedes directamente al Panel y el Calendario. Con el botón ··· abres más módulos como Cocina, Notas y Contactos.",
"step3Title": "Empieza rápido",
"step3Body": "Con el botón + creas nuevas entradas en cualquier lugar. Desliza elementos de la lista a la izquierda o derecha para acciones rápidas.",
"next": "Next",
"done": "Get started",
"skip": "Skip"
},
"offline": {
"banner": "Offline reconnecting…"
},
"emptyHint": {
"recipes": "Crea recetas y vincúlalas con tu planificador de comidas."
},
"documents": {
"title": "Documentos",
"addButton": "Agregar documento",
"searchPlaceholder": "Buscar documentos...",
"gridView": "Vista de cuadrícula",
"listView": "Vista de lista",
"viewToggle": "Vista de documentos",
"allCategories": "Todas las categorías",
"emptyTitle": "Aún no hay documentos",
"emptyDescription": "Sube documentos familiares y controla quién puede ver cada archivo.",
"newTitle": "Nuevo documento",
"editTitle": "Configuración del documento",
"nameLabel": "Nombre",
"descriptionLabel": "Descripción",
"categoryLabel": "Categoría",
"fileLabel": "Archivo",
"fileHint": "PDF, imágenes, texto y archivos Office de hasta 5 MB.",
"visibilityLabel": "Visibilidad",
"statusLabel": "Estado",
"allowedMembersLabel": "Miembros permitidos",
"uploadAction": "Subir",
"downloadAction": "Descargar",
"editAction": "Configuración",
"archiveAction": "Archivar",
"restoreAction": "Restaurar",
"savedToast": "Documento guardado.",
"uploadedToast": "Documento subido.",
"archivedToast": "Documento archivado.",
"restoredToast": "Documento restaurado.",
"deletedToast": "Documento eliminado.",
"deleteConfirm": "¿Eliminar documento \"{{name}}\"?",
"fileRequired": "Selecciona un archivo para subir.",
"fileTooLarge": "El archivo puede tener como máximo 5 MB.",
"fileReadError": "No se pudo leer el archivo.",
"statusActive": "Activo",
"statusArchived": "Archivado",
"visibility": {
"family": "Toda la familia",
"restricted": "Miembros seleccionados",
"private": "Solo yo"
},
"category": {
"medical": "Médico",
"school": "Escuela",
"identity": "Identidad",
"insurance": "Seguro",
"finance": "Finanzas",
"home": "Hogar",
"vehicle": "Vehículo",
"legal": "Legal",
"travel": "Viajes",
"pets": "Mascotas",
"warranty": "Garantía",
"taxes": "Impuestos",
"work": "Trabajo",
"other": "Otros"
},
"dropzoneTitle": "Suelta el archivo aquí o haz clic para elegir",
"dropzoneHint": "Arrastra un archivo a esta área o usa el selector de archivos.",
"selectedFileLabel": "Seleccionado: {{name}}"
},
"shortcuts": {
"goKitchen": "Cocina"
}
}