Files
alva/felsokning/services/gemensam/sprak/fr.mjs
T
Claude 995858174d Språk: engelska som källa, tio EU-språk, och en struktur som inte får översättas
Engelska är standard- och källspråk. Nio översättningar till: tyska,
franska, spanska, italienska, polska, nederländska, portugisiska,
rumänska och svenska.

Två sorters text, behandlade olika. GRÄNSSNITTSTEXT faller tillbaka på
engelska tyst — en engelsk knapp hos en tysk användare är irriterande
men ofarlig. METODIKINNEHÅLL gör det aldrig tyst: det märks som
ogranskat, med språket namngivet. Skälet står i modulhuvudet och är hela
poängen med uppdelningen: engelska SYNS som ett annat språk, medan en
felaktig översättning ser ut som en instruktion. En maskinöversatt
säkerhetsanvisning som ingen fackman läst är därför sämre än en engelsk.
Bara engelska och svenska är `granskat: true`.

Strukturen översätts inte. ALVA-SPEC-001 §2 slår fast att fasnamn och
statusord skrivs likadant i varje land — en revisor ska kunna läsa en
rumänsk och en tysk rapport utan att veta vilket språk verkstaden
arbetar på. Det hade gått att skriva in dem oöversatta i varje katalog
och låsa dem med ett test; det är svagare, för en översättare som ser
"Passed" i den polska filen översätter den, och testet blir en tvist i
stället för en regel. Nycklarna saknas i stället helt i
översättningarna och `t()` hämtar dem alltid ur engelskan. Då finns
ingenting att översätta fel.

Testet räknar inte bara nycklar — det går att få grönt genom att
kopiera engelskan till tio filer. Det prövar fyra saker: att katalogen
är komplett, att strukturen inte är översatt, att inget språk är
engelska i förklädnad (tak på 25 % identiska strängar), och att
variabelhållarna överlevde. {procent} som blir {percent} i den franska
filen ger inget fel — den ger "{percent} % de l'interface" på skärmen,
för alltid.

Mutationsprövat: en borttagen nyckel, en översatt statussträng, en
trasig variabelhållare och en polsk fil som var en kopia av engelskan
gav sex röda tester. Polskan har dessutom en egen anmärkning i
filhuvudet: {sprak} sätter in "Polski" i nominativ, och "w języku
Polski" är fel — meningarna är därför omskrivna så att namnet står som
etikett i parentes.

581 tester, typkontroll och lint rena.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
2026-08-06 16:27:45 +00:00

121 lines
6.6 KiB
JavaScript

