Files
alva/felsokning/services/gemensam/sprak/de.mjs
T
Claude be10704349 Grinden talar organisationens språk — engelska som standard
Kvalitetsgrinden formulerade sina hinder på svenska, hårdkodat. I en
produkt där engelska är standardspråket betyder det att en spärr kan
neka ett avslut på ett språk teknikern inte läser. Det är en spärr utan
väg förbi: teknikern ser att systemet vägrar men inte varför, och den
enda utvägen blir att ringa någon. Det är då regeln slutar vara en regel
och blir ett hinder man lär sig kringgå.

Varje hinder bär nu både nyckel och färdig text. Nyckeln därför att en
klient som byter språk ska kunna rendera om utan att fråga servern;
texten därför att ett hinder som hamnar i en logg eller en PDF måste gå
att läsa utan katalogen. Hindrets id och nyckel är språkoberoende — det
är bara texten som byter.

Språket är organisationens, inte användarens. En verkstad i Tyskland med
en polsk tekniker ska ha ett gemensamt dokumentationsspråk; rapporten
ska inte byta språk beroende på vem som råkade stänga ärendet. Det
lagras i organisationens inställningar, och en felstavad landskod blir
engelska i stället för ett fel — språkinställningen är en etikett och
ska inte hindra någon från att spara sina objekttyper.

SPARRFRAGOR bär nu nycklar i stället för svensk text. Testet som jämför
serverns lista med klientens jämför nycklar, så listorna kan fortfarande
inte glida isär.

Två tester prövade svenska ord i grindens utdata och gick sönder, vilket
var rätt av dem. De prövar nu nyckeln — texten är översatt och byter
språk med organisationen, och att pröva svenska ord hade gjort dem till
tester av vilket språk som råkar vara standard. Ett nytt test prövar det
som faktiskt betyder något: samma id, samma nyckel, olika text.

Integrationstestet följer språket hela vägen — organisationens
inställning, genom servern, ut i det 409-svar som nekar avslutet: engelska
som standard, tyska efter byte, engelska igen vid okänd kod.

582 tester, 186 integrationskontroller mot riktig Postgres, genomgång och
portalspärr gröna.

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

129 lines
7.0 KiB
JavaScript

