feat(i18n): expand Life OS to ten locales
This commit is contained in:
1 parent
a88a7f550f
commit
87276a051e
25 files changed
+6080
-87
No files matched your search
@@ -0,0 +1,737 @@
|
||||
{
|
||||
"app": {
|
||||
"today": "HOY",
|
||||
"timeline": "CRONOLOGÍA",
|
||||
"museum": "MUSEO",
|
||||
"insights": "ANÁLISIS",
|
||||
"profile": "PERFIL",
|
||||
"tasks": "OBJETIVOS Y TAREAS",
|
||||
"calendar": "CALENDARIO",
|
||||
"system": "SISTEMA",
|
||||
"browser": "NAVEGADOR",
|
||||
"terminal": "TERMINAL",
|
||||
"database": "BASE DE DATOS"
|
||||
},
|
||||
"db": {
|
||||
"title": "Administrador de base de datos",
|
||||
"loginBody": "Consulta y edita los registros de tu cuenta.",
|
||||
"setupTitle": "Crear contraseña de la base",
|
||||
"setupBody": "Crea una contraseña para esta cuenta. La antigua contraseña compartida ya no funciona.",
|
||||
"checking": "Comprobando el acceso…",
|
||||
"setPassword": "Crear contraseña y entrar",
|
||||
"currentPassword": "Contraseña actual",
|
||||
"newPassword": "Nueva contraseña (mínimo 12 caracteres)",
|
||||
"confirmPassword": "Confirmar nueva contraseña",
|
||||
"passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"changePassword": "Cambiar contraseña",
|
||||
"passwordChanged": "Contraseña actualizada. Se cerraron las sesiones anteriores.",
|
||||
"server": "Servidor",
|
||||
"username": "Usuario",
|
||||
"password": "Contraseña",
|
||||
"warningTitle": "Acceso directo a la base de datos",
|
||||
"warningBody": "Los cambios se guardan inmediatamente en la nube. Un JSON inválido o un borrado puede afectar tus datos. Exporta una copia antes de cambios importantes.",
|
||||
"acknowledge": "Entiendo que edito directamente los registros.",
|
||||
"login": "Entrar en la base",
|
||||
"connected": "Conectado a los registros de tu cuenta.",
|
||||
"sessionExpired": "La sesión caducó. Inicia sesión de nuevo.",
|
||||
"requestFailed": "Error en la solicitud.",
|
||||
"unexpectedResponse": "Respuesta inesperada del servidor. Inténtalo de nuevo.",
|
||||
"ownData": "SOLO CUENTA ACTUAL",
|
||||
"directMode": "Editor directo · cambios guardados en D1",
|
||||
"logout": "Cerrar sesión",
|
||||
"tables": "Tablas",
|
||||
"memories": "Recuerdos",
|
||||
"goals": "Objetivos",
|
||||
"tasks": "Tareas",
|
||||
"museum": "Favoritos",
|
||||
"profile": "Perfil",
|
||||
"settings": "Configuración",
|
||||
"system": "Sistema",
|
||||
"refresh": "Actualizar",
|
||||
"newRecord": "Nuevo registro",
|
||||
"newRevision": "nuevo",
|
||||
"count": "{count} registros",
|
||||
"empty": "No hay registros en esta tabla.",
|
||||
"selectRow": "Selecciona una fila para ver su JSON.",
|
||||
"recordId": "ID del registro",
|
||||
"json": "JSON del registro",
|
||||
"editorHint": "Mantén el mismo ID en el JSON y la fila. Un conflicto indica que el registro cambió.",
|
||||
"create": "Crear",
|
||||
"save": "Guardar",
|
||||
"delete": "Eliminar",
|
||||
"cancel": "Cancelar",
|
||||
"previous": "Anterior",
|
||||
"next": "Siguiente",
|
||||
"invalidJson": "JSON no válido.",
|
||||
"idMismatch": "Los ID no coinciden.",
|
||||
"saveConfirm": "¿Guardar directamente el registro {id}?",
|
||||
"deleteConfirm": "¿Eliminar el registro {id}? No se puede deshacer aquí.",
|
||||
"saved": "Registro guardado.",
|
||||
"deleted": "Registro eliminado.",
|
||||
"reloadHint": "El escritorio usa una caché local. Recarga después de editar la base.",
|
||||
"reloadDesktop": "Recargar escritorio"
|
||||
},
|
||||
"common": {
|
||||
"save": "GUARDAR",
|
||||
"cancel": "CANCELAR",
|
||||
"edit": "EDITAR",
|
||||
"delete": "ELIMINAR",
|
||||
"close": "Cerrar",
|
||||
"open": "Abrir",
|
||||
"minimize": "Minimizar",
|
||||
"maximize": "Maximizar",
|
||||
"restore": "Restaurar ventana",
|
||||
"energy": "ENERGÍA",
|
||||
"days": "DÍAS",
|
||||
"never": "NUNCA"
|
||||
},
|
||||
"today": {
|
||||
"prompt": "¿Cómo fue tu día?",
|
||||
"placeholder": "Escribe algo sobre hoy…",
|
||||
"archive": "ARCHIVAR HOY",
|
||||
"update": "ACTUALIZAR RECUERDO",
|
||||
"archiveDate": "GUARDAR RECUERDO",
|
||||
"updateDate": "ACTUALIZAR RECUERDO",
|
||||
"backToToday": "Volver a hoy",
|
||||
"weather": "CLIMA DE HOY",
|
||||
"energy": "NIVEL DE ENERGÍA",
|
||||
"film": "IDEA DEL DÍA",
|
||||
"archiving": "ARCHIVANDO…",
|
||||
"archived": "RECUERDO ARCHIVADO"
|
||||
},
|
||||
"weather": {
|
||||
"clear": "Despejado",
|
||||
"light": "Poco nublado",
|
||||
"cloudy": "Nublado",
|
||||
"rain": "Lluvia",
|
||||
"storm": "Tormenta"
|
||||
},
|
||||
"timeline": {
|
||||
"eyebrow": "ARCHIVO DE RECUERDOS",
|
||||
"heading": "{count} DE {total} RECUERDOS",
|
||||
"search": "Buscar recuerdos",
|
||||
"searchPlaceholder": "Buscar notas, etiquetas, lugares, tareas…",
|
||||
"filterTag": "Filtrar por etiqueta",
|
||||
"allTags": "TODAS LAS ETIQUETAS",
|
||||
"noMatches": "Ningún recuerdo coincide con los filtros.",
|
||||
"favorite": "FAVORITO",
|
||||
"emptyTitle": "Aún no hay recuerdos.",
|
||||
"emptyBody": "Abre Hoy cuando quieras guardar uno.",
|
||||
"detail": "DETALLE DEL RECUERDO",
|
||||
"untitled": "Recuerdo sin título",
|
||||
"noNote": "No hay nota escrita.",
|
||||
"editing": "EDITANDO COMO HOY — GUARDA PARA ACTUALIZAR",
|
||||
"preserved": "GUARDADO",
|
||||
"addMuseum": "AÑADIR AL MUSEO",
|
||||
"confirmDelete": "CONFIRMAR ELIMINACIÓN",
|
||||
"remove": "¿Eliminar este recuerdo?",
|
||||
"irreversible": "No se puede deshacer.",
|
||||
"deleteMemory": "ELIMINAR RECUERDO",
|
||||
"removed": "RECUERDO ELIMINADO",
|
||||
"added": "RECUERDO AÑADIDO A FAVORITOS",
|
||||
"unpreserved": "ELIMINADO DE FAVORITOS"
|
||||
},
|
||||
"memory": {
|
||||
"tags": "ETIQUETAS",
|
||||
"tagsPlaceholder": "Separa las etiquetas con comas",
|
||||
"place": "LUGAR / ESCENA (OPCIONAL)",
|
||||
"placePlaceholder": "¿Dónde ocurrió?",
|
||||
"linkTask": "TAREA RELACIONADA (OPCIONAL)",
|
||||
"noTask": "SIN TAREA RELACIONADA",
|
||||
"relatedTask": "Tarea relacionada",
|
||||
"favorite": "AÑADIR A FAVORITOS",
|
||||
"edit": "EDITAR RECUERDO",
|
||||
"note": "NOTA",
|
||||
"title": "TÍTULO (OPCIONAL)",
|
||||
"titlePlaceholder": "Ponle un título a este recuerdo"
|
||||
},
|
||||
"museum": {
|
||||
"eyebrow": "MUSEO",
|
||||
"title": "Momentos guardados",
|
||||
"subtitle": "Para volver a ellos con el tiempo.",
|
||||
"empty": "Un museo empieza con un momento guardado.",
|
||||
"preserved": "ESTADO: GUARDADO",
|
||||
"collection": "COLECCIÓN"
|
||||
},
|
||||
"insights": {
|
||||
"eyebrow": "INFORMES PERIÓDICOS",
|
||||
"title": "Análisis",
|
||||
"description": "Una vista objetiva de lo que registraste y completaste.",
|
||||
"period": "Período del informe",
|
||||
"week": "SEMANA",
|
||||
"month": "MES",
|
||||
"previous": "Período anterior",
|
||||
"next": "Período siguiente",
|
||||
"records": "FRECUENCIA DE REGISTRO",
|
||||
"recordedDays": "{count} entradas · {percent} % de los días transcurridos",
|
||||
"tasks": "TAREAS COMPLETADAS",
|
||||
"completedTasks": "Tareas marcadas como completadas en este período",
|
||||
"taskDetails": "{created} tareas creadas · {goals} objetivos completados",
|
||||
"weather": "CLIMA FRECUENTE",
|
||||
"noWeather": "No hay clima registrado en este período",
|
||||
"energy": "ENERGÍA REGISTRADA",
|
||||
"energyFromTo": "Primera entrada {first}/5 → última {last}/5",
|
||||
"singleEnergy": "Una entrada de energía en este período",
|
||||
"noEnergy": "No hay energía registrada en este período",
|
||||
"highlights": "MOMENTOS PARA REVISAR",
|
||||
"highlightSource": "Recuerdos guardados o entradas etiquetadas #highlight o #高光.",
|
||||
"highlightFavorite": "GUARDADO",
|
||||
"highlightTag": "ETIQUETADO",
|
||||
"highlightEmpty": "No hay recuerdos guardados o etiquetados en este período.",
|
||||
"note": "Solo se cuentan datos guardados. No se deduce clima ni energía de los días sin registro."
|
||||
},
|
||||
"profile": {
|
||||
"eyebrow": "PERFIL DEL SISTEMA",
|
||||
"online": "LIFE OS ACTIVO",
|
||||
"daysOnline": "DÍAS EN LÍNEA",
|
||||
"memories": "RECUERDOS",
|
||||
"museumItems": "ELEMENTOS DEL MUSEO",
|
||||
"streak": "RACHA ACTUAL",
|
||||
"longest": "RACHA MÁS LARGA",
|
||||
"commonWeather": "CLIMA FRECUENTE",
|
||||
"personal": "SISTEMA PERSONAL",
|
||||
"name": "Nombre visible",
|
||||
"birthday": "Cumpleaños (opcional)",
|
||||
"start": "Fecha de inicio",
|
||||
"motto": "Lema personal",
|
||||
"save": "GUARDAR PERFIL",
|
||||
"saved": "PERFIL GUARDADO",
|
||||
"average": "ENERGÍA MEDIA {value} / 5"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "NOTIFICACIONES",
|
||||
"allow": "Permitir notificaciones del sistema",
|
||||
"openOnly": "Los recordatorios funcionan mientras Life OS esté abierto. El navegador puede retrasarlos si la pestaña se suspende; no llegan después de cerrar el sitio.",
|
||||
"time": "Hora de {name}",
|
||||
"sendTest": "Enviar una notificación de prueba",
|
||||
"status": {
|
||||
"default": "Aún no se ha solicitado permiso. Elige Permitir para recibir avisos.",
|
||||
"granted": "Notificaciones permitidas en este dispositivo.",
|
||||
"denied": "Notificaciones bloqueadas. Cambia el permiso del sitio en el navegador.",
|
||||
"unsupported": "Las notificaciones no están disponibles en este navegador o contexto."
|
||||
},
|
||||
"memory": {
|
||||
"label": "Recuerdo de hoy",
|
||||
"description": "Recordarme que escriba si aún no hay recuerdo de hoy.",
|
||||
"title": "Un momento para recordar",
|
||||
"body": "Todavía no has escrito un recuerdo hoy."
|
||||
},
|
||||
"tasks": {
|
||||
"label": "Tareas de hoy",
|
||||
"description": "Mostrar tareas pendientes que vencen hoy o antes.",
|
||||
"title": "Tareas de hoy",
|
||||
"body": "Hay {count} tareas vencidas sin completar."
|
||||
},
|
||||
"goals": {
|
||||
"label": "Cuenta atrás de objetivos",
|
||||
"description": "Mostrar el objetivo activo más cercano con fecha.",
|
||||
"title": "Cuenta atrás de objetivos",
|
||||
"days": "{name}: quedan {count} días.",
|
||||
"today": "{name}: la fecha objetivo es hoy.",
|
||||
"overdue": "{name}: han pasado {count} días de la fecha objetivo."
|
||||
},
|
||||
"test": {
|
||||
"title": "Notificaciones de Life OS listas",
|
||||
"body": "Tu navegador puede mostrar recordatorios de Life OS.",
|
||||
"failed": "No se pudo mostrar la notificación de prueba."
|
||||
}
|
||||
},
|
||||
"systemNav": {
|
||||
"settings": "CONFIGURACIÓN",
|
||||
"navigation": "Categorías de configuración",
|
||||
"home": "Inicio",
|
||||
"appearance": "Personalización",
|
||||
"notifications": "Notificaciones",
|
||||
"language": "Idioma",
|
||||
"data": "Datos y copias",
|
||||
"about": "Acerca de",
|
||||
"homeHint": "Elige una categoría para configurar Life OS.",
|
||||
"device": "Este navegador",
|
||||
"deviceHint": "Tu espacio personal Life OS",
|
||||
"version": "v{version}",
|
||||
"quickSettings": "Ajustes rápidos",
|
||||
"appearanceHint": "Tema, fondo, iconos y widgets",
|
||||
"notificationsHint": "Recordatorios de recuerdos, tareas y objetivos",
|
||||
"languageHint": "Idioma del navegador y selección manual",
|
||||
"dataHint": "Importación, exportación y almacenamiento local"
|
||||
},
|
||||
"system": {
|
||||
"eyebrow": "CONFIGURACIÓN DEL SISTEMA",
|
||||
"title": "Tu sistema personal.",
|
||||
"appearance": "APARIENCIA",
|
||||
"language": "IDIOMA",
|
||||
"browserLanguage": "IDIOMA DEL NAVEGADOR",
|
||||
"detectedZh": "Detectado: chino",
|
||||
"detectedEn": "Detectado: inglés",
|
||||
"auto": "AUTOMÁTICO",
|
||||
"data": "DATOS",
|
||||
"storage": "ALMACENAMIENTO",
|
||||
"dataStorage": "ALMACENAMIENTO DE DATOS",
|
||||
"export": "EXPORTAR",
|
||||
"import": "IMPORTAR",
|
||||
"reset": "RESTABLECER LIFE OS",
|
||||
"local": "Almacenamiento local",
|
||||
"stored": "Tus datos se guardan localmente en este navegador.",
|
||||
"backups": "Crea copias de seguridad periódicas para evitar pérdidas.",
|
||||
"lastBackup": "ÚLTIMA COPIA · {value}",
|
||||
"recommended": "SE RECOMIENDA HACER UNA COPIA",
|
||||
"version": "VERSIÓN",
|
||||
"theme": {
|
||||
"dark": "OSCURO",
|
||||
"light": "CLARO",
|
||||
"auto": "AUTOMÁTICO"
|
||||
},
|
||||
"storageSummary": "{memories} recuerdos · {museum} elementos · {tasks} tareas · Aprox. {size} KB",
|
||||
"release": "Life OS<br>Versión {version} · Copia v2 · Base D1 v2",
|
||||
"languageEnglish": "INGLÉS",
|
||||
"languageChinese": "中文",
|
||||
"browserDetected": "Idioma del navegador: {name}"
|
||||
},
|
||||
"dialog": {
|
||||
"backup": "COPIA DE LIFE OS",
|
||||
"ready": "Lista para restaurar",
|
||||
"exported": "Exportado: {date}",
|
||||
"memories": "Recuerdos: {count}",
|
||||
"museumItems": "Elementos del museo: {count}",
|
||||
"goals": "Objetivos: {count}",
|
||||
"tasks": "Tareas: {count}",
|
||||
"merge": "COMBINAR",
|
||||
"replaceAll": "REEMPLAZAR TODOS LOS DATOS",
|
||||
"final": "CONFIRMACIÓN FINAL",
|
||||
"replaceQuestion": "¿Reemplazar todos los datos de Life OS?",
|
||||
"replaceWarning": "Se reemplazarán todos los datos actuales.",
|
||||
"replace": "REEMPLAZAR",
|
||||
"resetQuestion": "¿Restablecer todos los datos locales?",
|
||||
"resetWarning": "Exporta una copia de seguridad antes de continuar.",
|
||||
"resetData": "RESTABLECER DATOS"
|
||||
},
|
||||
"feedback": {
|
||||
"backup": "COPIA CREADA",
|
||||
"invalid": "ARCHIVO NO VÁLIDO",
|
||||
"restored": "SISTEMA RESTAURADO",
|
||||
"restoring": "RESTAURANDO…",
|
||||
"minimized": "MINIMIZADO — TOCA EL ICONO PARA RESTAURAR",
|
||||
"languageZh": "Idioma: chino",
|
||||
"languageEn": "Idioma: inglés",
|
||||
"followingZh": "Idioma del navegador: chino",
|
||||
"followingEn": "Idioma del navegador: inglés",
|
||||
"languageSelected": "Idioma: {name}",
|
||||
"followingBrowser": "Idioma del navegador: {name}"
|
||||
},
|
||||
"addon": {
|
||||
"draftRestored": "BORRADOR RESTAURADO",
|
||||
"searchTitle": "BUSCAR RECUERDOS",
|
||||
"searchPlaceholder": "Buscar títulos, notas, clima…",
|
||||
"searchHint": "Esc para cerrar · haz clic en un resultado",
|
||||
"untitled": "Recuerdo sin título",
|
||||
"noResults": "No se encontraron recuerdos.",
|
||||
"syncPaused": "SINCRONIZACIÓN PAUSADA — CAMBIOS LOCALES",
|
||||
"syncConflict": "CONFLICTO — COPIA LOCAL GUARDADA",
|
||||
"syncConflictConfirm": "Este registro cambió en otro dispositivo. Se guardó una copia local. ¿Reemplazar la versión en la nube? Cancelar conserva la versión en la nube.",
|
||||
"syncReady": "SINCRONIZACIÓN LISTA",
|
||||
"migrateQuestion": "¿Mover los datos de este navegador a la nube?",
|
||||
"migrateBody": "Tus registros locales serán la primera copia sincronizada de esta cuenta ChatGPT.",
|
||||
"migrate": "MIGRAR Y SINCRONIZAR",
|
||||
"fresh": "EMPEZAR DE NUEVO",
|
||||
"migrated": "DATOS LOCALES MIGRADOS",
|
||||
"cloudRestored": "DATOS EN LA NUBE RESTAURADOS",
|
||||
"cloudUnavailable": "NUBE NO DISPONIBLE — MODO LOCAL",
|
||||
"openMemory": "Abrir recuerdo: {title}"
|
||||
},
|
||||
"calendar": {
|
||||
"eyebrow": "RECUERDOS Y METAS",
|
||||
"month": "MES",
|
||||
"day": "DÍA",
|
||||
"today": "HOY",
|
||||
"mon": "LUN",
|
||||
"tue": "MAR",
|
||||
"wed": "MIÉ",
|
||||
"thu": "JUE",
|
||||
"fri": "VIE",
|
||||
"sat": "SÁB",
|
||||
"sun": "DOM",
|
||||
"previous": "Mes anterior",
|
||||
"next": "Mes siguiente",
|
||||
"previousDay": "Día anterior",
|
||||
"nextDay": "Día siguiente",
|
||||
"dayAtGlance": "ESE DÍA",
|
||||
"memory": "RECUERDO",
|
||||
"task": "TAREA",
|
||||
"goal": "OBJETIVO",
|
||||
"items": "elementos",
|
||||
"taskDue": "VENCIMIENTO DE TAREA",
|
||||
"taskDone": "TAREA COMPLETADA",
|
||||
"goalCreated": "OBJETIVO CREADO",
|
||||
"goalTarget": "FECHA DEL OBJETIVO",
|
||||
"goalDone": "OBJETIVO COMPLETADO",
|
||||
"emptyDay": "No hay recuerdos ni hitos ese día.",
|
||||
"openToday": "Escribir un recuerdo",
|
||||
"writeMemory": "Añadir recuerdo",
|
||||
"openTasks": "Abrir tareas"
|
||||
},
|
||||
"tasks": {
|
||||
"eyebrow": "OBJETIVOS Y TAREAS",
|
||||
"title": "Haz espacio para lo importante.",
|
||||
"subtitle": "Un plan sencillo para hoy y los próximos días.",
|
||||
"addGoal": "NUEVO OBJETIVO",
|
||||
"addTask": "AÑADIR TAREA",
|
||||
"taskPlaceholder": "¿Qué hay que hacer?",
|
||||
"goalPlaceholder": "¿Qué quieres lograr?",
|
||||
"goalDescription": "Nota sobre el objetivo (opcional)",
|
||||
"finishedGoals": "OBJETIVOS COMPLETADOS",
|
||||
"goalComplete": "COMPLETAR OBJETIVO",
|
||||
"goalReopen": "REABRIR OBJETIVO",
|
||||
"all": "TODAS",
|
||||
"today": "HOY",
|
||||
"upcoming": "PRÓXIMAS",
|
||||
"done": "COMPLETADAS",
|
||||
"activeGoals": "OBJETIVOS ACTIVOS",
|
||||
"noGoals": "Empieza con un objetivo.",
|
||||
"noTasks": "No hay tareas en esta lista.",
|
||||
"due": "VENCE {date}",
|
||||
"noDate": "SIN FECHA",
|
||||
"priority": {
|
||||
"low": "BAJA",
|
||||
"normal": "NORMAL",
|
||||
"high": "ALTA"
|
||||
},
|
||||
"goal": "OBJETIVO",
|
||||
"anyGoal": "SIN OBJETIVO",
|
||||
"save": "GUARDAR",
|
||||
"cancel": "CANCELAR",
|
||||
"complete": "MARCAR COMPLETADA",
|
||||
"reopen": "REABRIR",
|
||||
"delete": "ELIMINAR",
|
||||
"goalTitle": "Nuevo objetivo",
|
||||
"taskTitle": "Nueva tarea",
|
||||
"goalCreated": "OBJETIVO CREADO",
|
||||
"taskAdded": "TAREA AÑADIDA",
|
||||
"taskRemoved": "TAREA ELIMINADA",
|
||||
"goalRemoved": "OBJETIVO ELIMINADO",
|
||||
"confirmGoalDelete": "¿Eliminar este objetivo?",
|
||||
"confirmGoalDeleteBody": "Las tareas asociadas se conservarán sin objetivo.",
|
||||
"target": "FECHA OBJETIVO",
|
||||
"completed": "COMPLETADO",
|
||||
"progress": "{done} DE {total} COMPLETADAS",
|
||||
"desktopShow": "MOSTRAR CUENTA ATRÁS",
|
||||
"desktopHide": "OCULTAR CUENTA ATRÁS",
|
||||
"countdown": "CUENTA ATRÁS",
|
||||
"daysLeft": "Quedan {count} días",
|
||||
"todayTarget": "La fecha objetivo es hoy",
|
||||
"daysOverdue": "{count} días de retraso",
|
||||
"pinOnCreate": "Mostrar cuenta atrás en el escritorio",
|
||||
"todayHeading": "Prioridades de hoy",
|
||||
"openCount": "{count} TAREAS PENDIENTES",
|
||||
"overdue": "ATRASADA"
|
||||
},
|
||||
"shell": {
|
||||
"pageTitle": "Life OS",
|
||||
"brand": "LIFE OS / ESCRITORIO PERSONAL",
|
||||
"initializing": "INICIANDO…",
|
||||
"life": "VIDA",
|
||||
"morning": "BUENOS DÍAS",
|
||||
"afternoon": "BUENAS TARDES",
|
||||
"evening": "BUENAS NOCHES",
|
||||
"systemOnline": "SISTEMA ACTIVO · LIFE OS v{version}",
|
||||
"systemDate": "FECHA DEL SISTEMA",
|
||||
"open": "Abrir",
|
||||
"close": "Cerrar",
|
||||
"minimize": "Minimizar",
|
||||
"maximize": "Maximizar",
|
||||
"restore": "Restaurar ventana",
|
||||
"openApp": "Abrir {app}",
|
||||
"refresh": "Actualizar escritorio",
|
||||
"newToday": "Nuevo recuerdo",
|
||||
"systemSettings": "Configuración del sistema",
|
||||
"doubleClickMaximize": "Doble clic para maximizar",
|
||||
"wallpaperTitle": "Imagen diaria de Bing: {title}",
|
||||
"dailyImage": "Imagen del día",
|
||||
"todayMemories": "{memories} recuerdos · {preserved} guardados",
|
||||
"memoryCount": "{count} recuerdos",
|
||||
"menuCloseWindow": "Cerrar ventana",
|
||||
"todaySummary": "{memories} recuerdos · {preserved} guardados"
|
||||
},
|
||||
"wallpaper": {
|
||||
"dailyImage": "Imagen del día"
|
||||
},
|
||||
"desktop": {
|
||||
"heading": "PERSONALIZACIÓN DEL ESCRITORIO",
|
||||
"wallpaper": "Origen del fondo",
|
||||
"bing": "Imagen diaria de Bing",
|
||||
"calm": "Fondo integrado",
|
||||
"custom": "URL de imagen personalizada",
|
||||
"useUrl": "USAR IMAGEN",
|
||||
"urlHint": "Usa un enlace HTTPS directo. Algunos sitios bloquean imágenes externas.",
|
||||
"invalidUrl": "Introduce una URL HTTPS válida",
|
||||
"shortcuts": "Accesos directos del escritorio",
|
||||
"shortcutsHint": "Elige las apps del escritorio. Todas siguen en el menú Vida. Arrastra los iconos para ordenarlos.",
|
||||
"resetPositions": "Restablecer posiciones",
|
||||
"windowLayout": "Diseño de ventanas",
|
||||
"rememberOn": "Recordar ventanas y posiciones: SÍ",
|
||||
"rememberOff": "Recordar ventanas y posiciones: NO",
|
||||
"windowHint": "Las posiciones y tamaños se guardan en este dispositivo. En móvil, las apps se abren a pantalla completa.",
|
||||
"startup": "Abrir al iniciar",
|
||||
"startupHint": "Estas apps se abren al iniciar Life OS, junto a las ventanas recordadas."
|
||||
},
|
||||
"widgets": {
|
||||
"goals": "CUENTAS ATRÁS",
|
||||
"clock": "RELOJ",
|
||||
"today": "RESUMEN DE HOY",
|
||||
"actions": "ACCIONES RÁPIDAS",
|
||||
"heading": "WIDGETS DEL ESCRITORIO",
|
||||
"hint": "Elige qué widgets aparecen. Arrastra la cabecera para mover y la esquina para cambiar el tamaño. Las flechas funcionan al enfocar el control.",
|
||||
"reset": "Restablecer widgets",
|
||||
"memoriesToday": "recuerdos de hoy",
|
||||
"tasksDue": "tareas vencidas o pendientes",
|
||||
"newMemory": "Abrir Hoy",
|
||||
"openTasks": "Abrir Tareas",
|
||||
"openCalendar": "Abrir Calendario",
|
||||
"move": "Mover",
|
||||
"resize": "Cambiar tamaño",
|
||||
"noGoals": "No hay objetivos fijados. Abre Tareas para fijar uno."
|
||||
},
|
||||
"prompt": {
|
||||
"films": [
|
||||
{
|
||||
"title": "Un martes tranquilo",
|
||||
"subtitle": "Drama · Vida cotidiana"
|
||||
},
|
||||
{
|
||||
"title": "La tarde que se quedó",
|
||||
"subtitle": "Independiente · Cálido"
|
||||
},
|
||||
{
|
||||
"title": "Una luz pequeña, un pasillo largo",
|
||||
"subtitle": "Contemplativo · Drama"
|
||||
},
|
||||
{
|
||||
"title": "Antes de las notificaciones",
|
||||
"subtitle": "Minimalista · Juventud"
|
||||
},
|
||||
{
|
||||
"title": "Habitación con cortinas abiertas",
|
||||
"subtitle": "Vida cotidiana · Calma"
|
||||
},
|
||||
{
|
||||
"title": "El camino habitual a casa",
|
||||
"subtitle": "Drama · Familiar"
|
||||
},
|
||||
{
|
||||
"title": "Notas sin terminar",
|
||||
"subtitle": "Reflexivo · Cortometraje"
|
||||
},
|
||||
{
|
||||
"title": "Un clima de pensamientos",
|
||||
"subtitle": "Tranquilo · Personal"
|
||||
},
|
||||
{
|
||||
"title": "El día entre las cosas",
|
||||
"subtitle": "Independiente · Observador"
|
||||
},
|
||||
{
|
||||
"title": "Horas lentas, bordes suaves",
|
||||
"subtitle": "Vida cotidiana · Sueño"
|
||||
},
|
||||
{
|
||||
"title": "Una ventana aún iluminada",
|
||||
"subtitle": "Drama · Tarde"
|
||||
},
|
||||
{
|
||||
"title": "Lo cotidiano, bien guardado",
|
||||
"subtitle": "Humano · Suave"
|
||||
},
|
||||
{
|
||||
"title": "Una página más esta noche",
|
||||
"subtitle": "Estudio · Pausado"
|
||||
},
|
||||
{
|
||||
"title": "El espacio después de comer",
|
||||
"subtitle": "Memoria · Calma"
|
||||
},
|
||||
{
|
||||
"title": "Autobús tardío, mente clara",
|
||||
"subtitle": "Urbano · Reflexivo"
|
||||
},
|
||||
{
|
||||
"title": "Pequeñas cosas en foco",
|
||||
"subtitle": "Documental · Vida"
|
||||
},
|
||||
{
|
||||
"title": "Lo que recordó la habitación",
|
||||
"subtitle": "Poético · Quietud"
|
||||
},
|
||||
{
|
||||
"title": "Hora azul sin prisa",
|
||||
"subtitle": "Tarde · Tranquilidad"
|
||||
},
|
||||
{
|
||||
"title": "Mapa de un día pequeño",
|
||||
"subtitle": "Viaje · Personal"
|
||||
},
|
||||
{
|
||||
"title": "En algún lugar después de las cuatro",
|
||||
"subtitle": "Independiente · Cálido"
|
||||
},
|
||||
{
|
||||
"title": "Un día sin titular",
|
||||
"subtitle": "Vida cotidiana · Suave"
|
||||
},
|
||||
{
|
||||
"title": "El sonido de tomarse tiempo",
|
||||
"subtitle": "Cine lento · Personal"
|
||||
},
|
||||
{
|
||||
"title": "Cosas que no había que arreglar",
|
||||
"subtitle": "Drama · Suave"
|
||||
},
|
||||
{
|
||||
"title": "A mitad de septiembre",
|
||||
"subtitle": "Memoria · Juventud"
|
||||
},
|
||||
{
|
||||
"title": "Un pequeño archivo nuestro",
|
||||
"subtitle": "Personal · Tranquilo"
|
||||
},
|
||||
{
|
||||
"title": "La noche conservó su forma",
|
||||
"subtitle": "Cine negro · Calma"
|
||||
},
|
||||
{
|
||||
"title": "Sol inesperado",
|
||||
"subtitle": "Ligero · Personal"
|
||||
},
|
||||
{
|
||||
"title": "La última pestaña abierta",
|
||||
"subtitle": "Moderno · Reflexivo"
|
||||
},
|
||||
{
|
||||
"title": "Un lugar para hoy",
|
||||
"subtitle": "Drama · Humano"
|
||||
},
|
||||
{
|
||||
"title": "Nada perdido en el día",
|
||||
"subtitle": "Vida cotidiana · Esperanza"
|
||||
}
|
||||
],
|
||||
"lines": [
|
||||
"No pasó nada extraordinario. Tal vez eso era lo importante.",
|
||||
"Un día pequeño, guardado con cuidado para recordarlo.",
|
||||
"Lo cotidiano duró más de lo esperado.",
|
||||
"No todos los capítulos necesitan un final dramático.",
|
||||
"Algunos pensamientos llegaron; otros pudieron pasar.",
|
||||
"Un registro tranquilo de haber estado aquí.",
|
||||
"El día avanzó a su propio ritmo.",
|
||||
"Había espacio para un poco más de suavidad.",
|
||||
"También lo inacabado tenía su lugar aquí.",
|
||||
"Cambió la luz, y también el ánimo.",
|
||||
"Una escena para guardar sin tener que explicarla.",
|
||||
"Bastaba con notar el día tal como fue.",
|
||||
"El tiempo no tuvo prisa; este recuerdo tampoco.",
|
||||
"Los detalles eran pequeños, pero reales.",
|
||||
"Una pausa pasó a ser parte de la historia.",
|
||||
"En algún momento, este día mereció ser guardado.",
|
||||
"Lo familiar brilló por un instante.",
|
||||
"No hacía falta resolverlo todo antes de la noche.",
|
||||
"Algunos momentos quedaron enfocados.",
|
||||
"La historia era tranquila, pero seguía siendo tuya.",
|
||||
"Hoy dejó una pequeña huella.",
|
||||
"Un marco suave para una hora corriente.",
|
||||
"El día pedía atención, no perfección.",
|
||||
"Este recuerdo puede descansar aquí por ahora.",
|
||||
"El mundo hacía ruido; esta página no.",
|
||||
"Unos hilos sueltos, guardados con honestidad.",
|
||||
"La versión más sencilla de hoy era suficiente.",
|
||||
"El día se calmó antes de terminar.",
|
||||
"Había sentido en lo que quedó entre medias.",
|
||||
"Un momento privado, bien archivado."
|
||||
]
|
||||
},
|
||||
"login": {
|
||||
"title": "Tu vida,<br>sincronizada.",
|
||||
"description": "Inicia sesión con ChatGPT para abrir tu Life OS y sincronizar tus recuerdos entre dispositivos.",
|
||||
"continue": "CONTINUAR CON CHATGPT",
|
||||
"footnote": "SISTEMA PERSONAL · SINCRONIZACIÓN"
|
||||
},
|
||||
"browser": {
|
||||
"back": "Atrás",
|
||||
"forward": "Adelante",
|
||||
"reload": "Actualizar",
|
||||
"address": "Dirección o búsqueda",
|
||||
"placeholder": "Introduce una URL o busca en Google",
|
||||
"go": "Ir",
|
||||
"external": "Abrir en otra pestaña",
|
||||
"frame": "Página integrada",
|
||||
"embedHint": "Algunos sitios no permiten incrustar páginas. Si aparece en blanco, ábrela en otra pestaña.",
|
||||
"invalid": "Introduce una dirección o búsqueda válida."
|
||||
},
|
||||
"terminal": {
|
||||
"title": "TERMINAL",
|
||||
"hint": "Escribe help para ver los comandos",
|
||||
"command": "Comando de Life OS",
|
||||
"memory": "Recuerdo",
|
||||
"task": "Tarea",
|
||||
"goal": "Objetivo",
|
||||
"notePrompt": "Escribe tu recuerdo. Ctrl/⌘ + Intro guarda; Escape cancela.",
|
||||
"saveNote": "Guardar recuerdo",
|
||||
"cancel": "Cancelar",
|
||||
"cancelled": "Creación cancelada.",
|
||||
"opened": "Se abrió {app}.",
|
||||
"empty": "No hay registros coincidentes.",
|
||||
"memorySaved": "Recuerdo guardado: {title} · {date}",
|
||||
"goalSaved": "Objetivo creado: {title}",
|
||||
"taskSaved": "Tarea creada: {title}",
|
||||
"taskCompleted": "Tarea completada: {title}",
|
||||
"taskReopened": "Tarea reabierta: {title}",
|
||||
"invalidTitle": "Añade un título de longitud válida.",
|
||||
"invalidDate": "Usa una fecha real en formato YYYY-MM-DD, today o tomorrow.",
|
||||
"invalidPriority": "La prioridad debe ser high, normal o low.",
|
||||
"invalidValue": "El clima o la energía no son válidos.",
|
||||
"notFound": "No se encontró el registro.",
|
||||
"ambiguous": "Hay varios elementos con este título. Usa el ID.",
|
||||
"memoryExists": "Ya existe un recuerdo en esa fecha. Edítalo en Hoy o Cronología.",
|
||||
"invalidOption": "Opción desconocida o sin valor. Escribe help.",
|
||||
"unclosedQuote": "Falta cerrar una comilla.",
|
||||
"usage": "Falta título o número. Escribe help.",
|
||||
"unknownApp": "App desconocida. Escribe help.",
|
||||
"unknownCommand": "Comando desconocido. Escribe help.",
|
||||
"guidedHelp": "asistente paso a paso; Intro acepta valores, back/cancel controla el proceso",
|
||||
"back": "Atrás",
|
||||
"noWizard": "No hay entrada guiada activa.",
|
||||
"wizard": {
|
||||
"title": "¿Título del recuerdo? (obligatorio; actual: {value})",
|
||||
"date": "¿Fecha? [{value}] — YYYY-MM-DD, today o tomorrow",
|
||||
"tags": "¿Etiquetas? [{value}] — separadas por comas",
|
||||
"energy": "¿Energía? [{value}] — de 1 a 5",
|
||||
"mood": "¿Clima? [{value}] — clear / light / cloudy / rain / storm",
|
||||
"location": "¿Lugar o escena? [{value}]",
|
||||
"taskId": "¿Tarea relacionada? [{value}] — número, título o ID\n{tasks}",
|
||||
"controls": "Intro conserva el valor; back/cancel controla el proceso. Usa - para borrar un campo opcional."
|
||||
},
|
||||
"goalCompleted": "Objetivo completado: {title}",
|
||||
"goalReopened": "Objetivo reabierto: {title}",
|
||||
"confirmAnswer": "Escribe yes para confirmar o no para cancelar.",
|
||||
"flow": {
|
||||
"title": "¿Título? (obligatorio; actual: {value})",
|
||||
"description": "¿Descripción? [{value}] (opcional)",
|
||||
"targetDate": "¿Fecha objetivo? [{value}] — YYYY-MM-DD, today o tomorrow",
|
||||
"showOnDesktop": "¿Mostrar cuenta atrás en el escritorio? [{value}] — yes/no",
|
||||
"dueDate": "¿Fecha límite? [{value}] — YYYY-MM-DD, today o tomorrow",
|
||||
"goalId": "¿Vincular a un objetivo? [{value}] — número, título o ID\n{items}",
|
||||
"priority": "¿Prioridad? [{value}] — high / normal / low",
|
||||
"pick": "Elige un(a) {kind} por número, título, fecha o ID:",
|
||||
"confirmDelete": "¿Eliminar {kind}: {title}? Escribe yes o no.",
|
||||
"confirmCreate": "¿Crear {kind}: {title}? Escribe yes para guardar o no para cancelar.",
|
||||
"cancelled": "Operación cancelada.",
|
||||
"deleted": "{kind} eliminado(a): {title}"
|
||||
},
|
||||
"welcome": "Life OS v{version} · Terminal listo.\nEscribe help para ver comandos o memory add para crear un recuerdo paso a paso.\ndate / time / status muestran información. Consola del navegador: LifeOS.help().",
|
||||
"uptime": "Tiempo de sesión: {minutes} min {seconds} s",
|
||||
"status": "{memories} recuerdos · {goals} objetivos · {tasks} tareas",
|
||||
"consoleHelp": "Abre la consola del navegador y usa LifeOS.help(), LifeOS.run(\"date\") o LifeOS.run(\"memory add\"). Tras responder, usa LifeOS.note(\"tu nota\"); LifeOS.cancel() detiene el proceso.",
|
||||
"consoleReady": "Consola lista. Escribe LifeOS.help() para ver comandos.",
|
||||
"consoleNotePrompt": "Introduce la nota con LifeOS.note(\"tu texto\") o cancela con LifeOS.cancel().",
|
||||
"noNote": "No hay ninguna nota pendiente. Empieza con LifeOS.run(\"memory add\").",
|
||||
"cleared": "Salida del terminal borrada.",
|
||||
"pinNeedsDate": "Define una fecha objetivo antes de mostrar la cuenta atrás."
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user