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:
@@ -299,7 +299,7 @@ export default function UploadPage() {
|
||||
|
||||
<p className="text-xs text-content-secondary mb-3 leading-relaxed">
|
||||
No products have been created yet. This is a <strong>preview</strong> of what will happen when you finalize the order.
|
||||
Each unique <strong>Produkt (Baureihe)</strong> in the Excel becomes one product in the library.
|
||||
Each unique <strong>Product (Series)</strong> in the Excel becomes one product in the library.
|
||||
</p>
|
||||
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3">
|
||||
@@ -321,14 +321,14 @@ export default function UploadPage() {
|
||||
icon={<Ban size={18} className="text-amber-600" />}
|
||||
value={previewResult.no_pim_id_count}
|
||||
label="rows skipped"
|
||||
description="No PIM-ID or Baureihe found. Cannot be matched to a product."
|
||||
description="No PIM-ID or Product Series found. Cannot be matched to a product."
|
||||
color="bg-status-warning-bg border-border-default text-status-warning-text"
|
||||
/>
|
||||
<StatCard
|
||||
icon={<Copy size={18} className="text-orange-600" />}
|
||||
value={previewResult.duplicate_count}
|
||||
label="duplicate Baureihe"
|
||||
description="Same Produkt-Baureihe appears multiple times. Pre-unchecked — only first occurrence imported."
|
||||
label="duplicate Series"
|
||||
description="Same Product Series appears multiple times. Pre-unchecked — only first occurrence imported."
|
||||
color="bg-status-warning-bg border-border-default text-status-warning-text"
|
||||
/>
|
||||
</div>
|
||||
@@ -341,10 +341,10 @@ export default function UploadPage() {
|
||||
<span className="text-status-warning-text font-bold text-sm shrink-0">⚠</span>
|
||||
<div>
|
||||
<p className="text-sm font-semibold text-status-warning-text">
|
||||
{previewResult.duplicate_count} duplicate Produkt-Baureihe row{previewResult.duplicate_count !== 1 ? 's' : ''} detected
|
||||
{previewResult.duplicate_count} duplicate Product Series row{previewResult.duplicate_count !== 1 ? 's' : ''} detected
|
||||
</p>
|
||||
<p className="text-xs text-status-warning-text mt-0.5">
|
||||
Each product is unique — only the <strong>first occurrence</strong> of a Baureihe will be imported.
|
||||
Each product is unique — only the <strong>first occurrence</strong> of a Product Series will be imported.
|
||||
Duplicate rows are pre-unchecked (shown in amber). You can manually re-check them to overwrite the first.
|
||||
</p>
|
||||
</div>
|
||||
@@ -378,7 +378,7 @@ export default function UploadPage() {
|
||||
/>
|
||||
</th>
|
||||
<th className="px-4 py-2 font-medium text-content-secondary">PIM-ID</th>
|
||||
<th className="px-4 py-2 font-medium text-content-secondary">Baureihe</th>
|
||||
<th className="px-4 py-2 font-medium text-content-secondary">Series</th>
|
||||
<th className="px-4 py-2 font-medium text-content-secondary"
|
||||
title="Gew\u00e4hltes Produkt \u2014 the specific material/coating variant from the Excel"
|
||||
>Gew. Produkt</th>
|
||||
@@ -424,14 +424,14 @@ export default function UploadPage() {
|
||||
{!hasId ? (
|
||||
<span
|
||||
className="text-xs px-2 py-0.5 rounded-full bg-surface-muted text-content-muted"
|
||||
title="No PIM-ID or Baureihe — this row will be skipped"
|
||||
title="No PIM-ID or Product Series — this row will be skipped"
|
||||
>
|
||||
skipped
|
||||
</span>
|
||||
) : row.is_duplicate ? (
|
||||
<span
|
||||
className="text-xs px-2 py-0.5 rounded-full bg-status-warning-bg text-status-warning-text font-medium"
|
||||
title={`Duplicate Produkt-Baureihe — first occurrence is row ${row.duplicate_of_row}. Uncheck to exclude.`}
|
||||
title={`Duplicate Product Series — first occurrence is row ${row.duplicate_of_row}. Uncheck to exclude.`}
|
||||
>
|
||||
Duplicate of row {row.duplicate_of_row}
|
||||
</span>
|
||||
|
||||
Reference in New Issue
Block a user