diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/de.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/de.json new file mode 100644 index 000000000..a4a189f08 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/de.json @@ -0,0 +1,78 @@ +{ + "list_view": { + "action_new": "Neue Mission", + "empty_text": "Keine Missions — lege eine an um die KI dauerhaft für dich arbeiten zu lassen.", + "iter_short": "{count} Iter.", + "next_label": "next {when}", + "action_cancel": "Abbrechen", + "label_title": "Titel", + "placeholder_title": "z.B. Wöchentlicher Review", + "label_objective": "Konkretes Ziel", + "placeholder_objective": "Was soll die KI erreichen?", + "label_concept": "Konzept (Markdown, optional)", + "placeholder_concept": "# Rahmen\nErkläre der KI Kontext, Regeln, Grenzen…", + "legend_agent": "Agent", + "agent_picker_label": "Wer führt aus", + "legend_inputs": "Inputs (Kontext für die KI)", + "legend_cadence": "Cadence", + "cadence_manual": "Manuell", + "cadence_interval": "Intervall", + "cadence_min_unit": "min", + "cadence_daily": "Täglich um", + "action_creating": "Erstelle…", + "action_create": "Mission anlegen", + "action_back_list": "Liste", + "action_running": "Läuft…", + "action_run_now": "Jetzt ausführen", + "debug_title": "Erfasst Prompts + Responses lokal pro Iteration", + "debug_label": "🔍 Debug", + "action_pause": "Pause", + "action_resume": "Fortsetzen", + "action_complete": "Abschließen", + "confirm_delete": "Mission löschen?", + "meta_objective": "Ziel", + "meta_cadence": "Cadence", + "meta_cadence_value": "{cadence} · {state}", + "meta_next": "Next", + "meta_inputs": "Inputs", + "none_dash": "—", + "concept_summary": "Konzept", + "grant_title": "🔑 Server-Zugriff", + "grant_active": "aktiv · läuft ab {when}", + "grant_expired": "abgelaufen", + "grant_none": "nicht erteilt", + "grant_note_active": "Läuft autonom; Zugriff kann jederzeit zurückgezogen werden.", + "grant_note_inactive": "Ohne Zugriff läuft die Mission nur bei offenem Tab.", + "action_revoke": "Zugriff zurückziehen", + "action_grant_renew": "Neu erteilen", + "action_grant": "Zugriff erteilen", + "section_iterations": "Iterationen", + "empty_iterations": "Noch keine Iteration gelaufen.", + "phase_initializing": "Initialisiere", + "phase_resolving_inputs": "Lade Inputs", + "phase_calling_llm": "Frage Planner", + "phase_parsing_response": "Validiere Antwort", + "phase_staging_proposals": "Stage Vorschläge", + "phase_finalizing": "Schließe ab", + "phase_detail_separator": " · {detail}", + "elapsed_prefix": "⏱ {time}", + "action_cancelling": "Wird abgebrochen…", + "action_cancel_iter": "Abbrechen", + "err_phase_in": "in {phase}", + "action_retry_running": "Läuft…", + "action_retry": "↻ Erneut versuchen", + "placeholder_feedback": "Feedback für die nächste Iteration…", + "action_save_feedback": "Speichern", + "cadence_describe_manual": "manuell", + "cadence_describe_interval": "alle {minutes} min", + "cadence_describe_daily": "täglich {hh}:{mm}", + "cadence_describe_weekly": "wöchentlich (Tag {day}, {hour}:00)", + "cadence_describe_cron": "cron: {expression}", + "state_active": "aktiv", + "state_paused": "pausiert", + "state_done": "abgeschlossen", + "state_archived": "archiviert", + "relative_past": "vor {value}", + "relative_future": "in {value}" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/en.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/en.json new file mode 100644 index 000000000..9f6eb554c --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/en.json @@ -0,0 +1,78 @@ +{ + "list_view": { + "action_new": "New mission", + "empty_text": "No missions yet — create one to let the AI work for you continuously.", + "iter_short": "{count} iter.", + "next_label": "next {when}", + "action_cancel": "Cancel", + "label_title": "Title", + "placeholder_title": "e.g. Weekly review", + "label_objective": "Concrete goal", + "placeholder_objective": "What should the AI accomplish?", + "label_concept": "Concept (Markdown, optional)", + "placeholder_concept": "# Frame\nExplain the AI's context, rules, limits…", + "legend_agent": "Agent", + "agent_picker_label": "Who runs it", + "legend_inputs": "Inputs (context for the AI)", + "legend_cadence": "Cadence", + "cadence_manual": "Manual", + "cadence_interval": "Interval", + "cadence_min_unit": "min", + "cadence_daily": "Daily at", + "action_creating": "Creating…", + "action_create": "Create mission", + "action_back_list": "List", + "action_running": "Running…", + "action_run_now": "Run now", + "debug_title": "Captures prompts + responses locally per iteration", + "debug_label": "🔍 Debug", + "action_pause": "Pause", + "action_resume": "Resume", + "action_complete": "Complete", + "confirm_delete": "Delete mission?", + "meta_objective": "Goal", + "meta_cadence": "Cadence", + "meta_cadence_value": "{cadence} · {state}", + "meta_next": "Next", + "meta_inputs": "Inputs", + "none_dash": "—", + "concept_summary": "Concept", + "grant_title": "🔑 Server access", + "grant_active": "active · expires {when}", + "grant_expired": "expired", + "grant_none": "not granted", + "grant_note_active": "Runs autonomously; access can be revoked anytime.", + "grant_note_inactive": "Without access, the mission only runs while the tab is open.", + "action_revoke": "Revoke access", + "action_grant_renew": "Re-grant", + "action_grant": "Grant access", + "section_iterations": "Iterations", + "empty_iterations": "No iteration has run yet.", + "phase_initializing": "Initializing", + "phase_resolving_inputs": "Loading inputs", + "phase_calling_llm": "Asking planner", + "phase_parsing_response": "Validating response", + "phase_staging_proposals": "Staging proposals", + "phase_finalizing": "Finalizing", + "phase_detail_separator": " · {detail}", + "elapsed_prefix": "⏱ {time}", + "action_cancelling": "Cancelling…", + "action_cancel_iter": "Cancel", + "err_phase_in": "in {phase}", + "action_retry_running": "Running…", + "action_retry": "↻ Retry", + "placeholder_feedback": "Feedback for the next iteration…", + "action_save_feedback": "Save", + "cadence_describe_manual": "manual", + "cadence_describe_interval": "every {minutes} min", + "cadence_describe_daily": "daily at {hh}:{mm}", + "cadence_describe_weekly": "weekly (day {day}, {hour}:00)", + "cadence_describe_cron": "cron: {expression}", + "state_active": "active", + "state_paused": "paused", + "state_done": "done", + "state_archived": "archived", + "relative_past": "{value} ago", + "relative_future": "in {value}" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/es.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/es.json new file mode 100644 index 000000000..b784bc88e --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/es.json @@ -0,0 +1,78 @@ +{ + "list_view": { + "action_new": "Nueva misión", + "empty_text": "Aún sin misiones — crea una para que la IA trabaje por ti de forma continua.", + "iter_short": "{count} iter.", + "next_label": "próx. {when}", + "action_cancel": "Cancelar", + "label_title": "Título", + "placeholder_title": "p. ej. Revisión semanal", + "label_objective": "Objetivo concreto", + "placeholder_objective": "¿Qué debe lograr la IA?", + "label_concept": "Concepto (Markdown, opcional)", + "placeholder_concept": "# Marco\nExplica a la IA el contexto, reglas, límites…", + "legend_agent": "Agente", + "agent_picker_label": "Quién lo ejecuta", + "legend_inputs": "Inputs (contexto para la IA)", + "legend_cadence": "Cadencia", + "cadence_manual": "Manual", + "cadence_interval": "Intervalo", + "cadence_min_unit": "min", + "cadence_daily": "Diariamente a las", + "action_creating": "Creando…", + "action_create": "Crear misión", + "action_back_list": "Lista", + "action_running": "Ejecutando…", + "action_run_now": "Ejecutar ahora", + "debug_title": "Captura prompts + respuestas localmente por iteración", + "debug_label": "🔍 Debug", + "action_pause": "Pausar", + "action_resume": "Reanudar", + "action_complete": "Completar", + "confirm_delete": "¿Eliminar misión?", + "meta_objective": "Objetivo", + "meta_cadence": "Cadencia", + "meta_cadence_value": "{cadence} · {state}", + "meta_next": "Próx.", + "meta_inputs": "Inputs", + "none_dash": "—", + "concept_summary": "Concepto", + "grant_title": "🔑 Acceso del servidor", + "grant_active": "activo · vence {when}", + "grant_expired": "vencido", + "grant_none": "no concedido", + "grant_note_active": "Ejecuta de forma autónoma; el acceso se puede revocar en cualquier momento.", + "grant_note_inactive": "Sin acceso, la misión solo se ejecuta con la pestaña abierta.", + "action_revoke": "Revocar acceso", + "action_grant_renew": "Volver a conceder", + "action_grant": "Conceder acceso", + "section_iterations": "Iteraciones", + "empty_iterations": "Aún no ha corrido ninguna iteración.", + "phase_initializing": "Inicializando", + "phase_resolving_inputs": "Cargando inputs", + "phase_calling_llm": "Consultando planner", + "phase_parsing_response": "Validando respuesta", + "phase_staging_proposals": "Preparando propuestas", + "phase_finalizing": "Finalizando", + "phase_detail_separator": " · {detail}", + "elapsed_prefix": "⏱ {time}", + "action_cancelling": "Cancelando…", + "action_cancel_iter": "Cancelar", + "err_phase_in": "en {phase}", + "action_retry_running": "Ejecutando…", + "action_retry": "↻ Reintentar", + "placeholder_feedback": "Feedback para la próxima iteración…", + "action_save_feedback": "Guardar", + "cadence_describe_manual": "manual", + "cadence_describe_interval": "cada {minutes} min", + "cadence_describe_daily": "diariamente {hh}:{mm}", + "cadence_describe_weekly": "semanal (día {day}, {hour}:00)", + "cadence_describe_cron": "cron: {expression}", + "state_active": "activa", + "state_paused": "pausada", + "state_done": "completada", + "state_archived": "archivada", + "relative_past": "hace {value}", + "relative_future": "en {value}" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/fr.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/fr.json new file mode 100644 index 000000000..d09b3a190 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/fr.json @@ -0,0 +1,78 @@ +{ + "list_view": { + "action_new": "Nouvelle mission", + "empty_text": "Aucune mission — crées-en une pour que l'IA travaille en continu pour toi.", + "iter_short": "{count} itér.", + "next_label": "prochain {when}", + "action_cancel": "Annuler", + "label_title": "Titre", + "placeholder_title": "p. ex. Revue hebdomadaire", + "label_objective": "Objectif concret", + "placeholder_objective": "Que doit accomplir l'IA ?", + "label_concept": "Concept (Markdown, optionnel)", + "placeholder_concept": "# Cadre\nExplique le contexte, les règles, les limites à l'IA…", + "legend_agent": "Agent", + "agent_picker_label": "Qui exécute", + "legend_inputs": "Inputs (contexte pour l'IA)", + "legend_cadence": "Cadence", + "cadence_manual": "Manuel", + "cadence_interval": "Intervalle", + "cadence_min_unit": "min", + "cadence_daily": "Tous les jours à", + "action_creating": "Création…", + "action_create": "Créer la mission", + "action_back_list": "Liste", + "action_running": "En cours…", + "action_run_now": "Exécuter maintenant", + "debug_title": "Enregistre prompts + réponses localement par itération", + "debug_label": "🔍 Debug", + "action_pause": "Pause", + "action_resume": "Reprendre", + "action_complete": "Terminer", + "confirm_delete": "Supprimer la mission ?", + "meta_objective": "Objectif", + "meta_cadence": "Cadence", + "meta_cadence_value": "{cadence} · {state}", + "meta_next": "Prochain", + "meta_inputs": "Inputs", + "none_dash": "—", + "concept_summary": "Concept", + "grant_title": "🔑 Accès serveur", + "grant_active": "actif · expire {when}", + "grant_expired": "expiré", + "grant_none": "non accordé", + "grant_note_active": "S'exécute en autonomie ; l'accès peut être révoqué à tout moment.", + "grant_note_inactive": "Sans accès, la mission ne tourne que lorsque l'onglet est ouvert.", + "action_revoke": "Révoquer l'accès", + "action_grant_renew": "Re-accorder", + "action_grant": "Accorder l'accès", + "section_iterations": "Itérations", + "empty_iterations": "Aucune itération n'a été exécutée.", + "phase_initializing": "Initialisation", + "phase_resolving_inputs": "Chargement des inputs", + "phase_calling_llm": "Interroge le planner", + "phase_parsing_response": "Valide la réponse", + "phase_staging_proposals": "Prépare les propositions", + "phase_finalizing": "Finalisation", + "phase_detail_separator": " · {detail}", + "elapsed_prefix": "⏱ {time}", + "action_cancelling": "Annulation…", + "action_cancel_iter": "Annuler", + "err_phase_in": "dans {phase}", + "action_retry_running": "En cours…", + "action_retry": "↻ Réessayer", + "placeholder_feedback": "Feedback pour la prochaine itération…", + "action_save_feedback": "Enregistrer", + "cadence_describe_manual": "manuel", + "cadence_describe_interval": "toutes les {minutes} min", + "cadence_describe_daily": "tous les jours à {hh}:{mm}", + "cadence_describe_weekly": "hebdomadaire (jour {day}, {hour}:00)", + "cadence_describe_cron": "cron : {expression}", + "state_active": "active", + "state_paused": "en pause", + "state_done": "terminée", + "state_archived": "archivée", + "relative_past": "il y a {value}", + "relative_future": "dans {value}" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/it.json b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/it.json new file mode 100644 index 000000000..d78700203 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/ai-missions/it.json @@ -0,0 +1,78 @@ +{ + "list_view": { + "action_new": "Nuova missione", + "empty_text": "Ancora nessuna missione — creane una per far lavorare l'IA per te in modo continuo.", + "iter_short": "{count} iter.", + "next_label": "prossima {when}", + "action_cancel": "Annulla", + "label_title": "Titolo", + "placeholder_title": "es. Review settimanale", + "label_objective": "Obiettivo concreto", + "placeholder_objective": "Cosa deve raggiungere l'IA?", + "label_concept": "Concetto (Markdown, opzionale)", + "placeholder_concept": "# Cornice\nSpiega all'IA il contesto, le regole, i limiti…", + "legend_agent": "Agente", + "agent_picker_label": "Chi la esegue", + "legend_inputs": "Input (contesto per l'IA)", + "legend_cadence": "Cadenza", + "cadence_manual": "Manuale", + "cadence_interval": "Intervallo", + "cadence_min_unit": "min", + "cadence_daily": "Ogni giorno alle", + "action_creating": "Creazione…", + "action_create": "Crea missione", + "action_back_list": "Elenco", + "action_running": "In esecuzione…", + "action_run_now": "Esegui ora", + "debug_title": "Cattura prompt + risposte localmente per ogni iterazione", + "debug_label": "🔍 Debug", + "action_pause": "Pausa", + "action_resume": "Riprendi", + "action_complete": "Completa", + "confirm_delete": "Eliminare la missione?", + "meta_objective": "Obiettivo", + "meta_cadence": "Cadenza", + "meta_cadence_value": "{cadence} · {state}", + "meta_next": "Prossima", + "meta_inputs": "Input", + "none_dash": "—", + "concept_summary": "Concetto", + "grant_title": "🔑 Accesso server", + "grant_active": "attivo · scade {when}", + "grant_expired": "scaduto", + "grant_none": "non concesso", + "grant_note_active": "Gira in autonomia; l'accesso può essere revocato in qualsiasi momento.", + "grant_note_inactive": "Senza accesso, la missione gira solo quando il tab è aperto.", + "action_revoke": "Revoca accesso", + "action_grant_renew": "Riconcedi", + "action_grant": "Concedi accesso", + "section_iterations": "Iterazioni", + "empty_iterations": "Nessuna iterazione eseguita.", + "phase_initializing": "Inizializzazione", + "phase_resolving_inputs": "Carico input", + "phase_calling_llm": "Interrogo il planner", + "phase_parsing_response": "Valido la risposta", + "phase_staging_proposals": "Preparo proposte", + "phase_finalizing": "Finalizzazione", + "phase_detail_separator": " · {detail}", + "elapsed_prefix": "⏱ {time}", + "action_cancelling": "Annullamento…", + "action_cancel_iter": "Annulla", + "err_phase_in": "in {phase}", + "action_retry_running": "In esecuzione…", + "action_retry": "↻ Riprova", + "placeholder_feedback": "Feedback per la prossima iterazione…", + "action_save_feedback": "Salva", + "cadence_describe_manual": "manuale", + "cadence_describe_interval": "ogni {minutes} min", + "cadence_describe_daily": "ogni giorno {hh}:{mm}", + "cadence_describe_weekly": "settimanale (giorno {day}, {hour}:00)", + "cadence_describe_cron": "cron: {expression}", + "state_active": "attiva", + "state_paused": "in pausa", + "state_done": "completata", + "state_archived": "archiviata", + "relative_past": "{value} fa", + "relative_future": "tra {value}" + } +}