Files
alva/felsokning/services/gemensam/sprak/nl.mjs
T
Claude 322d228c80 ALVA-RULE-200 gällde bara på svenska — nu på tio språk
Slutsatsgranskningen avvisar icke-svar med en ordlista: "klart", "ok",
"trasig". Listan var enbart svensk. En tysk tekniker som skrev
"erledigt" i motiveringsfältet passerade filtret — inte därför att
texten dög, utan därför att filtret bara kände igen "klart". Grinden
släppte igenom avslutet och rapporten såg fullständig ut.

Det var alltså inte en översättningsbrist utan ett hål i den regel som
är hela produktens värde, och hålet fanns på varje marknad utom en.

Samma sak åt andra hållet: orsaksorden som visar att en text innehåller
ett resonemang var svenska, liksom evidensorden. Engelskans "photo"
innehåller inte "foto", så "the photo shows the arcing at pin 14"
räknades inte som en hänvisning till underlag. Följden hade varit värre
än ett släppt avslut — en korrekt skriven motivering hade nekats, och en
spärr som nekar rätt svar är en spärr man lär sig kringgå.

Listorna ligger nu i sprak/ord.mjs, per språk, och slås ihop till en
union i stället för att väljas efter inställning. Ett icke-svar är ett
icke-svar oavsett språk — jämförelsen görs mot hela fältet, så en
tekniker som skriver på ett annat språk än organisationens ska inte
kunna passera på den vägen. Orsaks- och evidensorden går åt motsatt
håll: unionen gör kontrollen mer tillåtande, aldrig strängare, och det
är rätt riktning att fela åt.

Medvetet utanför listorna: "inget", "keine", "none". Att ingenting
kvarstår osäkert är ett giltigt och ofta korrekt svar; att göra det till
ett icke-svar hade tvingat fram utfyllnad, och utfyllnad är sämre än ett
kort sant svar. Ett test låser det.

Bristernas texter kommer nu ur katalogen och bär sin nyckel, precis som
grindens hinder. Fältnamnet översätts med resten av meningen —
"Begründung fehlt.", inte "Motivering fehlt.".

Mutationsprövat: med listan återställd till enbart svenska föll nio
tester, ett per språk. Svenska och engelska är genomgångna; övriga
listor är en första uppsättning och står som ogranskade i filhuvudet,
av samma skäl som `granskat` i SPRAK — de är metodik, inte gränssnitt.

597 tester, 186 integrationskontroller, typkontroll, lint och genomgång
gröna.

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

139 lines
7.9 KiB
JavaScript

