DecisionReportLabels.java

package com.taxonomy.architecture.decision;

import java.util.Locale;

/** Small bilingual label set shared by report renderers. */
final class DecisionReportLabels {

    private final boolean german;

    DecisionReportLabels(String languageTag) {
        String tag = languageTag == null ? "en" : languageTag;
        this.german = "de".equalsIgnoreCase(Locale.forLanguageTag(tag).getLanguage());
    }

    boolean german() { return german; }

    String subtitle() { return german ? "Nachvollziehbare KI-gestützte Zuordnung einer Anforderung zur Taxonomiehierarchie" : "Traceable AI-assisted mapping of a requirement to the taxonomy hierarchy"; }
    String documentStatus() { return german ? "Dokumentstatus" : "Document status"; }
    String finalStatus() { return german ? "Abschließend" : "Final"; }
    String finalWarnings() { return german ? "Abschließend mit Hinweisen" : "Final with warnings"; }
    String draft() { return german ? "Entwurf – Analyse unvollständig" : "Draft – analysis incomplete"; }
    String noResult() { return german ? "Kein Blattknoten ermittelt" : "No leaf identified"; }
    String requirement() { return german ? "Zugrunde liegende Anforderung" : "Underlying requirement"; }
    String taxonomyBasis() { return german ? "Grundlage der Taxonomiedaten" : "Taxonomy data basis"; }
    String catalogue() { return german ? "Katalog" : "Catalogue"; }
    String dataVersion() { return german ? "Deklarierte Datenversion" : "Declared data version"; }
    String sourceFile() { return german ? "Quelldatei" : "Source file"; }
    String sourceDigest() { return german ? "SHA-256 der Quelldatei" : "Source file SHA-256"; }
    String dataDigest() { return german ? "SHA-256 des geladenen Datenbestands" : "Loaded data SHA-256"; }
    String analysisDigest() { return german ? "SHA-256 des Analysesnapshots" : "Analysis snapshot SHA-256"; }
    String nodes() { return german ? "Knoten / Wurzelbereiche" : "Nodes / root areas"; }
    String provenance() { return german ? "Erzeugung und Versionsnachweis" : "Generation and version evidence"; }
    String generatedAt() { return german ? "Erzeugt am" : "Generated at"; }
    String generatedBy() { return german ? "Erzeugt durch Account" : "Generated by account"; }
    String applicationVersion() { return german ? "Taxonomy-Anwendungsversion" : "Taxonomy application version"; }
    String buildCommit() { return german ? "Anwendungs-Build-Commit" : "Application build commit"; }
    String repository() { return german ? "Repository" : "Repository"; }
    String workspace() { return german ? "Workspace" : "Workspace"; }
    String branch() { return german ? "Branch" : "Branch"; }
    String basedOnCommit() { return german ? "Datenstand / Commit" : "Data state / commit"; }
    String analysisProvider() { return german ? "KI-Anbieter" : "AI provider"; }
    String analysisStatus() { return german ? "Analysestatus" : "Analysis status"; }
    String analysisModel() { return german ? "KI-Modell" : "AI model"; }
    String analysisSnapshot() { return german ? "Unveränderlicher Analysesnapshot" : "Immutable analysis snapshot"; }
    String requirementVersion() { return german ? "Anforderungsversion" : "Requirement version"; }
    String analysisCreatedAt() { return german ? "Analyse erstellt am" : "Analysis created at"; }
    String analysisCreatedBy() { return german ? "Analyse erstellt durch" : "Analysis created by"; }
    String recordedTaxonomyDigest() { return german ? "Im Snapshot gespeicherter Taxonomie-Fingerabdruck" : "Taxonomy fingerprint recorded in snapshot"; }
    String promptDigest() { return german ? "Prompt-Fingerabdruck" : "Prompt fingerprint"; }
    String hierarchyEvidence() { return german ? "Hierarchiequelle" : "Hierarchy evidence"; }
    String frozenHierarchy() { return german ? "Im Analysesnapshot eingefrorene Taxonomiehierarchie" : "Taxonomy hierarchy frozen in the analysis snapshot"; }
    String liveHierarchy() { return german ? "Aktuell geladene Taxonomiehierarchie" : "Currently loaded taxonomy hierarchy"; }
    String completeness() { return german ? "Vollständigkeit" : "Completeness"; }
    String executiveSummary() { return german ? "Kurzfassung" : "Executive summary"; }
    String leadingLeaf() { return german ? "Führender Blattknoten nach effektiver Relevanz" : "Leading leaf by effective relevance"; }
    String highestPath() { return german ? "Führender Entscheidungspfad" : "Leading decision path"; }
    String step() { return german ? "Schritt" : "Step"; }
    String node() { return german ? "Knoten" : "Node"; }
    String score() { return german ? "Effektive Relevanz" : "Effective relevance"; }
    String localShare() { return german ? "Lokaler Anteil / Produkteignung" : "Local share / product suitability"; }
    String rationale() { return german ? "Kurzbegründung" : "Short rationale"; }
    String reasonSource() { return german ? "Herkunft" : "Source"; }
    String methodology() { return german ? "Methodischer Hinweis" : "Methodology note"; }
    String decisionChapters() { return german ? "Einzelentscheidungen entlang der Hierarchie" : "Individual hierarchy decisions"; }
    String chapter() { return german ? "Entscheidung" : "Decision"; }
    String parentNode() { return german ? "Vaterknoten" : "Parent node"; }
    String parentScore() { return german ? "Wert des Vaterknotens" : "Parent score"; }
    String decisionResult() { return german ? "Entscheidungsergebnis" : "Decision result"; }
    String comparison() { return german ? "Vergleichende Begründung" : "Comparative rationale"; }
    String alternatives() { return german ? "Direkte Kindknoten und Alternativen" : "Direct children and alternatives"; }
    String rank() { return german ? "Rang" : "Rank"; }
    String disposition() { return german ? "Folge" : "Disposition"; }
    String leadingSibling() { return german ? "Führend" : "Leading"; }
    String continued() { return german ? "Pfad fortgeführt" : "Path continued"; }
    String leafCandidate() { return german ? "Blattkandidat" : "Leaf candidate"; }
    String rejected() { return german ? "0 % – nicht fortgeführt" : "0% – not continued"; }
    String notEvaluated() { return german ? "Nicht bewertet" : "Not evaluated"; }
    String aiReason() { return german ? "Ursprüngliche KI-Begründung" : "Original AI reason"; }
    String deterministicReason() { return german ? "Deterministische Herleitung" : "Deterministic derivation"; }
    String missingReason() { return german ? "Keine Begründung vorhanden" : "No reason available"; }
    String warnings() { return german ? "Hinweise und Prüfvorbehalte" : "Warnings and review reservations"; }
    String leadingLeaves() { return german ? "Rangliste nach effektiver Relevanz" : "Ranking by effective relevance"; }
    String taxonomyRoot() { return german ? "Taxonomiebereich" : "Taxonomy root"; }
    String hierarchyPath() { return german ? "Hierarchiepfad" : "Hierarchy path"; }
    String appendix() { return german ? "Nachweis und Methodik" : "Evidence and methodology"; }
    String page() { return german ? "Seite" : "Page"; }
    String of() { return german ? "von" : "of"; }
    String continuedLabel() { return german ? "FORTGEFÜHRT" : "CONTINUED"; }
    String leafLabel() { return german ? "BLATT" : "LEAF"; }
    String rejectedLabel() { return german ? "0 %" : "0%"; }
    String notEvaluatedLabel() { return german ? "NICHT BEWERTET" : "NOT EVALUATED"; }
    String leadingLabel() { return german ? "FÜHREND" : "LEADING"; }
    String generatedNotice() { return german ? "Erzeugt durch Taxonomy Architecture Analyzer" : "Generated by Taxonomy Architecture Analyzer"; }
}