Files
alva/felsokning/services/gemensam/sprak/pt.mjs
T
Claude 0068ef9844 Webbplatsen på alla tio språken
Sajten var hårdkodad engelska medan diagnostikytan redan talade tio
språk. Nu hämtar hela den publika webben — startsidan, ansökan,
inloggningen, språksidan, navigationen och sidfoten — sin text ur
samma katalog som resten av produkten, under nytt prefix webb.
(153 nycklar × 10 språk).

Språkval på webben: besökarens eget val (väljare i sidfoten, sparat i
localStorage med minnesfallback för privat läge) → webbläsarens språk
→ engelska. Rangordningen bor kvar i valjSprak; ny modul
alva/webbsprak.ts bär bara lagring och React-kroken. Portalens länkar
står medvetet kvar på engelska — portalen är produkten och styrs av
konto och organisation, inte av ett besöksval i en sidfot.

Gränsen håller: ordmärket, utläsningen och fasnamnen är ALVA:s
struktur och står likadant i varje språk; lang-attributet följer
valet; språksidans förhandsvisning behåller egen väljare och utgår
från besökarens språk.

Test: startsidans hjälterad och faskort låses mot systemdefinitionen
(två källor för samma mening driver isär tyst), webbnycklarna krävs i
varje språk, och designtesterna jämför nu katalognycklar i stället för
strängar — starkare, eftersom samma nyckel är samma ord på alla språk.
Ny språkrunda mot den bakade artefakten: väljare, sidbyte,
webbläsarspråk och engelsk fallback, 11/11.

775 enhetstester, genomgång 4/4, portalspärr, integrationstest,
artefaktmätning, typkontroll och lint gröna.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
2026-08-06 22:38:18 +00:00

326 lines
20 KiB
JavaScript

