i18n(frontend): translate all German UI strings to English

Replace German labels, button text, toast messages, table headers,
tooltips, and placeholder strings across 7 files:
- WorkflowEditor: buttons, toasts, node labels
- Tenants: buttons, toasts, dialog text, table headers
- Admin: widget layout description
- OrderDetail: column headers (Baureihe→Series, Ebene→Level, Lagertyp→Bearing Type)
- ExcelSpreadsheet: column label definitions
- Upload: series/duplicate warning strings
- TemplateEditor: ALL_FIELD_DEFS default labels

API field names (baureihe, ebene1, produkt_baureihe etc.) unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 20:07:01 +01:00
parent 915abe9d74
commit 206672a858
7 changed files with 122 additions and 122 deletions
@@ -39,15 +39,15 @@ interface Template {
// ---------------------------------------------------------------------------
const ALL_FIELD_DEFS: { key: string; defaultLabel: string }[] = [
{ key: 'ebene1', defaultLabel: 'Ebene 1' },
{ key: 'ebene2', defaultLabel: 'Ebene 2' },
{ key: 'baureihe', defaultLabel: 'Baureihe' },
{ key: 'ebene1', defaultLabel: 'Level 1' },
{ key: 'ebene2', defaultLabel: 'Level 2' },
{ key: 'baureihe', defaultLabel: 'Series' },
{ key: 'pim_id', defaultLabel: 'PIM-ID' },
{ key: 'produkt_baureihe', defaultLabel: 'Produkt / Baureihe' },
{ key: 'gewaehltes_produkt', defaultLabel: 'Gewähltes Produkt' },
{ key: 'name_cad_modell', defaultLabel: 'Name CAD-Modell' },
{ key: 'gewuenschte_bildnummer',defaultLabel: 'Gewünschte Bildnummer' },
{ key: 'lagertyp', defaultLabel: 'Lagertyp' },
{ key: 'produkt_baureihe', defaultLabel: 'Product / Series' },
{ key: 'gewaehltes_produkt', defaultLabel: 'Selected Product' },
{ key: 'name_cad_modell', defaultLabel: 'CAD Model Name' },
{ key: 'gewuenschte_bildnummer',defaultLabel: 'Desired Image No.' },
{ key: 'lagertyp', defaultLabel: 'Bearing Type' },
{ key: 'medias_rendering', defaultLabel: 'Medias Rendering' },
]
@@ -8,15 +8,15 @@ interface Props {
}
const STANDARD_FIELDS: { key: keyof ParsedRow; label: string; width: number; mono?: boolean }[] = [
{ key: 'ebene1', label: 'Ebene 1', width: 140 },
{ key: 'ebene2', label: 'Ebene 2', width: 120 },
{ key: 'baureihe', label: 'Baureihe', width: 160 },
{ key: 'ebene1', label: 'Level 1', width: 140 },
{ key: 'ebene2', label: 'Level 2', width: 120 },
{ key: 'baureihe', label: 'Series', width: 160 },
{ key: 'pim_id', label: 'PIM-ID', width: 110 },
{ key: 'produkt_baureihe', label: 'Produkt-Baureihe', width: 150 },
{ key: 'gewaehltes_produkt', label: 'Gewähltes Produkt', width: 150 },
{ key: 'produkt_baureihe', label: 'Product Series', width: 150 },
{ key: 'gewaehltes_produkt', label: 'Selected Product', width: 150 },
{ key: 'name_cad_modell', label: 'CAD-Modell', width: 190, mono: true },
{ key: 'gewuenschte_bildnummer', label: 'Bildnummer', width: 170, mono: true },
{ key: 'lagertyp', label: 'Lagertyp', width: 100 },
{ key: 'gewuenschte_bildnummer', label: 'Image No.', width: 170, mono: true },
{ key: 'lagertyp', label: 'Bearing Type', width: 100 },
]
export default function ExcelSpreadsheet({ parsed, rows, onChange }: Props) {