Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/ci-i18n.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: i18n Audit

on:
pull_request:
branches:
- dev
push:
branches:
- dev

permissions:
contents: read

jobs:
i18n-audit:
runs-on: blacksmith-4vcpu-ubuntu-2204

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc

- name: Run i18n audit
run: node scripts/i18n-audit.mjs --ci
15 changes: 0 additions & 15 deletions apps/app/src/i18n/locales/ca.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1270,14 +1270,11 @@ export default {
"settings.auto_compact_desc": "Controla OpenCode compaction.auto per a aquest workspace. Torna a carregar el motor després de canviar-lo.",
"settings.auto_update_desc": "Descarrega les actualitzacions automàticament (et demana",
"settings.auto_update_title": "Actualització automàtica",
"settings.available_count": "{count} disponibles",
"settings.background_checks_desc": "OpenWork sempre comprova si hi ha actualitzacions en arrencar. També ho comprova un cop",
"settings.background_checks_title": "Comprovacions en segon pla",
"settings.base_url_unavailable": "URL base no disponible",
"settings.binary_unavailable": "Binari no disponible",
"settings.cache_nothing_to_repair": "No s'ha trobat la memòria cache OpenCode. Res a reparar.",
"settings.cache_repair_requires_desktop": "La reparació de la memòria cache requereix l'app d'escriptori",
"settings.cache_repaired": "S'ha reparat la memòria cache OpenCode. Reinicia el motor si estava en marxa.",
"settings.cap_browser_tools": "Eines del navegador: {value}",
"settings.cap_commands": "Commands: {value}",
"settings.cap_config": "Configuració: {value}",
Expand All @@ -1303,7 +1300,6 @@ export default {
"settings.configure": "Configura",
"settings.connect_opencode_hint": "Connecta't a OpenCode per carregar proveïdors.",
"settings.connect_provider": "Connecta un proveïdor",
"settings.connected_count": "{count} connectat",
"settings.connection": "Connexió",
"settings.connection_failed": "La connexió ha fallat",
"settings.connection_title": "Connexió",
Expand All @@ -1330,13 +1326,6 @@ export default {
"settings.developer_mode_title": "Mode de desenvolupador",
"settings.developer_panel_disabled": "Panell de desenvolupador desactivat.",
"settings.developer_panel_enabled": "Panell de desenvolupador activat.",
"settings.devlog_cleared": "S'ha esborrat la sortida del registre del desenvolupador.",
"settings.devlog_clipboard_unavailable": "El porta-retalls no està disponible en aquest entorn.",
"settings.devlog_copied": "S'ha copiat la sortida del registre del desenvolupador.",
"settings.devlog_copy_failed": "No s'ha pogut copiar la sortida del registre del desenvolupador.",
"settings.devlog_export_failed": "No s'ha pogut exportar la sortida del registre del desenvolupador.",
"settings.devlog_export_unavailable": "L'exportació no està disponible en aquest entorn.",
"settings.devlog_exported": "S'ha exportat la sortida del registre del desenvolupador.",
"settings.devtools_desc": "Salut, capacitats i pista d'auditoria del sidecar.",
"settings.devtools_title": "Eines de desenvolupament",
"settings.diag_approval": "Aprovació: {mode} ({ms}ms)",
Expand Down Expand Up @@ -1951,8 +1940,6 @@ export default {
"status.send_feedback": "Envieu comentaris",
"status.settings": "Configuració",
"status.starting_engine": "Arrancada del motor",
"system.cache_repair_requires_desktop": "La reparació de la memòria cache requereix el app d'escriptori.",
"system.docker_cleanup_requires_desktop": "La neteja de Docker requereix el app d'escriptori.",
"system.reload_body_agents": "OpenCode carrega agents a l'inici. Torna a carregar el motor per posar agents actualitzats disponibles.",
"system.reload_body_commands": "OpenCode carrega ordres a l'inici. Torna a carregar el motor per fer que les ordres actualitzades estiguin disponibles.",
"system.reload_body_config": "OpenCode llegeix opencode.json a l'inici. Torna a carregar el motor per aplicar els canvis de configuració.",
Expand All @@ -1965,8 +1952,6 @@ export default {
"system.reload_required": "Cal tornar a carregar",
"system.reload_unavailable": "La recàrrega no està disponible per a aquest worker.",
"system.stop_active_runs_before_reset": "Atura les execucions actives abans de restablir.",
"system.stop_runs_before_update": "Atura les execucions actives abans d'instal·lar una actualització.",
"system.updates_not_supported": "Les actualitzacions no són compatibles amb aquest entorn.",
"time.hours_ago": "fa {count}h",
"time.just_now": "just ara",
"time.minutes_ago": "fa {count}m",
Expand Down
32 changes: 3 additions & 29 deletions apps/app/src/i18n/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1264,6 +1264,8 @@ export default {
"session.status_writing_file": "Writing file",
"session.stopped": "Stopped.",
"session.stopping_run": "Stopping the run...",
"session.support_docs": "Open documentation",
"session.support_feedback": "Open feedback",
"session.todo_label": "Tasks",
"session.todo_progress": "{completed} out of {total} tasks completed",
"session.todo_progress_label": "Progress",
Expand All @@ -1273,6 +1275,7 @@ export default {
"session.unable_to_reveal": "Unable to reveal workspace",
"session.undo_label": "Revert",
"session.undo_title": "Undo last message",
"session.untitled": "Untitled",
"session.update_available": "Update available",
"session.update_available_title": "Update available {version}",
"session.update_ready": "Update ready",
Expand Down Expand Up @@ -1307,14 +1310,11 @@ export default {
"settings.auto_compact_desc": "Controls OpenCode compaction.auto for this workspace. Reload the engine after changing it.",
"settings.auto_update_desc": "Download updates automatically (prompts to",
"settings.auto_update_title": "Auto-update",
"settings.available_count": "{count} available",
"settings.background_checks_desc": "OpenWork always checks on launch. Also checks once",
"settings.background_checks_title": "Background checks",
"settings.base_url_unavailable": "Base URL unavailable",
"settings.binary_unavailable": "Binary unavailable",
"settings.cache_nothing_to_repair": "No OpenCode cache found. Nothing to repair.",
"settings.cache_repair_requires_desktop": "Cache repair requires the desktop app",
"settings.cache_repaired": "OpenCode cache repaired. Restart the engine if it was running.",
"settings.cap_browser_tools": "Browser tools: {value}",
"settings.cap_commands": "Commands: {value}",
"settings.cap_config": "Config: {value}",
Expand Down Expand Up @@ -1342,10 +1342,8 @@ export default {
"settings.clipboard_unavailable": "Clipboard is unavailable in this environment.",
"settings.config_updated": "Configuration updated. Reload the engine if the change affects OpenCode.",
"settings.configure": "Configure",
"settings.connected_providers_count": "{count, plural, =0 {No providers connected} =1 {1 provider connected} other {# providers connected}}",
"settings.connect_opencode_hint": "Connect to OpenCode to load providers.",
"settings.connect_provider": "Connect provider",
"settings.connected_count": "{count} connected",
"settings.connection": "Connection",
"settings.connection_failed": "Connection failed",
"settings.connection_title": "Connection",
Expand All @@ -1356,29 +1354,20 @@ export default {
"settings.custom_binary_label": "Custom OpenCode binary",
"settings.data_dir_unavailable": "Data directory unavailable",
"settings.debug_base_url": "Base URL: {url}",
"settings.debug_cli_version": "CLI: {version}",
"settings.debug_commit": "Commit: {sha}",
"settings.debug_connect_url": "Connect URL: {url}",
"settings.debug_daemon_pid": "Daemon PID: {pid}",
"settings.debug_daemon_url": "Daemon URL: {url}",
"settings.debug_data_dir": "Data dir: {path}",
"settings.debug_desktop_app": "Desktop app: {version}",
"settings.debug_health_port": "Health port: {port}",
"settings.debug_hostname": "Hostname: {hostname}",
"settings.debug_lan_url": "LAN URL: {url}",
"settings.debug_mdns_url": "mDNS URL: {url}",
"settings.debug_opencode_pid": "OpenCode PID: {pid}",
"settings.debug_opencode_url": "OpenCode URL: {url}",
"settings.debug_opencode_version": "OpenCode: {version}",
"settings.debug_openwork_server_version": "OpenWork server: {version}",
"settings.debug_pid": "PID: {pid}",
"settings.debug_port": "Port: {port}",
"settings.debug_project_dir": "Project dir: {path}",
"settings.debug_remote_access": "Remote access: {value}",
"settings.debug_router_version": "Router: {version}",
"settings.debug_runtime": "Runtime: {runtime}",
"settings.debug_section_title": "Developer",
"settings.debug_workspace_path": "Workspace path: {path}",
"settings.error": "Error",
"settings.idle": "Idle",
"settings.loading": "Loading",
Expand All @@ -1395,13 +1384,6 @@ export default {
"settings.developer_mode_title": "Developer mode",
"settings.developer_panel_disabled": "Developer panel enabled.",
"settings.developer_panel_enabled": "Developer panel enabled.",
"settings.devlog_cleared": "Cleared developer log output.",
"settings.devlog_clipboard_unavailable": "Clipboard is unavailable in this environment.",
"settings.devlog_copied": "Copied developer log output.",
"settings.devlog_copy_failed": "Failed to copy developer log output.",
"settings.devlog_export_failed": "Failed to export developer log output.",
"settings.devlog_export_unavailable": "Export is unavailable in this environment.",
"settings.devlog_exported": "Exported developer log output.",
"settings.devtools_desc": "Sidecar health, capabilities, and audit trail.",
"settings.devtools_title": "Devtools",
"settings.diag_approval": "Approval: {mode} ({ms}ms)",
Expand Down Expand Up @@ -1591,9 +1573,7 @@ export default {
"settings.copy_logs": "Copy logs",
"settings.copied_service_logs": "Copied {service} logs.",
"settings.no_logs_captured": "No logs captured yet.",
"settings.copied_developer_log": "Copied developer log.",
"settings.exported_developer_log": "Exported developer log.",
"settings.cleared_developer_log": "Cleared developer log.",
"settings.developer_log_title": "Developer log stream",
"settings.developer_log_desc": "App, workspace, session, and perf events captured while Developer Mode is on.",
"settings.developer_log_count": "Showing the latest {count} retained records.",
Expand All @@ -1609,8 +1589,6 @@ export default {
"settings.danger_section_title": "Danger zone",
"settings.danger_section_desc": "Irreversible actions. Use only when you understand the consequences.",
"settings.clear_button": "Clear",
"settings.copy_button": "Copy",
"settings.export_button": "Export",
"settings.copy_log_button": "Copy log",
"settings.export_log_button": "Export .log",
"settings.reveal_config": "Reveal config",
Expand Down Expand Up @@ -2046,8 +2024,6 @@ export default {
"status.send_feedback": "Send feedback",
"status.settings": "Settings",
"status.starting_engine": "Starting engine",
"system.cache_repair_requires_desktop": "Cache repair requires the desktop app.",
"system.docker_cleanup_requires_desktop": "Docker cleanup requires the desktop app.",
"system.reload_body_agents": "OpenCode loads agents at startup. Reload the engine to make updated agents available.",
"system.reload_body_commands": "OpenCode loads commands at startup. Reload the engine to make updated commands available.",
"system.reload_body_config": "OpenCode reads opencode.json at startup. Reload the engine to apply configuration changes.",
Expand All @@ -2060,8 +2036,6 @@ export default {
"system.reload_required": "Reload required",
"system.reload_unavailable": "Reload is unavailable for this worker.",
"system.stop_active_runs_before_reset": "Stop active runs before resetting.",
"system.stop_runs_before_update": "Stop active runs before installing an update.",
"system.updates_not_supported": "Updates are not supported in this environment.",
"time.hours_ago": "{count}h ago",
"time.just_now": "just now",
"time.minutes_ago": "{count}m ago",
Expand Down
15 changes: 0 additions & 15 deletions apps/app/src/i18n/locales/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1270,14 +1270,11 @@ export default {
"settings.auto_compact_desc": "Controla `compaction.auto` de OpenCode para este espacio de trabajo. Recarga el motor después de cambiarlo.",
"settings.auto_update_desc": "Descarga las actualizaciones automáticamente (solicita",
"settings.auto_update_title": "Actualización automática",
"settings.available_count": "{count} disponibles",
"settings.background_checks_desc": "OpenWork siempre comprueba el lanzamiento. También comprueba una vez",
"settings.background_checks_title": "Comprobaciones en segundo plano",
"settings.base_url_unavailable": "Base URL no disponible",
"settings.binary_unavailable": "Binario no disponible",
"settings.cache_nothing_to_repair": "No se encontró caché OpenCode. Nada que reparar.",
"settings.cache_repair_requires_desktop": "La reparación de caché requiere la app de escritorio",
"settings.cache_repaired": "Caché OpenCode reparado. Reinicia el motor si estaba en marcha.",
"settings.cap_browser_tools": "Herramientas del navegador: {value}",
"settings.cap_commands": "Commands: {value}",
"settings.cap_config": "Configuración: {value}",
Expand All @@ -1303,7 +1300,6 @@ export default {
"settings.configure": "Configurar",
"settings.connect_opencode_hint": "Conecta a OpenCode para cargar proveedores.",
"settings.connect_provider": "Conectar proveedor",
"settings.connected_count": "{count} conectado",
"settings.connection": "Conexión",
"settings.connection_failed": "La conexión falló",
"settings.connection_title": "Conexión",
Expand All @@ -1330,13 +1326,6 @@ export default {
"settings.developer_mode_title": "Modo desarrollador",
"settings.developer_panel_disabled": "Panel de desarrollador deshabilitado.",
"settings.developer_panel_enabled": "Panel de desarrollador habilitado.",
"settings.devlog_cleared": "Se borró la salida del registro del desarrollador.",
"settings.devlog_clipboard_unavailable": "El portapapeles no está disponible en este entorno.",
"settings.devlog_copied": "Salida del registro del desarrollador copiada.",
"settings.devlog_copy_failed": "No se pudo copiar la salida del registro del desarrollador.",
"settings.devlog_export_failed": "No se pudo exportar la salida del registro del desarrollador.",
"settings.devlog_export_unavailable": "La exportación no está disponible en este entorno.",
"settings.devlog_exported": "Salida de registro de desarrollador exportada.",
"settings.devtools_desc": "Estado, capacidades y seguimiento de auditoría del sidecar.",
"settings.devtools_title": "Herramientas de desarrollo",
"settings.diag_approval": "Aprobación: {mode} ({ms}ms)",
Expand Down Expand Up @@ -1951,8 +1940,6 @@ export default {
"status.send_feedback": "Enviar comentarios",
"status.settings": "Ajustes",
"status.starting_engine": "Iniciando el motor",
"system.cache_repair_requires_desktop": "La reparación de caché requiere la app de escritorio.",
"system.docker_cleanup_requires_desktop": "La limpieza de Docker requiere la app de escritorio.",
"system.reload_body_agents": "OpenCode carga agentes al inicio. Vuelve a cargar el motor para que los agentes actualizados estén disponibles.",
"system.reload_body_commands": "OpenCode carga Commands al inicio. Vuelve a cargar el motor para que los Commands actualizados estén disponibles.",
"system.reload_body_config": "OpenCode lee opencode.json al inicio. Vuelve a cargar el motor para aplicar los cambios de configuración.",
Expand All @@ -1965,8 +1952,6 @@ export default {
"system.reload_required": "Hace falta recargar",
"system.reload_unavailable": "La recarga no está disponible para este worker.",
"system.stop_active_runs_before_reset": "Detenga las ejecuciones activas antes de reiniciar.",
"system.stop_runs_before_update": "Detenga las ejecuciones activas antes de instalar una actualización.",
"system.updates_not_supported": "Las actualizaciones no son compatibles en este entorno.",
"time.hours_ago": "Hace {count}h",
"time.just_now": "En este momento",
"time.minutes_ago": "Hace {count}m",
Expand Down
15 changes: 0 additions & 15 deletions apps/app/src/i18n/locales/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1270,14 +1270,11 @@ export default {
"settings.auto_compact_desc": "Contrôle compaction.auto d'OpenCode pour cet espace de travail. Rechargez le moteur après modification.",
"settings.auto_update_desc": "Télécharger les mises à jour automatiquement (invite à",
"settings.auto_update_title": "Mise à jour automatique",
"settings.available_count": "{count} disponibles",
"settings.background_checks_desc": "OpenWork vérifie toujours au lancement. Vérifie aussi une fois",
"settings.background_checks_title": "Vérifications en arrière-plan",
"settings.base_url_unavailable": "URL de base indisponible",
"settings.binary_unavailable": "Binaire indisponible",
"settings.cache_nothing_to_repair": "Aucun cache OpenCode trouvé. Rien à réparer.",
"settings.cache_repair_requires_desktop": "La réparation du cache nécessite l'application desktop",
"settings.cache_repaired": "Cache OpenCode réparé. Redémarrez le moteur s'il était en cours d'exécution.",
"settings.cap_browser_tools": "Outils navigateur : {value}",
"settings.cap_commands": "Commands : {value}",
"settings.cap_config": "Config : {value}",
Expand All @@ -1303,7 +1300,6 @@ export default {
"settings.configure": "Configurer",
"settings.connect_opencode_hint": "Connectez-vous à OpenCode pour charger les fournisseurs.",
"settings.connect_provider": "Connecter un fournisseur",
"settings.connected_count": "{count} connectés",
"settings.connection": "Connexion",
"settings.connection_failed": "Échec de la connexion",
"settings.connection_title": "Connexion",
Expand All @@ -1330,13 +1326,6 @@ export default {
"settings.developer_mode_title": "Mode développeur",
"settings.developer_panel_disabled": "Panneau développeur activé.",
"settings.developer_panel_enabled": "Panneau développeur activé.",
"settings.devlog_cleared": "Sortie du journal développeur effacée.",
"settings.devlog_clipboard_unavailable": "Le presse-papiers est indisponible dans cet environnement.",
"settings.devlog_copied": "Sortie du journal développeur copiée.",
"settings.devlog_copy_failed": "Échec de la copie de la sortie du journal développeur.",
"settings.devlog_export_failed": "Échec de l'export de la sortie du journal développeur.",
"settings.devlog_export_unavailable": "L'export est indisponible dans cet environnement.",
"settings.devlog_exported": "Sortie du journal développeur exportée.",
"settings.devtools_desc": "Santé des sidecars, capacités et piste d'audit.",
"settings.devtools_title": "Outils de dev",
"settings.diag_approval": "Approbation : {mode} ({ms}ms)",
Expand Down Expand Up @@ -1951,8 +1940,6 @@ export default {
"status.send_feedback": "Envoyer un retour",
"status.settings": "Paramètres",
"status.starting_engine": "Démarrage du moteur",
"system.cache_repair_requires_desktop": "La réparation du cache nécessite l'application desktop.",
"system.docker_cleanup_requires_desktop": "Le nettoyage Docker nécessite l'application desktop.",
"system.reload_body_agents": "OpenCode charge les agents au démarrage. Rechargez le moteur pour rendre les agents mis à jour disponibles.",
"system.reload_body_commands": "OpenCode charge les Commands au démarrage. Rechargez le moteur pour rendre les Commands mis à jour disponibles.",
"system.reload_body_config": "OpenCode lit opencode.json au démarrage. Rechargez le moteur pour appliquer les changements de configuration.",
Expand All @@ -1965,8 +1952,6 @@ export default {
"system.reload_required": "Rechargement requis",
"system.reload_unavailable": "Le rechargement n'est pas disponible pour ce worker.",
"system.stop_active_runs_before_reset": "Arrêtez les exécutions actives avant de réinitialiser.",
"system.stop_runs_before_update": "Arrêtez les exécutions actives avant d'installer une mise à jour.",
"system.updates_not_supported": "Les mises à jour ne sont pas prises en charge dans cet environnement.",
"time.hours_ago": "il y a {count} h",
"time.just_now": "à l'instant",
"time.minutes_ago": "il y a {count} min",
Expand Down
Loading
Loading