diff --git a/apps/app/src/i18n/index.ts b/apps/app/src/i18n/index.ts index 46bb95f8..3395979d 100644 --- a/apps/app/src/i18n/index.ts +++ b/apps/app/src/i18n/index.ts @@ -6,19 +6,20 @@ import vi from "./locales/vi"; import ptBR from "./locales/pt-BR"; import th from "./locales/th"; import fr from "./locales/fr"; +import ca from "./locales/ca"; import es from "./locales/es"; import { LANGUAGE_PREF_KEY } from "../app/constants"; /** * Supported languages */ -export type Language = "en" | "ja" | "zh" | "vi" | "pt-BR" | "th" | "fr" | "es"; +export type Language = "en" | "ja" | "zh" | "vi" | "pt-BR" | "th" | "fr" | "ca" | "es"; export type Locale = Language; /** * All supported languages - single source of truth */ -export const LANGUAGES: Language[] = ["en", "ja", "zh", "vi", "pt-BR", "th", "fr", "es"]; +export const LANGUAGES: Language[] = ["en", "ja", "zh", "vi", "pt-BR", "th", "fr", "ca", "es"]; /** * Language options for UI - single source of truth @@ -31,7 +32,8 @@ export const LANGUAGE_OPTIONS = [ { value: "pt-BR" as Language, label: "Portuguese (BR)", nativeName: "Português (BR)" }, { value: "th" as Language, label: "ไทย", nativeName: "ไทย" }, { value: "fr" as Language, label: "French", nativeName: "Français" }, - { value: "es" as Language, label: "Spanish", nativeName: "Español" }, + { value: "ca" as Language, label: "Català", nativeName: "Català" }, + { value: "es" as Language, label: "Español", nativeName: "Español" }, ] as const; /** @@ -45,6 +47,7 @@ const TRANSLATIONS: Record> = { "pt-BR": ptBR, th, fr, + ca, es, }; diff --git a/apps/app/src/i18n/locales/ca.ts b/apps/app/src/i18n/locales/ca.ts new file mode 100644 index 00000000..f05428fb --- /dev/null +++ b/apps/app/src/i18n/locales/ca.ts @@ -0,0 +1,2082 @@ +/** + * Catalan translations (Català) + * Professional terms (Skills, Plugins, Commands, Sessions, OpenCode, OpenPackage, OpenWork) are NOT translated + */ + +export default { + "app.compact_command_desc": "Resumeix aquesta sessió per reduir la mida del context.", + "app.connection_lost": "S'ha perdut la connexió del servidor. Recarrega.", + "app.deep_link_auth_queued": "Hem posat en cua el deep link d'autenticació d'OpenWork Cloud.", + "app.deep_link_remote_queued": "Hem posat en cua l'enllaç del worker remot. OpenWork hauria d'intentar connectar.", + "app.error.choose_folder": "Tria una carpeta per continuar.", + "app.error.host_requires_local": "Selecciona un workspace local per iniciar el motor.", + "app.error.install_failed": "La instal·lació d'OpenCode ha fallat. Mira els registres de més amunt.", + "app.error.pick_workspace_folder": "Tria primer una carpeta de workspace.", + "app.error.remote_base_url_required": "Afegeix l’URL del servidor per continuar.", + "app.error.tauri_required": "Aquesta acció requereix el temps d'execució de l'aplicació Tauri.", + "app.error_audit_load": "No s'ha pogut carregar el registre d'auditoria.", + "app.error_auth_failed": "L'autenticació ha fallat", + "app.error_auto_compact_scope": "La compactació automàtica del context només es pot canviar per a un workspace local o per a un workspace d'un servidor OpenWork amb permisos d'escriptura.", + "app.error_cloud_signin": "No s'ha pogut completar l'inici de sessió a OpenWork Cloud.", + "app.error_command_not_resolved": "No s'ha pogut resoldre la comanda.", + "app.error_compact_empty": "Encara no hi ha res per compactar.", + "app.error_compact_no_session": "Selecciona una sessió amb missatges abans d'executar /compact.", + "app.error_compact_no_session_id": "Selecciona una sessió abans de compactar.", + "app.error_connect_first": "Connecta't a aquest worker abans d'aplicar canvis de runtime.", + "app.error_connection_failed": "La connexió ha fallat", + "app.error_connection_failed_url": "La connexió ha fallat. Comprova l'URL i el token.", + "app.error_deep_link_unrecognized": "Aquest enllaç no és cap deep link d'OpenWork reconegut ni una URL compartida.", + "app.error_desktop_signin": "S'ha completat l'inici de sessió a l'escriptori, però OpenWork Cloud no ha retornat cap token de sessió.", + "app.error_not_connected": "No connectat a un servidor", + "app.error_pick_local_folder": "Tria una carpeta local del worker abans de reiniciar el servidor local.", + "app.error_rate_limit": "Has superat el límit de peticions", + "app.error_remote_access": "No s'ha pogut actualitzar l'accés remot.", + "app.error_request_failed": "La sol·licitud ha fallat", + "app.error_reset_config": "No s'han pogut restablir els valors predeterminats de la configuració de l'aplicació.", + "app.error_restart_local_worker": "No s'ha pogut reiniciar el worker local amb la configuració de compartició actualitzada.", + "app.error_runtime_changes": "No s'han pogut aplicar els canvis de runtime.", + "app.error_session_name_required": "El nom de la sessió és obligatori", + "app.error_update_opencode_json": "No s'ha pogut actualitzar opencode.json", + "app.import_bundle_desc": "Tria com vols importar aquest paquet.", + "app.import_shared_bundle": "Importa el paquet compartit", + "app.local_disabled_reason": "Crea workspaces locals des de l'app d'escriptori. Els workspaces remots i compartits aquí continuen funcionant.", + "app.local_worker_detail": "Worker local", + "app.model_behavior_desc": "Tria primer el model per veure els controls de comportament específics del proveïdor.", + "app.model_behavior_title": "Comportament del model", + "app.plugins_hint_disconnected": "El servidor OpenWork no està disponible. Els Plugins són de només lectura.", + "app.plugins_hint_limited": "El servidor OpenWork necessita un token per editar Plugins.", + "app.plugins_hint_readonly": "El servidor OpenWork és de només lectura per als Plugins.", + "app.reload_later": "Més tard", + "app.reload_now": "Recarrega ara", + "app.reload_stop_tasks": "Recarrega i atura les tasques", + "app.remote_worker_detail": "Worker remot", + "app.reset_config_ok": "Restableix els valors predeterminats de la configuració de l'aplicació. Reinicia OpenWork si hi ha cap configuració obsoleta.", + "app.shared_setup": "Configuració compartida", + "app.skill_added": "Skill afegida", + "app.skills_hint_disconnected": "El servidor OpenWork no està disponible. Afegeix l'URL i el token del servidor a Avançat per gestionar les Skills.", + "app.skills_hint_limited": "El servidor OpenWork necessita un token d'host per instal·lar o actualitzar Skills. Afegeix-lo a Avançat i torna't a connectar.", + "app.skills_hint_readonly": "El servidor OpenWork és de només lectura per a Skills. Afegeix un token d'host a Avançat per habilitar-ne la instal·lació.", + "app.unknown_error": "Error desconegut", + "app.worker_fallback": "worker", + "automations.desktop_required": "Les tasques programades requereixen l'app d'escriptori.", + "automations.failed_to_load": "No s'han pogut carregar les tasques programades.", + "automations.prompt_empty": "El prompt de l'automatització és buit.", + "automations.prompt_required": "Cal un prompt.", + "automations.schedule_required": "Cal una programació.", + "automations.server_needs_token": "El servidor OpenWork necessita un token per carregar les tasques programades.", + "automations.server_not_ready": "El servidor OpenWork encara no està a punt.", + "automations.server_unavailable": "El servidor OpenWork no està disponible. Connecta't per sincronitzar les tasques programades.", + "blueprint.automation_body": "Comença amb un flux de treball reutilitzable o escriu la teva pròpia tasca aquí sota.", + "blueprint.automation_title": "Què vols automatitzar?", + "blueprint.csv_session_assistant": "Et puc ajudar a generar, netejar, combinar i resumir fitxers CSV. Quin tipus de feina amb CSV vols automatitzar?", + "blueprint.csv_session_title": "Idees de flux de treball CSV", + "blueprint.csv_session_user": "Vull combinar les exportacions de diverses eines en un sol CSV.", + "blueprint.empty_body": "Tria un punt de partida o escriu directament aquí sota.", + "blueprint.empty_title": "Què vols fer?", + "blueprint.minimal_body": "Fes una pregunta sobre aquest workspace o fes servir un missatge d'inici.", + "blueprint.minimal_title": "Comença amb una tasca", + "blueprint.starter_blueprint_desc": "Dissenya un flux de treball reutilitzable amb Skills, Commands i passos de traspàs.", + "blueprint.starter_blueprint_prompt": "Ajuda'm a dissenyar un blueprint d'automatització reutilitzable per a aquest workspace. Pregunta què s'hauria d'estandarditzar i després proposa el flux de treball.", + "blueprint.starter_blueprint_title": "Planifica un blueprint d'automatització", + "blueprint.starter_chrome_desc": "Comença ara mateix una conversa d'automatització del navegador.", + "blueprint.starter_chrome_prompt": "Ajuda'm a connectar-me a Chrome i automatitzar una tasca repetitiva.", + "blueprint.starter_chrome_title": "Automatitza Chrome", + "blueprint.starter_command_desc": "Converteix un flux de treball repetit en una /command per a aquest workspace.", + "blueprint.starter_command_prompt": "Ajuda'm a crear una /command reutilitzable per a aquest workspace. Pregunta quin flux de treball vull automatitzar i després redacta la Command.", + "blueprint.starter_command_title": "Crea una /command reutilitzable", + "blueprint.starter_connect_openai_desc": "Afegeix el teu proveïdor d'OpenAI perquè els models ChatGPT estiguin preparats en sessions noves.", + "blueprint.starter_connect_openai_title": "Connecta ChatGPT", + "blueprint.starter_csv_desc": "Neteja o genera dades de fulls de càlcul.", + "blueprint.starter_csv_prompt": "Ajuda'm a crear o editar fitxers CSV en aquest ordinador.", + "blueprint.starter_csv_title": "Treballa en un CSV", + "blueprint.starter_explore_desc": "Resumeix els fitxers i proposa la millor primera tasca per començar.", + "blueprint.starter_explore_prompt": "Resumeix aquest workspace, assenyala els fitxers més importants i proposa la millor primera tasca.", + "blueprint.starter_explore_title": "Explora aquest workspace", + "blueprint.welcome_message": "Hola, benvingut a OpenWork!\n\nLa gent ens fa servir per escriure fitxers .csv al seu ordinador, connectar-se a Chrome i automatitzar tasques repetitives, i sincronitzar contactes amb Notion.\n\nPerò l'únic límit és la teva imaginació.\n\nQuè vols fer?", + "blueprint.welcome_title": "Benvingut a OpenWork", + "common.add": "Afegeix", + "common.cancel": "Cancel·la", + "common.choose": "Tria", + "common.close": "Tancar", + "common.default_parens": "(per defecte)", + "common.done": "Fet", + "common.edit": "Edita", + "common.hide": "Amaga", + "common.install": "Instal·lar", + "common.navigate": "navegar", + "common.next": "Següent", + "common.off": "Apagat", + "common.on": "Encès", + "common.path": "Ruta", + "common.question": "Pregunta", + "common.refresh": "Actualitza", + "common.remove": "Eliminar", + "common.reset": "Restableix", + "common.retry": "Torna-ho a provar", + "common.save": "Desa", + "common.select": "seleccionar", + "common.show": "Mostra", + "common.something_went_wrong": "Hi ha hagut un problema", + "common.submit": "Envia", + "common.unknown": "Desconegut", + "composer.agent_label": "Agent", + "composer.attach_files": "Adjuntar fitxers", + "composer.attachments_unavailable": "Els fitxers adjunts no estan disponibles.", + "composer.behavior_label": "Comportament", + "composer.configure": "Configura", + "composer.default_agent": "Agent per defecte", + "composer.expand_pasted": "Fes clic per ampliar el text enganxat", + "composer.failed_read_attachment": "No s'ha pogut llegir el fitxer adjunt", + "composer.file_exceeds_limit": "{name} supera el límit de 8 MB.", + "composer.file_kind": "Fitxer", + "composer.file_too_large_encoding": "{name} és massa gran després de la codificació. Prova una imatge més petita.", + "composer.image_kind": "Imatge", + "composer.inserted_links_unsupported": "S'han inserit enllaços per a fitxers no compatibles.", + "composer.loading_agents": "S'estan carregant agents...", + "composer.loading_commands": "S'estan carregant les Commands...", + "composer.mcps_label": "MCPs", + "composer.no_commands": "No s'ha trobat cap Command.", + "composer.no_matches": "No s'han trobat coincidències.", + "composer.placeholder": "Descriu la teva tasca...", + "composer.remote_worker_paste_warning": "Aquest és un worker remot. Sandboxes també són remots. Per compartir fitxers amb ell, pengeu-los a la carpeta compartida de la barra lateral.", + "composer.run_task": "Executar la tasca", + "composer.skill_source": "Skill", + "composer.stop": "Atura", + "composer.tools_label": "Commands, Skills i MCPs", + "composer.unsupported_attachment_type": "Tipus de fitxer adjunt no compatible.", + "composer.upload_failed_local_links": "No s'ha pogut carregar a la carpeta compartida. S'han inserit enllaços locals.", + "composer.upload_to_shared_folder": "Penja a la carpeta compartida", + "composer.uploaded_multiple_files": "S'han penjat fitxers {count} a la carpeta compartida i s'han inserit enllaços.", + "composer.uploaded_single_file": "S'ha penjat {name} a la carpeta compartida i s'ha inserit un enllaç.", + "config.auto_reload_desc": "Recarrega automàticament quan canviïn agents, Skills, Commands o la configuració (només quan no hi hagi activitat).", + "config.auto_reload_title": "Recàrrega automàtica (local)", + "config.auto_reload_unavailable": "Disponible per als workspaces locals des de l'app d'escriptori.", + "config.collaborator_token_disabled_hint": "Es desa amb antelació per compartir remotament, però ara mateix l'accés remot està desactivat.", + "config.collaborator_token_label": "Token de col·laborador", + "config.collaborator_token_remote_hint": "Accés remot de rutina per a telèfons o ordinadors portàtils connectats a aquest servidor.", + "config.connection_failed": "La connexió ha fallat.", + "config.connection_failed_check": "La connexió ha fallat. Comprova l'URL de l'host i el token.", + "config.connection_status_updated": "Estat de connexió actualitzat.", + "config.connection_successful": "Connexió correcta.", + "config.copied": "Copiat", + "config.copy": "Copia", + "config.desktop_only_hint": "Algunes funcions de configuració (compartir el servidor local i el pont de missatgeria) requereixen l'app d'escriptori.", + "config.diagnostics_desc": "Copia l'estat del runtime, ja depurat, per diagnosticar problemes.", + "config.diagnostics_title": "Paquet de diagnòstic", + "config.enable_auto_reload_first": "Activa primer la recàrrega automàtica", + "config.engine_reload_desc": "Reinicia el servidor OpenCode per a aquest workspace.", + "config.engine_reload_title": "Recàrrega del motor", + "config.host_admin_token_hint": "Token intern només per a l'host per a la CLI d'aprovacions i les API d'administració. No el facis servir en el flux de connexió remota de l'app.", + "config.host_admin_token_label": "Token d'administrador de l'host", + "config.host_local_only": "Només local", + "config.host_offline": "Fora de línia", + "config.host_remote_enabled": "Accés remot habilitat", + "config.local_ip_hint": "Fes servir la teva IP local a la mateixa Wi-Fi per tenir la connexió més ràpida.", + "config.mdns_hint": "Els noms .local són més fàcils de recordar, però pot ser que no es resolguin en totes les xarxes.", + "config.messaging_identities_desc": "Gestiona les identitats i l'encaminament Telegram/Slack a la pestanya Identitats.", + "config.messaging_identities_title": "Identitats de missatgeria", + "config.not_set": "No configurat", + "config.owner_token_disabled_hint": "Només rellevant després d'habilitar l'accés remot per a aquest worker.", + "config.owner_token_label": "Token del propietari", + "config.owner_token_remote_hint": "Fes servir-ho quan un client remot necessiti respondre sol·licituds de permís o fer accions només per al propietari.", + "config.reload_active_tasks_warning": "La recàrrega aturarà les tasques actives.", + "config.reload_availability_hint": "La recàrrega només està disponible per a workers locals o per a servidors OpenWork connectats.", + "config.reload_connect_hint": "Connecta't a aquest worker per tornar a carregar.", + "config.reload_engine": "Torna a carregar el motor", + "config.reload_now_desc": "Aplica actualitzacions de configuració i torna a connectar la sessió.", + "config.reload_now_title": "Torna a carregar ara", + "config.reloading": "S'està tornant a carregar...", + "config.remote_access_off_hint": "L'accés remot està desactivat. Fes servir Comparteix el workspace per activar-lo abans de connectar-te des d'una altra màquina.", + "config.resolved_worker_url": "URL de worker resolt:", + "config.resume_sessions_desc": "Si s'ha posat una recàrrega a la cua mentre s'executaven les tasques, envia un missatge de represa després.", + "config.resume_sessions_title": "Reprèn les sessions després de la recàrrega automàtica", + "config.server_needed_hint": "Cal una connexió al servidor OpenWork per sincronitzar Skills, Plugins i Commands.", + "config.server_section_desc": "Connecta't a un servidor OpenWork. Fes servir l'URL i un token de col·laborador o de propietari que et faciliti l'administrador del servidor.", + "config.server_section_title": "Servidor OpenWork", + "config.server_sharing_desc": "Comparteix aquests detalls amb un dispositiu de confiança. Mantingueu el servidor a la mateixa xarxa per a la configuració més ràpida.", + "config.server_sharing_menu_hint": "Per als enllaços de compartició per workspace, fes servir Compartir... al menú del workspace.", + "config.server_sharing_title": "Compartició del servidor OpenWork", + "config.server_url_hint": "Fes servir l'URL que t'hagi compartit el teu servidor OpenWork. Els workers locals de l'app d'escriptori reutilitzen un port alt persistent dins del rang 48000-51000.", + "config.server_url_input_label": "URL del servidor OpenWork", + "config.server_url_label": "URL del servidor OpenWork", + "config.starting_server": "S'està iniciant el servidor...", + "config.status_connected": "Connectat", + "config.status_limited": "Limitat", + "config.status_not_connected": "No connectat", + "config.test_connection": "Prova de connexió", + "config.testing": "Prova...", + "config.testing_connection": "S'està provant la connexió...", + "config.token_hint": "Opcional. Enganxa un token de col·laborador per a l'accés habitual o un token de propietari si aquest client ha de respondre a sol·licituds de permisos.", + "config.token_label": "Token de col·laborador o propietari", + "config.token_placeholder": "Enganxa el token", + "config.unavailable": "No disponible", + "config.worker_id": "ID del worker:", + "config.workspace_config_desc": "Aquests paràmetres afecten el workspace seleccionat. Les accions només de runtime s'apliquen a qualsevol workspace connectat actualment.", + "config.workspace_config_title": "Configuració del workspace", + "config.workspace_id_prefix": "Workspace:", + "context_panel.add_button": "Afegeix", + "context_panel.add_folder_hint": "Afegeix una carpeta per permetre que aquest workspace llegeixi i editi fitxers fora del seu directori arrel.", + "context_panel.adding_button": "S'està afegint...", + "context_panel.always_available": "Sempre disponible", + "context_panel.authorized_folders": "Carpetes autoritzades", + "context_panel.authorized_folders_desc": "Concedeix accés a aquest workspace per llegir i editar fitxers en directoris fora de la seva arrel.", + "context_panel.authorized_folders_no_access": "Connecta't a un workspace d'un servidor OpenWork amb permisos d'escriptura per editar les carpetes autoritzades.", + "context_panel.browse_button": "Navega", + "context_panel.config_access_unavailable": "L'accés a la configuració del servidor OpenWork no està disponible per a aquest workspace.", + "context_panel.config_read_only": "El servidor OpenWork està connectat en mode de només lectura per a la configuració d'aquest workspace.", + "context_panel.context": "Context", + "context_panel.folder_already_authorized": "La carpeta ja està autoritzada.", + "context_panel.folders_updated": "Carpetes autoritzades actualitzades.", + "context_panel.input_placeholder": "Escriu la ruta de la carpeta que vols autoritzar...", + "context_panel.mcp": "MCP", + "context_panel.mcp_connected": "Connectat", + "context_panel.mcp_disabled": "Desactivat", + "context_panel.mcp_disconnected": "Desconnectat", + "context_panel.mcp_failed": "Ha fallat", + "context_panel.mcp_needs_auth": "Necessita autenticació", + "context_panel.mcp_register_client": "Registre client", + "context_panel.no_external_folders": "No hi ha carpetes externes autoritzades", + "context_panel.no_mcp": "No s'han carregat servidors MCP.", + "context_panel.no_plugins": "No s'han carregat Plugins.", + "context_panel.no_server_workspace": "No s'ha seleccionat cap workspace del servidor actiu.", + "context_panel.no_skills": "No s'ha carregat cap Skill.", + "context_panel.none_yet": "Cap encara.", + "context_panel.plugins": "Plugins", + "context_panel.preserving_entries": "Es conserven {count} entrades de permisos que no corresponen a carpetes.", + "context_panel.preserving_entry": "Es conserva 1 entrada de permisos que no correspon a cap carpeta.", + "context_panel.remove_folder": "Elimina {name}", + "context_panel.saving_folders": "S'estan desant les carpetes autoritzades...", + "context_panel.server_disconnected": "El servidor OpenWork està desconnectat.", + "context_panel.skills": "Skills", + "context_panel.working_files": "Fitxers de treball", + "context_panel.workspace_root_available": "L'arrel del workspace ja està disponible.", + "context_panel.workspace_root_badge": "Arrel del workspace", + "context_panel.writable_workspace_required": "Cal un workspace d'un servidor OpenWork amb permisos d'escriptura per actualitzar les carpetes autoritzades.", + "dashboard.access_token": "Token d'accés", + "dashboard.access_token_optional_hint": "Afegeix un token només si el worker ho requereix.", + "dashboard.blueprints_workspace": "Blueprints", + "dashboard.blueprints_workspace_desc": "Comença amb un workspace preparat per a automatitzacions, amb Skills, Commands i fluxos compartits reutilitzables.", + "dashboard.change": "Canviar", + "dashboard.choose_folder": "Tria una carpeta", + "dashboard.choose_folder_continue": "Tria una carpeta per continuar.", + "dashboard.choose_folder_next": "Comparteix fitxers amb el teu workspace.", + "dashboard.choose_preset": "Selecciona un preset", + "dashboard.chooser_local_desc": "Crea un workspace en aquest dispositiu i, si vols, parteix d'una plantilla d'equip.", + "dashboard.chooser_remote_desc": "Connecta't a un worker OpenWork autoallotjat amb una URL i un token d'accés.", + "dashboard.chooser_shared_desc": "Explora els workers del núvol compartits amb la teva organització i connecta't en un sol pas.", + "dashboard.close_settings": "Tanca la configuració", + "dashboard.cloud_signin_button": "Continua amb OpenWork Cloud", + "dashboard.cloud_signin_hint": "Accedeix a workers remots compartits amb la teva organització.", + "dashboard.cloud_signin_next": "Després podràs triar un equip i connectar-te a un workspace existent.", + "dashboard.cloud_signin_title": "Inicia la sessió a OpenWork Cloud", + "dashboard.cloud_worker": "Worker Cloud", + "dashboard.commands": "Commands", + "dashboard.connect_remote_button": "Connecta un worker remot", + "dashboard.connected": "Connectat", + "dashboard.connecting": "S'està connectant...", + "dashboard.create_local_workspace_subtitle": "Crea un workspace en aquest dispositiu i, si vols, parteix d'una plantilla d'equip.", + "dashboard.create_local_workspace_title": "Workspace local", + "dashboard.create_remote_custom_subtitle": "Connecta't a un worker OpenWork autoallotjat.", + "dashboard.create_remote_custom_title": "Connecta un worker remot personalitzat", + "dashboard.create_remote_workspace_confirm": "Afegeix un workspace", + "dashboard.create_remote_workspace_subtitle": "Desa un servidor OpenWork com a workspace.", + "dashboard.create_remote_workspace_title": "Afegeix un workspace remot", + "dashboard.create_sandbox_confirm": "Crea com a sandbox", + "dashboard.create_shared_subtitle_signed_in": "Explora els workers del núvol compartits amb la teva organització i connecta't en un sol pas.", + "dashboard.create_shared_subtitle_signed_out": "Inicia la sessió a OpenWork Cloud per accedir als workers compartits amb la teva organització.", + "dashboard.create_shared_title": "Workspaces compartits", + "dashboard.create_workspace_confirm": "Crea un workspace", + "dashboard.create_workspace_subtitle": "Inicialitza un workspace nou basat en una carpeta.", + "dashboard.create_workspace_title": "Crea un workspace", + "dashboard.creating": "S'està creant...", + "dashboard.desktop_badge": "Desktop", + "dashboard.display_name_label": "Nom de visualització", + "dashboard.display_name_optional": "(opcional)", + "dashboard.docker_debug_details": "Detalls de depuració de Docker", + "dashboard.edit_remote_workspace_confirm": "Desa la connexió", + "dashboard.edit_remote_workspace_subtitle": "Actualitza les dades del servidor OpenWork per a aquest workspace.", + "dashboard.edit_remote_workspace_title": "Edita la connexió remota", + "dashboard.empty_workspace": "Workspace buit", + "dashboard.empty_workspace_desc": "Comença amb una carpeta buida i afegeix-hi el que necessitis.", + "dashboard.error_choose_org": "Tria una organització abans d'obrir un workspace.", + "dashboard.error_connect_worker": "No s'ha pogut connectar a {name}.", + "dashboard.error_create_template": "No s'ha pogut crear {name}.", + "dashboard.error_load_orgs": "No s'han pogut carregar les organitzacions.", + "dashboard.error_load_shared_workspaces": "No s'han pogut carregar els workspaces compartits.", + "dashboard.error_workspace_not_ready": "El workspace encara no està preparat per connectar-se. Torna-ho a provar d'aquí a un moment.", + "dashboard.import_config": "Importa la configuració", + "dashboard.importing": "S'està important…", + "dashboard.modal_back": "Enrere", + "dashboard.modal_close": "Tanca el modal d'afegir workspace", + "dashboard.nav_ids": "IDs", + "dashboard.no_folder_selected": "Encara no s'ha seleccionat cap carpeta.", + "dashboard.open_cloud_dashboard": "Obre el tauler d'OpenWork Cloud", + "dashboard.opening": "S'està obrint...", + "dashboard.openwork_host_hint": "Fes servir l'URL que t'hagi compartit el teu servidor OpenWork.", + "dashboard.openwork_host_label": "URL del servidor OpenWork", + "dashboard.openwork_host_placeholder": "https://el-teu-servidor.openwork.app", + "dashboard.openwork_host_token_hint": "Opcional. Enganxa un token de col·laborador per a l'accés rutinari o un token de propietari quan aquest client hagi de respondre a les sol·licituds de permís.", + "dashboard.openwork_host_token_label": "Token de col·laborador o propietari", + "dashboard.openwork_host_token_placeholder": "Enganxa el token", + "dashboard.recently_updated": "Actualitzat recentment", + "dashboard.remote": "Remot", + "dashboard.remote_base_url_required": "Afegeix l’URL del servidor per continuar.", + "dashboard.remote_connection_direct": "Directe", + "dashboard.remote_connection_openwork": "OpenWork", + "dashboard.remote_directory_hint": "Deixa-ho en blanc per fer servir el directori predeterminat del servidor.", + "dashboard.remote_directory_label": "Directori del workspace (opcional)", + "dashboard.remote_directory_placeholder": "/home/team/project", + "dashboard.remote_display_name_label": "Nom de visualització (opcional)", + "dashboard.remote_display_name_placeholder": "Disseny del workspace en equip", + "dashboard.remote_server_details_hint": "Connecta't a un worker OpenWork autoallotjat.", + "dashboard.remote_server_details_title": "Detalls del servidor remot", + "dashboard.remote_workspace_hint": "Desa un servidor OpenWork com a workspace i reconnecta't-hi quan vulguis.", + "dashboard.remote_workspace_title": "Workspace remot", + "dashboard.repair_cache": "Repara la memòria cache", + "dashboard.repairing_cache": "Reparació de la memòria cache", + "dashboard.sandbox_checking_docker": "S'està comprovant el Docker...", + "dashboard.sandbox_get_ready_action": "Prepara el teu sistema", + "dashboard.sandbox_get_ready_desc": "Executa aquest workspace dins d'un contenidor Docker aïllat per tenir execucions més segures i reproduïbles.", + "dashboard.sandbox_get_ready_title": "Els sandboxes necessiten Docker", + "dashboard.sandbox_hide_logs": "Amaga els registres", + "dashboard.sandbox_live_logs": "Registres en directe", + "dashboard.sandbox_setup": "Configuració del sandbox", + "dashboard.sandbox_show_logs": "Mostra els registres", + "dashboard.search_shared_workspaces": "Cerca workspaces compartits", + "dashboard.select_folder": "Selecciona una carpeta", + "dashboard.settings": "Configuració", + "dashboard.shared_workspaces_loading": "S'estan carregant workspaces compartits...", + "dashboard.shared_workspaces_no_match": "Cap workspace compartit coincideix amb aquesta cerca.", + "dashboard.shared_workspaces_none": "Encara no hi ha workspaces compartits disponibles.", + "dashboard.shared_workspaces_refreshing": "S'estan actualitzant els workspaces...", + "dashboard.skills": "Skills", + "dashboard.starter_workspace": "Workspace inicial", + "dashboard.starter_workspace_desc": "Preconfigurat perquè vegis com fer servir Plugins, Commands i Skills.", + "dashboard.team_templates_hint": "Tria un punt de partida o deixa-ho en blanc per crear un workspace buit.", + "dashboard.team_templates_none": "Encara no s'han trobat plantilles de workspace compartit per a aquesta organització.", + "dashboard.team_templates_syncing": "Sincronització", + "dashboard.team_templates_title": "Plantilles d'equip", + "dashboard.template_selected_badge": "Seleccionat", + "dashboard.unknown_creator": "Creador desconegut", + "dashboard.worker_status_attention": "Atenció", + "dashboard.worker_status_ready": "A punt", + "dashboard.worker_status_starting": "Començant", + "dashboard.worker_status_stopped": "Parat", + "dashboard.worker_status_unknown": "Desconegut", + "dashboard.worker_url_hint": "Enganxa l'URL del worker OpenWork al qual et vols connectar.", + "dashboard.worker_url_label": "URL del worker", + "dashboard.workspace_connect": "Connecta", + "dashboard.workspace_connect_unavailable": "La connexió a workspaces compartits no està disponible aquí.", + "dashboard.workspace_connecting": "Connectant", + "dashboard.workspace_folder_hint": "Tria on vols que visqui aquest workspace al teu dispositiu.", + "dashboard.workspace_folder_title": "Carpeta del workspace", + "dashboard.workspace_not_ready_title": "Aquest workspace encara no està preparat per connectar-se.", + "dashboard.workspaces": "Workspaces", + "den.active_org_hint": "Els workers del núvol i les plantilles d'equip depenen de l'organització seleccionada.", + "den.active_org_title": "Organització activa", + "den.auto_reconnect_hint": "Acaba l'autenticació al navegador i OpenWork es reconnectarà aquí automàticament.", + "den.checking_session": "Comprovant la sessió", + "den.choose_org_for_providers": "Tria una organització per veure els proveïdors de núvol.", + "den.choose_org_for_skills": "Tria una organització per veure les Skills del núvol.", + "den.choose_org_for_skill_hubs": "Tria una organització per veure els centres d'Skills al núvol.", + "den.choose_org_for_templates": "Tria una organització per veure les plantilles d'equip.", + "den.cloud_account_hint": "Gestiona el teu compte connectat i l'organització.", + "den.cloud_account_title": "Compte Cloud", + "den.cloud_control_plane_open": "Obre al navegador", + "den.cloud_control_plane_reset": "Restableix", + "den.cloud_control_plane_save": "Desa l'URL", + "den.cloud_control_plane_url_hint": "Només el mode desenvolupador. Fes servir-ho per orientar un pla de control Cloud local o autoallotjat. En canviar-lo, es tanca la sessió perquè l'aplicació es pugui rehidratar contra el nou pla de control.", + "den.cloud_control_plane_url_label": "URL del pla de control Cloud", + "den.cloud_provider_detail": "{count} models · proveïdor {source}", + "den.cloud_provider_removed_detail": "Aquest proveïdor importat ja no està al núvol. Desinstal·la la configuració local de {providerId}.", + "den.cloud_provider_sync_detail": "El proveïdor de Cloud ha canviat. Sincronitza la configuració dels {count} models {source} a opencode.jsonc.", + "den.cloud_skill_detail": "Instal·la aquesta Skill al núvol a .opencode/skills.", + "den.cloud_skill_imported_detail": "Instal·lat localment com a {name}.", + "den.cloud_skill_removed_detail": "Aquesta Skill del núvol es va eliminar aigües amunt. Desinstal·la la còpia local de {name}.", + "den.cloud_skill_sync_detail": "Hi ha disponible una versió al núvol més recent per a {name}. Actualitza la còpia local per mantenir-se sincronitzada.", + "den.cloud_skills_hint": "Explora les Skills del núvol a què tens accés, instal·la-les localment i actualitza-les quan canviï la versió remota.", + "den.cloud_skills_title": "Skills", + "den.cloud_providers_hint": "Importa proveïdors de LLM gestionats a opencode.jsonc i fes servir la credencial de l'organització en aquest workspace.", + "den.cloud_providers_title": "Proveïdors del núvol", + "den.cloud_section_desc": "Inicia la sessió, tria una organització i obre workers del núvol o plantilles d'equip.", + "den.cloud_section_title": "OpenWork Cloud", + "den.cloud_sleep_hint": "Inicia la sessió a OpenWork Cloud per mantenir les tasques actives encara que l'ordinador entri en repòs.", + "den.cloud_workers_hint": "Obre workers directament a OpenWork mitjançant el mateix flux de connexió remota que l'aplicació ja utilitza en altres llocs.", + "den.cloud_workers_title": "Workers del núvol", + "den.create_account": "Crea un compte", + "den.credentials_ready_badge": "Credencial a punt", + "den.error_base_url": "Introdueix un URL del pla de control http:// o https:// Cloud vàlid.", + "den.error_choose_org": "Tria una organització abans d'obrir un worker.", + "den.error_load_orgs": "No s'han pogut carregar les organitzacions.", + "den.error_load_skills": "No s'han pogut carregar les Skills al núvol.", + "den.error_load_templates": "No s'han pogut carregar les plantilles d'equip.", + "den.error_load_workers": "No s'han pogut carregar els workers.", + "den.error_no_session": "No s'ha trobat cap sessió Cloud activa.", + "den.error_no_token": "S'ha completat l'inici de sessió a l'escriptori, però OpenWork Cloud no ha retornat cap token de sessió.", + "den.error_open_template": "No s'ha pogut obrir {name}.", + "den.error_open_worker": "No s'ha pogut obrir {name} a OpenWork.", + "den.error_open_worker_fallback": "No s'ha pogut obrir {name}.", + "den.error_paste_valid_code": "Enganxa un enllaç d'inici de sessió OpenWork vàlid o un codi d'inici de sessió únic.", + "den.error_signin_failed": "No s'ha pogut completar l'inici de sessió a OpenWork Cloud.", + "den.error_worker_not_ready": "El worker encara no està preparat per obrir. Torna-ho a provar quan finalitzi l'aprovisionament.", + "den.finish_signin": "Acaba l'inici de sessió", + "den.finishing": "S'està acabant...", + "den.hide_signin_code": "Amaga el codi d'inici de sessió", + "den.import_all": "Importa-ho tot", + "den.import_skill": "Instal·lar", + "den.import_skill_failed": "No s'ha pogut instal·lar {name}.", + "den.import_provider": "Importar", + "den.import_provider_failed": "No s'ha pogut importar {name}.", + "den.imported_badge": "Importat", + "den.imported_provider": "{name} importat.", + "den.importing": "S'està important...", + "den.needs_attention": "Necessita atenció", + "den.no_cloud_providers": "Encara no hi ha cap proveïdor de núvol disponible per a aquesta organització.", + "den.no_cloud_skills": "Encara no hi ha Skills al núvol disponibles per a aquesta organització.", + "den.no_cloud_workers": "Encara no hi ha cap worker del núvol visible per a aquesta organització. Crea'n un a Cloud i després actualitza aquesta pestanya.", + "den.no_org_selected": "No s'ha seleccionat cap organització", + "den.no_skill_hubs": "Encara no hi ha cap centre d'Skills al núvol disponible per a aquesta organització.", + "den.no_team_templates": "Encara no hi ha cap plantilla d'equip. Fes servir Compartir → Plantilla → Compartir amb l'equip.", + "den.open": "Obre", + "den.opening": "S'està obrint...", + "den.org_member_suffix": "(Membre)", + "den.org_owner_suffix": "(Propietari)", + "den.org_switched": "S'ha canviat a {name}.", + "den.out_of_sync_badge": "No sincronitzat", + "den.private_badge": "Privat", + "den.paste_signin_code": "Enganxa el codi d'inici de sessió", + "den.refresh": "Actualitza", + "den.reload_workspace": "Torna a carregar el workspace per aplicar els canvis de configuració.", + "den.remove_provider_failed": "No s'ha pogut eliminar {name}.", + "den.remove_skill_failed": "No s'ha pogut desinstal·lar {name}.", + "den.removed_from_cloud_badge": "Eliminat del núvol", + "den.removed_provider": "S'ha eliminat {name}.", + "den.removing": "S'està eliminant...", + "den.sign_out": "Tanca la sessió", + "den.signed_out": "Tancat la sessió", + "den.signin_button": "Inicia la sessió", + "den.signin_code_note": "Accepta un enllaç openwork://den-auth o el codi temporal en brut.", + "den.signin_link_hint": "Si el navegador no torna a OpenWork automàticament, enganxa aquí l'enllaç d'inici de sessió o el codi temporal d'OpenWork Cloud.", + "den.signin_link_label": "Enllaç d'inici de sessió o codi únic", + "den.signin_link_placeholder": "openwork://den-auth?... o codi enganxat", + "den.signin_title": "Inicia la sessió a OpenWork Cloud", + "den.signing_in": "S'està acabant l'inici de sessió de OpenWork Cloud...", + "den.signing_out": "Tancant la sessió...", + "den.skill_hub_detail": "Importa les Skills compartides de {count} a .opencode/skills.", + "den.skill_hub_imported_detail": "S'han importat les Skills {count} a aquest workspace.", + "den.skill_hub_removed_detail": "Aquest concentrador s'ha eliminat del núvol. Desinstal·la les Skills importades {importedCount} d'aquest workspace.", + "den.skill_hub_skills_badge": "Skills {count}", + "den.skill_hub_sync_detail": "Cloud ara té Skills {liveCount}; aquest workspace ha importat {importedCount}. Sincronitza per actualitzar el conjunt instal·lat.", + "den.skill_hubs_hint": "Importa totes les Skills d'un concentrador de núvol compartit a aquest workspace en un sol pas.", + "den.skill_hubs_title": "Centres d'Skills", + "den.status_base_url_updated": "S'ha actualitzat l'URL del pla de control Cloud. Torna a iniciar la sessió per continuar.", + "den.status_browser_signin": "Acabeu d'iniciar la sessió al vostre navegador per connectar OpenWork.", + "den.status_browser_signup": "Acabeu la creació del compte al vostre navegador per connectar OpenWork.", + "den.status_cloud_signed_in_as": "OpenWork Cloud connectat com a {email}.", + "den.status_cloud_signin_done": "OpenWork Cloud connectat.", + "den.status_loaded_orgs": "S'ha carregat {count} org{plural}.", + "den.status_loaded_skills": "S'han carregat {count} Skill{plural} del núvol per a {name}.", + "den.status_loaded_templates": "S'han carregat {count} plantilla{plural} per a {name}.", + "den.status_loaded_workers": "S'ha carregat {count} worker{plural} per a {name}.", + "den.status_no_skills": "No s'han trobat Skills al núvol per a {name}.", + "den.status_no_templates": "No s'han trobat plantilles d'equip per a {name}.", + "den.status_no_workers": "No s'ha trobat cap worker per a {name}.", + "den.status_opened_template": "S'ha obert {name} des de {org}.", + "den.status_opened_template_fallback": "S'ha obert {name} des de les plantilles d'equip.", + "den.status_opened_worker": "S'ha obert {name} a OpenWork.", + "den.status_signed_in_as": "S'ha iniciat la sessió com a {email}.", + "den.status_signed_out": "Heu tancat la sessió i heu esborrat la vostra sessió OpenWork Cloud en aquest dispositiu.", + "den.sync": "Sincronitza", + "den.sync_provider_failed": "No s'ha pogut sincronitzar {name}.", + "den.sync_skill_failed": "No s'ha pogut actualitzar {name}.", + "den.synced_provider": "{name} sincronitzat.", + "den.syncing": "S'està sincronitzant...", + "den.installed_name_badge": "Local: {name}", + "den.team_template_badge": "Plantilla d'equip", + "den.team_templates_hint": "Obre les plantilles de workspace reutilitzables compartides amb aquesta organització.", + "den.team_templates_title": "Plantilles d'equip", + "den.uninstall": "Desinstal·la", + "den.worker_mine_badge": "El meu", + "den.worker_not_ready_title": "Aquest worker encara no està preparat per obrir-se.", + "den.worker_provider_label": "{provider} worker", + "den.worker_secondary_cloud": "Worker Cloud", + "extensions.app_count_one": "Aplicació {count} connectada", + "extensions.app_count_many": "Aplicacions {count} connectades", + "extensions.apps_mcp_header": "Aplicacions (MCP)", + "extensions.filter_all": "Tots", + "extensions.filter_apps": "Aplicacions", + "extensions.filter_plugins": "Plugins", + "extensions.plugin_count_one": "{count} plugin", + "extensions.plugin_count_many": "{count} plugins", + "extensions.plugins_opencode_header": "Plugins (OpenCode)", + "extensions.subtitle": "Les apps (MCP) i els Plugins d'OpenCode són al mateix lloc.", + "extensions.title": "Extensions", + "identities.agent_behavior_desc": "Un fitxer per workspace. Afegeix una primera línia opcional @agent per enviar-ho a un agent OpenCode concret.", + "identities.agent_behavior_title": "Comportament de l'agent de missatgeria", + "identities.agent_created": "S'ha creat un fitxer d'agent de missatgeria predeterminat.", + "identities.agent_file_changed": "El fitxer ha canviat de forma remota. Torna a carregar i desa de nou.", + "identities.agent_loading": "S'està carregant el fitxer de l'agent...", + "identities.agent_none": "cap", + "identities.agent_not_found": "Encara no s'ha trobat el fitxer d'agent en aquest workspace.", + "identities.agent_placeholder": "Afegeix aquí instruccions de comportament de missatgeria per a opencodeRouter...", + "identities.agent_saved": "Comportament de missatgeria desat.", + "identities.agent_scope_status": "Àmbit actiu: workspace · estat: {status} · agent seleccionat: {agent}", + "identities.agent_status_loaded": "carregat", + "identities.agent_status_missing": "no trobat", + "identities.agent_worker_scope_unavailable": "L'àmbit del worker no està disponible.", + "identities.all_channels": "Tots els canals", + "identities.app_token_label": "Token d'aplicació", + "identities.auto_bind_label": "Enllaça automàticament entre iguals al directori en enviament directe", + "identities.available_channels": "Canals disponibles", + "identities.bot_token_label": "Token de bot", + "identities.bot_token_placeholder": "Enganxa el token de bot Telegram de @BotFather", + "identities.botfather_step1_open": "1. Obre @BotFather a Telegram", + "identities.botfather_step1_run": "i executa /newbot", + "identities.botfather_step3_choose": "3. Tria un nom i un nom d'usuari per al teu bot", + "identities.botfather_step3_or_private": "per a la safata d'entrada oberta o", + "identities.botfather_step3_private": "Privat", + "identities.botfather_step3_public": "Públic", + "identities.botfather_step3_to_require": "per exigir", + "identities.channel_label": "Canal", + "identities.channels_connected": "connectat", + "identities.channels_label": "Canals", + "identities.configured_suffix": "configurat", + "identities.connect_server_desc": "Les identitats estan disponibles quan esteu connectat a un host OpenWork.", + "identities.connect_server_title": "Connecta't a un servidor OpenWork", + "identities.connect_slack": "Connecta Slack", + "identities.connected_badge": "Connectat", + "identities.connecting": "S'està connectant...", + "identities.copy_bot_token_hint": "Copia el token del bot i enganxa'l aquí sota.", + "identities.copy_code": "Copia el codi", + "identities.create_default_file": "Crea un fitxer predeterminat", + "identities.create_private_bot": "Crea un bot privat", + "identities.create_public_bot": "Crea un bot públic", + "identities.days_ago": "Fa {days}d", + "identities.default_routing": "Encaminament per defecte", + "identities.directory_label": "Directori (opcional)", + "identities.disable_messaging": "Desactiva la missatgeria", + "identities.disable_messaging_message": "Això desactivarà la missatgeria per a aquest workspace. La configuració de Telegram i Slack quedarà oculta fins que la tornis a activar, i hauràs de reiniciar el worker per aturar completament el sidecar de missatgeria.", + "identities.disable_messaging_title": "Vols desactivar la missatgeria per a aquest worker?", + "identities.disabled_label": "Desactivat", + "identities.disabling": "S'està desactivant...", + "identities.disconnect": "Desconnecta", + "identities.dispatched_messages": "Missatges {sent}/{attempted} enviats.", + "identities.enable_messaging": "Activa la missatgeria", + "identities.enable_messaging_risk": "La missatgeria pot exposar aquest worker a ordres remotes. Si un bot és públic o queda compromès, pot accedir a fitxers, credencials i claus API disponibles per a aquest worker.", + "identities.enable_messaging_title": "Vols activar la missatgeria per a aquest worker?", + "identities.enabled_label": "Habilitat", + "identities.enabling": "S'està habilitant...", + "identities.health_offline": "Fora de línia", + "identities.health_running": "En execució", + "identities.health_unavailable": "No disponible", + "identities.health_unavailable_status": "L'estat de OpenCodeRouter no està disponible ({status})", + "identities.health_unknown": "Desconegut", + "identities.hours_ago": "fa {hours}h", + "identities.identities_label": "Identitats", + "identities.just_now": "Just ara", + "identities.last_activity": "Última activitat", + "identities.later": "Més tard", + "identities.message_label": "Missatge", + "identities.message_routing_desc": "Controla a quina carpeta de workspace va cada conversa. Per defecte, els missatges s'envien a la carpeta predeterminada del worker, tret que hi configuris regles.", + "identities.message_routing_title": "Encaminament de missatges", + "identities.messages_today": "Missatges avui", + "identities.messaging_disabled_hint": "Activa la missatgeria només si entens el risc i tens previst protegir-ne l'accés (per exemple, amb aparellament privat de Telegram).", + "identities.messaging_disabled_restart": "Missatgeria desactivada. Reinicia aquest worker per aturar la missatgeria sidecar.", + "identities.messaging_disabled_risk": "Els bots de missatgeria poden executar accions contra el teu worker local. Si s'exposen públicament, poden donar accés als fitxers, credencials i claus API disponibles per a aquest worker.", + "identities.messaging_disabled_title": "La missatgeria està desactivada per defecte", + "identities.messaging_enabled_restart": "Missatgeria activada. Reinicia aquest worker per aplicar-lo abans de configurar els canals.", + "identities.messaging_sidecar_not_running": "La missatgeria està activada en aquest workspace, però la missatgeria sidecar encara no s'està executant. Reinicia aquest worker i, a continuació, torna a la configuració de missatgeria per connectar Telegram o Slack.", + "identities.minutes_ago": "fa {minutes}m", + "identities.not_set": "No configurat", + "identities.open_bot_link": "Obre @{username} a Telegram", + "identities.pairing_code_copied": "S'ha copiat el codi d'aparellament.", + "identities.pairing_code_copy_failed": "No s'ha pogut copiar el codi d'aparellament. Copia'l manualment.", + "identities.pairing_code_instruction_prefix": "Enviar", + "identities.peer_id_label": "ID del peer (opcional)", + "identities.peer_id_placeholder_slack": "p. ex. slack:U12345678", + "identities.peer_id_placeholder_telegram": "p. ex. telegram:123456789", + "identities.private_label": "Privat", + "identities.private_pairing_code": "Codi d'aparellament privat", + "identities.public_bot_confirm": "Sí, entenc el risc", + "identities.public_bot_warning_message": "El teu bot serà accessible públicament i qualsevol persona que hi tingui accés podrà tenir control total del teu worker local, inclosos els fitxers i les claus API que hi hagis posat. Si crees un bot privat, pots limitar qui hi accedeix exigint un token d'aparellament. Segur que vols fer públic aquest bot?", + "identities.public_bot_warning_title": "Voleu fer públic aquest bot?", + "identities.public_label": "Públic", + "identities.quick_setup": "Configuració ràpida", + "identities.reconnect_failed": "No s'ha pogut reconnectar. Comprova l'URL i el token d'OpenWork i torna-ho a provar.", + "identities.reconnected": "Reconnectat.", + "identities.reconnected_refreshing": "Reconnectat. S'està actualitzant l'estat del worker...", + "identities.reload": "Torna a carregar", + "identities.repair_reconnect": "Repara i torna a connectar", + "identities.restart_failed": "Ha fallat el reinici. Reinicia el worker des de Configuració i torna-ho a provar.", + "identities.restart_to_disable_messaging": "La missatgeria s'ha desactivat per a aquest workspace. Reinicia el worker ara per aturar la missatgeria sidecar.", + "identities.restart_to_enable_messaging": "S'ha activat la missatgeria per a aquest workspace. Reinicia el worker ara per arrencar el sidecar de missatgeria i desbloquejar la configuració de Telegram i Slack.", + "identities.restart_worker": "Reinicia el worker", + "identities.restart_worker_title": "Vols reiniciar el worker ara?", + "identities.restarting": "S'està reiniciant...", + "identities.routing_override_prefix": "Tots els missatges dirigits a", + "identities.routing_override_suffix": "(anul·lació activa)", + "identities.running_label": "En execució", + "identities.save_behavior": "Desa el comportament", + "identities.saving": "S'està desant...", + "identities.send_test_button": "Envia un missatge de prova", + "identities.send_test_desc": "Valida la configuració de sortida. Fes servir un peer ID per a l'enviament directe, o deixa'l buit perquè s'enviï segons els enllaços d'un directori.", + "identities.send_test_title": "Envia un missatge de prova", + "identities.sending": "S'està enviant...", + "identities.slack_desc": "El teu worker apareix com a bot als canals de Slack. Els membres de l'equip li poden escriure directament o mencionar-lo en fils.", + "identities.slack_intro": "Connecta el teu workspace de Slack perquè els membres de l'equip puguin interactuar amb aquest worker des de canals i missatges directes.", + "identities.slack_unavailable": "Les identitats Slack no estan disponibles.", + "identities.status_active": "Actiu", + "identities.status_label": "Estat", + "identities.status_stopped": "Parat", + "identities.stopped_label": "Parat", + "identities.subtitle": "Permet que la gent arribi al teu worker a través d'apps de missatgeria. Connecta un canal i el worker llegirà i respondrà automàticament els missatges.", + "identities.tab_general": "General", + "identities.telegram_bot_access_desc": "Bot públic: el primer xat de Telegram queda enllaçat automàticament. Bot privat: cal un codi d'aparellament abans que cap missatge pugui executar eines.", + "identities.telegram_delete_failed": "No s'ha pogut suprimir.", + "identities.telegram_deleted": "S'ha suprimit.", + "identities.telegram_deleted_pending": "S'ha suprimit (pendent d'aplicar).", + "identities.telegram_desc": "Connecta un bot de Telegram en mode públic (bústia oberta) o en mode privat (cal codi d'aparellament).", + "identities.telegram_private_saved_pair": "Bot privat desat. Aparella't amb /pair {code}", + "identities.telegram_save_failed": "No s'ha pogut desar.", + "identities.telegram_saved": "Desat.", + "identities.telegram_saved_pending": "Desat (pendent d'aplicar).", + "identities.telegram_saved_username": "Desat (@{username})", + "identities.telegram_unavailable": "Les identitats Telegram no estan disponibles.", + "identities.title": "Canals de missatgeria", + "identities.unsaved_changes": "Canvis no desats", + "identities.worker_offline": "worker fora de línia", + "identities.worker_online": "worker en línia", + "identities.worker_restarted": "worker reiniciat.", + "identities.worker_restarted_refreshing": "worker reiniciat. S'està actualitzant l'estat dels missatges...", + "identities.worker_scope_unavailable": "L'àmbit del worker no està disponible.", + "identities.worker_scope_unavailable_detail": "L'àmbit del worker no està disponible. Torna't a connectar amb una URL de worker o canvia a un worker conegut.", + "identities.worker_unavailable": "worker no disponible", + "identities.workspace_id_required": "Cal l'ID del workspace per gestionar les identitats. Torna a connectar-te amb una URL de workspace o selecciona'n un d'assignat en aquest host.", + "identities.workspace_scope_prefix": "Àmbit del workspace:", + "inbox_panel.connect_to_download": "Connecta't a un worker per baixar fitxers compartits.", + "inbox_panel.connect_to_see": "Connecta't per veure els fitxers compartits.", + "inbox_panel.connect_to_upload": "Connecta't a un worker per pujar", + "inbox_panel.copy_failed": "La còpia ha fallat. El vostre navegador pot bloquejar l'accés al porta-retalls.", + "inbox_panel.download": "Descarregar", + "inbox_panel.drop_to_upload": "Deixa fitxers aquí per pujar-los", + "inbox_panel.helper_text": "Comparteix fitxers amb aquest worker des de l'aplicació.", + "inbox_panel.load_failed": "No s'ha pogut carregar la carpeta compartida", + "inbox_panel.missing_file_id": "Falta l'identificador del fitxer compartit.", + "inbox_panel.no_files": "Encara no s'ha compartit cap fitxer.", + "inbox_panel.refresh_tooltip": "Actualitza la carpeta compartida", + "inbox_panel.shared_folder": "Carpeta compartida", + "inbox_panel.showing_first": "Es mostra el primer {count}.", + "inbox_panel.upload_failed": "La càrrega de la carpeta compartida ha fallat", + "inbox_panel.upload_needs_worker": "Connecta't a un worker per carregar fitxers a la carpeta compartida.", + "inbox_panel.upload_prompt": "Deixa anar els fitxers o fes clic per pujar", + "inbox_panel.upload_success": "S'ha penjat a la carpeta compartida.", + "inbox_panel.uploading": "S'està carregant...", + "inbox_panel.uploading_label": "S'està carregant {label}...", + "mcp.activate_button": "Activar", + "mcp.add_modal_subtitle": "Connecta un servidor MCP personalitzat mitjançant una URL o una comanda local.", + "mcp.add_modal_title": "Afegeix una aplicació personalitzada", + "mcp.add_server_button": "Afegeix una aplicació", + "mcp.advanced": "Avançat", + "mcp.advanced_settings": "Configuració avançada", + "mcp.advanced_settings_hint": "Edita els fitxers de configuració i gestiona les connexions manualment.", + "mcp.app_connected": "aplicació connectada", + "mcp.apps_connected": "aplicacions connectades", + "mcp.apps_subtitle": "Connecta les teves eines preferides perquè OpenWork les pugui fer servir per tu.", + "mcp.apps_title": "Aplicacions", + "mcp.auth.already_connected": "Ja està connectat", + "mcp.auth.already_connected_description": "{server} ja està autenticat i llest per utilitzar.", + "mcp.auth.applying_changes_body": "Estem reiniciant el worker perquè el nou MCP estigui llest per autenticar-se.", + "mcp.auth.applying_changes_title": "Aplicant canvis abans d'iniciar la sessió", + "mcp.auth.authorization_link": "Enllaç d'autorització", + "mcp.auth.authorization_still_required": "Encara cal autorització. Torna-ho a provar per reiniciar el flux.", + "mcp.auth.callback_invalid": "Enganxa l'URL de devolució de trucada o el paràmetre de codi per finalitzar OAuth.", + "mcp.auth.callback_label": "URL de retorn o codi", + "mcp.auth.callback_placeholder": "http://127.0.0.1:19876/mcp/oauth/callback?code=...", + "mcp.auth.cancel": "Cancel·la", + "mcp.auth.client_registration_required": "Cal registrar el client abans que OAuth pugui continuar.", + "mcp.auth.complete_connection": "Connexió completa", + "mcp.auth.configured_previously": "És possible que el MCP s'hagi configurat globalment o en una sessió anterior. Podeu tancar aquest modal i començar a utilitzar les eines MCP immediatament.", + "mcp.auth.connect_server": "Connecta {server}", + "mcp.auth.copied": "Copiat", + "mcp.auth.copy_link": "Copia l'enllaç", + "mcp.auth.done": "Fet", + "mcp.auth.failed_to_start_oauth": "No s'ha pogut iniciar el flux OAuth", + "mcp.auth.follow_browser_steps": "Segueix els passos d'autorització al navegador.", + "mcp.auth.force_stop": "Força l'aturada", + "mcp.auth.force_stopping": "Aturant...", + "mcp.auth.im_done": "Ja està", + "mcp.auth.invalid_refresh_token": "El token d'actualització OAuth no és vàlid o ha caducat. Torna a autoritzar per continuar.", + "mcp.auth.manual_finish_hint": "Enganxa l'URL de retorn (localhost:19876) o només el codi per acabar la connexió.", + "mcp.auth.manual_finish_title": "Servidor remot?", + "mcp.auth.oauth_completed_reload": "OAuth completat. Torna a carregar el motor per activar el MCP.", + "mcp.auth.oauth_failed": "L'autenticació OAuth ha fallat.", + "mcp.auth.oauth_not_supported_hint": "Això pot voler dir:\n• El servidor MCP no anuncia capacitats OAuth\n• Cal recarregar el motor per descobrir les capacitats del servidor\n• Prova: opencode mcp auth {server} des de la CLI", + "mcp.auth.open_browser_signin": "Obrirem el vostre navegador per finalitzar l'inici de sessió.", + "mcp.auth.port_forward_hint": "Consell: reenvia el port de callback si cal: ssh -L 19876:127.0.0.1:19876 usuari@host", + "mcp.auth.reauth_action": "Torna a autoritzar OAuth", + "mcp.auth.reauth_cli_hint": "Executa: opencode mcp auth {server}", + "mcp.auth.reauth_failed": "La reautorització ha fallat.", + "mcp.auth.reauth_remote_hint": "Torna a autoritzar des de la màquina que executa aquest worker.", + "mcp.auth.reauth_running": "S'està reautoritzant...", + "mcp.auth.reload_blocked": "La recàrrega queda aturada mentre s'està executant una sessió. Atura l'execució per acabar la configuració.", + "mcp.auth.reload_engine_retry": "Aplica els canvis i torna-ho a provar", + "mcp.auth.reload_failed": "No s'ha pogut tornar a carregar el worker abans d'iniciar la sessió.", + "mcp.auth.reload_notice": "Perquè això tingui efecte, OpenWork ha de refrescar el servei del worker. Això pot interrompre una sessió en curs.", + "mcp.auth.reload_remote_confirm": "Perquè això tingui efecte, OpenWork ha d'actualitzar el servei worker. Això pot aturar la sessió de carrera. Continuar?", + "mcp.auth.reopen_browser_link": "Fes clic aquí per tornar a obrir el navegador", + "mcp.auth.request_timed_out": "La sol·licitud s'ha esgotat.", + "mcp.auth.retry": "Torna-ho a provar", + "mcp.auth.retry_now": "Torna-ho a provar ara", + "mcp.auth.server_disabled": "Aquest servidor MCP està desactivat. Activa'l i torna-ho a provar.", + "mcp.auth.step1_description": "Llançarem automàticament el flux d'inici de sessió de {server}.", + "mcp.auth.step1_title": "Obrint el teu navegador", + "mcp.auth.step2_description": "Inicia la sessió i aprova l'accés quan se't demani.", + "mcp.auth.step2_title": "Autoritzeu OpenWork", + "mcp.auth.step3_description": "Acabarem la connexió tan bon punt s'hagi completat l'autorització.", + "mcp.auth.step3_title": "Torna aquí quan hagis acabat", + "mcp.auth.try_reload_engine": "{message}. Prova primer de recarregar el motor.", + "mcp.auth.waiting_authorization": "S'està esperant que es completi l'autorització al vostre navegador...", + "mcp.auth.waiting_for_conversation_body": "Us redirigirem per autenticar-vos tan aviat com sigui possible.", + "mcp.auth.waiting_for_conversation_title": "Esperant que finalitzi la conversa", + "mcp.auth.waiting_for_session": "S'està esperant que {session} acabi de treballar", + "mcp.available_apps": "Aplicacions disponibles", + "mcp.cap_signin": "Inici de sessió al compte", + "mcp.cap_tools": "Eines d'IA", + "mcp.config_file": "Fitxer de configuració", + "mcp.config_load_failed": "No s'ha pogut carregar el fitxer de configuració", + "mcp.config_not_loaded": "Encara no s'ha carregat", + "mcp.config_source": "Des de config", + "mcp.configured": "configurat", + "mcp.connect": "Connecta't", + "mcp.connect_failed": "No s'ha pogut connectar. Torna-ho a provar.", + "mcp.connect_server_first": "Connecta't primer al servidor.", + "mcp.connected": "Connectat", + "mcp.connected_badge": "Connectat", + "mcp.connecting": "S'està connectant...", + "mcp.connection_failed": "Problema de connexió: torna-ho a provar", + "mcp.connection_type": "Connexió", + "mcp.control_chrome_browser_hint": "A Chrome 144 o superior, fes això primer:", + "mcp.control_chrome_browser_step_one": "Obre chrome://inspect/#remote-debugging.", + "mcp.control_chrome_browser_step_two": "Activa la depuració remota.", + "mcp.control_chrome_browser_step_three": "Permet connexions de depuració entrants quan Chrome ho demani.", + "mcp.control_chrome_browser_title": "1. Activa l'accés a Chrome", + "mcp.control_chrome_connect": "Afegeix Control Chrome", + "mcp.control_chrome_docs": "Guia oficial MCP", + "mcp.control_chrome_edit": "Edita la configuració", + "mcp.control_chrome_profile_hint": "Control Chrome normalment obre un perfil Chrome independent. Activeu-ho si voleu que OpenWork reutilitzi la finestra Chrome que ja teniu oberta.", + "mcp.control_chrome_profile_title": "2. Tria quin Chrome vols fer servir", + "mcp.control_chrome_save": "Desa la configuració", + "mcp.control_chrome_setup_subtitle": "Activa l'accés a Chrome i tria si OpenWork ha de fer servir un perfil net propi o enganxar-se al Chrome que ja tens obert.", + "mcp.control_chrome_setup_title": "Configura Control Chrome", + "mcp.control_chrome_toggle_hint": "Quan això està activat, OpenWork afegeix --autoConnect de manera que el MCP s'adjunta a una instància Chrome que ja heu iniciat.", + "mcp.control_chrome_toggle_label": "Utilitza el meu perfil Chrome existent", + "mcp.control_chrome_toggle_off": "OpenWork llançarà un perfil Chrome independent només per a l'automatització.", + "mcp.control_chrome_toggle_on": "OpenWork reutilitzarà les vostres pestanyes, galetes i inicis de sessió actuals.", + "mcp.custom_app_cta_hint": "Connecta el teu servidor MCP, una eina interna o una app allotjada.", + "mcp.desktop_required": "Les aplicacions requereixen el app d'escriptori.", + "mcp.docs_link": "Més informació", + "mcp.file_not_found": "El fitxer de configuració encara no s'ha creat", + "mcp.finish_setup": "Gairebé allà", + "mcp.finish_setup_hint": "Toca Activa per acabar de connectar l'app.", + "mcp.friendly_status_issue": "Problema", + "mcp.friendly_status_needs_signin": "Cal iniciar sessió", + "mcp.friendly_status_offline": "Fora de línia", + "mcp.friendly_status_paused": "En pausa", + "mcp.friendly_status_ready": "A punt", + "mcp.last_synced": "Sincronitzat", + "mcp.login_action": "Inicia la sessió", + "mcp.login_hint": "Connecta el teu compte per acabar de configurar aquesta app.", + "mcp.login_unavailable": "Aquesta app no admet l'inici de sessió des d'OpenWork.", + "mcp.logout_action": "Tanca la sessió", + "mcp.logout_failed": "No s'ha pogut tancar la sessió.", + "mcp.logout_hint": "Elimina les credencials OAuth emmagatzemades. Haureu de tornar a iniciar la sessió.", + "mcp.logout_label": "OAuth", + "mcp.logout_modal_message": "Això eliminarà les credencials OAuth emmagatzemades per a {server}. Haureu de tornar a iniciar la sessió per utilitzar aquesta aplicació.", + "mcp.logout_modal_title": "Tanca la sessió d'aquesta aplicació?", + "mcp.logout_success": "S'ha tancat la sessió de {server}.", + "mcp.logout_working": "Tancant la sessió...", + "mcp.name_required": "Introdueix un nom de servidor.", + "mcp.no_apps_hint": "Connecta'n una a dalt per començar.", + "mcp.no_apps_yet": "Encara no hi ha cap aplicació connectada", + "mcp.oauth": "Inicia la sessió", + "mcp.oauth_optional_hint": "Utilitza OAuth al navegador per connectar el vostre compte.", + "mcp.oauth_optional_label": "Aquesta aplicació requereix iniciar sessió", + "mcp.one_click_connect": "Connecta amb un sol clic", + "mcp.open_file": "Obre el fitxer", + "mcp.opening_label": "S'està obrint...", + "mcp.pick_workspace_error": "Tria primer una carpeta de workspace.", + "mcp.pick_workspace_first": "Tria primer una carpeta de workspace.", + "mcp.quick_connect_chrome_desc": "Controla pestanyes de Chrome amb automatització del navegador.", + "mcp.quick_connect_chrome_title": "Control Chrome", + "mcp.quick_connect_context7_desc": "Cerca documentació del producte amb més context.", + "mcp.quick_connect_context7_title": "Context7", + "mcp.quick_connect_linear_desc": "Planifica sprints i lliura tickets més de pressa.", + "mcp.quick_connect_linear_title": "Linear", + "mcp.quick_connect_notion_desc": "Pàgines, bases de dades i documents del projecte sincronitzats.", + "mcp.quick_connect_notion_title": "Notion", + "mcp.quick_connect_sentry_desc": "Segueix les releases i resol errors de producció.", + "mcp.quick_connect_sentry_title": "Sentry", + "mcp.quick_connect_stripe_desc": "Consulta pagaments, factures i subscripcions.", + "mcp.quick_connect_stripe_title": "Stripe", + "mcp.reload_banner_blocked_hint": "Atura la tasca en execució per activar-la.", + "mcp.reload_banner_description": "Toca Activa per acabar de connectar l'aplicació.", + "mcp.reload_banner_description_blocked": "S'està executant una tasca. Atura-la primer i després activa-la.", + "mcp.remote_workspace_url_hint": "Els workers remots es connecten més ràpidament amb servidors MCP basats en URL.", + "mcp.remove_app": "Eliminar", + "mcp.remove_failed": "No s'ha pogut eliminar l'aplicació.", + "mcp.remove_modal_message": "Esteu segur que voleu eliminar {server}? Sempre el podeu tornar a afegir més tard.", + "mcp.remove_modal_title": "Elimina l'aplicació", + "mcp.reveal_config_failed": "No s'ha pogut obrir el fitxer de configuració", + "mcp.reveal_in_finder": "Mostra a Finder", + "mcp.scope_global": "Tots els workspaces", + "mcp.scope_project": "Aquest workspace", + "mcp.server_command": "Command", + "mcp.server_command_hint": "La comanda de shell per arrencar el servidor.", + "mcp.server_command_placeholder": "npx -y @modelcontextprotocol/server-sequential-thinking", + "mcp.server_name": "Nom de l'aplicació", + "mcp.server_name_placeholder": "github-copilot", + "mcp.server_type": "Tipus", + "mcp.server_url": "URL del servidor", + "mcp.server_url_placeholder": "https://api.githubcopilot.com/mcp/", + "mcp.sign_in_section_label": "Inicia la sessió", + "mcp.tap_to_connect": "Toca per connectar", + "mcp.technical_details": "Detalls tècnics", + "mcp.type_cloud": "Cloud (inicieu la sessió amb el vostre compte)", + "mcp.type_local": "Local (s'executa en aquest dispositiu)", + "mcp.type_local_cmd": "Local (comanda)", + "mcp.type_remote": "Remot (URL)", + "mcp.url_or_command_required": "Introdueix una URL per als servidors remots o una comanda per als servidors locals.", + "mcp.your_apps": "Les teves aplicacions", + "message.tool_request_label": "Sol·licitud", + "message.tool_result_label": "Resultat", + "message.waiting_subagent": "Esperant que arribi la transcripció del subagent.", + "message_list.copy_message": "Copia el missatge", + "message_list.open_session": "Sessió oberta", + "message_list.step_updates_progress": "Progrés de les actualitzacions", + "message_list.subagent_loading_transcript": "S'està carregant la transcripció", + "message_list.subagent_message_count": "missatge {count}{plural}", + "message_list.subagent_running": "Córrer", + "message_list.subagent_session_fallback": "Sessió de subagent", + "message_list.subagent_type_task": "tasca {agentType}", + "message_list.subagent_waiting_transcript": "Esperant la transcripció", + "message_list.tool_checked_url": "S'ha comprovat {url}", + "message_list.tool_checked_web_fallback": "Pàgina web consultada", + "message_list.tool_delegate_agent": "Delegat {agent}", + "message_list.tool_delegate_task_fallback": "Delegar tasca", + "message_list.tool_load_skill_fallback": "Carregar Skill", + "message_list.tool_load_skill_named": "Carrega l'Skill {name}", + "message_list.tool_read_todo": "Llegeix la llista de tasques", + "message_list.tool_reviewed_file": "S'ha revisat {file}", + "message_list.tool_reviewed_file_fallback": "Fitxer revisat", + "message_list.tool_reviewed_files_fallback": "Fitxers revisats", + "message_list.tool_reviewed_path": "S'ha revisat {path}", + "message_list.tool_run_command": "Executeu {command}", + "message_list.tool_run_command_fallback": "Executa la Command", + "message_list.tool_searched_code_fallback": "Codi cercat", + "message_list.tool_searched_pattern": "S'ha cercat {pattern}", + "message_list.tool_update_file": "Actualitza {file}", + "message_list.tool_update_file_fallback": "Actualitza el fitxer", + "message_list.tool_update_todo": "Actualitza la llista de tasques", + "message_list.tool_updated_file": "{file} actualitzat", + "message_list.tool_updated_file_fallback": "Fitxer actualitzat", + "model_behavior.desc_builtin": "Aquest model decideix el seu propi camí de raonament i no exposa perfils aquí.", + "model_behavior.desc_generic": "Fes servir el perfil {label}.", + "model_behavior.desc_high": "Dedica més temps a raonar abans de respondre.", + "model_behavior.desc_high_anthropic": "Fes servir el pressupost estàndard de pensament estès.", + "model_behavior.desc_low": "Feu servir una passada de raonament més lleugera abans de respondre.", + "model_behavior.desc_low_google": "Fes servir un pressupost de raonament més lleuger per a respostes més ràpides.", + "model_behavior.desc_max": "Fes servir el perfil de raonament més profund del proveïdor.", + "model_behavior.desc_max_anthropic": "Fes servir el pressupost de pensament ampli més gran disponible.", + "model_behavior.desc_medium": "Equilibra velocitat i profunditat de raonament.", + "model_behavior.desc_minimal": "Feu servir una quantitat molt petita de raonament.", + "model_behavior.desc_none": "Afavoreix la velocitat amb el camí de raonament més lleuger.", + "model_behavior.desc_standard": "Aquest model no exposa controls de raonament addicionals.", + "model_behavior.label_balanced": "Equilibrat", + "model_behavior.label_builtin": "Integrat", + "model_behavior.label_deep": "Profund", + "model_behavior.label_extended": "Estesa", + "model_behavior.label_fast": "Ràpid", + "model_behavior.label_light": "Llum", + "model_behavior.label_maximum": "Màxim", + "model_behavior.label_quick": "Ràpid", + "model_behavior.label_standard": "Estàndard", + "model_behavior.title_builtin_reasoning": "Raonament incorporat", + "model_behavior.title_extended_thinking": "Pensament estès", + "model_behavior.title_reasoning_budget": "Raonament pressupostari", + "model_behavior.title_reasoning_effort": "Esforç de raonament", + "model_behavior.title_standard_generation": "Generació estàndard", + "model_picker.chat_model_desc": "Tria el model per a aquest xat. Si un model admet perfils de raonament, configureu-los a la seva targeta.", + "model_picker.chat_model_title": "Model de xat", + "model_picker.connect_provider_hint": "Connecta aquest proveïdor per veure i desar models", + "model_picker.default_model_desc": "Tria el model predeterminat per a xats nous i, a continuació, ajusteu els perfils de raonament a la seva targeta abans de prémer Fet.", + "model_picker.default_model_title": "Model per defecte", + "model_picker.model_count": "Models {count}", + "model_picker.model_count_one": "1 model", + "model_picker.more_providers": "Més proveïdors", + "model_picker.no_results": "No hi ha cap model que coincideixi amb la teva cerca.", + "model_picker.other_connected_models": "Altres models connectats", + "model_picker.recommended": "Recomanat", + "onboarding.access_label": "Accés", + "onboarding.add": "Afegeix", + "onboarding.add_folder_path": "Afegeix el camí de la carpeta", + "onboarding.advanced_settings": "Configuració avançada", + "onboarding.attach": "Adjuntar", + "onboarding.attach_description": "Adjunta a la sessió existent en aquest dispositiu.", + "onboarding.authorize_folder": "Carpeta d'autorització", + "onboarding.back": "Enrere", + "onboarding.checking_cli": "S'està comprovant OpenCode CLI...", + "onboarding.choose_workspace_folder": "Tria la carpeta del workspace", + "onboarding.cli_checking": "S'està comprovant la instal·lació...", + "onboarding.cli_install_commands": "Instal·la OpenCode amb una de les ordres següents i reinicia OpenWork.", + "onboarding.cli_label": "OpenCode CLI", + "onboarding.cli_needs_update": "OpenCode CLI necessita una actualització per al servei.", + "onboarding.cli_not_found": "No s'ha trobat OpenCode CLI.", + "onboarding.cli_not_found_hint": "No s'ha trobat. Instal·la per executar el servidor local.", + "onboarding.cli_ready": "OpenCode CLI llest.", + "onboarding.cli_recheck": "Torna a comprovar", + "onboarding.cli_version": "OpenCode {version}", + "onboarding.cli_version_installed": "Instal·lat", + "onboarding.create_first_workspace": "Crea el teu primer workspace", + "onboarding.create_workspace": "Crea un workspace", + "onboarding.engine_running": "El motor ja funciona", + "onboarding.folders_allowed": "Carpeta {count} {plural} permesa", + "onboarding.getting_ready": "Preparant-ho tot", + "onboarding.install": "Instal·la OpenCode", + "onboarding.install_instruction": "Instal·la OpenCode per habilitar el servidor local (no cal cap terminal).", + "onboarding.last_checked": "Darrera comprovació {time}", + "onboarding.manage_access_hint": "Podeu gestionar l'accés a la configuració avançada.", + "onboarding.open_settings": "Obre Configuració", + "onboarding.open_settings_hint": "Necessites motor o opcions d'accés? Obre Configuració.", + "onboarding.pick": "Tria", + "onboarding.ready_message": "OpenCode està preparat per iniciar el servidor local.", + "onboarding.remember_choice": "Recordeu la meva elecció per a la propera vegada", + "onboarding.remote_workspace_action": "Connecta't", + "onboarding.remote_workspace_card_description": "Connecta't a un servidor OpenWork per accedir a un workspace compartit.", + "onboarding.remote_workspace_card_title": "Connecta un workspace remot", + "onboarding.remote_workspace_description": "Connecta't a un servidor OpenWork per accedir a un workspace des de qualsevol lloc.", + "onboarding.remote_workspace_title": "Connecta't al servidor OpenWork", + "onboarding.remove": "Eliminar", + "onboarding.resolved_path": "Ruta resolta", + "onboarding.run_local": "Executar localment", + "onboarding.run_local_description": "OpenWork executa OpenCode localment i manté la vostra feina privada.", + "onboarding.search_notes": "Cerca notes", + "onboarding.searching_host": "S'està connectant al servidor OpenWork...", + "onboarding.serve_help": "servir --ajudar a la sortida", + "onboarding.show_search_notes": "Mostra les notes de cerca", + "onboarding.start": "Inicia OpenWork", + "onboarding.starting_host": "S'està iniciant el servidor OpenWork...", + "onboarding.theme_current": "Actual: {mode}", + "onboarding.theme_dark": "Fosc", + "onboarding.theme_label": "Tema", + "onboarding.theme_light": "Llum", + "onboarding.theme_system": "Sistema", + "onboarding.verifying": "S'està verificant l'encaixada de mans segura", + "onboarding.version": "Versió", + "onboarding.welcome_title": "Com t'agradaria executar OpenWork avui?", + "onboarding.windows_install_instruction": "Instal·la OpenCode per a Windows i reinicia OpenWork. Assegura't que l'opencode.exe estigui a PATH.", + "onboarding.workspace_folder_label": "Un workspace és una carpeta amb les seves pròpies Skills, Plugins i Commands.", + "plugins.add": "Afegeix", + "plugins.add_hint": "Afegeix noms de paquets npm, p. ex. opencode-wakatime", + "plugins.add_label": "Afegeix un Plugin", + "plugins.added": "Afegit", + "plugins.config": "Config", + "plugins.config_label": "Config", + "plugins.desc": "Gestiona `opencode.json` per al vostre projecte o OpenCode plugins global.", + "plugins.empty": "Encara no s'ha configurat cap Plugin.", + "plugins.enabled": "Habilitat", + "plugins.hide_setup": "Amaga la configuració", + "plugins.not_loaded": "Encara no s'ha carregat", + "plugins.not_loaded_yet": "Encara no s'ha carregat", + "plugins.remove": "Eliminar", + "plugins.scheduler_desc": "Executeu tasques programades amb el Plugin del programador OpenCode.", + "plugins.scope_global": "Global", + "plugins.scope_project": "Projecte", + "plugins.setup": "Configuració", + "plugins.suggested": "Connectors suggerits", + "plugins.suggested_heading": "Connectors suggerits", + "plugins.title": "OpenCode plugins", + "providers.api_key_label": "Tecla API", + "providers.api_key_required": "La clau API és necessària", + "providers.auth_failed": "L'autenticació ha fallat", + "providers.connect_failed": "No s'ha pogut connectar el proveïdor", + "providers.disabled_in_config_suffix": "i el va desactivar a la configuració de OpenCode.", + "providers.disconnect_failed": "No s'ha pogut desconnectar el proveïdor", + "providers.disconnected_prefix": "Desconnectat", + "providers.load_failed": "No s'han pogut carregar els proveïdors", + "providers.no_oauth_prefix": "No hi ha cap flux OAuth disponible", + "providers.no_providers_available": "No hi ha proveïdors disponibles", + "providers.not_connected": "No connectat a un servidor", + "providers.not_oauth_flow_prefix": "El mètode d'autenticació seleccionat no és un flux OAuth per", + "providers.oauth_failed": "No s'ha pogut completar OAuth", + "providers.oauth_method_required": "És necessari el mètode OAuth", + "providers.provider_error": "Error del proveïdor ({provider})", + "providers.provider_id_required": "Es requereix l'identificador del proveïdor", + "providers.rate_limit_exceeded": "S'ha superat el límit de tarifa", + "providers.removal_unsupported": "Aquest client no admet l'eliminació de l'autenticació del proveïdor.", + "providers.request_failed": "La sol·licitud ha fallat", + "providers.save_api_key_failed": "No s'ha pogut desar la clau API", + "providers.still_connected_suffix": ", però el worker encara informa que està connectat. Esborra qualsevol clau API o credencial OAuth que quedi i reinicia el worker per desconnectar-lo completament.", + "providers.unknown_provider": "Proveïdor desconegut", + "providers.use_api_key_suffix": "Fes servir una clau API.", + "question_modal.custom_answer_label": "O escriviu una resposta personalitzada", + "question_modal.custom_answer_placeholder": "Escriu la teva resposta aquí...", + "question_modal.question_counter": "Pregunta {current} de {total}", + "scheduled.at_time": "A {time}", + "scheduled.badge_end_of_day": "Final de jornada", + "scheduled.badge_every_few_hours": "Cada poques hores", + "scheduled.badge_friday_wrapup": "Conclusió de divendres", + "scheduled.badge_weekday_evening": "vespre entre setmana", + "scheduled.badge_weekday_morning": "Matí entre setmana", + "scheduled.badge_weekend_review": "Revisió del cap de setmana", + "scheduled.create_button": "Crear", + "scheduled.create_desc": "Les automatitzacions es programen executant un missatge en un fil nou. Omplirem prèviament un missatge perquè l'enviïs.", + "scheduled.create_title": "Crear automatització", + "scheduled.created_prefix": "Creat", + "scheduled.custom_schedule": "Horari personalitzat", + "scheduled.daily_mode": "Diàriament", + "scheduled.day_fri": "dv", + "scheduled.day_mon": "Dl", + "scheduled.day_sat": "ds", + "scheduled.day_sun": "Sol", + "scheduled.day_thu": "Dj", + "scheduled.day_tue": "Dt", + "scheduled.day_wed": "Dc", + "scheduled.days_at": "{days} a {time}", + "scheduled.default_automation_name": "Exploració diària d'errors", + "scheduled.delete_confirm_desc": "Això elimina la programació i elimina la definició del treball de {source}.", + "scheduled.delete_confirm_title": "Vols suprimir l'automatització?", + "scheduled.delete_error_fallback": "No s'ha pogut suprimir la feina.", + "scheduled.delete_label": "Suprimeix", + "scheduled.deleting": "S'està suprimint", + "scheduled.desktop_required": "Les tasques programades requereixen l'app d'escriptori.", + "scheduled.empty_hint": "Encara no hi ha automatitzacions. Tria una plantilla o creeu el vostre propi missatge d'automatització.", + "scheduled.every_day_at": "Cada dia a {time}", + "scheduled.every_hour": "Cada hora", + "scheduled.every_n_hours": "Cada hora {interval}", + "scheduled.every_prefix": "Cadascú", + "scheduled.explore_more": "Explora més", + "scheduled.failed_status": "Ha fallat", + "scheduled.filter_all": "Tots", + "scheduled.filter_scheduled": "Programat", + "scheduled.filter_templates": "Plantilles", + "scheduled.hours_suffix": "hores", + "scheduled.install_scheduler": "Instal·la el planificador", + "scheduled.install_scheduler_hint": "Les automatitzacions s'executen mitjançant el Plugin opencode-scheduler. Afegeix-lo a aquest workspace per activar la programació.", + "scheduled.install_scheduler_title": "Instal·la el programador per desbloquejar automatitzacions", + "scheduled.installing": "S'està instal·lant...", + "scheduled.interval_mode": "Interval", + "scheduled.last_run_prefix": "Última cursa", + "scheduled.last_updated_prefix": "Última actualització", + "scheduled.name_label": "Nom", + "scheduled.never": "Mai", + "scheduled.new_automation": "Nova automatització", + "scheduled.no_automations_match": "No hi ha cap automatització que coincideixi amb aquesta cerca.", + "scheduled.no_templates_match": "No hi ha cap plantilla que coincideixi amb aquesta cerca.", + "scheduled.not_run_yet": "Encara no s'executa", + "scheduled.not_synced_yet": "Encara no s'ha sincronitzat", + "scheduled.page_description": "Programeu tasques recurrents per a aquest worker, controleu el que ja està registrat i comenceu des d'una plantilla reutilitzable.", + "scheduled.prepare_error_fallback": "No s'ha pogut preparar l'automatització al xat.", + "scheduled.prepared_automation_in_chat": "Automatització preparada al xat.", + "scheduled.prepared_job_in_chat": "{name} preparat al xat.", + "scheduled.quick_start_templates": "Plantilles d'inici ràpid", + "scheduled.quick_start_templates_desc": "Comença des d'un flux de treball recurrent provat i, a continuació, adapteu el missatge abans de preparar-lo al xat.", + "scheduled.refreshing": "Refrescant", + "scheduled.reload_activate_hint": "OpenCode carrega Plugins a l'inici. Torna a carregar OpenWork per activar el opencode-scheduler.", + "scheduled.reload_activate_title": "Torna a carregar OpenWork per activar les automatitzacions", + "scheduled.reload_openwork": "Torna a carregar OpenWork", + "scheduled.reloading": "S'està tornant a carregar...", + "scheduled.removed_job": "S'ha eliminat {name}.", + "scheduled.run_label": "Corre", + "scheduled.running_status": "Córrer", + "scheduled.schedule_label": "Horari", + "scheduled.scheduler_install_requested": "S'ha sol·licitat la instal·lació del programador.", + "scheduled.search_placeholder": "Cerca automatitzacions o plantilles", + "scheduled.source_local": "Del programador local", + "scheduled.source_remote": "Des del servidor OpenWork", + "scheduled.subtitle_local": "Automatitzacions que s'executen segons una programació des d'aquest dispositiu.", + "scheduled.subtitle_remote": "Automatitzacions que s'executen segons una programació des del servidor OpenWork connectat.", + "scheduled.success_status": "Èxit", + "scheduled.task_summary_no_prompt": "No s'ha trobat cap sol·licitud ni comanda.", + "scheduled.task_summary_prompt": "Avís", + "scheduled.template_badge": "Plantilla", + "scheduled.template_count": "Plantilles {count}", + "scheduled.title": "Automatitzacions", + "scheduled.tpl_daily_planning_desc": "Crea un pla centrat a partir de les vostres tasques i calendari.", + "scheduled.tpl_daily_planning_name": "Breu de planificació diària", + "scheduled.tpl_habit_checkin_desc": "Fes una ràpida comprovació de responsabilitat al llarg del dia.", + "scheduled.tpl_habit_checkin_name": "Facturació d'hàbits", + "scheduled.tpl_inbox_zero_desc": "Resumeix els missatges no llegits i esborra respostes breus.", + "scheduled.tpl_inbox_zero_name": "Inbox zero helper", + "scheduled.tpl_learning_digest_desc": "Converteix els enllaços i les notes desats en un resum setmanal.", + "scheduled.tpl_learning_digest_name": "Digest d'aprenentatge", + "scheduled.tpl_meeting_prep_desc": "Genera butlletes de preparació per a les reunions de demà.", + "scheduled.tpl_meeting_prep_name": "Notes de preparació de la reunió", + "scheduled.tpl_weekly_wins_desc": "Crea un resum de divendres de victòries, bloquejadors i passos següents.", + "scheduled.tpl_weekly_wins_name": "Resum de les victòries setmanals", + "scheduled.view_scheduler_docs": "Veure documents del programador", + "scheduled.weekdays_at": "Dies laborables a {time}", + "scheduled.weekends_at": "Els caps de setmana a {time}", + "scheduled.worker_root_hint": "L'arrel del worker es dedueix del workspace seleccionat.", + "scheduled.your_automations": "Els teus Automatitzacions", + "session.allow_for_session": "Permet la sessió", + "session.allow_once": "Una vegada", + "session.api_key_saved": "S'ha desat la clau API", + "session.attachments_add_token": "Afegeix un token de servidor per adjuntar fitxers.", + "session.attachments_connect_server": "Connecta't al servidor OpenWork per adjuntar fitxers.", + "session.back": "Enrere", + "session.close_quick_actions": "Tanca les accions ràpides", + "session.close_search": "Tanca la cerca", + "session.cmd_compact_detail": "Envieu una instrucció compacta a OpenCode per a aquesta sessió", + "session.cmd_compact_detail_empty": "Encara no hi ha missatges d'usuari per compactar", + "session.cmd_compact_meta": "Compacte", + "session.cmd_compact_title": "Conversa compacta", + "session.cmd_current_workspace": "Workspace actual", + "session.cmd_model_detail": "{model} · {variant}", + "session.cmd_model_fallback": "Model", + "session.cmd_model_meta": "Obert", + "session.cmd_model_title": "Canviar de model", + "session.cmd_new_session_detail": "Inicia una tasca nova al workspace actual", + "session.cmd_new_session_meta": "Crear", + "session.cmd_new_session_title": "Crea una sessió nova", + "session.cmd_provider_detail": "Obre el flux de connexió del proveïdor", + "session.cmd_provider_meta": "Obert", + "session.cmd_provider_title": "Connecta el proveïdor", + "session.cmd_rename_detail_fallback": "Doneu un nom més clar a la sessió seleccionada", + "session.cmd_rename_meta": "Canvia el nom", + "session.cmd_rename_title": "Canvia el nom de la sessió actual", + "session.cmd_sessions_detail": "{count} disponible a tots els workspaces", + "session.cmd_sessions_meta": "Saltar", + "session.cmd_sessions_title": "Sessions de cerca", + "session.cmd_switch": "Canvia", + "session.compacted": "Sessió compactada.", + "session.compacting": "S'està compactant el context de la sessió...", + "session.compacting_auto": "OpenCode està compactant automàticament aquesta sessió", + "session.compacting_manual": "OpenCode està compactant aquesta sessió", + "session.compaction_finished": "OpenCode ha acabat de compactar el context de sessió.", + "session.compaction_started": "OpenCode va començar a compactar el context de sessió.", + "session.conflict_sync_toast": "Sincronització de conflictes {path}. S'han desat els canvis locals a {conflictPath}.", + "session.connect_failed": "La connexió ha fallat", + "session.connect_to_sync": "Connecta't al servidor OpenWork per sincronitzar fitxers remots.", + "session.create_or_connect_workspace": "Crea o connecteu un workspace", + "session.create_workspace_desc": "Obre el creador del workspace i tria com voleu començar.", + "session.create_workspace_title": "Crea un workspace", + "session.default_agent": "Agent per defecte", + "session.default_title": "Nova sessió", + "session.delete": "Suprimeix", + "session.delete_named_session_message": "Això suprimirà permanentment \"{title}\" i els seus missatges.", + "session.delete_session_generic": "Això suprimirà permanentment la sessió seleccionada i els seus missatges.", + "session.delete_session_title": "Vols suprimir la sessió?", + "session.deleted": "S'ha suprimit la sessió", + "session.deleting": "S'està suprimint...", + "session.deny": "Negar", + "session.details": "Detalls", + "session.details_label": "Detalls", + "session.doom_loop_label": "Doom Loop", + "session.doom_loop_message": "OpenCode ha detectat trucades d'eina repetides amb entrada idèntica i pregunta si hauria de continuar després d'errors repetits.", + "session.doom_loop_note": "Rebutja per aturar el bucle o permet si vols que l'agent ho continuï intentant.", + "session.doom_loop_repeated_call_label": "Trucada repetida", + "session.doom_loop_repeated_tool_call": "Crida repetida a l'eina", + "session.doom_loop_title": "S'ha detectat Doom Loop", + "session.doom_loop_tool_label": "Eina", + "session.downloading": "Descàrrega", + "session.downloading_percent": "S'està baixant {percent}%", + "session.downloading_update_title": "S'està baixant l'actualització {version}", + "session.export_already_running": "L'exportació ja s'està executant.", + "session.export_desktop_only": "L'exportació està disponible a l'app d'escriptori.", + "session.export_desktop_only_local": "L'exportació està disponible per a workers locals a l'app d'escriptori.", + "session.export_local_only": "L'exportació només és compatible amb workers locals.", + "session.failed_to_compact": "No s'ha pogut compactar la sessió", + "session.failed_to_create_session": "No s'ha pogut crear la sessió", + "session.failed_to_delete": "No s'ha pogut suprimir la sessió", + "session.failed_to_load_agents": "No s'han pogut carregar els agents", + "session.failed_to_load_providers": "No s'han pogut carregar els proveïdors", + "session.failed_to_redo": "No s'ha pogut refer", + "session.failed_to_save_api_key": "No s'ha pogut desar la clau API", + "session.failed_to_stop": "No s'ha pogut aturar", + "session.failed_to_undo": "No s'ha pogut desfer", + "session.file_open_desktop_only": "Aquesta funció només està disponible a l'app d'escriptori.", + "session.file_open_failed": "No s'ha pogut obrir el fitxer", + "session.file_open_remote_unavailable": "El fitxer obert no està disponible per a workspaces remots.", + "session.flyout_file_modified": "Fitxer modificat", + "session.flyout_new_task": "Nova tasca", + "session.install_update": "Instal·la l'actualització", + "session.jump_to_latest": "Ves a l'últim", + "session.jump_to_start": "Salta a l'inici del missatge", + "session.load_earlier": "Carrega missatges anteriors", + "session.loading_detail": "Recollint els missatges més recents per a aquesta tasca.", + "session.loading_earlier": "S'estan carregant missatges anteriors...", + "session.loading_session": "Sessió de càrrega", + "session.loading_title": "Sessió de càrrega", + "session.menu_label": "Menú", + "session.model": "Model", + "session.model_fallback": "Model", + "session.new_task": "Nova tasca", + "session.next_match": "Proper partit", + "session.no_matches": "Sense coincidències", + "session.no_matches_command": "Sense coincidències.", + "session.no_session_selected": "No s'ha seleccionat cap sessió", + "session.nothing_to_compact": "Encara no hi ha res per compactar.", + "session.nothing_to_redo": "Res a refer.", + "session.nothing_to_retry": "Encara no hi ha res per tornar a provar", + "session.nothing_to_undo": "Encara no hi ha res a desfer.", + "session.oauth_failed": "OAuth ha fallat", + "session.obsidian_worker_relative_only": "Només es poden obrir fitxers relatius a worker a Obsidian.", + "session.open": "Obert", + "session.palette_hint_navigate": "Tecles de fletxa per navegar", + "session.palette_hint_run": "Entra per executar · Esc per tancar", + "session.palette_placeholder_actions": "Accions de cerca", + "session.palette_placeholder_sessions": "Cerca per títol de sessió o workspace", + "session.palette_title_actions": "Accions ràpides", + "session.palette_title_sessions": "Sessions de cerca", + "session.permission_label": "Permís", + "session.permission_message": "OpenCode està sol·licitant permís per continuar.", + "session.permission_required": "Permís necessari", + "session.phase_responding": "Responent", + "session.phase_retrying": "S'està tornant a provar", + "session.phase_run_failed": "L'execució ha fallat", + "session.phase_sending": "Enviament", + "session.pick_folder_desc": "Tria un projecte existent o una carpeta de notes i OpenWork l'utilitzarà com a workspace.", + "session.pick_folder_title": "Tria una carpeta on vulguis treballar", + "session.pick_workspace_to_open": "Tria un workspace per obrir fitxers.", + "session.prev_match": "Partit anterior", + "session.provider_auth_in_progress": "L'autenticació del proveïdor ja està en curs.", + "session.provider_connected": "Proveïdor connectat", + "session.quick_actions_label": "Accions ràpides", + "session.quick_actions_title": "Accions ràpides (Ctrl/Cmd+K)", + "session.redo_aria_label": "Refeix l'últim missatge revertit", + "session.redo_label": "Refer", + "session.redo_title": "Refeix l'últim missatge revertit", + "session.remote_sync_failed": "La sincronització remota de fitxers ha fallat", + "session.rename_description": "Actualitza el nom d'aquesta sessió.", + "session.rename_label": "Nom de la sessió", + "session.rename_placeholder": "Introdueix un nom nou", + "session.rename_title": "Canvia el nom de la sessió", + "session.resize_workspace_column": "Canvia la mida de la columna del workspace", + "session.restart_update_title": "Reinicia per aplicar l'actualització {version}", + "session.restored_message": "S'ha restaurat el missatge revertit.", + "session.reveal": "Revelar", + "session.reveal_desktop_only": "Aquesta funció només està disponible a l'app d'escriptori.", + "session.revert_label": "Revertir", + "session.reverted_last_message": "S'ha revertit l'últim missatge de l'usuari.", + "session.run": "Corre", + "session.scope_label": "Àmbit", + "session.search_conversation_label": "Cerca conversa", + "session.search_conversation_title": "Cerca conversa (Ctrl/Cmd+F)", + "session.search_next": "Següent", + "session.search_placeholder": "Cerca en aquest xat", + "session.search_position": "{current} de {total}", + "session.search_prev": "Anterior", + "session.share_active_cloud_org": "Organització activa de Cloud", + "session.share_choose_org": "Tria una organització a Configuració -> Cloud abans de compartir-la amb el teu equip.", + "session.share_collaborator_hint": "Accés remot de rutina quan no necessiteu accions només del propietari.", + "session.share_collaborator_host_hint": "Accés remot habitual a aquest host sense accions només del propietari.", + "session.share_collaborator_label": "Token de col·laborador", + "session.share_collaborator_token": "Token de col·laborador", + "session.share_connected_with_hint": "Aquest workspace està connectat actualment amb aquesta contrasenya.", + "session.share_desktop_app_required": "Cal l'app d'escriptori", + "session.share_desktop_required": "Cal l'app d'escriptori", + "session.share_host_url_and_token_required": "Calen l'URL i el token del host d'OpenWork.", + "session.share_local_host_not_ready": "El host local d'OpenWork encara no està a punt.", + "session.share_missing_host_url": "Falta l'URL del host d'OpenWork.", + "session.share_missing_token": "Falta el token d'OpenWork.", + "session.share_no_skills": "No s'han trobat Skills en aquest workspace.", + "session.share_note_direct_runtime": "El runtime del motor està configurat en Direct. Canviar de worker local pot reiniciar el host i desconnectar els clients. El token pot canviar després del reinici.", + "session.share_opencode_base_url": "URL base OpenCode", + "session.share_openwork_workers_only": "Els enllaços de servei de compartició estan disponibles per a OpenWork workers.", + "session.share_owner_permission_hint": "Fes servir-lo quan el client remot hagi de respondre a les sol·licituds de permís.", + "session.share_password": "Contrasenya", + "session.share_password_owner_hint": "Fes servir-lo quan el client remot hagi de respondre a les sol·licituds de permís.", + "session.share_publish_skills_failed": "No s'ha pogut publicar el conjunt d'Skills", + "session.share_publish_workspace_failed": "No s'ha pogut publicar el perfil del workspace", + "session.share_resolve_local_workspace_failed": "No s'ha pogut resoldre aquest workspace al host local d'OpenWork.", + "session.share_resolve_remote_workspace_failed": "No s'ha pogut resoldre aquest workspace al host d'OpenWork.", + "session.share_save_team_template_failed": "No s'ha pogut desar la plantilla d'equip", + "session.share_saved_to_org": "S'ha desat {name} a {org}.", + "session.share_select_workspace": "Selecciona primer un workspace.", + "session.share_set_token_hint": "Defineix el token a la configuració del workspace", + "session.share_sign_in_required": "Inicia la sessió a OpenWork Cloud a Configuració per compartir-lo amb el vostre equip.", + "session.share_skills_set_desc": "Conjunt complet d'Skills des d'un workspace OpenWork.", + "session.share_starting_server": "S'està iniciant el servidor...", + "session.share_team_fallback_name": "les plantilles del teu equip", + "session.share_url_resolving_hint": "S'està resolent l'URL del worker; mentrestant es mostra l'URL del host com a alternativa.", + "session.share_url_worker_hint": "Fes servir-lo en telèfons o ordinadors portàtils connectats a aquest worker.", + "session.share_worker_url": "URL del worker", + "session.share_worker_url_phones_hint": "Fes servir-lo en telèfons o ordinadors portàtils connectats a aquest worker.", + "session.share_worker_url_resolving_hint": "S'està resolent l'URL del worker; mentrestant es mostra l'URL del host com a alternativa.", + "session.share_workspace_template_desc": "Plantilla completa de workspace OpenWork amb configuració, Commands, Skills i fitxers addicionals de .opencode.", + "session.shared_folder_upload_failed": "La càrrega de la carpeta compartida ha fallat", + "session.show_earlier": "Mostra {count} missatge{plural} anteriors", + "session.status_active": "Sessió activa", + "session.status_compacting": "Context compactant", + "session.status_delegating": "Delegant", + "session.status_gathering_context": "Recollida de context", + "session.status_planning": "Planificació", + "session.status_ready": "A punt", + "session.status_ready_session": "Sessió llesta", + "session.status_running_shell": "Executant la shell", + "session.status_searching_codebase": "Buscant la base de codi", + "session.status_searching_web": "Buscant a la web", + "session.status_thinking": "Pensant", + "session.status_working": "Treballant", + "session.status_writing_file": "Escrivint fitxer", + "session.stopped": "Parat.", + "session.stopping_run": "Aturant la carrera...", + "session.todo_progress": "{completed} de les tasques {total} completades", + "session.trying_again": "Tornant a provar...", + "session.unable_to_open_file": "No es pot obrir el fitxer", + "session.unable_to_open_obsidian": "No es pot obrir el fitxer a Obsidian", + "session.unable_to_reveal": "No es pot revelar el workspace", + "session.undo_label": "Revertir", + "session.undo_title": "Desfer l'últim missatge", + "session.update_available": "Actualització disponible", + "session.update_available_title": "Actualització disponible {version}", + "session.update_ready": "Actualització a punt", + "session.update_ready_stop_runs_title": "Actualitzar {version} a punt. Atura les execucions actives per reiniciar-se.", + "session.upload_connect_server": "Connecta't al servidor OpenWork per carregar fitxers a la carpeta compartida.", + "session.uploaded_to_shared_folder": "S'ha penjat a la carpeta compartida.", + "session.uploaded_with_summary": "Penjat a la carpeta compartida: {summary}", + "session.uploading_to_shared_folder": "S'està penjant {label} a la carpeta compartida...", + "session.workspace_fallback": "Workspace", + "session.workspace_label": "Workspace", + "session.workspace_path_unavailable": "El camí del workspace no està disponible.", + "session.workspace_setup_desc": "Comença amb un workspace guiada d'OpenWork o tria una carpeta existent on vulguis treballar.", + "session.workspace_setup_label": "Configuració del workspace", + "session.workspace_setup_title": "Configura el teu primer workspace", + "settings.action_download": "Descarregar", + "settings.action_install": "Instal·lar", + "settings.actor_host": "host", + "settings.actor_remote": "remot", + "settings.actor_unknown": "desconegut", + "settings.advanced": "Avançat", + "settings.advanced_title": "Avançat", + "settings.api_keys_info": "Les claus API es desen localment a OpenCode. Els proveïdors basats en variables d'entorn s'han de canviar a l'entorn del worker i després recarregar.", + "settings.appearance_hint": "Segueix el sistema o força el mode clar/fosc.", + "settings.appearance_title": "Aparença", + "settings.audit_error": "Error", + "settings.audit_loading": "Carregant", + "settings.audit_log_title": "Registre d'auditoria", + "settings.audit_ready": "A punt", + "settings.auto_compact": "Compactació automàtica del context", + "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}", + "settings.cap_file_tools": "Eines de fitxer: {value}", + "settings.cap_inbox_off": "safata d'entrada desactivada", + "settings.cap_inbox_on": "safata d'entrada activada", + "settings.cap_mcp": "MCP: {value}", + "settings.cap_outbox_off": "bústia de sortida desactivada", + "settings.cap_outbox_on": "bústia de sortida activada", + "settings.cap_plugins": "Plugins: {value}", + "settings.cap_proxy": "Proxy (OpenCodeRouter): {value}", + "settings.cap_read": "llegir", + "settings.cap_sandbox": "Sandbox: {value}", + "settings.cap_skills": "Skills: {value}", + "settings.cap_write": "escriure", + "settings.capabilities_title": "Capacitats del servidor OpenWork", + "settings.capabilities_unavailable": "Capacitats no disponibles. Connecta't amb un token de client.", + "settings.change": "Canviar", + "settings.check_update": "Comprova", + "settings.checking_for_updates": "S'estan buscant actualitzacions", + "settings.choose": "Tria", + "settings.clear": "Esborra", + "settings.clipboard_unavailable": "El porta-retalls no està disponible en aquest entorn.", + "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ó", + "settings.copied_debug_report": "S'ha copiat l'informe JSON del runtime.", + "settings.copy_failed": "No s'ha pogut copiar l'informe del runtime.", + "settings.copy_json": "Copia JSON", + "settings.custom_binary_hint": "Fes servir-ho per apuntar OpenWork a una compilació OpenCode local", + "settings.custom_binary_label": "Binari personalitzat OpenCode", + "settings.data_dir_unavailable": "Directori de dades no disponible", + "settings.debug_commit": "Commit: {sha}", + "settings.debug_desktop_app": "Aplicació d'escriptori: {version}", + "settings.debug_opencode_router_version": "OpenCodeRouter: {version}", + "settings.debug_opencode_version": "OpenCode: {version}", + "settings.debug_openwork_server_version": "Servidor OpenWork: {version}", + "settings.debug_orchestrator_version": "Orquestrador: {version}", + "settings.debug_section_title": "Desenvolupador", + "settings.deeplink_failed": "No s'ha pogut obrir el deep link.", + "settings.deeplink_hint": "Accepta openwork://, openwork-dev:// o una URL compatible en brut de https://share.openworklabs.com/b/...", + "settings.default_model": "Model per defecte", + "settings.delete_containers": "S'estan retirant els contenidors...", + "settings.delete_local_config": "S'està eliminant l'estat local...", + "settings.desktop_only_hint": "Disponible a l'app d'escriptori.", + "settings.dev_mode_badge": "Mode de desenvolupament", + "settings.developer": "Desenvolupador", + "settings.developer_mode_desc": "Activa les eines de depuració, els diagnòstics i la pestanya Desenvolupador.", + "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)", + "settings.diag_config_path": "Ruta de configuració: {path}", + "settings.diag_daemon_url": "Dimoni: {url}", + "settings.diag_default": "per defecte", + "settings.diag_health_port": "Port de salut: {port}", + "settings.diag_healthy_ms": "Saludable: {ms}ms", + "settings.diag_host_token_source": "Origen del token de host: {source}", + "settings.diag_last_attempt": "Últim intent: {time}", + "settings.diag_load_sessions_ms": "Sessions de càrrega: {ms}ms", + "settings.diag_opencode_binary": "OpenCode binari: {binary}", + "settings.diag_opencode_url": "OpenCode: {url}", + "settings.diag_pending_permissions_ms": "Permisos pendents: {ms}ms", + "settings.diag_pid": "PID: {pid}", + "settings.diag_providers_ms": "Proveïdors: {ms}ms", + "settings.diag_read_only": "Només de lectura: {value}", + "settings.diag_reason": "Motiu: {reason}", + "settings.diag_runtime_workspace": "Workspace del runtime: {id}", + "settings.diag_selected_workspace": "Workspace seleccionat: {id}", + "settings.diag_sidecar": "Sidecar: {info}", + "settings.diag_started": "Inici: {time}", + "settings.diag_token_source": "Font del token: {source}", + "settings.diag_total_ms": "Total: {ms}ms", + "settings.diag_version": "Versió: {version}", + "settings.diag_workspaces": "Workspaces: {count}", + "settings.diagnostics_unavailable": "Diagnòstic no disponible.", + "settings.disable_developer_mode": "Desactiva el mode de desenvolupador", + "settings.disabled": "Desactivat", + "settings.disconnect": "Desconnecta", + "settings.disconnect_confirm_suffix": "Desconnectar {resolved}? Això elimina les claus API emmagatzemades o les credencials OAuth per a aquest proveïdor.", + "settings.disconnect_server": "Desconnecta el servidor", + "settings.disconnected_prefix": "{resolved} desconnectat.", + "settings.disconnecting": "S'està desconnectant...", + "settings.docker_containers_desc": "Forçar els contenidors Docker llançats per OpenWork", + "settings.docker_containers_title": "Contenidors Docker d'OpenWork", + "settings.docker_requires_desktop": "La neteja de Docker requereix l'app d'escriptori", + "settings.done": "Fet", + "settings.downloading_bytes": "S'està descarregant {downloaded}", + "settings.downloading_progress": "S'està baixant {downloaded} / {total} ({percent}%)", + "settings.enable_developer_mode": "Activa el mode de desenvolupador", + "settings.enable_exa": "Activa la cerca web Exa", + "settings.enable_exa_desc": "S'aplica quan OpenWork Orchestrator arrenca OpenCode. Per defecte està desactivat", + "settings.enabled": "Habilitat", + "settings.engine_bundled": "En paquet (recomanat)", + "settings.engine_bundled_hint": "El motor en paquet és l'opció més fiable. Fes servir System", + "settings.engine_custom_binary": "Binari personalitzat", + "settings.engine_desc": "Tria com s'executa OpenCode localment.", + "settings.engine_runtime_label": "Runtime del motor", + "settings.engine_source": "Font del motor", + "settings.engine_source_debug": "Font del motor", + "settings.engine_system_path": "Instal·lació del sistema (PATH)", + "settings.engine_title": "Motor", + "settings.exa_restart_hint": "Reinicia OpenCode o l'orquestrador després de canviar aquesta configuració.", + "settings.export": "Exporta", + "settings.export_failed": "No s'ha pogut exportar l'informe del runtime.", + "settings.export_unavailable": "L'exportació no està disponible en aquest entorn.", + "settings.exported_debug_report": "S'ha exportat l'informe JSON del runtime.", + "settings.failed": "Error", + "settings.failed_open_providers": "No s'han pogut obrir els proveïdors", + "settings.feedback_badge": "Llegim tots els missatges", + "settings.feedback_desc": "Digueu-nos què us sembla bé i què us sembla dur. Els comentaris van directament a l'equip i ens ajuden a prioritzar el que s'enviarà a continuació.", + "settings.feedback_title": "Ajuda a donar forma a OpenWork", + "settings.group_global": "Global", + "settings.group_workspace": "Workspace", + "settings.hide_titlebar": "Amaga la barra de títol", + "settings.hide_titlebar_desc": "Amaga la barra de títol de la finestra. Útil en gestors de finestres en mosaic", + "settings.join_discord": "Uneix-te a Discord", + "settings.language": "Llengua", + "settings.language.description": "Tria l'idioma que prefereixes", + "settings.last_error": "Últim error", + "settings.last_stderr": "Últim stderr", + "settings.last_stdout": "Últim stdout", + "settings.loading_providers": "S'estan carregant els proveïdors...", + "settings.logs_on_host": "Els registres estan disponibles al host.", + "settings.managed_by_env": "Gestionat per l'entorn", + "settings.messaging_bridge_service": "Servei pont de missatgeria.", + "settings.messaging_section_desc": "Gestiona les identitats i els enllaços Telegram/Slack a la pestanya Identitats.", + "settings.messaging_section_title": "Missatgeria", + "settings.model": "Model", + "settings.model_behavior": "Comportament del model", + "settings.model_behavior_desc": "Obre el selector de models predeterminat per triar perfils de raonament quan estiguin disponibles.", + "settings.model_default": "Per defecte", + "settings.model_description": "Valors predeterminats + controls de pensament per a execucions.", + "settings.model_description_default": "Tria entre els proveïdors que tens configurats. Aquesta selecció es farà servir per a les sessions noves.", + "settings.model_description_session": "Tria entre els proveïdors que tens configurats. Aquesta selecció s'aplicarà al missatge següent.", + "settings.model_fallback": "Alternativa", + "settings.model_reasoning": "Raonament", + "settings.model_section_desc": "Tria el model de xat predeterminat i revisa com raona.", + "settings.model_title": "Model", + "settings.no_access": "sense accés", + "settings.no_active_workspace": "No hi ha workspace local actiu.", + "settings.no_audit_entries": "Encara no hi ha entrades d'auditoria.", + "settings.no_binary_selected": "No s'ha seleccionat cap binari.", + "settings.no_custom_path_set": "No s'ha definit cap camí personalitzat", + "settings.no_project_directory": "No hi ha cap directori de projectes", + "settings.no_stderr": "Encara no s'ha capturat cap stderr.", + "settings.no_stdout": "Encara no s'ha capturat cap stdout.", + "settings.no_worker_directory": "No hi ha cap directori de projectes", + "settings.no_worker_path": "No hi ha cap ruta de worker disponible", + "settings.nuke_confirm_dev": "Això és irreversible. S'esborraran totes les dades d'OpenWork d'aquesta build de desenvolupament i també tota la configuració, autenticació, memòria cache, dades i estat aïllats d'OpenCode dins de l'entorn de desenvolupament. Després OpenWork es tancarà. Vols continuar?", + "settings.nuke_confirm_prod": "Això és irreversible. S'esborraran totes les dades d'OpenWork d'aquesta build de desenvolupament i també tota la configuració, autenticació, memòria cache, dades i estat aïllats d'OpenCode dins de l'entorn de desenvolupament. Després OpenWork es tancarà. Vols continuar?", + "settings.nuke_failed": "No s'ha pogut eliminar l'estat OpenWork i OpenCode.", + "settings.nuke_hint": "Fes servir això només si vols reiniciar completament l'app d'escriptori i l'estat del runtime d'OpenCode.", + "settings.nuke_success": "S'han eliminat els estats OpenWork i OpenCode. OpenWork està tancant...", + "settings.off": "Apagat", + "settings.offline": "Fora de línia", + "settings.on": "Encès", + "settings.open_deeplink_action": "S'està obrint...", + "settings.open_deeplink_button": "Amaga", + "settings.open_deeplink_desc": "Enganxa un deep link d'OpenWork o una URL compartida per obrir-lo.", + "settings.open_deeplink_title": "Obre deep link", + "settings.opencode_cache": "memòria cache d'OpenCode", + "settings.opencode_cache_description": "Repara les dades de la memòria cache utilitzades per engegar el motor. Segur de córrer.", + "settings.opencode_engine_desc": "Entorn d'execució local per a agents, eines i proveïdors de models.", + "settings.opencode_engine_label": "Motor OpenCode", + "settings.opencode_engine_sidecar_desc": "Sidecar del runtime local.", + "settings.opencode_router_sidecar": "OpenCodeRouter sidecar", + "settings.opencode_runtime_desc": "Opcions de runtime per al motor local i el pont de l'orquestrador.", + "settings.opencode_sdk_desc": "Diagnòstic de connexió de la UI.", + "settings.opencode_sdk_title": "Motor OpenCode", + "settings.opencode_section_label": "OpenCode", + "settings.opencode_url_unavailable": "URL base no disponible", + "settings.opening": "Obre deep link", + "settings.openwork_config_sidecar_desc": "Sidecar de configuració i aprovacions.", + "settings.openwork_diagnostics_title": "Diagnòstic del servidor OpenWork", + "settings.openwork_server_desc": "Pla de control de sessió per a la sincronització de l'app, els workers i l'accés remot", + "settings.openwork_server_label": "Servidor OpenWork", + "settings.orchestrator_daemon_layer_desc": "Capa d'orquestració del workspace.", + "settings.orchestrator_daemon_title": "Dimoni de l'orquestrador", + "settings.pending_permissions": "Permisos pendents", + "settings.production_mode_badge": "Producció", + "settings.provider_default_desc": "Fes servir el comportament de raonament predeterminat integrat del model.", + "settings.provider_default_label": "Per defecte del proveïdor", + "settings.provider_source_config": "Config", + "settings.provider_source_custom": "Personalitzat", + "settings.provider_source_env": "Medi ambient", + "settings.providers_desc": "Connecta serveis per als models i les eines.", + "settings.providers_title": "Proveïdors", + "settings.quit_hint": "OpenWork es tanca just després de la neteja perquè la pròxima obertura arrenqui des d'un estat local net per a aquest mode.", + "settings.recent_events": "Esdeveniments recents", + "settings.reconnect_failed": "No s'ha pogut reconnectar. Comprova l'URL i el token del servidor i torna-ho a provar.", + "settings.reconnect_server": "S'està tornant a connectar...", + "settings.reconnect_server_failed": "No s'ha pogut reconnectar al servidor OpenWork.", + "settings.reconnected": "Tornes a estar connectat al servidor OpenWork.", + "settings.reconnecting": "S'està tornant a connectar...", + "settings.removing_containers": "S'estan retirant els contenidors...", + "settings.removing_local_state": "S'està eliminant l'estat local...", + "settings.repair_cache": "Repara la memòria cache", + "settings.repairing_cache": "Reparació de la memòria cache", + "settings.report_issue": "Informa d'un problema", + "settings.reset": "Restableix", + "settings.reset_app_data": "Restableix les dades de l'aplicació", + "settings.reset_app_data_description": "Més agressiu. Esborra la memòria cache OpenWork + les dades de l'aplicació.", + "settings.reset_app_data_title": "Restableix les dades de l'aplicació", + "settings.reset_app_data_warning": "Esborra la memòria cache OpenWork i les dades de l'aplicació en aquest dispositiu.", + "settings.reset_button": "Restableix", + "settings.reset_cancel": "Cancel·la", + "settings.reset_config_defaults": "S'està reiniciant...", + "settings.reset_config_failed": "No s'ha pogut restablir la configuració de l'aplicació.", + "settings.reset_confirm_button": "Restablir i reiniciar", + "settings.reset_confirmation_hint": "Escriu {resetWord} per confirmar-ho. OpenWork es reiniciarà.", + "settings.reset_confirmation_label": "Confirmació", + "settings.reset_confirmation_placeholder": "Escriu RESET", + "settings.reset_onboarding": "Restableix la incorporació", + "settings.reset_onboarding_description": "Esborra les preferències de OpenWork i reinicia l'aplicació.", + "settings.reset_onboarding_title": "Restableix la incorporació", + "settings.reset_onboarding_warning": "Esborra les preferències locals de OpenWork i els marcadors d'incorporació del workspace.", + "settings.reset_openwork_desc_dev": "Amb el mode de desenvolupament actiu, només esborra l'estat de desenvolupament OpenCode aïllat dins de openwork-dev-data.", + "settings.reset_openwork_desc_prod": "Amb el mode de desenvolupament actiu, només esborra l'estat de desenvolupament OpenCode aïllat dins de openwork-dev-data.", + "settings.reset_openwork_title": "Restableix l'estat OpenWork + OpenCode", + "settings.reset_recovery_desc": "Esborra les dades o reinicia el flux de configuració.", + "settings.reset_recovery_title": "Restabliment i recuperació", + "settings.reset_requires_confirm": "Cal escriure RESET i reiniciarà l'aplicació.", + "settings.reset_startup": "Restableix el mode d'inici predeterminat", + "settings.reset_startup_pref": "Restableix la preferència d'inici", + "settings.reset_stop_active_runs": "Atura les execucions actives abans de restablir.", + "settings.resetting": "S'està reiniciant...", + "settings.restart_blocked_message": "OpenWork s'ha de reiniciar per acabar aquesta actualització. Per evitar interrompre la feina que tens en marxa, la instal·lació queda en pausa fins que acabin les execucions actives o les aturis.", + "settings.restart_failed": "El reinici ha fallat. Revisa els registres i torna-ho a provar.", + "settings.restart_local_server": "S'està reiniciant...", + "settings.restart_opencode": "S'està reiniciant...", + "settings.restart_opencode_router": "S'està reiniciant...", + "settings.restart_openwork_server": "S'està reiniciant...", + "settings.restart_orchestrator": "S'està reiniciant...", + "settings.restart_server_failed": "No s'ha pogut reiniciar el servidor local.", + "settings.restarted": "S'ha reiniciat el servidor local.", + "settings.restarting": "S'està reiniciant...", + "settings.reveal_config": "Mostra la configuració", + "settings.reveal_config_failed": "No s'ha pogut revelar la configuració del workspace.", + "settings.reveal_config_requires_desktop": "Mostrar la configuració requereix l'app d'escriptori", + "settings.revealed_workspace_config": "S'ha revelat la configuració del workspace.", + "settings.run_sandbox_probe": "Sonda en execució...", + "settings.running_probe": "Sonda en execució...", + "settings.runtime_applies_hint": "S'aplica la propera vegada que el motor arrenqui o es recarregui.", + "settings.runtime_debug_desc": "Instantània de diagnòstic llegible amb exportació amb un sol clic.", + "settings.runtime_debug_title": "Informe de depuració del runtime", + "settings.runtime_desc": "Estat del motor local i del servidor OpenWork.", + "settings.runtime_direct": "Directe (OpenCode)", + "settings.runtime_orchestrator": "OpenWork Orchestrator", + "settings.runtime_title": "Runtime", + "settings.sandbox_error": "Error", + "settings.sandbox_export_hint": "Fes servir Exporta a l'informe de depuració del runtime de més amunt per", + "settings.sandbox_probe_desc": "Executa una comprovació temporal d'arrencada d'un sandbox de Docker i", + "settings.sandbox_probe_errors": "Sonda Sandbox completada amb errors.", + "settings.sandbox_probe_failed": "La sonda Sandbox ha fallat.", + "settings.sandbox_probe_success": "La prova de Sandbox ha anat bé. Exporta l'informe de depuració per al suport.", + "settings.sandbox_probe_title": "Sonda Sandbox", + "settings.sandbox_ready": "A punt", + "settings.sandbox_requires_desktop": "La prova de Sandbox requereix l'app d'escriptori", + "settings.sandbox_result": "Resultat: {status}", + "settings.sandbox_run_id": "ID d'execució: {id}", + "settings.sandbox_stop_runs_hint": "Atura les execucions actives abans de llançar la sonda", + "settings.search_models": "Cerca models...", + "settings.select_binary": "Selecciona el binari OpenCode", + "settings.select_workspace_first": "Selecciona un workspace local abans de revelar la configuració.", + "settings.send_feedback": "Envia comentaris", + "settings.service_restarts_desc": "Reinicia serveis concrets del host sense sortir d'aquí.", + "settings.service_restarts_title": "Reinicis de serveis", + "settings.session_model": "Model", + "settings.show_model_reasoning": "Mostra el raonament del model", + "settings.show_model_reasoning_desc": "Desplega les traces de raonament a la UI quan el model les exposi.", + "settings.showing_models": "Mostrant {count} de {total}", + "settings.sidecar_config_unavailable": "La configuració del sidecar no està disponible", + "settings.startup": "Inici", + "settings.startup_local": "Inicia el servidor local", + "settings.startup_not_set": "Connecta't al servidor", + "settings.startup_remote_warning": "Ara mateix la preferència d'inici és remota. La configuració del motor", + "settings.startup_reset_hint": "Això esborra la teva preferència desada i mostra la pantalla de connexió", + "settings.startup_server": "Connecta't al servidor", + "settings.startup_title": "Posada en marxa", + "settings.stop_local_server": "Atura el servidor local", + "settings.stop_runs_before_cleanup": "Atura les execucions actives abans de fer neteja", + "settings.stop_runs_before_reset_config": "Atura les execucions actives abans de restablir la configuració", + "settings.stop_runs_to_reset": "Atura les execucions actives per restablir", + "settings.switch": "Canvia", + "settings.tab_advanced": "Avançat", + "settings.tab_appearance": "Aparença", + "settings.tab_automations": "Automatitzacions", + "settings.tab_cloud": "Cloud", + "settings.tab_debug": "Depuració", + "settings.tab_description_advanced": "Inspecciona l'estat del runtime, l'estat de la connexió i els controls orientats a desenvolupador.", + "settings.tab_description_appearance": "Ajusta l'aspecte d'OpenWork al desktop, al tema del sistema i al marc de l'app.", + "settings.tab_description_automations": "Crea i gestiona automatitzacions programades des de la configuració del workspace.", + "settings.tab_description_debug": "Revisa els diagnòstics, els registres i les utilitats avançades de depuració del runtime.", + "settings.tab_description_den": "Gestiona la connexió a OpenWork Cloud, els workers allotjats i l'accés al workspace.", + "settings.tab_description_extensions": "Gestiona apps MCP i Plugins d'OpenCode per a aquest workspace.", + "settings.tab_description_general": "Connecta proveïdors, tria el model predeterminat, autoritza carpetes i controla el workspace OpenWork seleccionat juntament amb la seva connexió de runtime.", + "settings.tab_description_messaging": "Configura les identitats del router i el comportament de la safata d'entrada des de la configuració del workspace.", + "settings.tab_description_model": "Ajusta el model predeterminat, el comportament del runtime i la configuració de sortida de l'assistent.", + "settings.tab_description_recovery": "Repara l'estat de migració, restableix els valors predeterminats del workspace i recupera la configuració local.", + "settings.tab_description_skills": "Explora, edita i instal·la Skills sense sortir de la configuració.", + "settings.tab_description_updates": "Mantén l'app actualitzada amb comprovacions silencioses en segon pla i controls d'instal·lació.", + "settings.tab_extensions": "Extensions", + "settings.tab_general": "Configuració", + "settings.tab_messaging": "Missatgeria", + "settings.tab_model": "Model", + "settings.tab_recovery": "Recuperació", + "settings.tab_skills": "Skills", + "settings.tab_updates": "Actualitzacions", + "settings.theme_dark": "Fosc", + "settings.theme_light": "Clar", + "settings.theme_system": "Sistema", + "settings.theme_system_hint": "El mode Sistema segueix automàticament la preferència del sistema operatiu.", + "settings.toolbar_ready_to_install": "A punt per instal·lar", + "settings.update": "Actualització", + "settings.update_available": "Actualització disponible: v", + "settings.update_available_version": "Actualització disponible: v{version}", + "settings.update_check_button": "Comprova", + "settings.update_check_failed": "La comprovació d'actualització ha fallat", + "settings.update_checking": "S'està comprovant...", + "settings.update_download_button": "Descarregar", + "settings.update_downloading": "S'està baixant...", + "settings.update_error": "La comprovació d'actualització ha fallat", + "settings.update_install_button": "Instal·la i reinicia", + "settings.update_last_checked": "Darrera comprovació {time}", + "settings.update_published": "Publicat {date}", + "settings.update_ready": "A punt per instal·lar: v", + "settings.update_ready_version": "A punt per instal·lar: v{version}", + "settings.update_uptodate": "Al dia", + "settings.updates": "Actualitzacions", + "settings.updates_desc": "Mantén OpenWork al dia.", + "settings.updates_desktop_only": "Les actualitzacions només estan disponibles a l'app d'escriptori.", + "settings.updates_not_supported": "Les actualitzacions no són compatibles amb aquest entorn.", + "settings.updates_title": "Actualitzacions", + "settings.version": "Versió", + "settings.versions_desc": "Informació del sidecar i de la build d'escriptori.", + "settings.versions_title": "Versions", + "settings.window_appearance_desc": "Personalitza l'aspecte de la finestra.", + "settings.worker_id_label": "worker {id}", + "settings.worker_unresolved": "worker {runtimeWorkspaceId}", + "settings.workspace_config_desc": ".opencode/openwork.json", + "settings.workspace_config_title": "Configuració del workspace", + "settings.workspace_debug_events_label": "Esdeveniments de depuració del workspace", + "settings.workspace_fallback_name": "Workspace", + "share.active_cloud_org": "Organització activa de Cloud", + "share.back_hint": "Torna a les opcions per compartir", + "share.chooser_subtitle": "Tria com vols compartir aquest workspace.", + "share.close_hint": "Tancar", + "share.cloud_signin_note": "OpenWork Cloud s'obre al navegador i torna aquí quan hagis iniciat la sessió.", + "share.collaborator_hint": "Accés rutinari sense aprovacions de permís.", + "share.connect_messaging_desc": "Fes servir aquest workspace de Slack, Telegram i d'altres.", + "share.connect_messaging_title": "Connecta la missatgeria", + "share.connection_details_label": "Detalls de connexió", + "share.copy_hint": "Copia", + "share.copy_link_hint": "Copia l'enllaç", + "share.create_template_link": "Crea un enllaç de plantilla", + "share.credentials_disabled_hint": "Activa l'accés remot i fes clic a Desa per reiniciar el worker i mostrar les dades reals de connexió d'aquest workspace.", + "share.field_password": "Contrasenya", + "share.field_worker_url": "URL del worker", + "share.hide_password": "Amaga la contrasenya", + "share.included_in_template": "Inclòs en aquesta plantilla", + "share.option_access_desc": "Mostra les dades de connexió en directe necessàries per accedir a aquest workspace en execució des d'una altra màquina.", + "share.option_access_title": "Accedeix al workspace remotament", + "share.option_public_desc": "Crea un enllaç públic perquè qualsevol pugui començar a partir d'aquesta plantilla.", + "share.option_public_title": "Plantilla pública", + "share.option_team_desc": "Desa aquesta plantilla de workspace a l'organització activa d'OpenWork Cloud.", + "share.option_team_title": "Comparteix amb l'equip", + "share.option_template_desc": "Empaqueta aquesta configuració perquè una altra persona pugui començar des del mateix entorn.", + "share.option_template_title": "Comparteix una plantilla", + "share.optional_collaborator": "Accés opcional de col·laborador", + "share.public_intro": "Comparteix aquest workspace com un enllaç públic de plantilla.", + "share.publishing": "S'està publicant...", + "share.regenerate_link": "Regenera l'enllaç", + "share.remote_access_desc": "Desactivat per defecte. Activa-ho només quan vulguis que aquest worker sigui accessible des d'una altra màquina.", + "share.remote_access_disabled": "Actualment, l'accés remot està desactivat.", + "share.remote_access_enabled": "L'accés remot està activat actualment.", + "share.remote_access_title": "Accés remot", + "share.remote_save": "Desa", + "share.remote_save_busy": "S'està desant...", + "share_skill_destination.add_to_workspace": "Afegeix-la al workspace", + "share_skill_destination.adding": "Afegint-la", + "share_skill_destination.connect_remote_hint": "Connecta primer un workspace remot", + "share_skill_destination.create_worker_hint": "Crea primer un workspace", + "share_skill_destination.more_options": "Més opcions", + "share.reveal_password": "Revela la contrasenya", + "share.save_to_team": "Desa-ho a l'equip", + "share.saving": "S'està desant...", + "share.setup": "Configuració", + "share.sign_in_to_share": "Inicia la sessió per compartir amb l'equip", + "share.subtitle_access": "Mostra les dades de connexió en directe necessàries per accedir a aquest workspace des d'una altra màquina.", + "share.subtitle_template_public": "Crea un enllaç de plantilla de workspace públic que qualsevol persona pugui importar.", + "share.subtitle_template_team": "Desa una plantilla de workspace a l'organització activa d'OpenWork Cloud.", + "share.team_intro": "Desa aquesta plantilla a l'organització activa d'OpenWork Cloud perquè els companys la puguin obrir més tard des de la configuració de Cloud.", + "share.template_intro": "Comparteix una configuració reutilitzable sense concedir accés en directe a aquest workspace en execució.", + "share.template_item_config": "Commands i configuració", + "share.template_item_config_desc": "Commands reutilitzables i configuració d'OpenWork/OpenCode.", + "share.template_item_settings": "Configuració del workspace", + "share.template_item_settings_desc": "El perfil del workspace compartit i el comportament predeterminat.", + "share.template_item_skills": "Skills incloses", + "share.template_item_skills_desc": "Skills personalitzades desades en aquest workspace.", + "share.template_name_label": "Nom de la plantilla", + "share.title": "Comparteix el workspace", + "share.view_access": "Accedeix al workspace remotament", + "share.view_template": "Comparteix una plantilla", + "share.view_template_public": "Plantilla pública", + "share.view_template_team": "Comparteix amb l'equip", + "share.warning_basic": "Comparteix només amb persones de confiança. Aquestes credencials atorguen accés directe a aquest workspace.", + "share.warning_full": "Aquestes credencials atorguen accés directe a aquest workspace. Compartir aquest workspace de forma remota pot permetre que qualsevol persona amb accés a la vostra xarxa controli el vostre worker.", + "share.workspace_fallback": "Workspace", + "share.workspace_template_desc": "Comparteix la configuració bàsica i els valors predeterminats del workspace.", + "share.workspace_template_title": "Plantilla de workspace", + "share_skill_destination.confirm_busy": "S'està afegint la Skill...", + "share_skill_destination.confirm_button": "Afegeix la Skill al workspace", + "share_skill_destination.connect_remote": "Connecta un workspace remot", + "share_skill_destination.connect_remote_desc": "Connecta un host OpenWork i després tria'l de la llista per importar-hi aquesta Skill.", + "share_skill_destination.create_worker": "Crea un nou workspace", + "share_skill_destination.create_worker_desc": "Obre el flux de configuració del workspace i, a continuació, afegeix aquesta Skill quan el nou workspace estigui llest.", + "share_skill_destination.current_badge": "Actual", + "share_skill_destination.existing_workers": "Workspaces existents", + "share_skill_destination.fallback_skill_name": "Skill compartida", + "share_skill_destination.footer_idle": "Tria un workspace per continuar.", + "share_skill_destination.footer_selected": "Workspace seleccionat:", + "share_skill_destination.local_badge": "Local", + "share_skill_destination.new_destination": "Nova destinació", + "share_skill_destination.no_workers": "Encara no hi ha cap workspace a punt. Crea'n un o connecta un workspace remot per instal·lar-hi aquesta Skill.", + "share_skill_destination.remote_badge": "Remot", + "share_skill_destination.sandbox_badge": "Sandbox", + "share_skill_destination.selected_badge": "Seleccionat", + "share_skill_destination.selected_hint": "Seleccionat. Revisa la destinació aquí sota i confirma.", + "share_skill_destination.skill_label": "Skill compartida", + "share_skill_destination.subtitle": "Tria un workspace existent o crea'n un de nou abans d'importar aquesta Skill compartida.", + "share_skill_destination.title": "On vols posar aquesta Skill?", + "share_skill_destination.trigger_label": "Activador", + "sidebar.active": "Actiu", + "sidebar.add_workspace": "Afegeix un workspace nou", + "sidebar.collapse": "Replega", + "sidebar.connect_remote": "Connecta un worker remot", + "sidebar.delete_session": "Suprimeix la sessió", + "sidebar.drag_reorder": "Arrossega per reordenar", + "sidebar.edit_connection": "Edita la connexió", + "sidebar.expand": "Expandir", + "sidebar.import_config": "Importa la configuració", + "sidebar.needs_attention": "Necessita atenció", + "sidebar.new_worker": "Nou worker", + "sidebar.no_workspaces": "Encara no hi ha workspaces en aquesta sessió. Afegeix-ne un per començar.", + "sidebar.progress": "Progrés", + "sidebar.show_fewer": "Mostra menys", + "sidebar.show_more": "Mostra més {count}", + "sidebar.stop_sandbox": "Atura el sandbox", + "sidebar.switch": "Canvia", + "sidebar.test_connection": "Prova de connexió", + "skills.add_custom_repo": "Afegeix un dipòsit GitHub personalitzat", + "skills.add_git_repo": "Afegeix git repo", + "skills.add_openwork_hub": "Afegeix OpenWork Hub", + "skills.available_from_hub": "Disponible a Hub", + "skills.catalog_search_placeholder": "Cerca Skills instal·lades, d'equip i de concentrador", + "skills.cloud_add_skill": "Afegeix Skill", + "skills.cloud_choose_org_detail": "Fes servir el tauler Cloud per triar la vostra organització activa i, a continuació, actualitza aquesta llista.", + "skills.cloud_choose_org_hint": "Tria una organització a Configuració → Cloud per carregar les Skills de l'equip.", + "skills.cloud_footer_label": "Equip", + "skills.cloud_hub_label": "Hub: {name}", + "skills.cloud_install_need_server": "Connecta't a un servidor OpenWork amb accés d'escriptura d'Skills per instal·lar les Skills d'equip en aquest worker.", + "skills.cloud_installed": "S'ha instal·lat {name} en aquest worker.", + "skills.cloud_installed_as": "S'ha instal·lat com a {name}", + "skills.cloud_installing": "S'està instal·lant {title}...", + "skills.cloud_installing_short": "Instal·lació", + "skills.cloud_no_search_matches": "Cap Skill no coincideix amb aquesta cerca.", + "skills.cloud_org_empty": "Encara no hi ha Skills organitzatives disponibles.", + "skills.cloud_org_fallback": "OpenWork Cloud", + "skills.cloud_org_load_failed": "No s'han pogut carregar les Skills d'organització.", + "skills.cloud_refresh": "Actualitzar les Skills de l'equip", + "skills.cloud_section_subtitle": "Skills que se t'han compartit a través d'OpenWork Cloud, inclosos els hubs d'Skills de l'equip als quals tens accés.", + "skills.cloud_section_title": "De la vostra organització", + "skills.cloud_shared_org": "Org", + "skills.cloud_shared_private": "Privat", + "skills.cloud_shared_public": "Públic", + "skills.cloud_sign_in": "Inicia la sessió a Cloud", + "skills.cloud_sign_in_hint": "Inicia la sessió a OpenWork Cloud per explorar les Skills de l'equip i de l'organització.", + "skills.cloud_status_installed": "Instal·lat", + "skills.cloud_status_update": "Actualització disponible", + "skills.cloud_update_skill": "Actualització", + "skills.cloud_updated": "S'ha actualitzat {name} en aquest worker.", + "skills.cloud_updating": "S'està actualitzant {title}…", + "skills.cloud_removed": "S'ha eliminat l'Skill del núvol local {name}.", + "skills.copy_link_failed": "No s'ha pogut copiar l'enllaç", + "skills.create_in_chat": "Crea Skills al xat", + "skills.desktop_required": "La gestió d'Skills requereix el app d'escriptori.", + "skills.enter_plugin_name": "Introdueix el nom d'un paquet de Plugin.", + "skills.failed_load_active": "No s'han pogut carregar els Plugins actius.", + "skills.failed_load_opencode": "No s'ha pogut carregar opencode.json", + "skills.failed_parse_opencode": "No s'ha pogut analitzar opencode.json", + "skills.failed_to_load": "No s'han pogut carregar les Skills", + "skills.failed_update_opencode": "No s'ha pogut actualitzar opencode.json", + "skills.filter_all": "Tots", + "skills.filter_cloud": "Equip", + "skills.filter_hub": "Hub", + "skills.filter_installed": "Instal·lat", + "skills.from_repo": "Des de {owner}/{repo}", + "skills.github_repo_hint": "Introdueix un repo GitHub en format owner/repo.", + "skills.host_mode_only": "Només workspace local", + "skills.host_only_error": "La gestió d'Skills requereix un workspace local o servidor OpenWork connectat.", + "skills.hub_desc": "Explora les Skills compartides dels concentradors recolzats per GitHub i afegeix-les a aquest worker.", + "skills.hub_label": "Hub", + "skills.import": "Importar", + "skills.import_failed": "La importació ha fallat ({status})", + "skills.import_local": "Importa les Skills locals", + "skills.import_local_hint": "Copia una carpeta d'Skills existent a aquest workspace.", + "skills.import_local_skill": "Importa les Skills locals", + "skills.imported": "Importat.", + "skills.install": "Instal·lar", + "skills.install_failed": "La instal·lació de l'Skill ha fallat.", + "skills.install_name_title": "Instal·la {name}", + "skills.install_skill_creator": "Instal·la el creador d'Skills", + "skills.install_skill_creator_hint": "Aquesta Skill us permet crear altres Skills des del xat.", + "skills.installed": "Skills instal·lades", + "skills.installed_desc": "Les Skills instal·lades en directe en aquest worker i es poden editar o compartir.", + "skills.installed_label": "Instal·lat", + "skills.installed_status": "Instal·lat", + "skills.installing": "Afegeix Skill", + "skills.installing_prefix": "S'està instal·lant {name}...", + "skills.installing_skill_creator": "S'està instal·lant el creador d'Skills...", + "skills.link_copied": "S'ha copiat l'enllaç", + "skills.loading": "S'està carregant…", + "skills.no_description": "Encara no hi ha descripció.", + "skills.no_hub_repo_label": "No s'ha seleccionat cap dipòsit de concentrador", + "skills.no_hub_repo_selected": "No hi ha Skills de concentració disponibles.", + "skills.no_hub_skills": "No s'ha seleccionat cap dipòsit de concentrador. Afegeix un repo GitHub per navegar per Skills.", + "skills.no_opencode_found": "Encara no s'ha trobat cap opencode.json. Afegeix un Plugin per crear-ne un.", + "skills.no_opencode_workspace": "Encara no hi ha opencode.json en aquest workspace.", + "skills.no_skills": "No s'ha detectat cap Skill a `.opencode/skills`, `.claude/skills` o `~/.agents/skills`.", + "skills.no_skills_found": "Encara no s'han trobat Skills.", + "skills.owner_label": "Propietari", + "skills.owner_repo_required": "El propietari i el dipòsit són necessaris.", + "skills.pick_project_first": "Tria primer una carpeta de projecte.", + "skills.pick_project_for_active": "Tria una carpeta de projecte per carregar Plugins actius.", + "skills.pick_project_for_plugins": "Tria una carpeta de projecte per gestionar els Plugins del projecte.", + "skills.pick_workspace_first": "Tria primer una carpeta de workspace.", + "skills.plugin_already_listed": "El Plugin ja apareix a opencode.json.", + "skills.plugin_management_host_only": "La gestió de Plugins requereix el app d'escriptori.", + "skills.plugins_host_only": "Plugins només estan disponibles a app d'escriptori.", + "skills.ref_label": "Ref (branch/tag/commit)", + "skills.refresh": "Actualitza", + "skills.refresh_hub": "Actualitzar el centre", + "skills.refresh_hub_title": "Actualitzar el catàleg de concentradors", + "skills.remove_saved_repo": "Elimina el repositori desat", + "skills.repo_label": "Repo", + "skills.reveal_failed": "No s'ha pogut obrir la carpeta d'Skills.", + "skills.reveal_folder": "Obre la carpeta d'Skills", + "skills.reveal_folder_hint": "Obre el directori d'Skills a Finder.", + "skills.save_and_load": "Guarda i carrega", + "skills.save_failed": "No s'ha pogut desar l'Skill.", + "skills.select_skill_folder": "Selecciona la carpeta d'Skills", + "skills.share_back": "Enrere", + "skills.share_chooser_subtitle": "Desa a la vostra organització OpenWork Cloud o publiqueu un enllaç d'instal·lació públic.", + "skills.share_close": "Tancar", + "skills.share_copy_link": "Còpia", + "skills.share_done": "Fet", + "skills.share_option_public_desc": "Crea un enllaç que qualsevol pugui utilitzar per instal·lar aquesta Skill.", + "skills.share_option_public_title": "Enllaç públic", + "skills.share_option_team_desc": "Afegeix aquesta Skill a la vostra organització OpenWork Cloud activa.", + "skills.share_option_team_title": "Comparteix amb l'equip", + "skills.share_public_create": "Crea un enllaç", + "skills.share_public_creating": "S'està publicant…", + "skills.share_public_intro": "Publicar un enllaç públic. Qualsevol persona amb l'URL pot instal·lar aquesta Skill.", + "skills.share_public_regenerate": "Regenera l'enllaç", + "skills.share_publisher_label": "Editor", + "skills.share_subtitle_public": "Qualsevol persona amb l'enllaç pot instal·lar aquesta Skill.", + "skills.share_subtitle_team": "Emmagatzemat a la vostra organització per als companys d'equip.", + "skills.share_team_choose_org": "Tria una organització a Configuració → Cloud abans de compartir-la amb el vostre equip.", + "skills.share_team_permissions_intro": "Carrega aquesta Skill a la vostra organització OpenWork Cloud activa i decidiu qui la pot veure.", + "skills.share_team_permissions_label": "Permisos per compartir", + "skills.share_team_permission_org": "Només organització: no al centre", + "skills.share_team_permission_private": "Privat només per a mi", + "skills.share_team_hub_label": "Afegeix al centre d'Skills (opcional)", + "skills.share_team_hub_none": "Només organització, no en un centre", + "skills.share_team_hubs_loading": "S'estan carregant els concentradors…", + "skills.share_team_intro": "Desa aquesta Skill a la teva organització activa perquè els companys d'equip la puguin instal·lar des de Cloud.", + "skills.share_team_org_fallback": "Organització activa de Cloud", + "skills.share_team_save": "Desa a l'equip", + "skills.share_team_saving": "S'està desant…", + "skills.share_team_upload_and_save": "Carrega i desa", + "skills.share_team_uploading": "S'està carregant…", + "skills.share_team_sign_in": "Inicia la sessió per compartir amb l'equip", + "skills.share_team_sign_in_hint": "OpenWork Cloud s'obre al vostre navegador. Torna aquí després d'iniciar la sessió.", + "skills.share_team_success": "Desat a {org}. Els companys d'equip poden instal·lar-lo des de les vostres Skills organitzatives.", + "skills.share_team_uploaded_success": "Penjat a {org}. Les Skills Cloud s'actualitzaran per al vostre compte.", + "skills.share_title": "Comparteix Skill", + "skills.shown_count": "Es mostra {count}", + "skills.skill_creator_already_installed": "El creador d'Skills ja està instal·lat.", + "skills.skill_creator_installed": "Skill creator instal·lat.", + "skills.skill_load_failed": "No s'ha pogut carregar l'Skill.", + "skills.source_label": "Font", + "skills.subtitle": "Gestiona les Skills per a aquest workspace.", + "skills.title": "Skills", + "skills.trigger_label": "Activador: {trigger}", + "skills.uninstall": "Desinstal·la", + "skills.uninstall_failed": "No s'ha pogut desinstal·lar l'Skill.", + "skills.uninstall_title": "Vols desinstal·lar l'Skill?", + "skills.uninstall_warning": "Això suprimirà permanentment l'Skill `{name}` del vostre workspace.", + "skills.uninstalled": "S'ha eliminat l'Skill.", + "skills.unknown_error": "Error desconegut", + "skills.worker_profile_desc": "Skills són les Skills bàsiques d'aquest worker. Descobreix-los des de Hub, gestiona el que està instal·lat i crea-ne de nous directament al xat.", + "status.back": "Torna a la pantalla anterior", + "status.connected": "Connectat", + "status.connecting": "Connectant", + "status.creating_task": "Creació de nova tasca", + "status.creating_workspace": "Creació de workspace", + "status.developer_mode": "Mode de desenvolupador", + "status.disconnected": "Desconnectat", + "status.disconnected_hint": "Obre la configuració per tornar a connectar-te", + "status.disconnected_label": "Desconnectat", + "status.disconnecting": "Desconnectant", + "status.feedback": "Feedback", + "status.idle": "Inactiu", + "status.installing_opencode": "S'està instal·lant OpenCode", + "status.limited_hint": "Torna a connectar-vos per restaurar les funcions completes de OpenWork", + "status.limited_mcp_hint": "{count} MCP connectat · Torna a connectar per obtenir funcions completes", + "status.limited_mode": "Mode limitat", + "status.live": "Viu", + "status.loading_session": "Sessió de càrrega", + "status.mcp_connected": "{count} MCP connectat", + "status.openwork_ready": "OpenWork llest", + "status.providers_connected": "Proveïdor {count}{plural} connectat", + "status.ready_for_tasks": "Preparat per a noves tasques", + "status.reloading_engine": "Recàrrega del motor", + "status.restarting_engine": "Reiniciant el motor", + "status.running": "Córrer", + "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ó.", + "system.reload_body_default": "OpenWork ha detectat canvis que requereixen tornar a carregar la instància OpenCode.", + "system.reload_body_mcp": "OpenCode carrega els servidors MCP a l'inici. Torna a carregar el motor per activar la nova connexió.", + "system.reload_body_mixed": "OpenWork ha detectat canvis en la configuració de OpenCode. Torna a carregar el motor per aplicar-los.", + "system.reload_body_plugins": "OpenCode carrega Plugins npm a l'inici. Torna a carregar el motor per aplicar els canvis opencode.json.", + "system.reload_body_skills": "OpenCode pot emmagatzemar a la memòria cache el descobriment d'Skills/state. Torna a carregar el motor per posar a disposició les Skills instal·lades recentment.", + "system.reload_failed": "No s'ha pogut tornar a carregar el motor.", + "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", + "time.seconds_ago": "fa {count}s", + "workspace.loading_tasks": "S'estan carregant tasques...", + "workspace.local_badge": "Local", + "workspace.new_task_inline": "+ Tasca nova", + "workspace.no_tasks": "Encara no hi ha tasques.", + "workspace.remote_badge": "Remot", + "workspace.rename_description": "Actualitza el nom que es mostra a la barra lateral.", + "workspace.rename_label": "Nom del workspace", + "workspace.rename_placeholder": "Disseny del workspace en equip", + "workspace.rename_title": "Edita el nom del workspace", + "workspace.sandbox_badge": "Sandbox", + "workspace.selected": "Seleccionat", + "workspace.switch": "Canvia", + "workspace.switching_status_connecting": "Comprovant la teva connexió", + "workspace.switching_status_loading": "S'estan carregant tasques recents", + "workspace.switching_status_preparing": "Preparant les coses", + "workspace.switching_subtitle": "Tornarem a portar el teu treball recent.", + "workspace.switching_title": "Obertura de {name}", + "workspace.switching_title_unknown": "Obertura del workspace", + "workspace_list.add_workspace": "Afegeix un workspace", + "workspace_list.connect_remote": "Connecta un workspace remot", + "workspace_list.connecting": "S'està connectant...", + "workspace_list.delete_session": "Suprimeix la sessió", + "workspace_list.desktop_only_hint": "Crea workspaces locals des de l'app d'escriptori.", + "workspace_list.edit_connection": "Edita la connexió", + "workspace_list.edit_name": "Edita el nom", + "workspace_list.hide_child_sessions": "Amaga les sessions infantils", + "workspace_list.import_config": "Importa la configuració", + "workspace_list.new_workspace": "Nou workspace", + "workspace_list.recover": "Recupera", + "workspace_list.remove_workspace": "Elimina el workspace", + "workspace_list.rename_session": "Canvia el nom de la sessió", + "workspace_list.reveal_explorer": "Mostra a l'Explorer", + "workspace_list.reveal_finder": "Mostra al Finder", + "workspace_list.session_actions": "Accions de sessió", + "workspace_list.share": "Comparteix...", + "workspace_list.show_child_sessions": "Mostra les sessions infantils", + "workspace_list.show_more": "Mostra'n {count} més", + "workspace_list.show_more_fallback": "Mostra'n més", + "workspace_list.test_connection": "Prova de connexió", + "workspace_list.workspace_fallback": "Workspace", + "workspace_list.workspace_options": "Opcions de workspace", + "workspace_sidebar.automations": "Automatitzacions", + "workspace_sidebar.close_sidebar": "Tanca la barra lateral", + "workspace_sidebar.collapse_sidebar": "Replega la barra lateral", + "workspace_sidebar.configuration": "configuració", + "workspace_sidebar.expand_sidebar": "Desplega la barra lateral", + "workspace_sidebar.extensions": "Extensions", + "workspace_sidebar.messaging": "Missatgeria", +} as const; diff --git a/apps/app/src/i18n/locales/index.ts b/apps/app/src/i18n/locales/index.ts index ea94840a..764fbb91 100644 --- a/apps/app/src/i18n/locales/index.ts +++ b/apps/app/src/i18n/locales/index.ts @@ -7,4 +7,5 @@ export { default as zh } from "./zh"; export { default as vi } from "./vi"; export { default as ptBR } from "./pt-BR"; export { default as fr } from "./fr"; +export { default as ca } from "./ca"; export { default as es } from "./es"; diff --git a/scripts/i18n-audit.mjs b/scripts/i18n-audit.mjs index 856e1e4f..1e515b93 100644 --- a/scripts/i18n-audit.mjs +++ b/scripts/i18n-audit.mjs @@ -25,7 +25,7 @@ const REPO_ROOT = resolve(__dirname, ".."); const LOCALES_DIR = join(REPO_ROOT, "apps/app/src/i18n/locales"); const APP_SRC = join(REPO_ROOT, "apps/app/src"); -const LOCALES = ["ja", "zh", "vi", "pt-BR", "th", "fr", "es"]; +const LOCALES = ["ja", "zh", "vi", "pt-BR", "th", "fr", "ca", "es"]; const EN_FILE = join(LOCALES_DIR, "en.ts"); const mode = process.argv[2] ?? "--all";