fix: complete localized accessible UI audit
Localize dynamic renderer and shell text in English and German, replace native prompts with safe styled dialogs, align empty and dirty states, restore compact responsive information, and add keyboard support for queue, account, menu, and sorting interactions. Version the verified patch as 2.1.6.
This commit is contained in:
+65
-2
@@ -4,6 +4,7 @@
|
||||
if (root) root.I18n = api;
|
||||
})(typeof window !== 'undefined' ? window : globalThis, function () {
|
||||
const pairs = [
|
||||
['Alternative', 'Alternate'],
|
||||
['Arbeitsbereich', 'Workspace'],
|
||||
['Accounts verwalten', 'Manage accounts'],
|
||||
['Archiv', 'Archive'],
|
||||
@@ -17,6 +18,10 @@
|
||||
['Ausgabe-Format der kopierten Links', 'Output format for copied links'],
|
||||
['Auto-Check vor Upload', 'Auto-check before upload'],
|
||||
['Automatischer Check vor dem Upload', 'Automatic check before upload'],
|
||||
['Wiederholungen', 'Retries'],
|
||||
['Maximale Geschwindigkeit (MB/s)', 'Maximum speed (MB/s)'],
|
||||
['Neustart unter (kB/s)', 'Restart below (kB/s)'],
|
||||
['Maximale Größe (MB)', 'Maximum size (MB)'],
|
||||
['Bildschirm und Eingabesteuerung bleiben gesperrt.', 'Screen and input control remain locked.'],
|
||||
['Bindet nur an', 'Binds only to'],
|
||||
['Bindet an', 'Binds to'],
|
||||
@@ -27,7 +32,7 @@
|
||||
['Erlaubt', 'Allowed'],
|
||||
['Erneut versuchen', 'Retry'],
|
||||
['Exportieren', 'Export'],
|
||||
['Fehlgeschlagene erneut', 'Retry failed'],
|
||||
['Fehlgeschlagene erneut', 'Retry failed uploads'],
|
||||
['Fensterverhalten, Drop-Target und Programmupdates.', 'Window behavior, drop target, and application updates.'],
|
||||
['Gesamt:', 'Total:'],
|
||||
['Globales Speed-Limit', 'Global speed limit'],
|
||||
@@ -52,6 +57,8 @@
|
||||
['Noch keine Accounts', 'No accounts yet'],
|
||||
['Nur lokal (127.0.0.1) — Tunnel/VPN', 'Local only (127.0.0.1) — tunnel/VPN'],
|
||||
['Parallele Uploads verringern', 'Decrease parallel uploads'],
|
||||
['Priorität ändern. Alt und Pfeil nach oben oder unten verwenden', 'Change priority. Use Alt and the up or down arrow key'],
|
||||
['Ziehen oder Alt und Pfeiltasten zum Sortieren', 'Drag or use Alt and arrow keys to sort'],
|
||||
['Restzeit:', 'Time remaining:'],
|
||||
['Rest', 'Remaining'],
|
||||
['Schnell finden', 'Quick find'],
|
||||
@@ -67,7 +74,7 @@
|
||||
['Verbindungen', 'Connections'],
|
||||
['Verbleibend', 'Remaining'],
|
||||
['Läuft', 'Running'],
|
||||
['Suche Aktualisierungen', 'Checking for updates'],
|
||||
['Suche Aktualisierungen', 'Check for updates'],
|
||||
['Verbleibend:', 'Remaining:'],
|
||||
['Zuletzt erzeugte Upload-Links', 'Recently generated upload links'],
|
||||
['User-ID, role:ROLLEN-ID, @here oder @everyone', 'User ID, role:ROLE-ID, @here, or @everyone'],
|
||||
@@ -77,6 +84,7 @@
|
||||
['Datei', 'File'],
|
||||
['Dateien', 'Files'],
|
||||
['Dateien hinzufügen', 'Add files'],
|
||||
['Dateien oder Ordner hinzufügen', 'Add files or folders'],
|
||||
['Ordner hinzufügen', 'Add folder'],
|
||||
['Online-Schlüssel erstellen', 'Create online key'],
|
||||
['Online-Schlüssel importieren', 'Import online key'],
|
||||
@@ -428,6 +436,32 @@
|
||||
['Verschlüssele und speichere Einstellungen…', 'Encrypting and saving settings…'],
|
||||
['Zeit', 'Time'],
|
||||
['Wenn das Backup mit der alten Passwort-Option (vor v3.0) erstellt wurde, hier eingeben.', 'If the backup was created with the legacy password option before v3.0, enter it here.'],
|
||||
['Wartet', 'Waiting'],
|
||||
['Abgebrochen', 'Canceled'],
|
||||
['Fehlgeschlagen', 'Failed'],
|
||||
['Fehlgeschlagen: Verbindung verloren', 'Failed: Connection lost'],
|
||||
['Retry 2/3 · Primär nicht verfügbar', 'Retry 2/3 · Primary unavailable'],
|
||||
['Link kopiert', 'Link copied'],
|
||||
['Kopiert!', 'Copied!'],
|
||||
['Sende…', 'Sending…'],
|
||||
['Lade…', 'Loading…'],
|
||||
['Upload-Statistiken', 'Upload statistics'],
|
||||
['Keine Uploads entsprechen diesem Filter.', 'No uploads match this filter.'],
|
||||
['Keine Accounts entsprechen diesem Filter.', 'No accounts match this filter.'],
|
||||
['Keine Verlaufseinträge entsprechen diesem Filter.', 'No history entries match this filter.'],
|
||||
['Verlauf konnte nicht geladen werden.', 'History could not be loaded.'],
|
||||
['Wähle das Dateiformat für den Export.', 'Choose the file format for the export.'],
|
||||
['CSV exportieren', 'Export CSV'],
|
||||
['JSON exportieren', 'Export JSON'],
|
||||
['Bestätigen', 'Confirm'],
|
||||
['Alle Links entfernen?', 'Remove all links?'],
|
||||
['Uploads entfernen?', 'Remove uploads?'],
|
||||
['Alle Uploads entfernen?', 'Remove all uploads?'],
|
||||
['Alle Uploads abbrechen?', 'Cancel all uploads?'],
|
||||
['Alle laufenden Uploads werden abgebrochen und in die Warteschlange zurückgesetzt.', 'All running uploads will be canceled and returned to the queue.'],
|
||||
['Alle abbrechen', 'Cancel all'],
|
||||
['Hoster entfernen?', 'Remove host?'],
|
||||
['Unbekannt', 'Unknown'],
|
||||
['Verlauf', 'History']
|
||||
];
|
||||
const deToEn = new Map(pairs);
|
||||
@@ -448,6 +482,24 @@
|
||||
const patterns = target === 'en'
|
||||
? [
|
||||
[/^Update v(.+) verfügbar$/, 'Update v$1 available'],
|
||||
[/^(\d+) Links kopiert$/, '$1 links copied'],
|
||||
[/^(\d+) Link kopiert$/, '$1 link copied'],
|
||||
[/^Wirklich alle (\d+) Links aus diesem Panel entfernen\?$/, 'Remove all $1 links from this panel?'],
|
||||
[/^Ein ausgewählter Eintrag wird aus diesem Panel entfernt\.$/, 'One selected entry will be removed from this panel.'],
|
||||
[/^(\d+) ausgewählte Einträge werden aus diesem Panel entfernt\.$/, '$1 selected entries will be removed from this panel.'],
|
||||
[/^Ein ausgewählter Upload wird aus der Liste entfernt\.$/, 'One selected upload will be removed from the list.'],
|
||||
[/^(\d+) ausgewählte Uploads werden aus der Liste entfernt\.$/, '$1 selected uploads will be removed from the list.'],
|
||||
[/^(\d+) Upload wird aus der Liste entfernt\.$/, '$1 upload will be removed from the list.'],
|
||||
[/^(\d+) Uploads werden aus der Liste entfernt\.$/, '$1 uploads will be removed from the list.'],
|
||||
[/^(\d+) Upload wird für (.+) entfernt\.$/, '$1 upload for $2 will be removed.'],
|
||||
[/^(\d+) Uploads werden für (.+) entfernt\.$/, '$1 uploads for $2 will be removed.'],
|
||||
[/^Ruhezustand in (\d+)s\.\.\.$/, 'Sleep in $1s...'],
|
||||
[/^Herunterfahren in (\d+)s\.\.\.$/, 'Shut down in $1s...'],
|
||||
[/^Neustart in (\d+)s\.\.\.$/, 'Restart in $1s...'],
|
||||
[/^(\d+) Job zum erneuten Upload zurückgesetzt$/, '$1 job reset for upload'],
|
||||
[/^(\d+) Jobs zum erneuten Upload zurückgesetzt$/, '$1 jobs reset for upload'],
|
||||
[/^(\d+) Verlaufseintrag wird dauerhaft entfernt\.$/, '$1 history entry will be permanently removed.'],
|
||||
[/^(\d+) Verlaufseinträge werden dauerhaft entfernt\.$/, '$1 history entries will be permanently removed.'],
|
||||
[/^Aktives Ziel: (.+)$/, 'Active destination: $1'],
|
||||
[/^(\d+) Fehler$/, '$1 errors'],
|
||||
[/^Gesamt (\d+)$/, 'Total $1'],
|
||||
@@ -467,6 +519,8 @@
|
||||
[/^Account "(.+)" wirklich löschen\?$/, 'Are you sure you want to delete account "$1"?'],
|
||||
[/^Aktiv auf (.+) \((.+)\) — (\d+) Client\(s\) — Letzter Zugriff: (.+)$/, 'Active at $1 ($2) — $3 client(s) — Last access: $4'],
|
||||
[/^Aktiv auf Port (\d+) — (\d+) Client\(s\) verbunden$/, 'Active on port $1 — $2 client(s) connected'],
|
||||
[/^Aktiv auf Port (\d+) — 1 Client verbunden$/, 'Active on port $1 — 1 client connected'],
|
||||
[/^Aktiv auf Port (\d+) — (\d+) Clients verbunden$/, 'Active on port $1 — $2 clients connected'],
|
||||
[/^Alle Fehler erneut versuchen \((\d+)\)$/, 'Retry all failed uploads ($1)'],
|
||||
[/^API: (.+)$/, 'API: $1'],
|
||||
[/^Ausgewählte starten \((\d+)\)$/, 'Start selected ($1)'],
|
||||
@@ -502,6 +556,15 @@
|
||||
]
|
||||
: [
|
||||
[/^Update v(.+) available$/, 'Update v$1 verfügbar'],
|
||||
[/^Sleep in (\d+)s\.\.\.$/, 'Ruhezustand in $1s...'],
|
||||
[/^Shut down in (\d+)s\.\.\.$/, 'Herunterfahren in $1s...'],
|
||||
[/^Restart in (\d+)s\.\.\.$/, 'Neustart in $1s...'],
|
||||
[/^(\d+) job reset for upload$/, '$1 Job zum erneuten Upload zurückgesetzt'],
|
||||
[/^(\d+) jobs reset for upload$/, '$1 Jobs zum erneuten Upload zurückgesetzt'],
|
||||
[/^(\d+) history entry will be permanently removed\.$/, '$1 Verlaufseintrag wird dauerhaft entfernt.'],
|
||||
[/^(\d+) history entries will be permanently removed\.$/, '$1 Verlaufseinträge werden dauerhaft entfernt.'],
|
||||
[/^Active on port (\d+) — 1 client connected$/, 'Aktiv auf Port $1 — 1 Client verbunden'],
|
||||
[/^Active on port (\d+) — (\d+) clients connected$/, 'Aktiv auf Port $1 — $2 Clients verbunden'],
|
||||
[/^Active destination: (.+)$/, 'Aktives Ziel: $1'],
|
||||
[/^Running (\d+)$/, 'Läuft $1'],
|
||||
[/^Failed (\d+)$/, 'Fehler $1'],
|
||||
|
||||
Reference in New Issue
Block a user