// ALVA-SPEC-060 · Français.
//
// Les instructions sont à l'infinitif, sans s'adresser à l'utilisateur :
// « Photographier le compteur », et non « Photographiez le compteur ».
// C'est le registre des consignes techniques, et cela respecte
// ALVA-SPEC-001 §7 — le système signale un état, il ne s'adresse pas à
// l'opérateur.
//
// `granskat: false` : l'interface est traduite, le texte de procédure
// n'est pas relu par un spécialiste. Voir index.mjs.
export const FR = {
// ---- Degrés de preuve ---------------------------------------------------
"evidens.E1": "Observation",
"evidens.E2": "Photographie",
"evidens.E3": "Vidéo avec son",
"evidens.E4": "Mesure, instrument étalonné",
"evidens.E5": "Document",
"evidens.ej_kalibrerad": "étalonnage manquant ou expiré",
"evidens.ej_angivet": "instrument non indiqué",
"evidens.ej_fotograferad": "saisi, non photographié",
// ---- Le contrôle de clôture ---------------------------------------------
"grind.objekt": "Identification du véhicule ou de l'objet vérifiée",
"grind.historik": "Historique du véhicule vérifié ou justifié",
"grind.historik.nekad": "Un contrôle d'historique refusé exige un motif indiqué.",
"grind.historik.saknas": "Aucun contrôle d'historique documenté.",
"grind.matarstallning.ingaende": "Kilométrage à la réception photographié",
"grind.matarstallning.utgaende": "Kilométrage à la restitution photographié",
"grind.matarstallning.saknas": "Aucun kilométrage documenté.",
"grind.matarstallning.ej_foto":
"Le kilométrage est saisi mais non photographié. Photographier le compteur, ou indiquer pourquoi cela n'est pas possible.",
"grind.reproducering": "Vérification du symptôme : reproduit, ou documenté comme non reproductible",
"grind.felorsak": "Analyse de la cause racine documentée",
"grind.atgard": "Action corrective documentée ou justifiée",
"grind.atgard.saknas": "Ni action réalisée ni motif de son absence n'est documenté.",
"grind.kundbeslut": "Décision du client sur la proposition enregistrée",
"grind.kundbeslut.avbojt": "Travaux réalisés malgré une proposition refusée",
"grind.kundbeslut.avbojt.detalj":
"Le client a refusé la proposition, mais des travaux sont documentés comme réalisés.",
"grind.kvalitetskontroll": "Contrôle qualité effectué — symptôme vérifié",
"grind.kontroller": "Points de contrôle de la méthode : preuve, ou dérogation documentée",
"grind.foton": "Photographies présentes pour les contrôles qui l'exigent",
"grind.slutsats": "Conclusion (ALVA-RULE-200)",
"grind.hogvolt.behorighet": "Habilitation haute tension confirmée",
"grind.hogvolt.spanningslos": "Véhicule consigné hors tension selon la procédure du constructeur",
"grind.regelpaket": "La signature du paquet de règles ne correspond pas — clôture bloquée.",
"grind.regelpaket.osignerat": "Un paquet de règles externe est utilisé sans signature — clôture bloquée.",
// ---- La conclusion (ALVA-RULE-200) --------------------------------------
"slutsats.rubrik": "Conclusion",
"slutsats.konstaterat": "Ce qui est établi",
"slutsats.evidens": "Quelles preuves l'étayent",
"slutsats.avfardat": "Quelles hypothèses ont été écartées, et pourquoi",
"slutsats.osakert": "Ce qui reste incertain",
"slutsats.ickesvar": "Ce n'est pas une conclusion. Indiquer ce qui est établi et quelles preuves l'étayent.",
// ---- Flux du dossier ----------------------------------------------------
"arende.nytt": "Nouveau dossier",
"arende.oppna": "Dossiers ouverts",
"arende.avslutade": "Dossiers clôturés",
"arende.avsluta": "Clôturer le dossier",
"arende.avslutat": "Dossier clôturé",
"arende.kan_ej_avslutas": "Le dossier ne peut pas encore être clôturé",
"arende.hinder": "Reste avant clôture",
"arende.overlamna": "Transmettre",
"arende.ansvarig": "Responsable",
// ---- Contrôle préalable -------------------------------------------------
"pre.rubrik": "Contrôle préalable — avant le début des travaux",
"pre.historik.fraga":
"L'historique du véhicule a-t-il été vérifié ? (travaux antérieurs, défauts récurrents, TSB, campagnes)",
"pre.historik.ja": "Oui — vérifié",
"pre.historik.nej": "Non",
"pre.historik.skal": "Motif pour lequel l'historique n'a pas été vérifié (obligatoire)",
"pre.historik.relevant": "Travaux antérieurs pertinents (facultatif — chaîne causale)",
"pre.matarstallning": "Kilométrage",
"pre.fotografera": "Photographier le tableau de bord",
"pre.felbeskrivning": "Description du défaut par le client vérifiée",
"pre.observationer": "Autre chose à la réception ?",
// ---- Actions ------------------------------------------------------------
"handling.spara": "Enregistrer",
"handling.avbryt": "Annuler",
"handling.fortsatt": "Continuer",
"handling.tillbaka": "Retour",
"handling.dokumentera": "Documenter",
"handling.fotografera": "Photographier",
"handling.spela_in": "Enregistrer une vidéo",
"handling.undantag": "Documenter une dérogation",
"handling.undantag.skal": "Motif de la dérogation (obligatoire)",
"handling.exportera": "Exporter",
"handling.skriv_ut": "Imprimer",
// ---- Mesure -------------------------------------------------------------
"matning.varde": "Valeur",
"matning.enhet": "Unité",
"matning.matdon": "Instrument",
"matning.matdon.valj": "Sélectionner un instrument",
"matning.matdon.okant": "Instrument inconnu. L'enregistrer avant de sauvegarder la mesure.",
"matning.kalibrerad_till": "Étalonné jusqu'au",
// ---- Rapport ------------------------------------------------------------
"rapport.rubrik": "Rapport de dossier",
"rapport.sammanfattning": "Synthèse",
"rapport.evidens": "Preuves",
"rapport.atgarder": "Actions",
"rapport.harledd":
"Dérivé du journal du dossier. Les observations et les mesures sont rapportées sans conclusions dépourvues de fondement.",
// ---- Langue -------------------------------------------------------------
"sprak.valj": "Langue",
"sprak.granskat": "Relu",
"sprak.ogranskat": "Non relu",
"sprak.tackning": "{procent} % de l'interface",
"metodik.ogranskad":
"Le texte de procédure n'a pas été relu par un spécialiste technique en {sprak}. Les étapes et les points de contrôle sont affichés en anglais lorsqu'aucune traduction relue n'existe — une traduction non relue d'une consigne de sécurité est pire qu'une consigne en langue étrangère, parce qu'elle n'a pas l'air étrangère.",
"metodik.pa_engelska": "Affiché en anglais — aucune traduction relue en {sprak}",
};