refactor(i18n): split locale files into per-namespace modules (Phase K) (#688)

Each src/locales/<lang>.ts (~1800 LOC) becomes a folder src/locales/<lang>/
with one module per i18n namespace (44 each) plus an index.ts barrel that
reassembles <lang>Translation in the original key order.

Mechanical, script-driven split with a JSON round-trip check: every
locale object is byte-identical to its pre-split form. i18n.ts is
unchanged — './locales/<lang>' now resolves to the folder index.

The per-namespace settings.ts files land ~440-460 LOC; a single i18n
namespace is the natural, non-arbitrary split unit for a flat string
table, so they are intentionally left whole.
This commit is contained in:
Frank Stellmacher
2026-05-14 14:06:31 +02:00
committed by GitHub
parent ec112922a2
commit 2409a1fec8
414 changed files with 17424 additions and 16624 deletions
+18
View File
@@ -0,0 +1,18 @@
export const sharePaste = {
notLoggedIn: 'Melde dich an und füge den Server hinzu, bevor du einen Freigabe-Link einfügst.',
noMatchingServer: 'Kein gespeicherter Server passt zu diesem Link. Füge einen Server mit dieser Adresse hinzu: {{url}}',
trackUnavailable: 'Dieser Titel wurde auf dem Server nicht gefunden.',
albumUnavailable: 'Dieses Album wurde auf dem Server nicht gefunden.',
artistUnavailable: 'Dieser Künstler wurde auf dem Server nicht gefunden.',
composerUnavailable: 'Diese*r Komponist*in wurde auf dem Server nicht gefunden.',
openedTrack: 'Geteilter Titel wird abgespielt.',
openedAlbum: 'Geteiltes Album wird geöffnet.',
openedArtist: 'Geteilter Künstler wird geöffnet.',
openedComposer: 'Geteilte*r Komponist*in wird geöffnet.',
openedQueue_one: '{{count}} Titel aus Freigabe-Link wird abgespielt.',
openedQueue_other: '{{count}} Titel aus Freigabe-Link werden abgespielt.',
openedQueuePartial:
'{{played}} von {{total}} Titeln aus dem Link werden abgespielt ({{skipped}} auf diesem Server nicht gefunden).',
queueAllUnavailable: 'Keiner der Titel aus diesem Link wurde auf dem Server gefunden.',
genericError: 'Freigabe-Link konnte nicht geöffnet werden.',
};