// ALVA-SPEC-060 · Deutsch.
//
// Anweisungen stehen im Infinitiv, nicht in der Anrede: "Kilometerzähler
// fotografieren", nicht "Fotografieren Sie den Kilometerzähler". Das ist
// der Registerton technischer Anweisungen im deutschen Sprachraum und
// entspricht ALVA-SPEC-001 §7 — das System meldet einen Zustand, es
// wendet sich nicht an den Benutzer.
//
// `granskat: false`: die Oberfläche ist übersetzt, der Verfahrenstext
// ist nicht von einer Fachkraft geprüft. Siehe index.mjs.
export const DE = {
// ---- Evidenzgrade -------------------------------------------------------
"evidens.E1": "Beobachtung",
"evidens.E2": "Fotografie",
"evidens.E3": "Video mit Ton",
"evidens.E4": "Messung, kalibriertes Messmittel",
"evidens.E5": "Dokument",
"evidens.ej_kalibrerad": "Kalibrierung fehlt oder ist abgelaufen",
"evidens.ej_angivet": "Messmittel nicht angegeben",
"evidens.ej_fotograferad": "eingetragen, nicht fotografiert",
// ---- Qualitätsschranke --------------------------------------------------
"grind.objekt": "Identität des Fahrzeugs oder Objekts verifiziert",
"grind.historik": "Fahrzeughistorie geprüft oder begründet",
"grind.historik.nekad": "Eine abgelehnte Historienprüfung erfordert eine angegebene Begründung.",
"grind.historik.saknas": "Keine Historienprüfung dokumentiert.",
"grind.matarstallning.ingaende": "Kilometerstand bei Annahme fotografiert",
"grind.matarstallning.utgaende": "Kilometerstand bei Ausgabe fotografiert",
"grind.matarstallning.saknas": "Kein Kilometerstand dokumentiert.",
"grind.matarstallning.ej_foto":
"Der Kilometerstand ist eingetragen, aber nicht fotografiert. Kilometerzähler fotografieren, oder angeben, warum dies nicht möglich ist.",
"grind.reproducering": "Symptomverifizierung: reproduziert oder als nicht reproduzierbar dokumentiert",
"grind.felorsak": "Fehlerursachenanalyse dokumentiert",
"grind.atgard": "Maßnahme dokumentiert oder begründet",
"grind.atgard.saknas": "Weder eine durchgeführte Maßnahme noch ein Grund für deren Ausbleiben ist dokumentiert.",
"grind.kundbeslut": "Kundenentscheidung zum Vorschlag erfasst",
"grind.kundbeslut.avbojt": "Arbeit trotz abgelehntem Vorschlag durchgeführt",
"grind.kundbeslut.avbojt.detalj":
"Der Kunde hat den Vorschlag abgelehnt, es ist jedoch durchgeführte Arbeit dokumentiert.",
"grind.kvalitetskontroll": "Qualitätskontrolle durchgeführt — Symptom verifiziert",
"grind.kontroller": "Prüfpunkte der Methodik: Evidenz oder dokumentierte Ausnahme",
"grind.foton": "Fotos für die Prüfpunkte vorhanden, die sie erfordern",
"grind.slutsats": "Abschlussfeststellung (ALVA-RULE-200)",
"grind.hogvolt.behorighet": "Hochvolt-Qualifikation bestätigt",
"grind.hogvolt.spanningslos": "Fahrzeug nach Herstellerverfahren spannungsfrei geschaltet",
"grind.regelpaket": "Signatur des Regelpakets stimmt nicht — Abschluss gesperrt.",
"grind.regelpaket.osignerat": "Ein externes Regelpaket wird ohne Signatur verwendet — Abschluss gesperrt.",
"grind.evidens": "Evidenzgrad über E0",
"grind.evidens.saknas": "Es liegt keinerlei Evidenz im Protokoll vor.",
"grind.foton.detalj": "{kontroller} Prüfpunkte erfordern ein Foto, {foton} Fotos im Protokoll.",
"grind.sparr.ej_uppfyllt": "Die Sicherheitsanforderung ist nicht erfüllt.",
"grind.arendetyp.okant": "Unbekannte Anforderung im Regelpaket: {krav}",
"grind.arendetyp.krav": "Anforderung für diese Vorgangsart: {krav}",
// ---- Abschlussfeststellung (ALVA-RULE-200) ------------------------------
"slutsats.rubrik": "Abschlussfeststellung",
"slutsats.konstaterat": "Was festgestellt wurde",
"slutsats.evidens": "Welche Evidenz dies trägt",
"slutsats.avfardat": "Welche Hypothesen verworfen wurden, und warum",
"slutsats.osakert": "Was unsicher bleibt",
"slutsats.ickesvar":
"Das ist keine Feststellung. Angeben, was festgestellt wurde und welche Evidenz dies trägt.",
// ---- Vorgangsablauf -----------------------------------------------------
"arende.nytt": "Neuer Vorgang",
"arende.oppna": "Offene Vorgänge",
"arende.avslutade": "Abgeschlossene Vorgänge",
"arende.avsluta": "Vorgang abschließen",
"arende.avslutat": "Vorgang abgeschlossen",
"arende.kan_ej_avslutas": "Der Vorgang kann noch nicht abgeschlossen werden",
"arende.hinder": "Vor dem Abschluss offen",
"arende.overlamna": "Übergeben",
"arende.ansvarig": "Verantwortlich",
// ---- Vorprüfung ---------------------------------------------------------
"pre.rubrik": "Vorprüfung — vor Arbeitsbeginn",
"pre.historik.fraga":
"Ist die Fahrzeughistorie geprüft? (frühere Arbeiten, wiederkehrende Fehler, TSB, Rückrufaktionen)",
"pre.historik.ja": "Ja — geprüft",
"pre.historik.nej": "Nein",
"pre.historik.skal": "Grund, warum die Historie nicht geprüft wurde (erforderlich)",
"pre.historik.relevant": "Relevante frühere Arbeiten (optional — Ursachenkette)",
"pre.matarstallning": "Kilometerstand",
"pre.fotografera": "Kombiinstrument fotografieren",
"pre.felbeskrivning": "Fehlerbeschreibung des Kunden verifiziert",
"pre.observationer": "Sonstiges bei der Annahme?",
// ---- Handlungen ---------------------------------------------------------
"handling.spara": "Speichern",
"handling.avbryt": "Abbrechen",
"handling.fortsatt": "Weiter",
"handling.tillbaka": "Zurück",
"handling.dokumentera": "Dokumentieren",
"handling.fotografera": "Fotografieren",
"handling.spela_in": "Video aufnehmen",
"handling.undantag": "Ausnahme dokumentieren",
"handling.undantag.skal": "Begründung der Ausnahme (erforderlich)",
"handling.exportera": "Exportieren",
"handling.skriv_ut": "Drucken",
// ---- Messung ------------------------------------------------------------
"matning.varde": "Wert",
"matning.enhet": "Einheit",
"matning.matdon": "Messmittel",
"matning.matdon.valj": "Messmittel wählen",
"matning.matdon.okant": "Unbekanntes Messmittel. Vor dem Speichern der Messung registrieren.",
"matning.kalibrerad_till": "Kalibriert bis",
// ---- Bericht ------------------------------------------------------------
"rapport.rubrik": "Vorgangsbericht",
"rapport.sammanfattning": "Zusammenfassung",
"rapport.evidens": "Evidenz",
"rapport.atgarder": "Maßnahmen",
"rapport.harledd":
"Aus dem Vorgangsprotokoll abgeleitet. Beobachtungen und Messungen werden ohne Schlussfolgerungen wiedergegeben, denen die Grundlage fehlt.",
// ---- Sprache ------------------------------------------------------------
"sprak.valj": "Sprache",
"sprak.granskat": "Geprüft",
"sprak.ogranskat": "Nicht geprüft",
"sprak.tackning": "{procent} % der Oberfläche",
"metodik.ogranskad":
"Der Verfahrenstext wurde nicht von einer Fachkraft auf {sprak} geprüft. Schritte und Prüfpunkte werden auf Englisch angezeigt, wo keine geprüfte Übersetzung vorliegt — eine ungeprüfte Übersetzung einer Sicherheitsanweisung ist schlechter als eine fremdsprachige, weil sie nicht fremd aussieht.",
"metodik.pa_engelska": "Auf Englisch angezeigt — keine geprüfte Übersetzung auf {sprak}",
};