// ALVA-SPEC-060 · Nederlands.
//
// Knoppen staan in de infinitief («Opslaan», «Annuleren»), zoals de
// Nederlandse interfaceconventie voorschrijft. Instructies binnen een
// zin richten zich niet tot de gebruiker — ALVA-SPEC-001 §7: het systeem
// meldt een toestand.
//
// `granskat: false`: de interface is vertaald, de proceduretekst is niet
// door een vakspecialist gecontroleerd. Zie index.mjs.
export const NL = {
// ---- Bewijsgraden -------------------------------------------------------
"evidens.E1": "Waarneming",
"evidens.E2": "Foto",
"evidens.E3": "Video met geluid",
"evidens.E4": "Meting, gekalibreerd meetmiddel",
"evidens.E5": "Document",
"evidens.ej_kalibrerad": "kalibratie ontbreekt of is verlopen",
"evidens.ej_angivet": "meetmiddel niet opgegeven",
"evidens.ej_fotograferad": "ingevoerd, niet gefotografeerd",
// ---- De afsluitcontrole -------------------------------------------------
"grind.objekt": "Identificatie van voertuig of object geverifieerd",
"grind.historik": "Voertuighistorie gecontroleerd of gemotiveerd",
"grind.historik.nekad": "Een geweigerde historiecontrole vereist een opgegeven reden.",
"grind.historik.saknas": "Geen historiecontrole gedocumenteerd.",
"grind.matarstallning.ingaende": "Kilometerstand bij inname gefotografeerd",
"grind.matarstallning.utgaende": "Kilometerstand bij aflevering gefotografeerd",
"grind.matarstallning.saknas": "Geen kilometerstand gedocumenteerd.",
"grind.matarstallning.ej_foto":
"De kilometerstand is ingevoerd maar niet gefotografeerd. Kilometerteller fotograferen, of aangeven waarom dat niet mogelijk is.",
"grind.reproducering": "Symptoomverificatie: gereproduceerd, of gedocumenteerd als niet reproduceerbaar",
"grind.felorsak": "Analyse van de grondoorzaak gedocumenteerd",
"grind.atgard": "Corrigerende maatregel gedocumenteerd of gemotiveerd",
"grind.atgard.saknas": "Noch een uitgevoerde maatregel noch een reden voor het uitblijven ervan is gedocumenteerd.",
"grind.kundbeslut": "Klantbeslissing over het voorstel vastgelegd",
"grind.kundbeslut.avbojt": "Werk uitgevoerd ondanks een afgewezen voorstel",
"grind.kundbeslut.avbojt.detalj":
"De klant heeft het voorstel afgewezen, maar er is werk gedocumenteerd als uitgevoerd.",
"grind.kvalitetskontroll": "Kwaliteitscontrole uitgevoerd — symptoom geverifieerd",
"grind.kontroller": "Controlepunten van de methodiek: bewijs, of een gedocumenteerde uitzondering",
"grind.foton": "Foto's aanwezig bij de controles die dat vereisen",
"grind.slutsats": "Eindconclusie (ALVA-RULE-200)",
"grind.hogvolt.behorighet": "Hoogspanningsbevoegdheid bevestigd",
"grind.hogvolt.spanningslos": "Voertuig spanningsloos gemaakt volgens de procedure van de fabrikant",
"grind.regelpaket": "Handtekening van het regelpakket komt niet overeen — afsluiten geblokkeerd.",
"grind.regelpaket.osignerat": "Er wordt een extern regelpakket zonder handtekening gebruikt — afsluiten geblokkeerd.",
"grind.evidens": "Bewijsgraad boven E0",
"grind.evidens.saknas": "Er is geen enkel bewijs in het logboek aanwezig.",
"grind.foton.detalj": "{kontroller} controles vereisen een foto, {foton} foto's in het logboek.",
"grind.sparr.ej_uppfyllt": "Aan de veiligheidseis is niet voldaan.",
"grind.arendetyp.okant": "Onbekende eis in het regelpakket: {krav}",
"grind.arendetyp.krav": "Eis voor dit zaaktype: {krav}",
// ---- De eindconclusie (ALVA-RULE-200) -----------------------------------
"slutsats.rubrik": "Eindconclusie",
"slutsats.konstaterat": "Wat is vastgesteld",
"slutsats.evidens": "Welk bewijs dat draagt",
"slutsats.avfardat": "Welke hypothesen zijn verworpen, en waarom",
"slutsats.osakert": "Wat onzeker blijft",
"slutsats.ickesvar": "Dat is geen conclusie. Aangeven wat is vastgesteld en welk bewijs dat draagt.",
"slutsats.falt.motivering": "Onderbouwing",
"slutsats.falt.motivering_ej": "Reden waarom de oorzaak niet kon worden vastgesteld",
"slutsats.falt.uteslutet": "Verworpen alternatieven",
"slutsats.falt.kvarstaende": "Resterende onzekerheid",
"slutsats.falt.atgardsval": "Keuze van de maatregel",
"slutsats.saknas": "{falt} ontbreekt.",
"slutsats.ickesvar.falt": "{falt}: „{text}” is geen onderbouwing. Aangeven wat er werkelijk geldt, en waarom.",
"slutsats.for_kort": "{falt} is te kort ({langd} van minstens {minsta} tekens) om achteraf toetsbaar te zijn.",
"slutsats.utan_varfor": "{falt} geeft het wat aan, niet het waarom. Verbind de conclusie met het bewijs — wat daarin maakt dat dit volgt?",
"slutsats.utan_slutsats": "De zaak kan niet worden afgesloten zonder eindconclusie. Aangeven waarom de conclusie uit het bewijs volgt.",
"slutsats.hypotes_obemott": "De hypothese „{text}” staat in het logboek maar wordt niet behandeld. Aangeven waarom zij is verworpen, of waarom zij open blijft.",
// ---- Zaakverloop --------------------------------------------------------
"arende.nytt": "Nieuwe zaak",
"arende.oppna": "Openstaande zaken",
"arende.avslutade": "Afgesloten zaken",
"arende.avsluta": "Zaak afsluiten",
"arende.avslutat": "Zaak afgesloten",
"arende.kan_ej_avslutas": "De zaak kan nog niet worden afgesloten",
"arende.hinder": "Openstaand vóór afsluiting",
"arende.overlamna": "Overdragen",
"arende.ansvarig": "Verantwoordelijke",
// ---- Vooronderzoek ------------------------------------------------------
"pre.rubrik": "Vooronderzoek — voordat het werk begint",
"pre.historik.fraga":
"Is de voertuighistorie gecontroleerd? (eerdere werkzaamheden, terugkerende storingen, TSB's, campagnes)",
"pre.historik.ja": "Ja — gecontroleerd",
"pre.historik.nej": "Nee",
"pre.historik.skal": "Reden waarom de historie niet is gecontroleerd (verplicht)",
"pre.historik.relevant": "Relevante eerdere werkzaamheden (optioneel — oorzakelijke keten)",
"pre.matarstallning": "Kilometerstand",
"pre.fotografera": "Instrumentenpaneel fotograferen",
"pre.felbeskrivning": "Storingsbeschrijving van de klant geverifieerd",
"pre.observationer": "Nog iets bij de inname?",
// ---- Handelingen --------------------------------------------------------
"handling.spara": "Opslaan",
"handling.avbryt": "Annuleren",
"handling.fortsatt": "Doorgaan",
"handling.tillbaka": "Terug",
"handling.dokumentera": "Documenteren",
"handling.fotografera": "Fotograferen",
"handling.spela_in": "Video opnemen",
"handling.undantag": "Een uitzondering documenteren",
"handling.undantag.skal": "Reden voor de uitzondering (verplicht)",
"handling.exportera": "Exporteren",
"handling.skriv_ut": "Afdrukken",
// ---- Meting -------------------------------------------------------------
"matning.varde": "Waarde",
"matning.enhet": "Eenheid",
"matning.matdon": "Meetmiddel",
"matning.matdon.valj": "Meetmiddel kiezen",
"matning.matdon.okant": "Onbekend meetmiddel. Registreren voordat de meting wordt opgeslagen.",
"matning.kalibrerad_till": "Gekalibreerd tot",
// ---- Rapport ------------------------------------------------------------
"rapport.rubrik": "Zaakrapport",
"rapport.sammanfattning": "Samenvatting",
"rapport.evidens": "Bewijs",
"rapport.atgarder": "Maatregelen",
"rapport.harledd":
"Afgeleid uit het zaaklogboek. Waarnemingen en metingen worden weergegeven zonder conclusies waarvoor de onderbouwing ontbreekt.",
// ---- Taal ---------------------------------------------------------------
"sprak.valj": "Taal",
"sprak.granskat": "Gecontroleerd",
"sprak.ogranskat": "Niet gecontroleerd",
"sprak.tackning": "{procent} % van de interface",
"metodik.ogranskad":
"De proceduretekst is niet gecontroleerd door een technisch specialist in het {sprak}. Stappen en controlepunten worden in het Engels weergegeven waar geen gecontroleerde vertaling bestaat — een ongecontroleerde vertaling van een veiligheidsinstructie is slechter dan een anderstalige, omdat die er niet anderstalig uitziet.",
"metodik.pa_engelska": "Weergegeven in het Engels — geen gecontroleerde vertaling in het {sprak}",
};