// ALVA-SPEC-060 · Português.
//
// Português europeu (pt-PT), sem o Acordo aplicado às formas em que as
// duas normas divergem de maneira visível para um técnico: «contacto»,
// «registo», «conta-quilómetros». Se surgir um mercado brasileiro, é uma
// entrada nova no catálogo — «pt-BR» — e não uma emenda a esta.
//
// `granskat: false`: a interface está traduzida, o texto dos
// procedimentos não foi revisto por um especialista. Ver index.mjs.
export const PT = {
// ---- Graus de evidência -------------------------------------------------
"evidens.E1": "Observação",
"evidens.E2": "Fotografia",
"evidens.E3": "Vídeo com som",
"evidens.E4": "Medição, instrumento calibrado",
"evidens.E5": "Documento",
"evidens.ej_kalibrerad": "calibração em falta ou expirada",
"evidens.ej_angivet": "instrumento não indicado",
"evidens.ej_fotograferad": "introduzido, não fotografado",
// ---- O controlo de encerramento -----------------------------------------
"grind.objekt": "Identificação do veículo ou do objeto verificada",
"grind.historik": "Histórico do veículo verificado ou justificado",
"grind.historik.nekad": "Uma verificação de histórico recusada exige um motivo indicado.",
"grind.historik.saknas": "Nenhuma verificação de histórico documentada.",
"grind.matarstallning.ingaende": "Quilometragem à entrada fotografada",
"grind.matarstallning.utgaende": "Quilometragem à saída fotografada",
"grind.matarstallning.saknas": "Nenhuma quilometragem documentada.",
"grind.matarstallning.ej_foto":
"A quilometragem está introduzida mas não fotografada. Fotografar o conta-quilómetros, ou indicar por que motivo não é possível.",
"grind.reproducering": "Verificação do sintoma: reproduzido, ou documentado como não reproduzível",
"grind.felorsak": "Análise da causa raiz documentada",
"grind.atgard": "Ação corretiva documentada ou justificada",
"grind.atgard.saknas": "Não está documentada nem uma ação realizada nem um motivo para a sua ausência.",
"grind.kundbeslut": "Decisão do cliente sobre a proposta registada",
"grind.kundbeslut.avbojt": "Trabalho realizado apesar de uma proposta recusada",
"grind.kundbeslut.avbojt.detalj": "O cliente recusou a proposta, mas há trabalho documentado como realizado.",
"grind.kvalitetskontroll": "Controlo de qualidade efetuado — sintoma verificado",
"grind.kontroller": "Pontos de controlo da metodologia: evidência, ou uma exceção documentada",
"grind.foton": "Fotografias presentes nos controlos que as exigem",
"grind.slutsats": "Conclusão (ALVA-RULE-200)",
"grind.hogvolt.behorighet": "Habilitação de alta tensão confirmada",
"grind.hogvolt.spanningslos": "Veículo colocado fora de tensão segundo o procedimento do fabricante",
"grind.regelpaket": "A assinatura do pacote de regras não corresponde — encerramento bloqueado.",
"grind.regelpaket.osignerat":
"Está a ser utilizado um pacote de regras externo sem assinatura — encerramento bloqueado.",
"grind.evidens": "Nível de evidência superior a E0",
"grind.evidens.saknas": "Não existe qualquer evidência no registo.",
"grind.foton.detalj": "{kontroller} controlos exigem fotografia, {foton} fotografias no registo.",
"grind.sparr.ej_uppfyllt": "O requisito de segurança não está cumprido.",
"grind.arendetyp.okant": "Requisito desconhecido no pacote de regras: {krav}",
"grind.arendetyp.krav": "Requisito para este tipo de processo: {krav}",
"grind.sakerhet": "Nível de confiança dentro do que a evidência sustenta",
"grind.sakerhet.detalj": "A confiança indicada ({niva}) excede o que a evidência sustenta ({tak}). Completar a evidência, ou baixar o nível — a incerteza honesta é informação.",
// ---- A conclusão (ALVA-RULE-200) ----------------------------------------
"slutsats.rubrik": "Conclusão",
"slutsats.konstaterat": "O que foi estabelecido",
"slutsats.evidens": "Que evidência o sustenta",
"slutsats.avfardat": "Que hipóteses foram afastadas, e porquê",
"slutsats.osakert": "O que permanece incerto",
"slutsats.ickesvar": "Isso não é uma conclusão. Indicar o que foi estabelecido e que evidência o sustenta.",
"slutsats.falt.motivering": "Fundamentação",
"slutsats.falt.motivering_ej": "Motivo pelo qual a causa não pôde ser estabelecida",
"slutsats.falt.uteslutet": "Alternativas afastadas",
"slutsats.falt.kvarstaende": "Incerteza remanescente",
"slutsats.falt.atgardsval": "Escolha da ação",
"slutsats.saknas": "Falta {falt}.",
"slutsats.ickesvar.falt": "{falt}: «{text}» não é uma fundamentação. Indicar o que se aplica realmente, e porquê.",
"slutsats.for_kort": "{falt} é demasiado curto ({langd} de pelo menos {minsta} caracteres) para poder ser verificado posteriormente.",
"slutsats.utan_varfor": "{falt} indica o quê, mas não o porquê. Ligar a conclusão à evidência — o que nela faz com que isto decorra?",
"slutsats.utan_slutsats": "O processo não pode ser encerrado sem uma conclusão. Indicar por que motivo a conclusão decorre da evidência.",
"slutsats.hypotes_obemott": "A hipótese «{text}» consta do registo mas não é tratada. Indicar por que motivo foi afastada, ou por que motivo permanece em aberto.",
// ---- Fluxo do processo --------------------------------------------------
"arende.nytt": "Novo processo",
"arende.oppna": "Processos abertos",
"arende.avslutade": "Processos encerrados",
"arende.avsluta": "Encerrar o processo",
"arende.avslutat": "Processo encerrado",
"arende.kan_ej_avslutas": "O processo ainda não pode ser encerrado",
"arende.hinder": "Pendente antes do encerramento",
"arende.overlamna": "Transferir",
"arende.ansvarig": "Responsável",
// ---- Verificação prévia -------------------------------------------------
"pre.rubrik": "Verificação prévia — antes do início do trabalho",
"pre.historik.fraga":
"O histórico do veículo foi verificado? (trabalhos anteriores, avarias recorrentes, TSB, campanhas)",
"pre.historik.ja": "Sim — verificado",
"pre.historik.nej": "Não",
"pre.historik.skal": "Motivo pelo qual o histórico não foi verificado (obrigatório)",
"pre.historik.relevant": "Trabalhos anteriores relevantes (opcional — cadeia causal)",
"pre.matarstallning": "Quilometragem",
"pre.fotografera": "Fotografar o painel de instrumentos",
"pre.felbeskrivning": "Descrição da avaria pelo cliente verificada",
"pre.observationer": "Mais alguma coisa na receção?",
// ---- Ações --------------------------------------------------------------
"handling.spara": "Guardar",
"handling.avbryt": "Cancelar",
"handling.fortsatt": "Continuar",
"handling.tillbaka": "Voltar",
"handling.dokumentera": "Documentar",
"handling.fotografera": "Fotografar",
"handling.spela_in": "Gravar vídeo",
"handling.undantag": "Documentar uma exceção",
"handling.undantag.skal": "Motivo da exceção (obrigatório)",
"handling.exportera": "Exportar",
"handling.skriv_ut": "Imprimir",
// ---- Medição ------------------------------------------------------------
"matning.varde": "Valor",
"matning.enhet": "Unidade",
"matning.matdon": "Instrumento",
"matning.matdon.valj": "Selecionar instrumento",
"matning.matdon.okant": "Instrumento desconhecido. Registá-lo antes de guardar a medição.",
"matning.kalibrerad_till": "Calibrado até",
// ---- Relatório ----------------------------------------------------------
"rapport.rubrik": "Relatório do processo",
"rapport.sammanfattning": "Resumo",
"rapport.evidens": "Evidência",
"rapport.atgarder": "Ações",
"rapport.harledd":
"Derivado do registo do processo. As observações e as medições são apresentadas sem conclusões que careçam de fundamento.",
// ---- Idioma -------------------------------------------------------------
"sprak.valj": "Idioma",
"sprak.granskat": "Revisto",
"sprak.ogranskat": "Não revisto",
"sprak.tackning": "{procent} % da interface",
"metodik.ogranskad":
"O texto dos procedimentos não foi revisto por um especialista técnico em {sprak}. Os passos e os pontos de controlo são apresentados em inglês onde não existe tradução revista — uma tradução não revista de uma instrução de segurança é pior do que uma em língua estrangeira, porque não parece estrangeira.",
"metodik.pa_engelska": "Apresentado em inglês — sem tradução revista em {sprak}",
// ---- Site público (webb.) ----------------------------------------------
"webb.nav.oversikt": "Visão geral",
"webb.ansok": "Pedir conta",
"webb.loggain": "Iniciar sessão",
"webb.fot.impressum": "Informação legal",
"webb.fot.dataskydd": "Privacidade",
"webb.fot.villkor": "Condições",
"webb.fot.tillganglighet": "Acessibilidade",
"webb.fot.sprak": "Idiomas",
"webb.fot.utgavor": "Notas de versão",
"webb.hero.position": "Plataforma de diagnóstico guiado",
"webb.hero.definition": "Procedimentos de diagnóstico padronizados para uma deteção de avarias repetível e verificável.",
"webb.metod.etikett": "Metodologia",
"webb.metod.rubrik": "O modelo ALVA",
"webb.metod.ingress":
"O ALVA é um método padronizado de análise, localização, verificação e ação sistemáticas. Cada decisão é rastreável, cada conclusão verificável, cada ação reproduzível.",
"webb.fas.analysis.syfte": "Reunir evidências.",
"webb.fas.analysis.avgransning": "Apenas factos. Nesta fase não se recolhem hipóteses.",
"webb.fas.localization.syfte": "Circunscrever a avaria.",
"webb.fas.localization.avgransning": "Estreitar a área. A causa ainda não está estabelecida.",
"webb.fas.verification.syfte": "Confirmar a causa raiz.",
"webb.fas.verification.avgransning": "Verifica-se a causa — não o sintoma.",
"webb.fas.action.syfte": "Executar a ação corretiva.",
"webb.fas.action.avgransning": "Resultado verificado e documentado. Caso contrário, a fase está incompleta.",
"webb.drift.etikett": "Funcionamento",
"webb.drift.rubrik": "Como funciona",
"webb.drift.s1.rubrik": "Criar a organização",
"webb.drift.s1.text": "O registo é submetido e analisado.",
"webb.drift.s2.rubrik": "Os utilizadores recebem contas",
"webb.drift.s2.text": "Os papéis são atribuídos pelo administrador da organização.",
"webb.drift.s3.rubrik": "Procedimentos de diagnóstico guiados",
"webb.drift.s3.text": "Cada caso segue um procedimento definido.",
"webb.drift.s4.rubrik": "Verificação",
"webb.drift.s4.text": "A causa raiz é confirmada antes da ação corretiva.",
"webb.drift.s5.rubrik": "Documentação",
"webb.drift.s5.text": "O relatório é gerado a partir do registo do caso.",
"webb.drift.s6.rubrik": "Melhoria contínua",
"webb.drift.s6.text": "Resultados verificados refinam os procedimentos seguintes.",
"webb.larande.etikett": "Capacidade",
"webb.larande.rubrik": "Aprendizagem da organização",
"webb.larande.p1":
"A plataforma refina continuamente os procedimentos de diagnóstico com a experiência operacional verificada da vossa própria organização.",
"webb.larande.p2":
"Cada diagnóstico concluído alimenta a orientação seguinte. Só se usam resultados verificados — um caso fechado sem causa raiz confirmada não contribui com nada, por conceção.",
"webb.larande.p3":
"A base de conhecimento pertence à organização. É derivada dos vossos casos, dos vossos procedimentos e da vossa documentação, e não é agregada entre clientes.",
"webb.larande.block": "Derivada de",
"webb.larande.k1": "Causas raiz verificadas",
"webb.larande.k2": "Ações corretivas confirmadas",
"webb.larande.k3": "Categorias de avarias recorrentes",
"webb.larande.k4": "Procedimentos concluídos",
"webb.larande.k5": "Documentação da organização",
"webb.rapport.etikett": "Relatórios",
"webb.rapport.rubrik": "Relatório trimestral de melhoria",
"webb.rapport.ingress":
"Uma vez por trimestre, a plataforma responde a seis perguntas sobre o próprio trabalho da oficina. Cada resposta é derivada do registo de casos — nada é estimado e nada é perguntado a ninguém.",
"webb.rapport.f1": "Que avarias diagnosticamos agora corretamente à primeira?",
"webb.rapport.f2": "Com que frequência uma causa suspeita se revela a verdadeira?",
"webb.rapport.f3": "Que avarias continuam a voltar na frota?",
"webb.rapport.f4": "Que passos do procedimento são saltados, e porquê?",
"webb.rapport.f5": "O que sabe a oficina agora que não sabia no trimestre passado?",
"webb.rapport.f6": "Os casos são concluídos, verificados e documentados — ou apenas concluídos?",
"webb.pris.etikett": "Comercial",
"webb.pris.rubrik": "Licenciamento",
"webb.pris.komponent": "Componente",
"webb.pris.grund": "Base",
"webb.pris.plattform": "Licença de plataforma",
"webb.pris.plattform.grund": "Por organização, anual",
"webb.pris.anvandare": "Licenças de utilizador",
"webb.pris.anvandare.grund": "Por utilizador ativo, mensal",
"webb.pris.moduler": "Módulos empresariais",
"webb.pris.moduler.grund": "Opcionais, por módulo",
"webb.pris.betalning": "Sem pagamento online. Sem adesão a subscrição. A faturação segue-se à análise do pedido.",
"webb.pris.aktivering": "Sequência de ativação",
"webb.pris.a1": "A organização submete o registo.",
"webb.pris.a2": "O pedido é analisado.",
"webb.pris.a3": "A fatura é emitida.",
"webb.pris.a4": "O pagamento é registado.",
"webb.pris.a5": "A organização é ativada.",
"webb.pris.a6": "Os utilizadores adicionais são faturados mensalmente.",
"webb.kallor.etikett": "Infraestrutura",
"webb.kallor.rubrik": "Infraestrutura operacional de conhecimento",
"webb.kallor.p1":
"O ALVA usa as fontes de conhecimento autorizadas da própria organização. A arquitetura é neutra quanto ao fornecedor: cada fonte implementa a mesma interface e nenhum fornecedor é pressuposto.",
"webb.kallor.p2":
"Uma instalação beta trabalha apenas com documentação interna. Fornecedores externos são ativados mais tarde através de conectores separados, sem alteração do núcleo da plataforma.",
"webb.kallor.block": "Ordem de resolução das fontes",
"webb.kallor.k1": "Procedimentos internos da empresa",
"webb.kallor.k2": "Documentação OEM",
"webb.kallor.k3": "Boletins técnicos",
"webb.kallor.k4": "Informação de garantia",
"webb.kallor.k5": "Manuais de oficina",
"webb.kallor.k6": "Diagnósticos verificados históricos",
"webb.kallor.k7": "Boas práticas da organização",
"webb.login.etikett": "Acesso",
"webb.login.demo":
"Este início de sessão não autentica nada. Escreva qualquer coisa em E-mail e Palavra-passe e prima Entrar — não é preciso conta, e o portal por trás apresenta dados de exemplo fixos. Ligada a uma instância da plataforma, esta página autentica-se junto dela, e sem sessão válida o portal está fechado.",
"webb.login.losenord": "Palavra-passe",
"webb.login.ofullstandigt": "Autenticação incompleta. E-mail e palavra-passe são obrigatórios.",
"webb.login.misslyckades": "A autenticação falhou.",
"webb.login.logga_in": "Entrar",
"webb.login.loggar_in": "A entrar",
"webb.login.glomt": "Esqueci a palavra-passe",
"webb.ansokan.etikett": "Registo",
"webb.ansokan.demo":
"Nada é enviado. Submeter este formulário não guarda nada, não notifica ninguém e não cria nenhum pedido — ainda não há receção por trás. A descrição abaixo diz como o registo deve funcionar, não o que acontece hoje.",
"webb.ansokan.avsikt": "Funcionamento previsto: os pedidos são analisados manualmente e nesta fase não é cobrado qualquer pagamento.",
"webb.falt.foretag": "Empresa",
"webb.falt.orgnummer": "Número de registo comercial",
"webb.falt.kontakt": "Pessoa de contacto",
"webb.falt.epost": "E-mail",
"webb.falt.telefon": "Telefone",
"webb.falt.tekniker": "Número de técnicos",
"webb.falt.bransch": "Setor",
"webb.falt.land": "País",
"webb.falt.anvandare": "Número previsto de utilizadores",
"webb.falt.noteringar": "Notas",
"webb.falt.kravs": "(obrigatório)",
"webb.ansokan.skicka": "Submeter o pedido",
"webb.ansokan.mottagen.etikett": "Pedido",
"webb.ansokan.mottagen": "Submetido",
"webb.ansokan.mottagen.demo":
"Nada foi transmitido e ninguém foi notificado. A referência abaixo foi calculada no seu navegador a partir do que escreveu e não existe em mais lado nenhum — desaparecerá quando fechar esta página.",
"webb.ansokan.status": "Estado",
"webb.ansokan.referens": "Referência",
"webb.ansokan.granskning":
"Os pedidos são analisados manualmente. A fatura é emitida na aprovação. A organização é ativada quando o pagamento é registado.",
"webb.sprak.etikett": "Localização",
"webb.sprak.rubrik": "Idiomas",
"webb.sprak.ingress":
"O inglês é o idioma predefinido e o idioma de origem. Seguem-se nove traduções. O que a plataforma não faz é afirmar que uma interface traduzida significa um método traduzido.",
"webb.sprak.princip.etikett": "Princípio",
"webb.sprak.princip.rubrik": "Dois tipos de texto",
"webb.sprak.granssnitt.rubrik": "Texto de interface",
"webb.sprak.granssnitt.beteckning": "Recua em silêncio",
"webb.sprak.granssnitt.text":
"Etiquetas, botões, estados. Finito, raramente alterado. Uma cadeia em inglês que chega a um utilizador alemão é uma irritação, não um perigo — por isso uma tradução em falta recua para o inglês sem comentário.",
"webb.sprak.metodik.rubrik": "Texto de procedimento",
"webb.sprak.metodik.beteckning": "Nunca recua em silêncio",
"webb.sprak.metodik.text":
"Instruções para trabalhar num veículo. Aqui uma tradução não revista é pior do que uma em língua estrangeira — porque o inglês parece estrangeiro, enquanto uma má tradução parece uma instrução. É mostrada em inglês e assinalada, com o idioma nomeado.",
"webb.sprak.invariant":
"O método em si nunca é traduzido. Os nomes das fases e as palavras de estado são a estrutura do ALVA e leem-se de forma idêntica em todos os países, para que um auditor possa ler um processo romeno e um alemão sem saber em que idioma a oficina trabalha.",
"webb.sprak.tackning.etikett": "Cobertura",
"webb.sprak.tackning.rubrik": "O que está traduzido, e o que está revisto",
"webb.sprak.kolumn.sprak": "Idioma",
"webb.sprak.kolumn.granssnitt": "Interface",
"webb.sprak.kolumn.granskat": "Método revisto por um especialista",
"webb.sprak.granskat.ja": "Sim",
"webb.sprak.granskat.nej": "Não — texto de procedimento em inglês",
"webb.sprak.matt":
"A cobertura da interface é medida, não estimada: um teste faz falhar a compilação se faltar alguma chave em algum idioma. O estado de revisão é uma afirmação sobre pessoas, não sobre ficheiros, e é definido à mão.",
"webb.sprak.kallsprak":
"O texto de procedimento em inglês é uma tradução da fonte sueca e ainda não foi lido por um especialista que exerce o ofício. É sujeito ao mesmo padrão dos outros nove idiomas, e aqui faz-se sobre ele a mesma declaração em vez de o excetuar em silêncio por ser a fonte.",
"webb.sprak.bevis.etikett": "Verificação",
"webb.sprak.bevis.rubrik": "As frases que param um caso",
"webb.sprak.bevis.ingress":
"Estas são as frases que recusam a um técnico o fecho de um caso. Uma recusa que ninguém entende é uma recusa sem saída — por isso são as frases certas para julgar uma tradução.",
"webb.sprak.ej_granskad": "Não revisto",
"webb.sprak.granskad": "Revisto",
"webb.sprak.granskad.text":
"O texto de procedimento em {sprak} foi lido por um especialista que exerce o ofício. Os passos e os pontos de controlo são mostrados em {sprak} em todo o lado.",
"webb.sprak.val.etikett": "Funcionamento",
"webb.sprak.val.rubrik": "Como o idioma é escolhido",
"webb.sprak.val.s1.rubrik": "Preferência do utilizador",
"webb.sprak.val.s1.text": "O que a pessoa selecionou.",
"webb.sprak.val.s2.rubrik": "Definição da organização",
"webb.sprak.val.s2.text": "O idioma de documentação da oficina.",
"webb.sprak.val.s3.rubrik": "Idioma do navegador",
"webb.sprak.val.s3.text": "O primeiro idioma que a plataforma reconhece.",
"webb.sprak.val.s4.rubrik": "Inglês",
"webb.sprak.val.s4.text": "O predefinido, e a origem.",
"webb.sprak.val.notering":
"A organização vem deliberadamente antes do navegador. Uma oficina na Alemanha com um técnico polaco precisa de um único idioma de documentação — o processo não pode mudar de idioma conforme quem escreveu a linha.",
};