fix(bulk-upload): i18n hardcoded strings in BulkDropZone and FileSwitcherStrip
- Add bulk_drop_desc, bulk_select_files, bulk_drop_zone_label, bulk_remove_file keys to de/en/es message files - BulkDropZone: use m.bulk_drop_zone_label(), m.bulk_drop_desc(), m.bulk_select_files() — removes all hardcoded German - FileSwitcherStrip: use m.bulk_remove_file() on × button; move aria-live from <ul> to a dedicated visually-hidden region above the strip (screen readers now announce changes without coupling the live region to the list) - Spec: import FileEntry from component instead of re-declaring; use data-remove-id selector instead of hardcoded German aria-label Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ let isDragging = $state(false);
|
||||
|
||||
<div
|
||||
role="region"
|
||||
aria-label="Dateien ablegen"
|
||||
aria-label={m.bulk_drop_zone_label()}
|
||||
data-testid="bulk-drop-zone"
|
||||
class="flex flex-1 flex-col items-center justify-center p-6"
|
||||
ondragover={(e) => {
|
||||
@@ -54,17 +54,13 @@ let isDragging = $state(false);
|
||||
<p class="font-serif text-base font-bold text-ink">{m.bulk_drop_hint()}</p>
|
||||
|
||||
<!-- Sub description -->
|
||||
<p class="text-sm leading-relaxed text-ink-2">
|
||||
Für jede Datei wird ein eigenes Dokument erstellt.<br />
|
||||
<strong class="text-ink">Der Titel</strong> wird aus dem Dateinamen vorausgefüllt —
|
||||
<strong class="text-ink">alle anderen Felder</strong> gelten für alle gemeinsam.
|
||||
</p>
|
||||
<p class="text-sm leading-relaxed text-ink-2">{m.bulk_drop_desc()}</p>
|
||||
|
||||
<!-- CTA button -->
|
||||
<label
|
||||
class="flex min-h-[44px] cursor-pointer items-center rounded-sm bg-primary px-6 py-2 text-xs font-bold tracking-widest text-primary-fg uppercase transition-opacity hover:opacity-90"
|
||||
>
|
||||
Dateien auswählen
|
||||
{m.bulk_select_files()}
|
||||
<input
|
||||
type="file"
|
||||
multiple
|
||||
|
||||
Reference in New Issue
Block a user