{
  "first_run": {
    "window_title": "EMDS Workbench — Configuração inicial",
    "heading": "Conclua a configuração do EMDS Workbench",
    "missing_intro": "Estes pacotes Python estão faltando no ambiente Python do QGIS:",
    "explain": "O EMDS pode instalá-los agora no Python incluído com o QGIS. Pacotes que o QGIS já fornece não são alterados. É necessária conexão com a internet.",
    "python_label": "Python do QGIS:",
    "command_label": "Comando que será executado:",
    "include_matplotlib": "Instalar também o matplotlib (opcional — usado para gráficos de resultados)",
    "btn_install": "Instalar agora",
    "btn_not_now": "Agora não",
    "btn_manual": "Mostrar instruções manuais",
    "btn_cancel": "Cancelar",
    "btn_close_done": "Fechar",
    "btn_enable_now": "Ativar EMDS agora",
    "installing": "Instalando — isso pode levar alguns minutos…",
    "step_ensure_pip": "Preparando o pip…",
    "step_install": "Instalando pacotes…",
    "step_verify": "Verificando a instalação…",
    "step_resign": "Reparando assinaturas de bibliotecas (macOS)…",
    "success_enable": "Configuração concluída. O EMDS está pronto — ative agora ou reinicie o QGIS.",
    "success_restart": "Configuração concluída. Reinicie o QGIS para começar a usar o EMDS Workbench.",
    "failed": "A configuração não foi concluída. Verifique o log abaixo ou use as instruções manuais.",
    "canceled": "Instalação cancelada.",
    "no_python": "Não foi possível localizar o interpretador Python usado pelo QGIS. Use as instruções manuais.",
    "manual_title": "Instalação manual",
    "manual_body": "Execute o script de dependências para a sua plataforma e reinicie o QGIS:\n{script}\nNo macOS e Linux o script vem no download '-setup', ao lado do ZIP do plugin. No Windows, baixe-o do site do EMDS.",
    "log_label": "Log:",
    "menu_finish_setup": "Concluir configuração do EMDS…",
    "repo_title": "Atualizações do EMDS",
    "repo_body": "Receber atualizações do EMDS automaticamente pelo Gerenciador de Complementos do QGIS?\n\nIsto adiciona ao QGIS o repositório de complementos do EMDS para a sua plataforma:\n{url}\n\nVocê pode removê-lo a qualquer momento em Complementos → Gerenciar e Instalar Complementos → Configurações."
  },
  "language": {
    "label": "Idioma:",
    "en": "EN",
    "es": "ES",
    "de": "DE",
    "pt": "PT"
  },
  "dock": {
    "window_title": "Tarefas de análise EMDS",
    "tab_guided": "Workbench guiado",
    "tab_advanced": "Avançado",
    "summary": "Selecione um item da árvore para gerir espaços de trabalho, áreas de estudo, análises, tarefas e resultados.",
    "tree_header": "EMDS Workbench",
    "action_hint": "Dica: clique com o botão direito nos itens da árvore para mais ações, ferramentas de pipeline e visualizadores de resultados.",
    "splitter_tooltip": "Arraste para redimensionar a árvore do Workbench e o painel de ações.",
    "inspector_name_default": "Seleção: Nada selecionado",
    "inspector_type_default": "Tipo: Nada selecionado. Selecione um espaço de trabalho, área de estudo, análise, tarefa ou resultado.",
    "inspector_help_default": "O que posso fazer a seguir? Crie um espaço de trabalho para começar.",
    "group_workspaces": "Espaços de trabalho",
    "group_study_areas": "Áreas de estudo",
    "group_analyses": "Análises",
    "group_pipeline": "Gestão de pipelines",
    "group_results": "Resultados",
    "btn_new_project": "Criar espaço de trabalho",
    "tip_new_project": "Crie um novo espaço de trabalho EMDS. Os espaços de trabalho são armazenados na pasta Documentos/EmdsProjects.",
    "btn_new_assessment": "Criar área de estudo",
    "tip_new_assessment": "Crie uma área de estudo sob o espaço de trabalho selecionado, combinando uma camada-alvo com camadas de sobreposição/inclusão.",
    "btn_new_task_workflow": "Criar análise",
    "tip_new_task_workflow": "Crie uma análise sob a área de estudo selecionada e configure a sua primeira tarefa.",
    "btn_new_task": "Adicionar tarefa",
    "tip_new_task": "Adicione uma tarefa à análise selecionada.",
    "btn_launch_workflow_editor": "Iniciar construtor de pipelines",
    "tip_launch_workflow_editor": "Crie, abra ou guarde pipelines reutilizáveis para o espaço de trabalho selecionado.",
    "btn_edit_selected": "Editar selecionado",
    "btn_delete_selected": "Eliminar selecionado",
    "tip_project_edit": "Editar o espaço de trabalho selecionado.",
    "tip_project_delete": "Eliminar o espaço de trabalho selecionado.",
    "tip_assessment_edit": "Editar a área de estudo selecionada.",
    "tip_assessment_delete": "Eliminar a área de estudo selecionada.",
    "tip_path_edit": "Editar a análise ou tarefa selecionada.",
    "tip_path_delete": "Eliminar a análise ou tarefa selecionada.",
    "btn_open_results": "Abrir resultados",
    "tip_open_results": "Abrir os resultados da tarefa selecionada no visualizador de tabelas.",
    "btn_engine_results": "Abrir visualizador do motor",
    "tip_engine_results": "Abrir o visualizador específico do motor de hotlink/resultados.",
    "btn_result_chart": "Ver gráfico",
    "tip_result_chart": "Abrir uma vista de histograma/gráfico para campos numéricos de resultados.",
    "btn_execution_history": "Histórico de execução",
    "tip_execution_history": "Rever execuções da tarefa selecionada.",
    "btn_show_map": "Mostrar no mapa",
    "tip_show_map": "Mostrar a camada de resultados selecionada no mapa do QGIS.",
    "btn_toggle_visibility": "Alternar visibilidade",
    "tip_toggle_visibility": "Alternar a visibilidade da camada de resultados selecionada."
  },
  "tutorials": {
    "open_prefix": "Abrir:",
    "watch_this_step": "Ver este passo",
    "getting_started": "Primeiros passos",
    "create_workspace": "Criar um espaço de trabalho",
    "first_task": "Executar a primeira tarefa",
    "create_study_area": "Criar um espaço de trabalho e uma área de estudo",
    "review_results": "Rever resultados"
  },
  "guided_state": {
    "name_none": "Nenhum",
    "context_lines": "Espaço de trabalho: {workspace}\nÁrea de estudo: {study}\nAnálise: {analysis}",
    "status_start": "Estado: comece aqui",
    "status_workspace_ready": "Estado: espaço de trabalho pronto",
    "status_study_ready": "Estado: área de estudo pronta",
    "status_result_selected": "Estado: resultado selecionado",
    "status_task_selected": "Estado: tarefa selecionada",
    "status_analysis_ready": "Estado: análise pronta",
    "next_create_workspace": "Crie um novo espaço de trabalho EMDS ou abra um existente.",
    "next_create_study": "Crie ou selecione uma área de estudo para definir o âmbito SIG.",
    "next_create_analysis": "Crie uma análise e configure a sua primeira tarefa para esta área de estudo.",
    "next_review_result": "Reveja este resultado numa tabela, gráfico ou visualizador de hotlink.",
    "next_run_task": "Execute esta tarefa ou reveja qualquer resultado que ela produza.",
    "next_add_task": "Adicione uma tarefa com um objetivo adequado a iniciantes.",
    "btn_create_workspace": "Criar espaço de trabalho",
    "btn_open_workspace": "Abrir espaço de trabalho",
    "btn_create_study": "Criar área de estudo",
    "btn_select_study": "Selecionar área de estudo",
    "btn_create_analysis": "Criar análise",
    "btn_select_analysis": "Selecionar análise",
    "btn_select_task": "Selecionar tarefa",
    "btn_view_table": "Ver tabela",
    "btn_show_on_map": "Mostrar no mapa",
    "btn_run_task": "Executar tarefa",
    "btn_view_hotlink": "Ver hotlink",
    "btn_prioritize": "Priorizar itens (CDP)",
    "btn_assess_conditions": "Avaliar condições (NW)",
    "helper_open_workspace_first": "Abra primeiro um espaço de trabalho",
    "helper_create_study_first": "Crie ou selecione primeiro uma área de estudo",
    "helper_create_analysis_first": "Crie ou selecione primeiro uma análise",
    "helper_run_task_first": "Execute primeiro uma tarefa",
    "activity_lines": "Espaço de trabalho atual: {workspace}\nÁrea de estudo atual: {study}\nAnálise atual: {analysis}\nPróximo passo sugerido: {next_text}"
  },
  "selection": {
    "inspector_name_selected": "Seleção: {name}",
    "inspector_name_none": "Nada selecionado",
    "inspector_type_selected": "Tipo: {type}. {explanation}",
    "inspector_help_selected": "O que posso fazer a seguir? {hint}",
    "summary_selected": "Clique com o botão direito em qualquer item da árvore para mais ações, incluindo visualizadores de resultados e ferramentas de pipeline.",
    "btn_add_subtask": "Adicionar subtarefa",
    "tip_add_subtask": "Adicione uma subtarefa que herda a saída da tarefa selecionada.",
    "btn_engine_netweaver": "Abrir visualizador NetWeaver",
    "btn_engine_cdp": "Abrir visualizador CDP"
  },
  "guided": {
    "default_context_no_workspace": "Nenhum espaço de trabalho aberto.",
    "default_status_start": "Estado: comece aqui",
    "sequence": "Como funciona: Criar/Abrir espaço de trabalho -> Criar/Selecionar área de estudo -> Criar análise + primeira tarefa -> Rever resultado",
    "help_title": "Ajuda / Tutoriais",
    "help_body": "Estão disponíveis pequenos tutoriais enquanto trabalha no modo guiado.",
    "section_next": "Próxima melhor ação",
    "section_all_ops": "Todas as operações EMDS",
    "section_status": "Estado",
    "default_next_text": "Crie um novo espaço de trabalho EMDS ou abra um existente.",
    "btn_create_workspace": "Criar espaço de trabalho",
    "btn_open_workspace": "Abrir espaço de trabalho",
    "btn_create_study": "Criar área de estudo",
    "btn_select_study": "Selecionar área de estudo",
    "btn_create_analysis": "Criar análise",
    "btn_select_analysis": "Selecionar análise",
    "btn_select_task": "Selecionar tarefa",
    "group_workspace": "Espaço de trabalho",
    "group_study_area": "Área de estudo",
    "group_analysis": "Análise",
    "group_tasks": "Tarefas",
    "group_results": "Resultados",
    "btn_assess_conditions": "Avaliar condições (NW)",
    "tip_assess_conditions": "Criar uma tarefa NetWeaver.",
    "btn_prioritize": "Priorizar itens (CDP)",
    "tip_prioritize": "Criar uma tarefa de priorização CDP.",
    "btn_compare": "Comparar alternativas",
    "tip_compare": "Criar uma tarefa MCDA/CDP.",
    "btn_portfolio": "Construir portefólio (LPA)",
    "tip_portfolio": "Criar uma tarefa de portefólio/LPA.",
    "btn_view_table": "Ver tabela",
    "btn_view_chart": "Ver gráfico",
    "btn_view_hotlink": "Ver hotlink"
  },
  "create_workspace": {
    "window_title": "Criar espaço de trabalho",
    "hint_title": "Espaço de trabalho",
    "hint_body": "Crie a pasta do espaço de trabalho EMDS, o armazenamento de metadados e o projeto anfitrião do QGIS. Pode criar áreas de estudo manualmente depois de o espaço de trabalho ser aberto.",
    "lbl_name": "Nome do espaço de trabalho:",
    "lbl_description": "Descrição do espaço de trabalho:",
    "lbl_layers": "Camadas do espaço de trabalho:",
    "validation_name": "nome do espaço de trabalho"
  },
  "engines": {
    "netweaver": {
      "label": "NetWeaver",
      "description": "Use o NetWeaver quando tiver um modelo de conhecimento e quiser avaliar dados cartográficos face a lógica ecológica, adequação, condição, risco ou outras proposições baseadas em regras."
    },
    "cdp": {
      "label": "Priorização CDP",
      "description": "Use a Priorização CDP quando tiver um modelo CDP e quiser classificar, pontuar ou categorizar locais ou alternativas usando critérios, classificações e regras de decisão."
    },
    "portfolio": {
      "label": "Portefólio",
      "description": "Use Portefólio quando precisar de escolher um conjunto de projetos ou ações sob restrições de orçamento, custo, benefício, financiamento ou estratégia."
    }
  },
  "create_benchmark": {
    "window_title": "Criar benchmarks de avaliação",
    "err_title": "Erro",
    "err_no_db": "Nenhum caminho de base de dados configurado.",
    "progress_start": "A iniciar execução do benchmark...",
    "btn_cancel": "Cancelar",
    "progress_running": "A executar {method} ({index}/{total})",
    "err_benchmark_title": "Erro do benchmark",
    "results_title": "Resultados do benchmark",
    "results_header": "Resultados por método (sobreposição | escrita | total)\n"
  },
  "create_portfolio": {
    "window_title": "Criar novo portefólio",
    "page_details_title": "Detalhes do portefólio",
    "page_details_subtitle": "Nomeie o portefólio, (opcionalmente) adicione comentários e escolha o campo que identifica de forma única cada projeto candidato.",
    "context_group": "Contexto do estudo",
    "lbl_workspace": "Espaço de trabalho",
    "lbl_study": "Estudo",
    "lbl_input_layer": "Camada de entrada",
    "lbl_input_table": "Tabela de entrada",
    "not_set": "(não definido)",
    "not_used": "(não usado)",
    "unnamed": "(portefólio sem nome)",
    "row_name": "Nome do portefólio",
    "name_placeholder": "p. ex. Portefólio de restauração da paisagem",
    "row_comments": "Comentários",
    "row_unique_field": "Nome do campo único",
    "run_immediately": "Executar o portefólio quando o assistente terminar",
    "page_costs_title": "Especificar custos e benefícios",
    "page_costs_subtitle": "Escolha as colunas numéricas que conduzem a alocação tipo mochila. As unidades são rótulos de formato livre apresentados no relatório.",
    "row_benefit_field": "Campo de benefício",
    "row_benefit_units": "Unidades de benefício",
    "benefit_units_placeholder": "p. ex. Hectares, Pontos, Índice",
    "row_cost_field": "Campo de custo",
    "row_cost_units": "Unidades de custo",
    "cost_units_placeholder": "p. ex. €, USD",
    "row_prioritization_field": "Campo de priorização (opcional)",
    "row_prioritization_units": "Unidades de priorização",
    "prioritization_units_placeholder": "p. ex. Pontuação, Posição",
    "prioritization_hint": "O campo de priorização só é usado pelas estratégias de Priorização e de Rácio Priorização/Custo.",
    "page_budget_title": "Definir orçamento e estratégia",
    "page_budget_subtitle": "Defina o orçamento geral e escolha como o motor deve classificar candidatos ao preencher o portefólio de forma gulosa.",
    "row_budget": "Orçamento total do portefólio",
    "group_strategy": "Estratégia do portefólio",
    "group_sort_order": "Ordem",
    "direction_descending": "Decrescente (do maior para o menor) -- escolher primeiro os melhores",
    "direction_ascending": "Crescente (do menor para o maior) -- escolher primeiro os mais baratos/piores",
    "page_funding_title": "Pacotes de orçamento e mapeamento de categorias",
    "page_funding_subtitle": "Defina o nome de alocação padrão, divida o orçamento total pelas secções de pacotes e, opcionalmente, mapeie códigos de categoria para esses pacotes.",
    "group_allocation": "Alocação de orçamento",
    "row_allocation_name": "Nome da alocação",
    "default_allocation": "Alocação predefinida",
    "row_overall_budget": "Orçamento geral",
    "row_allocated_total": "Total alocado",
    "group_enabled_buckets": "Pacotes ativados",
    "bucket_hint": "Cada pacote ativado deve ter um nome e um valor. Os valores dos pacotes ativados devem corresponder exatamente ao orçamento geral.",
    "bucket_default_name": "Pacote {letter}",
    "checkbox_enabled": "Ativado",
    "row_bucket_name": "Nome do pacote",
    "row_bucket_amount": "Valor",
    "group_category_mapping": "Mapeamento de categorias",
    "category_hint": "Opcionalmente, mapeie um campo de categoria para divisões percentuais por pacote. Deixe em branco se o portefólio usar apenas os valores de pacote acima.",
    "row_category_field": "Campo de categoria",
    "group_percent": "Percentagens de alocação por categoria",
    "percent_hint": "Para cada valor de categoria de financiamento, introduza a percentagem do custo de cada projeto que é retirada de cada silo. Cada linha deve somar 100.",
    "btn_add_row": "Adicionar linha",
    "btn_remove_row": "Remover selecionada",
    "col_category_code": "Código de categoria",
    "col_pct_a": "% Silo A",
    "col_pct_b": "% Silo B",
    "col_pct_c": "% Silo C",
    "page_summary_title": "Concluir",
    "page_summary_subtitle": "Reveja a configuração do portefólio antes de concluir.",
    "summary_intro": "Reveja {name} antes de concluir. O método de avaliação selecionado é {strategy}.",
    "group_mappings": "Mapeamento de colunas",
    "col_mapping": "Mapeamento",
    "col_value": "Valor",
    "group_budget": "Orçamento",
    "col_budget_item": "Item de orçamento",
    "group_buckets_summary": "Pacotes ativados",
    "col_bucket": "Pacote",
    "col_name": "Nome",
    "col_amount": "Valor",
    "group_evaluation": "Método de avaliação",
    "col_method": "Método",
    "bucket_label": "Pacote {letter}",
    "summary_unique_field": "Campo único",
    "summary_benefit_field": "Campo de benefício",
    "summary_cost_field": "Campo de custo",
    "summary_prioritization_field": "Campo de priorização",
    "summary_method": "Método",
    "summary_sort_order": "Ordem",
    "direction_label_ascending": "Crescente",
    "direction_label_descending": "Decrescente",
    "saved_title": "Configurações de portefólio guardadas",
    "saved_none_found": "Não foram encontradas configurações de portefólio guardadas para este espaço de trabalho e tabela de entrada.",
    "validation_title": "Erro de validação",
    "validation_name_required": "Introduza um nome de portefólio.",
    "validation_choose_unique": "Escolha um campo identificador único.",
    "validation_choose_benefit": "Escolha um campo de benefício.",
    "validation_choose_cost": "Escolha um campo de custo.",
    "validation_need_prioritization_field": "A estratégia selecionada requer um campo de priorização.",
    "validation_budget_positive": "O orçamento geral deve ser maior que zero.",
    "validation_select_prio_prev": "Selecione um campo de priorização na página anterior para esta estratégia.",
    "validation_enable_bucket": "Ative pelo menos um pacote.",
    "validation_name_for_bucket": "Introduza um nome para o pacote ativado {letter}.",
    "validation_bucket_match_budget": "Os valores dos pacotes ativados devem ser exatamente iguais ao orçamento geral.",
    "validation_need_category_row": "Adicione pelo menos uma linha de código de categoria ou apague o campo de categoria.",
    "validation_percent_sum_100": "As percentagens da categoria '{code}' devem somar 100 (atualmente {total:g})."
  },
  "create_assessment": {
    "window_title": "Criar área de estudo",
    "status_include": "Incluir na área de estudo",
    "status_target": "Incluir como alvo",
    "status_selector": "Usar como seletor",
    "status_exclude": "Excluir",
    "page_initial_title": "Configuração inicial",
    "page_initial_subtitle": "Configure o nome da área de estudo e escolha os papéis das camadas.",
    "hint_initial_title": "Escolha o âmbito SIG",
    "hint_initial_body": "Dê um nome claro a esta área de estudo, depois marque exatamente uma camada-alvo e as camadas de sobreposição incluídas. Uma boa predefinição é fazer da unidade principal de decisão a sua camada-alvo e manter apenas as sobreposições necessárias para este estudo.",
    "group_study_area": "Área de estudo",
    "name_placeholder": "Introduza o nome da área de estudo",
    "description_placeholder": "Introduza uma descrição",
    "row_name": "Nome:",
    "row_description": "Descrição:",
    "lbl_configure_status": "Configurar estado das camadas para a área de estudo:",
    "col_layer_name": "Nome da camada",
    "col_geometry_type": "Tipo de geometria",
    "col_status": "Estado",
    "col_feature_count": "Entidades",
    "count_unknown": "—",
    "page_features_title": "Seleção de entidades",
    "page_features_subtitle": "Selecione entidades da camada-alvo.",
    "hint_features_title": "Escolha as entidades a transportar",
    "hint_features_body": "Selecione apenas as entidades-alvo que pertencem a esta área de estudo. Se ainda está a explorar, comece com um conjunto menor para confirmar o fluxo de trabalho e os resultados antes de expandir a área.",
    "lbl_target_layer": "Camada-alvo:",
    "lbl_target_layer_with_value": "Camada-alvo: {name}",
    "lbl_target_with_selector": "Camada-alvo: {target} | Seletor: {selector}",
    "btn_select_all": "Selecionar todas as entidades",
    "btn_clear_selection": "Limpar seleção",
    "btn_pan": "Mover",
    "btn_rectangle": "Seleção retangular",
    "selection_count": "Selecionadas: {count} entidades",
    "selector_mode_msg": "Modo seletor: todas as entidades-alvo serão filtradas pela camada seletora",
    "page_summary_title": "Resumo",
    "page_summary_subtitle": "Reveja a configuração da área de estudo antes de criar a saída.",
    "group_basic_info": "Informação básica",
    "summary_features_default": "0 entidades selecionadas",
    "row_study_area_name": "Nome da área de estudo:",
    "row_selected_features": "Entidades selecionadas:",
    "no_description": "Sem descrição",
    "selector_summary": "Área de estudo seletora usando a camada seletora '{name}'",
    "simple_summary": "Área de estudo simples. As entidades-alvo selecionadas serão copiadas como saída da área de estudo.",
    "overlay_summary": "Área de estudo com sobreposição com {count} camada(s) incluída(s)",
    "validation_title": "Erro de validação",
    "validation_name_required": "Introduza um nome de área de estudo.",
    "validation_exactly_one_target": "Selecione exatamente uma camada como 'Incluir como alvo'.",
    "validation_at_most_one_selector": "Selecione não mais do que uma camada como 'Usar como seletor'.",
    "validation_selector_polygon": "A camada seletora '{name}' deve ser uma camada de polígonos.",
    "validation_geometry_mismatch": "A(s) camada(s) da área de estudo {layers} devem ter o mesmo tipo de geometria que a camada-alvo '{target}'.",
    "validation_no_target": "Não há camada-alvo disponível.",
    "validation_no_features": "Selecione pelo menos uma entidade antes de prosseguir.",
    "err_workspace_db_title": "Base de dados do espaço de trabalho em falta",
    "err_workspace_db_body": "O espaço de trabalho atual não tem um caminho de base de dados GeoPackage configurado.",
    "progress_creating": "A criar saída da área de estudo...",
    "progress_overlay_selector": "A construir a sobreposição da área de estudo a partir da camada seletora...",
    "progress_overlay_features": "A construir a sobreposição da área de estudo a partir das entidades selecionadas...",
    "progress_save": "A guardar a saída da área de estudo na base de dados do espaço de trabalho...",
    "progress_metadata": "A finalizar metadados da área de estudo...",
    "err_study_area_title": "Erro da área de estudo"
  },
  "create_netweaver": {
    "window_title": "Criar análise NetWeaver",
    "page_details_title": "Detalhes da análise",
    "page_details_subtitle": "Capture o nome da tarefa e o contexto do estudo recebido.",
    "context_group": "Contexto do estudo",
    "lbl_workspace": "Espaço de trabalho",
    "lbl_study": "Estudo",
    "lbl_input_layer": "Camada de entrada",
    "lbl_input_table": "Tabela de entrada",
    "not_set": "(não definido)",
    "lbl_analysis_name": "Nome da análise",
    "lbl_comments": "Comentários",
    "run_immediately": "Executar o NetWeaver quando o assistente terminar",
    "page_model_title": "Modelo e tópicos",
    "page_model_subtitle": "Carregue o modelo NetWeaver e selecione os tópicos a avaliar.",
    "model_placeholder": "Selecione um ficheiro de modelo .nw2",
    "btn_browse": "Procurar",
    "btn_reload_model": "Recarregar modelo",
    "model_not_loaded": "Modelo ainda não carregado.",
    "group_available_topics": "Tópicos disponíveis",
    "group_selected_topics": "Tópicos selecionados",
    "btn_add": "Adicionar ->",
    "btn_remove": "<- Remover",
    "btn_add_all": "Adicionar todos",
    "page_mapping_title": "Mapeamento de campos",
    "page_mapping_subtitle": "Mapeie campos da tabela de entrada para as variáveis NetWeaver usadas pelos tópicos selecionados.",
    "mapping_default": "Carregue um modelo e selecione tópicos para gerar a tabela de mapeamento de campos.",
    "btn_load_mapping": "Carregar mapeamento guardado",
    "btn_save_mapping": "Guardar mapeamento",
    "col_variable": "Variável",
    "col_input_field": "Campo de entrada",
    "var_conditional_ignore_note": "ignorada condicionalmente - mapeie um campo para a incluir",
    "var_persistent_ignore_note": "ignorada pelo modelo - o mapeamento nao alterara os resultados",
    "mapping_ignored_note": "{count} destas tem um indicador de omissao do modelo.",
    "page_map_topics_title": "Tópicos a adicionar ao mapa",
    "page_map_topics_subtitle": "Escolha quais dos tópicos/objetivos selecionados devem ser adicionados como camadas do mapa após a execução.",
    "map_topics_hint": "Os ramos de tópicos selecionados serão expandidos e listados aqui. Os itens marcados serão adicionados ao mapa.",
    "btn_check_all": "Marcar todos",
    "btn_uncheck_all": "Desmarcar todos",
    "file_dialog_select": "Selecionar modelo NetWeaver",
    "file_dialog_filter": "Modelos NetWeaver (*.nw2 *.nw)",
    "err_model_required_title": "Modelo necessário",
    "err_model_required_body": "Selecione um ficheiro de modelo NetWeaver.",
    "err_engine_missing_title": "Motor em falta",
    "err_engine_missing_body": "CLI do NetWeaver não foi encontrada em:\n{path}",
    "err_load_failed_title": "Falha ao carregar o modelo",
    "err_load_failed_body": "Ficheiro de modelo não encontrado:\n{path}",
    "busy_loading_model_title": "A carregar modelo",
    "busy_loading_model_label": "A carregar informações do modelo...",
    "busy_loading_topics_label": "A carregar hierarquia de tópicos...",
    "model_loaded_summary": "Carregado {name} com {topics} tópicos, {goals} objetivos, {variables} variáveis.",
    "model_loaded_help": "Selecione um ou mais ramos de tópicos, e a tabela de mapeamento sugerirá correspondências de campos.",
    "busy_loading_variables_title": "A carregar variáveis",
    "busy_loading_variables_label": "A carregar variáveis dos tópicos...",
    "no_variables_resolved": "Não foram resolvidas variáveis para os tópicos selecionados e os seus subtópicos.",
    "prepared_mappings_help": "Mapeamentos preparados para {count} variáveis de {topics} tópico(s) expandido(s).",
    "err_topic_variables_failed": "Falha ao carregar variáveis dos tópicos. Tente novamente.",
    "map_topics_count_header": "Escolha quais dos {count} tópicos/objetivos expandidos devem ser adicionados ao mapa.",
    "map_topics_empty_header": "Selecione tópicos na página anterior para escolher quais devem ser adicionados ao mapa.",
    "saved_title": "Mapeamento guardado",
    "saved_no_metadata": "Não há gestor de metadados do espaço de trabalho disponível para mapeamentos guardados.",
    "saved_none_found": "Não foi encontrado mapeamento NetWeaver guardado para este espaço de trabalho, modelo e tabela de entrada.",
    "saved_loaded": "Mapeamento NetWeaver guardado carregado para este espaço de trabalho.",
    "saved_no_metadata_save": "Não está disponível um gestor de metadados do espaço de trabalho, portanto o mapeamento não pôde ser guardado.",
    "saved_select_topics_first": "Selecione um ou mais ramos de tópicos antes de guardar um mapeamento NetWeaver.",
    "saved_could_not_save": "O mapeamento NetWeaver não pôde ser guardado no armazenamento de metadados do espaço de trabalho.",
    "saved_saved": "Mapeamento NetWeaver guardado para este espaço de trabalho, modelo e tabela de entrada.",
    "validation_title": "Erro de validação",
    "validation_name_required": "Introduza um nome de análise.",
    "validation_model_required": "Selecione um ficheiro de modelo.",
    "validation_topic_required": "Selecione pelo menos um tópico.",
    "validation_mapping_required": "Mapeie pelo menos um campo de entrada para uma variável NetWeaver.",
    "btn_pick_registry": "Pick published model version…",
    "tip_pick_registry": "Import a published model version from the central model registry (shared with ArcGIS Pro and the editors).",
    "registry_materialize_failed": "Could not write the registry model to a temporary file: {error}"
  },
  "create_prioritization": {
    "window_title": "Criar priorização",
    "page_details_title": "Detalhes da priorização",
    "page_details_subtitle": "Nomeie a priorização e capture o contexto do estudo recebido.",
    "lbl_workspace": "Espaço de trabalho",
    "lbl_study": "Estudo",
    "lbl_input_layer": "Camada de entrada",
    "lbl_input_table": "Tabela de entrada",
    "not_set": "(não definido)",
    "unnamed": "(sem nome)",
    "not_selected": "(não selecionado)",
    "row_name": "Nome da priorização",
    "row_comments": "Comentários",
    "row_execution": "Execução",
    "exec_run": "Executar quando o assistente terminar",
    "exec_create_only": "Apenas criar",
    "page_model_title": "Modelo",
    "page_model_subtitle": "Carregue o modelo CDP e obtenha o seu esquema de mapeamento.",
    "model_file_placeholder": "Selecione um ficheiro de modelo .cdp ou .cdpx",
    "btn_browse": "Procurar",
    "btn_reload_model": "Recarregar modelo",
    "model_not_loaded": "Modelo ainda não carregado.",
    "model_loaded": "Carregado {name} com {count} critérios mais baixos.",
    "page_mapping_title": "Mapeamento de campos",
    "page_mapping_subtitle": "Mapeie os critérios do modelo para campos na tabela de entrada do estudo.",
    "btn_load_mapping": "Carregar mapeamento guardado",
    "btn_save_mapping": "Guardar mapeamento",
    "row_display_field": "Campo de exibição",
    "row_primary_key": "Chave primária",
    "col_model_criterion": "Critério do modelo",
    "col_criterion_hint": "Sugestão do critério",
    "col_input_field": "Campo de entrada",
    "col_input_field_source": "Origem do campo de entrada",
    "page_validation_title": "Validação",
    "page_validation_subtitle": "Escolha como a execução do CDP deve tratar valores não classificados, desconhecidos e fora da escala.",
    "validation_hint": "Estas definições controlam como o motor CDP trata dados de entrada que estão fora dos intervalos esperados. A maioria dos utilizadores pode deixar as predefinições.",
    "row_unrated": "Valores não classificados",
    "row_unknown": "Valores desconhecidos",
    "row_offscale": "Valores fora da escala",
    "tip_unrated": "Se um campo da base de dados não contiver um valor, como deve contribuir para a pontuação de prioridade? Aplica-se a registos com classificações em falta.",
    "tip_unknown": "Se o campo da base de dados contiver um valor que não corresponda a nenhum item da escala, como deve ser tratado? Aplica-se apenas a classificações verbais.",
    "tip_offscale": "Se o campo da base de dados contiver um valor numérico fora dos limites da escala do critério, como deve ser tratado? Aplica-se apenas a classificações numéricas.",
    "unrated_raise": "Lançar erro",
    "unrated_unrated": "Tratar como não classificado",
    "unrated_scale_avg": "Usar média da escala (predefinido)",
    "unrated_scale_high": "Usar máximo da escala",
    "unrated_scale_low": "Usar mínimo da escala",
    "offscale_raise": "Lançar erro",
    "offscale_unrated": "Tratar como não classificado",
    "offscale_clamp": "Restringir aos limites da escala (predefinido)",
    "page_rules_title": "Regras",
    "page_rules_subtitle": "Escolha uma regra definida dentro do modelo CDP. Os nomes e descrições das regras vêm diretamente do ficheiro de modelo.",
    "row_rule": "Regra",
    "rule_no_selection": "(nenhuma regra selecionada)",
    "rules_initial_help": "Não foram carregadas regras. Carregue o modelo CDP no passo anterior para preencher a lista de regras.",
    "rules_none_defined_combo": "Não há regras definidas",
    "rules_none_defined_msg": "Não há regras definidas para este modelo.",
    "rules_select_msg": "Selecione uma regra para ver a sua descrição.",
    "rules_unnamed": "Regra sem nome",
    "rules_no_description": "(sem descrição)",
    "page_summary_title": "Resumo",
    "page_summary_subtitle": "Reveja a priorização CDP antes de criar a tarefa.",
    "summary_default": "Reveja as definições de priorização antes de concluir.",
    "lbl_model_weights": "Pesos do modelo",
    "weights_none_defined": "Não há pesos por pares / padrão definidos para este modelo.",
    "weights_col_default": "Valor",
    "weights_header_default": "Pesos",
    "busy_title_loading": "A carregar modelo CDP",
    "busy_label_loading": "A obter esquema de mapeamento...",
    "file_dialog_select": "Selecionar modelo CDP",
    "file_dialog_filter": "Modelos CDP (*.cdpx *.cdp)",
    "err_model_required_title": "Modelo necessário",
    "err_model_required_body": "Selecione primeiro um modelo CDP.",
    "err_engine_missing_title": "Motor em falta",
    "err_engine_missing_body": "CLI do CDP não foi encontrada em:\n{path}",
    "err_model_missing_title": "Modelo em falta",
    "err_model_missing_body": "Ficheiro de modelo não encontrado:\n{path}",
    "err_load_failed_title": "Falha ao carregar o modelo CDP",
    "saved_mapping_title": "Mapeamento guardado",
    "saved_no_metadata_manager": "Não há gestor de metadados disponível para guardar este mapeamento.",
    "saved_no_mapping_found": "Não foi encontrado mapeamento CDP guardado para este espaço de trabalho, modelo e tabela de entrada.",
    "saved_loaded": "Mapeamento CDP guardado carregado para este espaço de trabalho.",
    "saved_map_at_least_one": "Mapeie pelo menos um critério antes de guardar.",
    "saved_could_not_save": "O mapeamento CDP não pôde ser guardado.",
    "saved_saved": "Mapeamento CDP guardado para este espaço de trabalho.",
    "validation_title": "Erro de validação",
    "validation_name_required": "Introduza um nome de priorização antes de continuar.",
    "validation_load_model": "Carregue um modelo CDP antes de continuar.",
    "validation_map_at_least_one": "Mapeie pelo menos um critério do modelo.",
    "validation_choose_display": "Escolha um campo de exibição.",
    "source_netweaver": "NetWeaver: {source}{suffix}",
    "source_input": "Entrada: {source}{suffix}",
    "source_input_only": "Entrada{suffix}",
    "criterion_unnamed": "Critério {index}",
    "summary_prioritization": "Priorização: {value}",
    "summary_model": "Modelo: {value}",
    "summary_mapped_criteria": "Critérios mapeados: {count}",
    "summary_display_field": "Campo de exibição: {value}",
    "summary_primary_key": "Chave primária: {value}",
    "summary_input_table": "Tabela de entrada: {value}",
    "btn_pick_registry": "Pick published model version…",
    "tip_pick_registry": "Import a published model version from the central model registry (shared with ArcGIS Pro and the editors).",
    "registry_materialize_failed": "Could not write the registry model to a temporary file: {error}"
  },
  "portfolio_strategies": {
    "costbenefit": "Rácio Benefício/Custo",
    "cost": "Custo",
    "benefit": "Benefício",
    "prioritization": "Priorização",
    "prioritization_cost": "Rácio Priorização/Custo"
  },
  "portfolio_results": {
    "window_title": "Resultados de portefólio — {name}",
    "default_name": "Portefólio",
    "header": "Pipeline: {name}    Execução: {exec_id}    Selecionados: {selected} / {total}    Estratégia: {strategy}",
    "execution_unknown": "(desconhecido)",
    "strategy_not_reported": "(não reportado)",
    "tab_report": "Relatório do portefólio",
    "tab_selected": "Selecionados ({count})",
    "tab_excluded": "Excluídos ({count})",
    "tab_all": "Todos os itens",
    "tab_map": "Mapa",
    "tab_summary": "Resumo",
    "btn_print": "Imprimir separador…",
    "tip_print": "Abrir uma pré-visualização de impressão da tabela do separador atual.",
    "btn_export_csv": "Exportar separador CSV…",
    "tip_export_csv": "Guardar a tabela do separador atual como CSV.",
    "btn_export_png": "Exportar mapa PNG…",
    "tip_export_png": "Guardar a tela do mapa como imagem PNG.",
    "btn_export_xlsx": "Exportar todos os separadores (XLSX)…",
    "tip_export_xlsx": "Guardar selecionados, excluídos, todos os itens e o relatório num único livro Excel.",
    "btn_add_calc": "Adicionar campo calculado…",
    "btn_close": "Fechar",
    "tip_calc_disabled": "Adicionar campo calculado requer um resultado suportado por GeoPackage. Abra o resultado a partir de uma tarefa de fluxo de trabalho para ativar isto.",
    "tip_calc_enabled": "Adicionar uma coluna calculada à tabela GeoPackage subjacente.",
    "lbl_search": "Pesquisar",
    "search_placeholder": "Filtrar linhas em todas as colunas",
    "btn_clear": "Limpar",
    "report_summary_header": "<b>{name}</b> resumo do portefólio",
    "row_strategy": "Estratégia",
    "row_cost_field": "Campo de custo",
    "row_benefit_field": "Campo de benefício",
    "row_selection": "Seleção",
    "row_budget": "Orçamento",
    "row_budget_utilization": "Utilização do orçamento",
    "row_efficacy": "Eficácia",
    "row_engine_time": "Tempo do motor",
    "unspecified": "(não especificado)",
    "budget_bar_format_pct": "%p% do orçamento gasto",
    "budget_bar_not_reported": "Orçamento não reportado",
    "efficacy_not_reported": "(não reportado)",
    "engine_time_ms": "{ms:,} ms",
    "silo_balances": "Saldos por silo",
    "silo_label": "Silo {letter}",
    "silo_remaining": "Restante: {value}",
    "silo_share": "  ({share:.1f}% do orçamento total)",
    "selection_just_count": "{selected} selecionados",
    "selection_summary": "{selected:,} selecionados de {considered:,} considerados ({ratio:.1f}%)",
    "budget_spent": "Gasto: {value}",
    "budget_total": "Orçamento: {value}",
    "budget_left": "Restante: {value}",
    "selected_tab_header": "<b>{count}</b> itens selecionados (InPortfolioSort = 1). Ordenados por benefício / custo quando ambos estão presentes.",
    "excluded_tab_header": "<b>{count}</b> itens excluídos (InPortfolioSort = 0).",
    "all_tab_header": "<b>{count}</b> linhas consideradas.",
    "map_no_qgis": "As ligações de mapa do QGIS não estão disponíveis neste ambiente, portanto a pré-visualização do mapa não pode ser mostrada. Os separadores de seleção continuam a funcionar.",
    "map_no_gpkg": "Não foi fornecido suporte GeoPackage — o mapa não pode mostrar este resultado de portefólio.",
    "map_open_failed": "Não foi possível abrir a camada de resultados em:\n{database_path} ({table_name})",
    "map_drawn_failed": "Camada carregada, mas o mapa não pôde ser desenhado: {error}",
    "map_showing": "A mostrar a camada '{name}' de {table_name}.",
    "report_no_metadata": "(o motor não devolveu metadados de relatório)",
    "report_pipeline": "Pipeline: {value}",
    "report_execution_id": "ID de execução: {value}",
    "report_strategy": "Estratégia: {value}",
    "report_cost_field": "Campo de custo: {value}",
    "report_benefit_field": "Campo de benefício: {value}",
    "report_header": "Relatório:",
    "report_line": "  - {field}: {value}",
    "summary_pipeline": "Pipeline: {value}",
    "summary_execution": "Execução: {value}",
    "summary_geopackage": "GeoPackage: {value}",
    "summary_result_table": "Tabela de resultados: {value}",
    "summary_strategy": "Estratégia: {value}",
    "summary_inportfolio_field": "Campo InPortfolio: {value}",
    "summary_none": "(nenhum)",
    "summary_columns_header": "Colunas de resultados ({count}):",
    "summary_column_line": "  - {name}",
    "print_title_template": "{name} — {tab}",
    "print_tab_selected": "Selecionados",
    "print_tab_excluded": "Excluídos",
    "print_tab_all": "Todos os itens",
    "msg_no_table_title": "Imprimir separador",
    "msg_no_table_body": "O separador atual não tem tabela imprimível.",
    "msg_no_map_title": "Exportar mapa PNG",
    "msg_no_map_body": "A vista do mapa não está disponível.",
    "calc_title": "Adicionar campo calculado",
    "calc_not_backed": "Esta vista não é suportada por um GeoPackage — abra o resultado a partir de uma tarefa de fluxo de trabalho para ativar campos calculados.",
    "calc_no_qgis": "As ligações do QGIS não estão disponíveis.",
    "calc_open_failed": "Não foi possível abrir a tabela de resultados em:\n{database_path}\ncamada: {table_name}",
    "calc_unexpected_error": "Ocorreu um erro inesperado ao adicionar a coluna:\n{error}",
    "calc_success_added": "Coluna '{name}' adicionada a {table_name}.",
    "calc_success_skipped_note": "\n\nNota: {count} linha(s) tiveram erros de avaliação de expressão e receberam valores NULL.",
    "sheet_selected": "Selecionados",
    "sheet_excluded": "Excluídos",
    "sheet_all_items": "Todos os itens",
    "sheet_report": "Relatório",
    "report_field_col": "Campo",
    "report_value_col": "Valor"
  },
  "cdp_results": {
    "window_title": "Resultados CDP - {name}",
    "btn_print": "Imprimir separador…",
    "tip_print": "Abrir uma pré-visualização de impressão da tabela principal do separador atual.",
    "btn_export_csv": "Exportar separador CSV…",
    "tip_export_csv": "Guardar a tabela principal do separador atual como CSV.",
    "btn_export_chart": "Exportar gráfico PNG…",
    "tip_export_chart": "Guardar o gráfico do separador atual como imagem PNG.",
    "btn_export_xlsx": "Exportar todos os separadores (XLSX)…",
    "btn_add_calc": "Adicionar campo calculado…",
    "btn_close": "Fechar",
    "tab_workbench": "Workbench",
    "tab_cdp_model_view": "Vista do modelo CDP",
    "tab_calculations": "Cálculos",
    "tab_prioritization": "Priorização",
    "tab_contributions": "Contribuições",
    "tab_sensitivity": "Sensibilidade",
    "tab_tradeoffs": "Compromissos",
    "tab_model_context": "Contexto do modelo",
    "tab_criteria_levels": "Critérios / Níveis",
    "lbl_search": "Pesquisar",
    "search_placeholder": "Filtrar linhas em todas as colunas",
    "btn_clear": "Limpar",
    "workbench_status_default": "Selecione uma linha para inspecionar o registo de resultados.",
    "lbl_calculation_rows": "Linhas de cálculo",
    "lbl_numeric_summary": "Resumo numérico",
    "lbl_priority_chart": "Pontuação de prioridade por entidade",
    "lbl_chart_scope": "Âmbito do gráfico",
    "lbl_grid_filter": "Filtro de grelha",
    "prio_search_placeholder": "Filtrar linhas de priorização em todas as colunas",
    "contrib_search_placeholder": "Filtrar linhas de contribuição em todas as colunas",
    "lbl_source_level": "Nível de origem",
    "lbl_target_level": "Nível de destino",
    "lbl_criterion": "Critério",
    "lbl_lowest_criteria": "Critérios mais baixos",
    "lbl_criteria": "Critérios",
    "lbl_levels": "Níveis",
    "msg_print_tab_title": "Imprimir separador",
    "msg_no_print_table": "O separador atual não tem tabela imprimível.",
    "msg_export_tab_csv_title": "Exportar separador CSV",
    "msg_no_export_table": "O separador atual não tem tabela para exportar.",
    "msg_export_chart_png_title": "Exportar gráfico PNG",
    "msg_no_chart": "O separador atual não tem gráfico.",
    "calc_title": "Adicionar campo calculado",
    "calc_no_qgis": "As ligações do QGIS não estão disponíveis.",
    "cdp_viewer_title": "Visualizador CDP",
    "err_reload_contributions": "Não foi possível recarregar Contribuições:\n{error}",
    "err_reload_sensitivity": "Não foi possível recarregar Sensibilidade:\n{error}",
    "err_reload_tradeoffs": "Não foi possível recarregar Compromissos:\n{error}"
  },
  "netweaver_results": {
    "window_title": "Resultados NetWeaver – {name}",
    "header": "Pipeline: {name}    Execução: {exec_id}    Linhas: {rows}",
    "model_label": "Modelo: {path}",
    "btn_add_to_map": "Adicionar tópico atual ao mapa",
    "btn_export": "Exportar…",
    "menu_print_map": "Imprimir mapa",
    "menu_export_png": "Exportar mapa como PNG",
    "menu_export_csv": "Exportar resultados como CSV",
    "menu_export_xlsx": "Exportar resultados como Excel (.xlsx)",
    "lbl_topics": "Tópicos",
    "topic_search_placeholder": "Pesquisar tópicos",
    "btn_prev": "Anterior",
    "btn_next": "Seguinte",
    "col_topic": "Tópico NetWeaver",
    "col_value": "Valor",
    "btn_show_on_map": "Mostrar no mapa",
    "btn_node_inspector": "Abrir inspetor de nós",
    "btn_model_graph": "Mostrar visualizador NetWeaver",
    "lbl_map_preview": "Pré-visualização do mapa",
    "status_select_topic": "Selecione um tópico para inspecionar a sua coluna de saída.",
    "status_select_topic_result": "Selecione um tópico com uma coluna de resultado para inspecionar a sua saída.",
    "btn_show_all_rows": "Mostrar todas as linhas",
    "lbl_selected_row": "Inspeção da linha selecionada",
    "group_legend": "Legenda de classes",
    "btn_histogram": "Histograma",
    "btn_close": "Fechar",
    "lbl_preview_layer": "Camada de pré-visualização:",
    "btn_refresh_preview": "Atualizar pré-visualização",
    "btn_fit_preview": "Ajustar pré-visualização à camada",
    "map_initializing": "O mapa incorporado está a inicializar.",
    "map_unavailable": "A pré-visualização do mapa não está disponível porque não foi possível carregar o suporte de tela do QGIS.",
    "map_no_project_layers": "Não há camadas de projeto disponíveis para pré-visualização do mapa.",
    "msg_map_preview_title": "Pré-visualização do mapa",
    "msg_no_layers_to_zoom": "Não há camadas de mapa disponíveis para ampliar.",
    "msg_no_extent": "A camada não tem uma extensão utilizável.",
    "msg_show_on_map_title": "Mostrar no mapa",
    "msg_select_topic_first": "Selecione primeiro um tópico.",
    "msg_add_topics_title": "Adicionar tópicos ao mapa",
    "msg_queue_topics_first": "Coloque primeiro um ou mais tópicos na fila.",
    "msg_export_csv_title": "Exportar CSV",
    "msg_no_data": "Não há dados para exportar.",
    "msg_export_csv_success": "Resultados exportados para:\n{path}",
    "msg_export_csv_failed": "Não foi possível exportar os resultados:\n{error}",
    "msg_export_excel_title": "Exportar Excel",
    "msg_export_excel_success": "Resultados exportados para:\n{path}",
    "msg_export_excel_failed": "Não foi possível exportar os resultados:\n{error}",
    "msg_export_map_title": "Exportar mapa PNG",
    "msg_no_map_canvas_export": "Não há tela de mapa disponível para exportar.",
    "msg_export_map_success": "Mapa exportado para:\n{path}",
    "msg_export_map_failed": "Não foi possível exportar o mapa:\n{error}",
    "msg_print_map_title": "Imprimir mapa",
    "msg_no_map_canvas_print": "Não há tela de mapa disponível para imprimir.",
    "msg_node_inspector_title": "Inspetor de nós",
    "msg_add_topics_summary": "Adicionada(s) ou atualizada(s) {count} camada(s) de tópico NetWeaver.",
    "msg_could_not_add": "\n\nNão foi possível adicionar: {topics}",
    "file_dialog_csv_title": "Exportar tabela NetWeaver para CSV",
    "file_dialog_csv_filter": "Ficheiros CSV (*.csv)",
    "file_dialog_xlsx_title": "Exportar tabela NetWeaver para Excel",
    "file_dialog_xlsx_filter": "Ficheiros Excel (*.xlsx)",
    "file_dialog_png_title": "Exportar mapa NetWeaver para PNG",
    "file_dialog_png_filter": "Imagens PNG (*.png)",
    "msg_print_failed": "Não foi possível imprimir o mapa a partir deste ambiente QGIS/PyQt:\n{error}",
    "ctx_show_on_map": "Mostrar no mapa",
    "ctx_open_node_inspector": "Abrir inspetor de nós",
    "ctx_open_model_graph": "Abrir gráfico do modelo",
    "ctx_remove_from_queue": "Remover da fila do mapa",
    "ctx_queue_for_map": "Colocar tópico na fila do mapa",
    "ctx_add_queued": "Adicionar tópicos em fila ao mapa",
    "lbl_preview_topic": "Tópico:",
    "msg_model_graph_title": "Grafo do modelo",
    "msg_no_topics_to_graph": "Não há tópicos NetWeaver disponíveis para o grafo.",
    "btn_map_pan": "Mover",
    "btn_map_identify": "Identificar",
    "btn_map_select": "Selecionar",
    "tip_map_pan": "Mova o mapa arrastando",
    "tip_map_identify": "Clique em uma feição para identificá-la",
    "tip_map_select": "Clique em uma feição para selecioná-la",
    "tip_map_zoom_in": "Ampliar",
    "tip_map_zoom_out": "Reduzir",
    "btn_map_zoom_selection": "Zoom para a seleção",
    "tip_map_zoom_selection": "Aproximar o mapa das feições selecionadas",
    "btn_map_full_extent": "Extensão total",
    "tip_map_full_extent": "Aproximar para a extensão total de todas as camadas",
    "msg_no_selection_to_zoom": "Não há feições selecionadas na camada de visualização.",
    "identify_title": "Identificar – {fid}",
    "identify_col_field": "Campo",
    "identify_col_value": "Valor",
    "identify_btn_close": "Fechar",
    "menu_print_table": "Imprimir tabela…",
    "msg_print_table_title": "Imprimir tabela",
    "msg_no_rows_print": "Não há linhas de resultados para imprimir."
  },
  "lpa_results": {
    "window_title": "Resultados LPA — {name}",
    "header": "Pipeline: {name}    Execução: {exec_id}    Linhas: {rows}    Colunas: {columns}",
    "execution_unknown": "(desconhecido)",
    "tab_table": "Tabela",
    "tab_map": "Mapa",
    "tab_summary": "Resumo",
    "btn_print": "Imprimir separador…",
    "tip_print": "Abrir uma pré-visualização de impressão da tabela do separador atual.",
    "btn_export_csv": "Exportar separador CSV…",
    "tip_export_csv": "Guardar a tabela do separador atual como CSV.",
    "btn_export_png": "Exportar mapa PNG…",
    "tip_export_png": "Guardar a tela do mapa como imagem PNG.",
    "btn_export_xlsx": "Exportar todos os separadores (XLSX)…",
    "tip_export_xlsx": "Guardar a tabela de cada separador num único livro Excel com várias folhas.",
    "btn_add_calc": "Adicionar campo calculado…",
    "btn_close": "Fechar",
    "lbl_search": "Pesquisar",
    "search_placeholder": "Filtrar linhas em todas as colunas",
    "btn_clear": "Limpar",
    "lbl_selected_row": "Linha selecionada",
    "tip_calc_disabled": "Adicionar campo calculado requer um resultado suportado por GeoPackage. Abra o resultado a partir de uma tarefa de fluxo de trabalho para ativar isto.",
    "tip_calc_enabled": "Adicionar uma coluna calculada à tabela GeoPackage subjacente.",
    "map_no_qgis": "As ligações de mapa do QGIS não estão disponíveis neste ambiente, portanto a pré-visualização do mapa não pode ser mostrada. O separador Tabela continua a funcionar.",
    "map_no_gpkg": "Não foi fornecido suporte GeoPackage — o mapa não pode mostrar este resultado LPA.",
    "map_open_failed": "Não foi possível abrir a camada de resultados em:\n{database_path} ({table_name})",
    "map_drawn_failed": "Camada carregada, mas o mapa não pôde ser desenhado: {error}",
    "map_showing": "A mostrar a camada '{name}' de {table_name}.",
    "row_index": "Índice de linha: {value}",
    "row_more_columns": "... mais {count} colunas não mostradas",
    "summary_pipeline": "Pipeline: {value}",
    "summary_execution": "Execução: {value}",
    "summary_geopackage": "GeoPackage: {value}",
    "summary_result_table": "Tabela de resultados: {value}",
    "summary_none": "(nenhum)",
    "summary_fields_header": "Campos de resumo:",
    "summary_no_fields": "  (não foram fornecidos metadados de resumo)",
    "summary_columns_header": "Colunas de resultados ({count}):",
    "summary_field_line": "  - {field}: {value}",
    "summary_column_line": "  - {name}",
    "title_table_print": "{name} — Tabela",
    "msg_no_map_title": "Exportar mapa PNG",
    "msg_no_map_body": "A vista do mapa não está disponível.",
    "msg_no_data_title": "Exportar para Excel",
    "msg_no_data_body": "Não há dados de tabela para exportar.",
    "calc_title": "Adicionar campo calculado",
    "calc_not_backed": "Esta vista não é suportada por um GeoPackage — abra o resultado a partir de uma tarefa de fluxo de trabalho para ativar campos calculados.",
    "calc_no_qgis": "As ligações do QGIS não estão disponíveis.",
    "calc_open_failed": "Não foi possível abrir a tabela de resultados em:\n{database_path}\ncamada: {table_name}",
    "calc_unexpected_error": "Ocorreu um erro inesperado ao adicionar a coluna:\n{error}",
    "calc_success_added": "Coluna '{name}' adicionada a {table_name}.",
    "calc_success_skipped_note": "\n\nNota: {count} linha(s) tiveram erros de avaliação de expressão e receberam valores NULL.",
    "sheet_results": "Resultados",
    "sheet_summary": "Resumo",
    "sheet_col_key": "Chave",
    "sheet_col_value": "Valor",
    "default_name": "LPA"
  },
  "compare_results": {
    "window_title": "Comparar análises",
    "header_primary": "<b>Resultado principal:</b> {label}    <b>Motor:</b> {engine}    <b>Linhas:</b> {rows}    <b>Colunas:</b> {columns}",
    "picker_prompt": "Escolha até {max} resultados adicionais para comparar com o resultado principal (marque para selecionar). São permitidas comparações entre motores, mas a sobreposição de colunas será limitada.",
    "col_result": "Resultado",
    "col_engine": "Motor",
    "col_analysis": "Análise",
    "col_study_workspace": "Estudo / Espaço de trabalho",
    "btn_compare": "Comparar selecionados",
    "btn_clear": "Limpar seleção",
    "status_initial": "0 resultados adicionais selecionados.",
    "status_template": "{count} resultado(s) adicional(is) selecionado(s) (máx. {max}).",
    "selection_limit_title": "Limite de seleção",
    "selection_limit_body": "Pode comparar até {max} resultados adicionais juntamente com o principal.",
    "group_column_alignment": "Alinhamento de colunas",
    "skip_unmatched": "Ignorar colunas em falta em qualquer resultado selecionado",
    "tab_table": "Tabela lado a lado",
    "tab_histogram": "Histograma",
    "btn_export_csv": "Exportar comparação CSV",
    "btn_close": "Fechar",
    "histogram_title": "Histograma de comparação",
    "histogram_subtitle": "Escolha colunas numéricas para sobrepor.",
    "no_other_results": "Não foram encontrados outros resultados neste espaço de trabalho.",
    "err_load_result": "Não foi possível carregar o resultado '{label}':\n{error}",
    "err_no_data": "O resultado '{label}' não tem dados e não pode ser comparado.",
    "warning_columns_differ": "Algumas colunas diferem entre os resultados selecionados:\n{details}",
    "warning_missing_line": "• {label} faltam: {columns}",
    "histogram_title_dynamic": "A comparar {count} resultados: {labels}",
    "export_dialog_title": "Exportar comparação CSV",
    "csv_filter": "Ficheiros CSV (*.csv)",
    "export_success": "Comparação guardada em:\n{path}",
    "export_failed": "Não foi possível guardar:\n{error}"
  },
  "create_raster": {
    "window_title": "Criar área de estudo raster",
    "page_inputs_title": "Entradas raster",
    "page_inputs_subtitle": "Selecione as camadas raster e escolha quais bandas e colunas RAT de cada uma devem passar para a saída de sobreposição.",
    "name_placeholder": "p. ex. estudo raster do baixo Truckee",
    "row_name": "Nome:",
    "row_description": "Descrição:",
    "lbl_available_layers": "Camadas raster disponíveis (seleção múltipla):",
    "group_carry_forward": "Transportar por entrada",
    "page_alignment_title": "Alinhamento e saída",
    "page_alignment_subtitle": "Os rasters de entrada podem ter resolução / extensão / CRS diferentes. A camada de ajuste define a grelha de saída; o método de reamostragem controla como as outras entradas são alinhadas.",
    "row_snap_to": "Grelha de ajuste:",
    "row_resampling": "Reamostragem:",
    "row_output_format": "Formato de saída:",
    "row_output_raster": "Raster de saída:",
    "output_path_placeholder": "/caminho/para/overlay.tif",
    "btn_browse": "Procurar…",
    "page_summary_title": "Rever e construir",
    "page_summary_subtitle": "Confirme a especificação de sobreposição raster. Clicar em Concluir executa GRASS r.cross para produzir o raster de combinações únicas e escreve o RAT enriquecido ao lado.",
    "summary_cannot_build": "(Ainda não é possível construir o resumo: {error})",
    "summary_name": "Nome:",
    "summary_description": "Descrição:",
    "summary_none": "(nenhum)",
    "summary_inputs": "Entradas:",
    "summary_snap_first_input": "(primeira entrada)",
    "summary_snap_to": "Ajustar a:",
    "summary_resampling": "Reamostragem:",
    "summary_output": "Saída:",
    "summary_output_unset": "(não definida)",
    "err_cannot_create_title": "Não é possível criar a área de estudo",
    "err_overlay_failed_title": "Falha na sobreposição raster",
    "err_overlay_unexpected": "Erro inesperado ao executar a sobreposição:\n{error}",
    "file_dialog_title": "Raster de sobreposição de saída",
    "file_dialog_filter": "GeoTIFF (*.tif *.tiff);;Todos os ficheiros (*)",
    "role_label": "Papel:",
    "role_overlay": "Sobreposição",
    "role_target": "Alvo",
    "lbl_carry_bands": "Transportar bandas:",
    "band_label": "Banda {index}",
    "lbl_carry_rat": "Transportar colunas RAT:",
    "no_rat_detected": "(nenhum RAT detetado — apenas o valor da banda será transportado)"
  },
  "calculated_field": {
    "window_title": "Adicionar campo calculado",
    "field_type_real": "Real (decimal)",
    "field_type_integer": "Inteiro",
    "field_type_text": "Texto",
    "field_type_date": "Data",
    "prompt_initial": "Introduza uma expressão e clique em Validar para pré-visualizar.",
    "name_placeholder": "Novo nome de coluna (sem espaços)",
    "row_field_name": "Nome do campo",
    "row_field_type": "Tipo de campo",
    "lbl_expression": "Expressão",
    "expression_placeholder": "Expressão QGIS — p. ex. \"score\" * 100, \"category\" || ' (rated)', CASE WHEN \"rank\" < 5 THEN 'top' ELSE 'rest' END",
    "btn_validate": "Validar && Pré-visualizar",
    "lbl_source_cols": "Colunas de origem",
    "lbl_preview": "Pré-visualização (primeiras linhas)",
    "preview_col_row": "Linha",
    "preview_col_value": "Valor",
    "btn_add_field": "Adicionar campo",
    "no_layer": "(sem camada)",
    "no_fields": "(camada não tem campos)",
    "err_name_required": "O nome do campo é obrigatório.",
    "err_name_no_spaces": "O nome do campo não pode conter espaços — use snake_case ou PascalCase.",
    "err_name_exists": "Já existe um campo chamado '{name}' nesta tabela.",
    "err_expression_required": "Introduza uma expressão para validar.",
    "err_parser": "Erro de análise: {error}",
    "err_prepare": "Não foi possível preparar a expressão: {error}",
    "err_eval": "Erro de expressão na linha {row}: {error}",
    "info_no_features": "A expressão foi analisada, mas a camada não tem entidades para pré-visualizar.",
    "info_ok_preview": "OK — pré-visualizadas {count} linha(s). Clique em 'Adicionar campo' para materializar a coluna."
  },
  "create_task": {
    "window_title": "Adicionar tarefa",
    "instructions": "Adicione uma tarefa simples que executa diretamente um motor EMDS, ou uma tarefa de pipeline que executa uma definição de fluxo de trabalho guardada como tarefa composta.",
    "row_task_type": "Tipo de tarefa",
    "row_configuration": "Configuração",
    "task_type_simple": "Tarefa simples",
    "task_type_workflow": "Tarefa de pipeline",
    "btn_ok": "OK",
    "btn_cancel": "Cancelar",
    "row_engine": "Motor",
    "row_engine_details": "Detalhes do motor",
    "simple_description": "O assistente do motor selecionado abrirá em seguida para que possa configurar a tarefa.",
    "row_task_name": "Nome da tarefa",
    "row_pipeline": "Pipeline",
    "pipeline_default_choice": "(Selecione definição de fluxo de trabalho)",
    "pipeline_unnamed": "(Fluxo de trabalho sem nome)",
    "row_inherited_inputs": "Entradas herdadas",
    "inherited_inputs_body": "Entradas herdadas sempre disponíveis em tempo de execução:\n`projectid`, `spatialreferenceid`, `provenanceid`, `parentid`",
    "binding_help": "Ligações de entrada adicionais são opcionais. Introduza um par `name=value` por linha. Os valores podem ser literais ou usar tokens como `{{projectid}}`.",
    "row_additional_inputs": "Entradas adicionais",
    "run_immediately": "Executar a tarefa de pipeline imediatamente após a criação",
    "row_pipeline_summary": "Resumo do pipeline",
    "summary_no_description": "Sem descrição.",
    "summary_steps": "Passos: {count}",
    "warn_pipeline_title": "Tarefa de pipeline",
    "warn_binding_format": "A ligação de entrada na linha {line} deve usar o formato name=value.",
    "warn_binding_missing_name": "À ligação de entrada na linha {line} falta um nome.",
    "warn_no_engine": "Selecione um motor.",
    "warn_no_pipeline": "Selecione uma definição de pipeline.",
    "warn_no_task_name": "O nome da tarefa é obrigatório."
  },
  "create_analysis": {
    "window_title": "Criar nova análise",
    "lbl_name": "Nome da análise:",
    "lbl_description": "Descrição:",
    "group_first_task": "Primeira tarefa",
    "lbl_engine": "Motor:",
    "lbl_engine_details": "Detalhes do motor:",
    "validation_name": "nome da análise",
    "validation_title": "Erro de validação",
    "validation_no_engine": "Selecione um motor para a tarefa inicial."
  },
  "create_workspace_guided": {
    "window_title": "Criar espaço de trabalho e primeira área de estudo",
    "hint_title": "Início rápido",
    "hint_body": "Este passo cria a pasta do espaço de trabalho EMDS, o seu projeto anfitrião QGIS e a sua primeira área de estudo. Escolha uma camada-alvo para as entidades em que pretende trabalhar e adicione quaisquer camadas de sobreposição que ajudem a descrever essa área.",
    "lbl_study_name": "Nome da área de estudo:",
    "lbl_target_layer": "Camada-alvo:",
    "lbl_overlay_layers": "Camadas de sobreposição / incluídas:",
    "validation_study_name": "nome da área de estudo",
    "warning_no_target_title": "Nenhuma camada-alvo selecionada",
    "warning_no_target_body": "Selecione uma camada-alvo para a primeira área de estudo."
  },
  "provenance": {
    "menu_view": "Ver proveniência…",
    "menu_compare_versions": "Comparar versões do modelo…",
    "menu_workflow_history": "Histórico do fluxo de trabalho…",
    "menu_duplicate_scenario": "Duplicar como cenário…",
    "menu_compare_baseline": "Comparar com a linha de base…",
    "menu_scenario_builder": "Construtor de cenários…",
    "menu_promote_scenario": "Promover cenário…",
    "scenario_builder_title": "Construtor de cenários",
    "dialog_title": "Proveniência — {name}",
    "compare_versions_title": "Comparar versões do modelo",
    "workflow_history_title": "Histórico do fluxo de trabalho — {name}",
    "btn_close": "Fechar",
    "list_and": " e ",
    "busy_title": "A trabalhar…",
    "busy_reading_weights": "A ler os pesos do modelo…",
    "busy_applying_weights": "A aplicar as alterações de pesos…",
    "busy_reading_nodes": "A ler os nós do modelo…",
    "busy_applying_ignore": "A aplicar as alterações de ignorar…",
    "busy_running_preview": "A executar a pré-visualização…",
    "busy_running_test": "A executar teste…",
    "busy_running_preview_run": "A registar execução de pré-visualização…",
    "busy_reading_model": "A ler o modelo atual…",
    "scenario_builder_window_title": "Construtor de cenários — {name}",
    "scenario_builder_intro": "Experimente uma alteração nesta tarefa. A linha de base permanece intacta até escolher Bifurcar ou Substituir abaixo.",
    "scenario_builder_change_group": "1 · O que pretende alterar?",
    "scenario_builder_preview_group": "2 · Teste e comparar (≤200 linhas, staging ou execução prévia)",
    "scenario_builder_apply_group": "3 · Aplicar",
    "scenario_builder_model_prefix": "Modelo: {model}",
    "btn_swap_model": "Trocar modelo…",
    "btn_edit_weights": "Editar pesos…",
    "btn_edit_ignore": "Editar marcas de ignorar…",
    "btn_edit_in_editor": "Editar modelo no editor…",
    "btn_run_preview": "Executar pré-visualização",
    "btn_run_test": "Executar teste",
    "btn_record_preview_run": "Registar execução prévia para comparar…",
    "btn_open_pipeline_builder": "Abrir no construtor de pipelines…",
    "msg_open_pipeline_failed": "Não foi possível abrir o construtor de pipelines:\n\n{error}",
    "msg_select_workspace_for_pipeline": "Selecione primeiro um espaço de trabalho, área de estudo, análise ou tarefa.",
    "msg_pipeline_save_failed": "A definição de fluxo de trabalho não pôde ser guardada nos metadados do espaço de trabalho.",
    "msg_pipeline_saved": "Definição de fluxo de trabalho guardada: «{name}».",
    "wizard_back": "Voltar",
    "wizard_next": "Seguinte",
    "wizard_step_indicator": "Passo {step} de 3 — Alterar · Testar e comparar · Aplicar",
    "btn_cancel": "Cancelar",
    "btn_apply": "Aplicar",
    "tip_edit_weights": "Ajuste os pesos dos critérios deste modelo CDP. Os irmãos são renormalizados para que os filhos de cada pai somem 1. A alteração é guardada num novo ficheiro de modelo usado por Pré-visualização / Bifurcar / Substituir — o original fica intacto.",
    "tip_edit_ignore": "Defina quais tópicos/variáveis do NetWeaver são ignorados (PersistentIgnore). A alteração é guardada num novo ficheiro de modelo usado por Pré-visualização / Bifurcar / Substituir — o original fica intacto.",
    "tip_edit_in_editor": "A edição dos pesos/marcas deste modelo ocorre no editor dedicado CDP6 / NetWeaver Developer 3. Por agora, use Trocar modelo.",
    "no_swap_note": "Este motor não tem um ficheiro de modelo substituível; use Substituir/Bifurcar para reexecutar tal como está.",
    "rb_fork_children": "Bifurcar + reexecutar filhos (novo caminho; clona esta tarefa e tudo abaixo)",
    "rb_fork_only": "Bifurcar (apenas esta tarefa)",
    "rb_replace": "Substituir (sobrescreve esta tarefa; as camadas de resultados antigas saem do mapa)",
    "tip_no_children": "Não existem tarefas filhas abaixo desta.",
    "scenario_name_label": "Nome do cenário:",
    "scenario_name_default": "{name} (cenário)",
    "swap_dialog_title": "Escolher ficheiro de modelo",
    "swap_filter_netweaver": "Modelos NetWeaver (*.nw2 *.nw)",
    "swap_filter_cdp": "Modelos CDP (*.cdpx *.cdp)",
    "msg_choose_action": "Escolha Bifurcar ou Substituir.",
    "msg_enter_name": "Introduza um nome de cenário.",
    "msg_select_task": "Selecione uma tarefa primeiro.",
    "msg_scenario_failed": "Não foi possível concluir o cenário:\n\n{error}",
    "msg_task_not_found": "Não foi possível localizar a tarefa na análise.",
    "msg_scenario_created": "Cenário «{name}» criado e executado.{extra}",
    "msg_scenario_replaced": "«{name}» substituído e executado novamente.",
    "msg_promote_not_scenario": "Selecione uma tarefa bifurcada de cenário para promover.",
    "msg_promote_no_run": "Execute o cenário primeiro para ter uma execução a promover.",
    "msg_promote_not_scenario_run": "A última execução desta tarefa não é de cenário.",
    "msg_promote_confirm": "Promover este cenário como nova execução de linha de base? As execuções existentes são preservadas para auditoria.",
    "msg_promote_failed": "Não foi possível registar o marcador de linha de base promovido.",
    "msg_promote_success": "Cenário promovido registado. Nova execução de linha de base: {run_id}",
    "promoted_scenario_label": "Cenário promovido",
    "promoted_scenario_notes": "Promovido a partir do Construtor de cenários; as execuções existentes são preservadas.",
    "status_no_weight_changes": "Não foram feitas alterações de pesos.",
    "status_weights_applied": "✓ {count} alteração(ões) de pesos aplicada(s) → modelo editado guardado. Pré-visualização / Bifurcar / Substituir irão usá-lo.",
    "status_no_ignore_changes": "Não foram feitas alterações de ignorar.",
    "status_ignore_applied": "✓ {count} marca(s) de ignorar alterada(s) → modelo editado guardado. Pré-visualização / Bifurcar / Substituir irão usá-lo.",
    "edit_weights_title": "Editar pesos — {name}",
    "edit_weights_intro": "Ajuste os pesos dos critérios abaixo. Ao clicar em OK, os filhos de cada pai são renormalizados para somar 1 (o ajuste correto do CDP).",
    "edit_weights_warn": "⚠ Este modelo usa {features}. A cópia editada guardada aqui não os preserva, pelo que as suas pontuações podem diferir do original. Use isto para hipóteses de pesos; edite modelos avançados no editor CDP para uma gravação fiel.",
    "feature_value_functions": "funções de valor personalizadas",
    "feature_uncertainty": "distribuições de incerteza",
    "col_criterion": "Critério",
    "col_parent": "Pai",
    "col_weight": "Peso",
    "mbox_edit_weights": "Editar pesos",
    "mbox_no_cdp_model": "Esta tarefa não tem um ficheiro de modelo CDP legível para editar.",
    "mbox_read_weights_failed": "Não foi possível ler os pesos do modelo:\n\n{error}",
    "mbox_apply_weights_failed": "Não foi possível aplicar as alterações de pesos:\n\n{error}",
    "mbox_invalid_weights": "Estes pesos não são números válidos, por isso nada foi aplicado:\n\n{rows}\n\nCorrija-os ou limpe-os e clique novamente em OK.",
    "edit_ignore_title": "Editar marcas de ignorar — {name}",
    "edit_ignore_intro": "Marque um tópico/variável para o ignorar (PersistentIgnore); desmarque para o incluir. Os nós ignorados são excluídos quando o modelo é executado.",
    "col_node": "Nó",
    "col_type": "Tipo",
    "col_ignore": "Ignorar",
    "mbox_edit_ignore": "Editar marcas de ignorar",
    "mbox_no_nw_model": "Esta tarefa não tem um ficheiro de modelo NetWeaver legível para editar.",
    "mbox_read_nodes_failed": "Não foi possível ler os nós do modelo:\n\n{error}",
    "mbox_apply_ignore_failed": "Não foi possível aplicar as alterações de ignorar:\n\n{error}",
    "btn_compare_versions_inline": "Comparar versões do modelo…",
    "tip_compare_versions_inline": "Compara a versão do modelo executada pela última vez com o ficheiro de modelo atual.",
    "btn_export_report": "Exportar relatório de auditoria…",
    "tip_export_report": "Guarda um relatório HTML imprimível do que a última execução desta tarefa fez exatamente (modelo, hash, motor, parâmetros, mapeamentos, entradas).",
    "mbox_export_report": "Exportar relatório",
    "report_build_failed": "Não foi possível criar o relatório:\n\n{error}",
    "report_save_title": "Guardar relatório de auditoria",
    "report_write_failed": "Não foi possível escrever o ficheiro:\n\n{error}",
    "report_saved": "Relatório de auditoria guardado em:\n{path}",
    "btn_difference_report": "Exportar relatório de diferenças…",
    "tip_difference_report": "Guarda um relatório HTML imprimível que explica como o resultado principal e uma comparação selecionada diferem (modelo, pesos/marcas, parâmetros, mapeamentos).",
    "mbox_difference_report": "Relatório de diferenças",
    "difference_need_two": "É necessário o resultado principal e pelo menos uma comparação (cada uma de uma execução registada) para criar um relatório de diferenças.",
    "difference_save_title": "Guardar relatório de diferenças",
    "difference_saved": "Relatório de diferenças ({a} vs {b}) guardado em:\n{path}",
    "btn_restore": "Restaurar esta revisão…",
    "tip_restore": "Torna a revisão selecionada na definição atual do fluxo de trabalho. É aditivo — regista uma nova revisão e nunca elimina o histórico.",
    "mbox_restore": "Restaurar revisão",
    "restore_select": "Selecione uma revisão para restaurar.",
    "restore_confirm": "Tornar a revisão {n} na definição atual do fluxo de trabalho?\n\nIsto regista uma nova revisão; nada é eliminado.",
    "restore_failed": "Não foi possível restaurar:\n\n{error}",
    "restore_done": "A revisão {n} é agora a definição atual do fluxo de trabalho.",
    "restore_incomplete": "A restauração não foi concluída.",
    "history_header": "{count} revisão(ões)",
    "history_payload_placeholder": "Selecione uma revisão para ver os dados da sua definição de fluxo de trabalho.",
    "col_rev": "Rev",
    "col_when": "Quando",
    "col_by": "Por",
    "col_change": "Alteração",
    "col_hash": "Hash",
    "verified_registry_model": "Verified registry model",
    "registry_model_id": "Registry model id",
    "registry_version": "Registry version",
    "menu_create_workspace": "Criar espaço de trabalho",
    "menu_open_workspace": "Abrir espaço de trabalho",
    "menu_create_study_area": "Criar área de estudo",
    "menu_edit_workspace": "Editar espaço de trabalho",
    "menu_delete_workspace": "Eliminar espaço de trabalho",
    "menu_create_analysis": "Criar análise",
    "menu_edit_study_area": "Editar área de estudo",
    "menu_delete_study_area": "Eliminar área de estudo",
    "menu_add_task": "Adicionar tarefa",
    "menu_delete_analysis": "Eliminar análise",
    "menu_add_subtask": "Adicionar subtarefa",
    "menu_run_task": "Executar tarefa",
    "menu_open_netweaver_viewer": "Abrir visualizador do NetWeaver",
    "menu_open_cdp_viewer": "Abrir visualizador do CDP",
    "menu_open_results": "Abrir resultados",
    "menu_compare_with": "Comparar com…",
    "menu_execution_history": "Histórico de execução",
    "menu_edit_task": "Editar tarefa",
    "menu_delete_task": "Eliminar tarefa",
    "menu_show_on_map": "Mostrar no mapa",
    "menu_toggle_visibility": "Alternar visibilidade"
  },
  "registry_picker": {
    "window_title": "Pick Published Model Version",
    "header": "Published {kind} model versions in the central registry.\nRegistry: {path}",
    "col_name": "Model name",
    "col_version": "Version",
    "col_schema": "Schema",
    "col_authoring_tool": "Authoring tool",
    "col_current": "Current",
    "current_marker": "current",
    "btn_refresh": "Refresh",
    "count": "{count} version(s) found.",
    "empty": "No published {kind} model versions were found in the registry.",
    "load_error": "Could not read the model registry: {error}",
    "select_required": "Select a model version first."
  },
  "pipeline_builder": {
    "title": "Construtor de pipelines",
    "btn_run": "Executar",
    "btn_test": "Executar teste",
    "tip_run": "Executar o pipeline completo na saída do estudo.",
    "tip_test": "Executar com ≤200 linhas apenas em staging (sem camadas no mapa).",
    "run_title": "Executar pipeline",
    "test_title": "Testar pipeline",
    "run_preparing": "A preparar pipeline «{name}»…",
    "test_preparing": "A preparar teste do pipeline (≤200 linhas)…",
    "run_complete": "Pipeline «{name}» concluído.",
    "test_complete": "Teste concluído ({steps} passo(s), apenas staging).",
    "run_failed": "Falha ao executar o pipeline:\n\n{error}",
    "test_failed": "Falha no teste do pipeline:\n\n{error}",
    "msg_no_steps": "Adicione pelo menos um passo antes de executar.",
    "menu_file": "Ficheiro",
    "menu_edit": "Editar",
    "menu_new_pipeline": "Novo pipeline",
    "menu_new_from_template": "Novo a partir de modelo…",
    "menu_open_pipeline": "Abrir pipeline",
    "menu_import_json": "Importar de JSON…",
    "menu_export_json": "Exportar para JSON…",
    "menu_save_pipeline": "Guardar pipeline",
    "menu_save_pipeline_as": "Guardar pipeline como",
    "menu_undo": "Anular",
    "menu_redo": "Refazer",
    "menu_duplicate_step": "Duplicar o passo selecionado",
    "menu_delete_step": "Eliminar o passo selecionado",
    "lbl_pipeline_name": "Nome do pipeline",
    "lbl_description": "Descrição",
    "lbl_pipeline_steps": "Passos do pipeline",
    "tab_step_properties": "Propriedades do passo selecionado",
    "msg_select_step": "Selecione um passo do pipeline para editar as suas propriedades.",
    "tab_execution_preview": "Pré-visualização da execução",
    "btn_run_mock": "Executar com variáveis de teste…",
    "btn_run_selected_step": "Executar o passo selecionado…",
    "lbl_pipeline_graph": "Gráfico do pipeline",
    "btn_refresh": "Atualizar",
    "tip_refresh_graph": "Reorganizar o gráfico do pipeline para a definição atual.",
    "graph_legend": "O gráfico é só de leitura — edite os passos na lista de cartões à esquerda. Cores: azul = tarefa, verde = script Python, turquesa = variável, roxo = ciclo, âmbar = se/senão, laranja = try/catch, ardósia = registo.",
    "btn_insert_step": "+ Inserir passo",
    "btn_configure_wizard": "Configurar com o assistente…",
    "btn_cancel": "Cancelar",
    "btn_save": "Guardar",
    "insert_run_task": "Executar uma tarefa do EMDS",
    "insert_remember_value": "Memorizar um valor",
    "insert_repeat_each": "Repetir para cada…",
    "insert_only_if": "Apenas se…",
    "insert_log_message": "Escrever uma mensagem de registo",
    "insert_on_error": "Se algo correr mal…",
    "msg_no_saved_pipelines": "Não há pipelines guardados disponíveis neste projeto.",
    "msg_select_task_first": "Selecione primeiro um passo de tarefa.",
    "msg_wizard_engines_only": "O assistente só está disponível para os motores NetWeaver, CDP e Portfolio.",
    "msg_open_from_analysis": "Abra o editor a partir de uma análise para utilizar o assistente de configuração.",
    "msg_wizard_open_failed": "Não foi possível abrir o assistente:\n\n{error}",
    "msg_clear_wizard_confirm": "Limpar a configuração do assistente para esta tarefa? Os campos em bruto abaixo serão mantidos.",
    "msg_resolve_before_saving": "Resolva o seguinte antes de guardar:\n\n{issues}"
  },
  "edit_node": {
    "title_workspace": "Editar espaço de trabalho",
    "title_study": "Editar área de estudo",
    "err_workspace_not_found": "Não foi possível encontrar o espaço de trabalho selecionado.",
    "err_study_not_found": "Não foi possível encontrar a área de estudo selecionada.",
    "err_name_required": "O nome não pode estar vazio.",
    "err_workspace_save_failed": "Não foi possível guardar o espaço de trabalho nos metadados.",
    "err_study_save_failed": "Não foi possível guardar a área de estudo nos metadados.",
    "label_name": "Nome:",
    "label_description": "Descrição:",
    "label_comments": "Comentários:"
  },
  "netweaver_graph": {
    "window_title": "Rede NetWeaver – {name}",
    "context": "Tópico: {topic} · Feição: {feature}",
    "context_no_feature": "Tópico: {topic} · nenhuma feição selecionada",
    "context_topics_mode": "Hierarquia de tópicos – {name}",
    "btn_back": "◀ Voltar",
    "btn_fit": "Ajustar",
    "btn_fit_tip": "Ajustar à janela (Ctrl+0)",
    "btn_zoom_in": "Ampliar (Ctrl+roda)",
    "btn_zoom_out": "Reduzir (Ctrl+roda)",
    "btn_details": "Detalhes",
    "btn_close": "Fechar",
    "badge_queued": "na fila",
    "badge_on_map": "no mapa",
    "tip_column": "Coluna: {column}",
    "tip_value": "Valor: {value}",
    "tip_class": "Classe: {label}",
    "tip_type": "Tipo: {type}",
    "tip_queued": "Na fila para adicionar ao mapa",
    "tip_on_map": "Já está no mapa",
    "tip_ignored": "Ignorado",
    "tip_no_feature": "Nenhuma feição selecionada",
    "tip_db_field": "Coluna de dados: {column}",
    "value_no_data": "Sem dados",
    "placeholder_no_topics": "Não há tópicos NetWeaver disponíveis.",
    "status_topics_fallback": "Motor NetWeaver indisponível — mostrando apenas a hierarquia de tópicos.",
    "status_engine_error": "Falha na chamada ao motor: {error}",
    "status_no_row": "Selecione uma linha na tabela de resultados para colorir esta rede.",
    "status_drill_failed": "'{name}' não pode ser aberto como rede própria.",
    "detail_no_selection": "Clique em um nó para inspecioná-lo.",
    "detail_children": "Nós filhos",
    "detail_type": "Tipo: {type}",
    "detail_hint": "Dica: {hint}",
    "detail_db_field": "Coluna de dados: {column}",
    "detail_connection": "Conexão: {connection}",
    "detail_result_column": "Coluna de resultados: {column}",
    "tab_network": "Rede",
    "tab_outline": "Estrutura",
    "tab_nodes": "Metas && Cálculos",
    "tab_data": "Atribuições de dados",
    "btn_reset_whatifs": "Redefinir cenários",
    "btn_reset_whatifs_count": "Redefinir cenários ({count})",
    "btn_reset_whatifs_tip": "Limpa todos os cenários de ignorar e restaura os valores persistidos do modelo.",
    "whatif_conditional": "Ignorar (condicional) — cenário",
    "whatif_persistent": "Ignorar (persistente) — cenário",
    "whatif_tip": "Aplica-se apenas a esta sessão do visualizador; o arquivo do modelo nunca é alterado.",
    "outline_col_node": "Nó",
    "outline_col_value": "Valor",
    "outline_loading": "Carregando…",
    "outline_no_network": "(sem rede)",
    "outline_truncated": "… (truncado)",
    "nodes_goals": "Metas",
    "nodes_calcs": "Nós calculados",
    "data_col_variable": "Variável do modelo",
    "data_col_column": "Coluna de dados",
    "data_col_value": "Valor da linha",
    "data_unmapped": "(não mapeado)",
    "status_truncated": "Rede truncada pelo limite de tamanho — aprofunde em uma subárvore para ver mais.",
    "status_missing_overrides": "Cenário(s) não encontrado(s) no modelo: {names}",
    "tab_documents": "Documentos",
    "docs_kb_header": "Base de conhecimento – {name}",
    "docs_select_prompt": "Selecione uma entrada para ler sua documentação.",
    "docs_none": "Este modelo não contém documentação.",
    "docs_no_content": "(sem documentação nesta entrada)",
    "docs_hint_label": "Dica:",
    "docs_link_label": "Link:",
    "hint_drill": "Clique duplo em um nó para aprofundar · Esc volta",
    "status_unresolved": "{count} variável(is) de entrada não resolvida(s) — veja Atribuições de dados.",
    "status_no_data_count": "{count} nó(s) sem dados para esta feição."
  },
  "netweaver_inspector": {
    "window_title": "Inspetor de nós – {topic}",
    "header": "<b>Tópico:</b> {topic}    <b>Coluna:</b> {column}    <b>Fluxo:</b> {workflow}",
    "selected_row": "<b>Linha selecionada:</b> {row}    <b>Valor:</b> {value}",
    "unclassified": "Não classificado",
    "legend_title": "Legenda de classes",
    "col_class": "Classe",
    "col_count": "Contagem",
    "col_percent": "% dos válidos",
    "btn_close": "Fechar",
    "total_rows": "Total de linhas: {count}",
    "non_null": "Valores não nulos: {count}",
    "null": "Valores nulos: {count}",
    "minimum": "Mínimo: {value}",
    "maximum": "Máximo: {value}",
    "mean": "Média: {value}",
    "median": "Mediana: {value}",
    "no_numeric": "Esta coluna não contém valores numéricos para resumir.",
    "chart_title": "Distribuição de classes – {column}",
    "chart_value_label": "número de linhas",
    "chart_empty": "Sem dados numéricos para o gráfico."
  },
  "rich_comments": {
    "tip_bold": "Negrito",
    "tip_italic": "Itálico",
    "tip_underline": "Sublinhado",
    "tip_bullets": "Lista com marcadores",
    "tip_numbering": "Lista numerada",
    "tip_color": "Cor do texto",
    "tip_link": "Inserir link",
    "tip_undo": "Desfazer",
    "tip_redo": "Refazer",
    "color_dialog_title": "Cor do texto",
    "link_dialog_title": "Inserir link",
    "link_dialog_prompt": "Endereço do link (URL):"
  }
}
