From da50da8964d82d1ad0bf06ba9c96098087897ade Mon Sep 17 00:00:00 2001 From: Till JS Date: Mon, 27 Apr 2026 01:23:57 +0200 Subject: [PATCH] i18n(ai-agents): add namespace JSONs for de/en/es/fr/it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Locale-only — component patches in follow-up commit. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/lib/i18n/locales/ai-agents/de.json | 69 +++++++++++++++++++ .../src/lib/i18n/locales/ai-agents/en.json | 69 +++++++++++++++++++ .../src/lib/i18n/locales/ai-agents/es.json | 69 +++++++++++++++++++ .../src/lib/i18n/locales/ai-agents/fr.json | 69 +++++++++++++++++++ .../src/lib/i18n/locales/ai-agents/it.json | 69 +++++++++++++++++++ 5 files changed, 345 insertions(+) create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/ai-agents/de.json create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/ai-agents/en.json create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/ai-agents/es.json create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/ai-agents/fr.json create mode 100644 apps/mana/apps/web/src/lib/i18n/locales/ai-agents/it.json diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/de.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/de.json new file mode 100644 index 000000000..0b6da023f --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/de.json @@ -0,0 +1,69 @@ +{ + "list_view": { + "err_duplicate_name": "Agent-Name „{name}\" ist bereits vergeben.", + "confirm_delete": "Agent „{name}\" löschen? Missionen laufen orphan weiter.", + "action_from_template": "Aus Template", + "action_custom_agent": "Eigener Agent", + "promo_title": "Starte mit einem Template", + "promo_sub": "Recherche · Kontext · Today — vorgefertigte Agenten mit passender Scene und Starter-Mission.", + "empty_text": "Noch keine Agenten. Ein Default-Agent „Mana\" wird beim ersten Login automatisch angelegt; für weitere persona-basierte Agenten klicke auf „Aus Template\" oder „Eigener Agent\".", + "action_cancel": "Abbrechen", + "label_name": "Name", + "placeholder_name": "z.B. Travel Planner", + "label_avatar": "Avatar (Emoji)", + "label_role": "Rolle / Aufgabe", + "placeholder_role": "Was macht dieser Agent für dich?", + "action_creating": "Erstelle…", + "action_create": "Agent anlegen", + "action_back_list": "Liste", + "action_pause": "Pause", + "action_resume": "Fortsetzen", + "action_archive": "Archivieren", + "section_profile": "Profil", + "section_behavior": "Verhalten", + "label_system_prompt": "System-Anweisung (verschlüsselt)", + "placeholder_system_prompt": "Prepends auf jeden Planner-Prompt dieses Agents.", + "label_memory": "Gedächtnis (verschlüsselt)", + "placeholder_memory": "Was der Agent dauerhaft über dich wissen soll.", + "section_scope": "Bereiche (Tag-Scope)", + "hint_scope": "Der Agent sieht nur Records mit diesen Tags. Leer = alles sichtbar.", + "placeholder_scope": "Bereiche wählen…", + "action_add_scope": "Bereich hinzufügen", + "section_limits": "Grenzen", + "label_max_concurrent": "Parallele Missionen", + "label_max_tokens": "Token-Budget / Tag", + "placeholder_max_tokens": "leer = unbegrenzt", + "section_writing": "Writing", + "hint_writing": "Default-Schreibstil, den der Agent beim Anlegen eines Drafts nutzt, wenn keiner explizit übergeben wird.", + "action_saving": "Speichere…", + "action_save": "Speichern", + "section_missions": "Missions ({count})", + "hint_no_missions": "Dieser Agent hat noch keine Missions.", + "action_new_mission": "Neue Mission für {name}", + "section_policy": "Policy", + "toggle_advanced_hide": "▾ Erweitert ausblenden", + "toggle_advanced_show": "▸ Erweitert anzeigen", + "label_global_default": "Global-Default", + "th_module": "Modul", + "th_decision": "Entscheidung", + "option_global_default": "Global-Default", + "policy_label_auto": "Automatisch", + "policy_label_propose": "Vorschlag", + "policy_label_deny": "Verboten", + "mission_state_active": "aktiv", + "mission_state_paused": "pausiert", + "mission_state_done": "fertig", + "mission_state_archived": "archiviert", + "policy_natural_module_auto": "{module}: automatisch", + "policy_natural_module_deny": "{module}: gesperrt", + "policy_natural_default_auto": "automatisch", + "policy_natural_default_deny": "gesperrt", + "policy_natural_default_propose": "Vorschlag", + "policy_natural_blocked": "Gesperrt: {tools}", + "policy_natural_blocked_more": "Gesperrt: {tools} …", + "policy_natural_otherwise": "Alles andere: {default}", + "template_standard_label": "Standard (Vorschlag für alles)", + "template_cautious_label": "Vorsichtig (alles Vorschlag, Schreiben verboten)", + "template_aggressive_label": "Aggressiv (gleichartige Schreibvorgänge automatisch)" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/en.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/en.json new file mode 100644 index 000000000..d5a877de1 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/en.json @@ -0,0 +1,69 @@ +{ + "list_view": { + "err_duplicate_name": "Agent name \"{name}\" is already taken.", + "confirm_delete": "Delete agent \"{name}\"? Missions keep running orphaned.", + "action_from_template": "From template", + "action_custom_agent": "Custom agent", + "promo_title": "Start with a template", + "promo_sub": "Research · Context · Today — pre-built agents with matching scene and starter mission.", + "empty_text": "No agents yet. A default agent \"Mana\" is auto-created on first login; for additional persona-based agents click \"From template\" or \"Custom agent\".", + "action_cancel": "Cancel", + "label_name": "Name", + "placeholder_name": "e.g. Travel Planner", + "label_avatar": "Avatar (emoji)", + "label_role": "Role / task", + "placeholder_role": "What does this agent do for you?", + "action_creating": "Creating…", + "action_create": "Create agent", + "action_back_list": "List", + "action_pause": "Pause", + "action_resume": "Resume", + "action_archive": "Archive", + "section_profile": "Profile", + "section_behavior": "Behavior", + "label_system_prompt": "System prompt (encrypted)", + "placeholder_system_prompt": "Prepended to every planner prompt for this agent.", + "label_memory": "Memory (encrypted)", + "placeholder_memory": "What the agent should permanently know about you.", + "section_scope": "Scope (tag filter)", + "hint_scope": "The agent only sees records with these tags. Empty = everything visible.", + "placeholder_scope": "Pick scopes…", + "action_add_scope": "Add scope", + "section_limits": "Limits", + "label_max_concurrent": "Concurrent missions", + "label_max_tokens": "Token budget / day", + "placeholder_max_tokens": "empty = unlimited", + "section_writing": "Writing", + "hint_writing": "Default writing style the agent uses when creating a draft if none is explicitly given.", + "action_saving": "Saving…", + "action_save": "Save", + "section_missions": "Missions ({count})", + "hint_no_missions": "This agent has no missions yet.", + "action_new_mission": "New mission for {name}", + "section_policy": "Policy", + "toggle_advanced_hide": "▾ Hide advanced", + "toggle_advanced_show": "▸ Show advanced", + "label_global_default": "Global default", + "th_module": "Module", + "th_decision": "Decision", + "option_global_default": "Global default", + "policy_label_auto": "Automatic", + "policy_label_propose": "Proposal", + "policy_label_deny": "Blocked", + "mission_state_active": "active", + "mission_state_paused": "paused", + "mission_state_done": "done", + "mission_state_archived": "archived", + "policy_natural_module_auto": "{module}: automatic", + "policy_natural_module_deny": "{module}: blocked", + "policy_natural_default_auto": "automatic", + "policy_natural_default_deny": "blocked", + "policy_natural_default_propose": "proposal", + "policy_natural_blocked": "Blocked: {tools}", + "policy_natural_blocked_more": "Blocked: {tools} …", + "policy_natural_otherwise": "Everything else: {default}", + "template_standard_label": "Standard (propose everything)", + "template_cautious_label": "Cautious (all propose, writing blocked)", + "template_aggressive_label": "Aggressive (repetitive writes automatic)" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/es.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/es.json new file mode 100644 index 000000000..ce0e80303 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/es.json @@ -0,0 +1,69 @@ +{ + "list_view": { + "err_duplicate_name": "El nombre del agente \"{name}\" ya está en uso.", + "confirm_delete": "¿Eliminar el agente \"{name}\"? Las misiones quedan huérfanas.", + "action_from_template": "Desde plantilla", + "action_custom_agent": "Agente personalizado", + "promo_title": "Empieza con una plantilla", + "promo_sub": "Investigación · Contexto · Today — agentes prefabricados con escena y misión inicial.", + "empty_text": "Aún sin agentes. Un agente predeterminado \"Mana\" se crea automáticamente al iniciar sesión por primera vez; para más agentes basados en personas haz clic en \"Desde plantilla\" o \"Agente personalizado\".", + "action_cancel": "Cancelar", + "label_name": "Nombre", + "placeholder_name": "p. ej. Travel Planner", + "label_avatar": "Avatar (emoji)", + "label_role": "Rol / tarea", + "placeholder_role": "¿Qué hace este agente por ti?", + "action_creating": "Creando…", + "action_create": "Crear agente", + "action_back_list": "Lista", + "action_pause": "Pausar", + "action_resume": "Reanudar", + "action_archive": "Archivar", + "section_profile": "Perfil", + "section_behavior": "Comportamiento", + "label_system_prompt": "System prompt (cifrado)", + "placeholder_system_prompt": "Se antepone a cada planner prompt de este agente.", + "label_memory": "Memoria (cifrada)", + "placeholder_memory": "Lo que el agente debe saber permanentemente sobre ti.", + "section_scope": "Ámbito (filtro de etiquetas)", + "hint_scope": "El agente solo ve registros con estas etiquetas. Vacío = todo visible.", + "placeholder_scope": "Elige ámbitos…", + "action_add_scope": "Añadir ámbito", + "section_limits": "Límites", + "label_max_concurrent": "Misiones simultáneas", + "label_max_tokens": "Presupuesto de tokens / día", + "placeholder_max_tokens": "vacío = ilimitado", + "section_writing": "Writing", + "hint_writing": "Estilo de escritura por defecto que usa el agente al crear un borrador si no se indica otro.", + "action_saving": "Guardando…", + "action_save": "Guardar", + "section_missions": "Misiones ({count})", + "hint_no_missions": "Este agente aún no tiene misiones.", + "action_new_mission": "Nueva misión para {name}", + "section_policy": "Política", + "toggle_advanced_hide": "▾ Ocultar avanzado", + "toggle_advanced_show": "▸ Mostrar avanzado", + "label_global_default": "Global por defecto", + "th_module": "Módulo", + "th_decision": "Decisión", + "option_global_default": "Global por defecto", + "policy_label_auto": "Automático", + "policy_label_propose": "Propuesta", + "policy_label_deny": "Bloqueado", + "mission_state_active": "activa", + "mission_state_paused": "pausada", + "mission_state_done": "terminada", + "mission_state_archived": "archivada", + "policy_natural_module_auto": "{module}: automático", + "policy_natural_module_deny": "{module}: bloqueado", + "policy_natural_default_auto": "automático", + "policy_natural_default_deny": "bloqueado", + "policy_natural_default_propose": "propuesta", + "policy_natural_blocked": "Bloqueados: {tools}", + "policy_natural_blocked_more": "Bloqueados: {tools} …", + "policy_natural_otherwise": "Todo lo demás: {default}", + "template_standard_label": "Estándar (propuesta para todo)", + "template_cautious_label": "Prudente (todo en propuesta, escritura bloqueada)", + "template_aggressive_label": "Agresivo (escrituras repetitivas automáticas)" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/fr.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/fr.json new file mode 100644 index 000000000..d4c19f1c4 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/fr.json @@ -0,0 +1,69 @@ +{ + "list_view": { + "err_duplicate_name": "Le nom d'agent « {name} » est déjà pris.", + "confirm_delete": "Supprimer l'agent « {name} » ? Les missions continuent orphelines.", + "action_from_template": "Depuis un modèle", + "action_custom_agent": "Agent personnalisé", + "promo_title": "Commence avec un modèle", + "promo_sub": "Recherche · Contexte · Today — agents prêts avec scène et mission de départ.", + "empty_text": "Aucun agent. Un agent par défaut « Mana » est créé automatiquement à la première connexion ; pour d'autres agents basés sur des personas, clique sur « Depuis un modèle » ou « Agent personnalisé ».", + "action_cancel": "Annuler", + "label_name": "Nom", + "placeholder_name": "p. ex. Travel Planner", + "label_avatar": "Avatar (emoji)", + "label_role": "Rôle / tâche", + "placeholder_role": "Que fait cet agent pour toi ?", + "action_creating": "Création…", + "action_create": "Créer l'agent", + "action_back_list": "Liste", + "action_pause": "Pause", + "action_resume": "Reprendre", + "action_archive": "Archiver", + "section_profile": "Profil", + "section_behavior": "Comportement", + "label_system_prompt": "System prompt (chiffré)", + "placeholder_system_prompt": "Préfixé à chaque planner prompt de cet agent.", + "label_memory": "Mémoire (chiffrée)", + "placeholder_memory": "Ce que l'agent doit retenir durablement à ton sujet.", + "section_scope": "Périmètre (filtre par tag)", + "hint_scope": "L'agent ne voit que les enregistrements avec ces tags. Vide = tout visible.", + "placeholder_scope": "Choisir des périmètres…", + "action_add_scope": "Ajouter un périmètre", + "section_limits": "Limites", + "label_max_concurrent": "Missions parallèles", + "label_max_tokens": "Budget tokens / jour", + "placeholder_max_tokens": "vide = illimité", + "section_writing": "Writing", + "hint_writing": "Style d'écriture par défaut utilisé par l'agent lors de la création d'un brouillon si aucun n'est précisé.", + "action_saving": "Enregistrement…", + "action_save": "Enregistrer", + "section_missions": "Missions ({count})", + "hint_no_missions": "Cet agent n'a pas encore de missions.", + "action_new_mission": "Nouvelle mission pour {name}", + "section_policy": "Politique", + "toggle_advanced_hide": "▾ Masquer avancé", + "toggle_advanced_show": "▸ Afficher avancé", + "label_global_default": "Défaut global", + "th_module": "Module", + "th_decision": "Décision", + "option_global_default": "Défaut global", + "policy_label_auto": "Automatique", + "policy_label_propose": "Proposition", + "policy_label_deny": "Bloqué", + "mission_state_active": "active", + "mission_state_paused": "en pause", + "mission_state_done": "terminée", + "mission_state_archived": "archivée", + "policy_natural_module_auto": "{module} : automatique", + "policy_natural_module_deny": "{module} : bloqué", + "policy_natural_default_auto": "automatique", + "policy_natural_default_deny": "bloqué", + "policy_natural_default_propose": "proposition", + "policy_natural_blocked": "Bloqués : {tools}", + "policy_natural_blocked_more": "Bloqués : {tools} …", + "policy_natural_otherwise": "Tout le reste : {default}", + "template_standard_label": "Standard (proposition pour tout)", + "template_cautious_label": "Prudent (tout en proposition, écriture bloquée)", + "template_aggressive_label": "Agressif (écritures répétitives automatiques)" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/it.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/it.json new file mode 100644 index 000000000..71ad58934 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-agents/it.json @@ -0,0 +1,69 @@ +{ + "list_view": { + "err_duplicate_name": "Il nome dell'agente \"{name}\" è già in uso.", + "confirm_delete": "Eliminare l'agente \"{name}\"? Le missioni restano orfane.", + "action_from_template": "Da template", + "action_custom_agent": "Agente personalizzato", + "promo_title": "Inizia con un template", + "promo_sub": "Ricerca · Contesto · Today — agenti pronti con scena e missione iniziale.", + "empty_text": "Ancora nessun agente. Un agente predefinito \"Mana\" viene creato automaticamente al primo accesso; per altri agenti basati su persona clicca su \"Da template\" o \"Agente personalizzato\".", + "action_cancel": "Annulla", + "label_name": "Nome", + "placeholder_name": "es. Travel Planner", + "label_avatar": "Avatar (emoji)", + "label_role": "Ruolo / compito", + "placeholder_role": "Cosa fa questo agente per te?", + "action_creating": "Creazione…", + "action_create": "Crea agente", + "action_back_list": "Elenco", + "action_pause": "Pausa", + "action_resume": "Riprendi", + "action_archive": "Archivia", + "section_profile": "Profilo", + "section_behavior": "Comportamento", + "label_system_prompt": "System prompt (criptato)", + "placeholder_system_prompt": "Anteposto a ogni planner prompt di questo agente.", + "label_memory": "Memoria (criptata)", + "placeholder_memory": "Ciò che l'agente deve ricordare permanentemente di te.", + "section_scope": "Ambito (filtro tag)", + "hint_scope": "L'agente vede solo i record con questi tag. Vuoto = tutto visibile.", + "placeholder_scope": "Scegli ambiti…", + "action_add_scope": "Aggiungi ambito", + "section_limits": "Limiti", + "label_max_concurrent": "Missioni parallele", + "label_max_tokens": "Budget token / giorno", + "placeholder_max_tokens": "vuoto = illimitato", + "section_writing": "Writing", + "hint_writing": "Stile di scrittura predefinito usato dall'agente quando crea una bozza se non ne è specificato uno.", + "action_saving": "Salvataggio…", + "action_save": "Salva", + "section_missions": "Missioni ({count})", + "hint_no_missions": "Questo agente non ha ancora missioni.", + "action_new_mission": "Nuova missione per {name}", + "section_policy": "Policy", + "toggle_advanced_hide": "▾ Nascondi avanzate", + "toggle_advanced_show": "▸ Mostra avanzate", + "label_global_default": "Default globale", + "th_module": "Modulo", + "th_decision": "Decisione", + "option_global_default": "Default globale", + "policy_label_auto": "Automatico", + "policy_label_propose": "Proposta", + "policy_label_deny": "Bloccato", + "mission_state_active": "attiva", + "mission_state_paused": "in pausa", + "mission_state_done": "completata", + "mission_state_archived": "archiviata", + "policy_natural_module_auto": "{module}: automatico", + "policy_natural_module_deny": "{module}: bloccato", + "policy_natural_default_auto": "automatico", + "policy_natural_default_deny": "bloccato", + "policy_natural_default_propose": "proposta", + "policy_natural_blocked": "Bloccati: {tools}", + "policy_natural_blocked_more": "Bloccati: {tools} …", + "policy_natural_otherwise": "Tutto il resto: {default}", + "template_standard_label": "Standard (proposta per tutto)", + "template_cautious_label": "Prudente (tutto proposta, scrittura bloccata)", + "template_aggressive_label": "Aggressivo (scritture ripetitive automatiche)" + } +}