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
+28
View File
@@ -0,0 +1,28 @@
export const connection = {
connected: 'Conectat',
connectedTo: 'Conectat la {{server}}',
disconnected: 'Deconectat',
disconnectedFrom: 'Nu s-a putut ajunge la {{server}} — apasă pentru a verifica setările',
checking: 'Se conectează…',
extern: 'Extern',
offlineTitle: 'Nicio conexiune la server',
offlineSubtitle: 'Nu s-a putut ajunge la {{server}}. Verifică rețeaua sau serverul.',
offlineModeBanner: 'Modul Offline — se redă din cache-ul local',
offlineNoCacheBanner: 'Nicio conexiune la server — nu s-a putut ajunge la {{server}}',
offlineLibraryTitle: 'Librărie offline',
offlineLibraryEmpty: 'Niciun album adăugat în cache. Conectează-te, deschide un album și apasă "Fă disponibil offline".',
offlineAlbumCount: '{{n}} album',
offlineAlbumCount_plural: '{{n}} albume',
offlineFilterAll: 'Toate',
offlineFilterAlbums: 'Albume',
offlineFilterPlaylists: 'Playlisturi',
offlineFilterArtists: 'Discografii',
retry: 'Reîncearcă',
serverSettings: 'Setările serverului',
switchServerTitle: 'Schimbă serverul',
switchServerHint: 'Apasă pentru a alege alt server salvat.',
manageServers: 'Gestionează serverele…',
switchFailed: 'Nu s-a putut schimba — nu s-a putut ajunge la server.',
lastfmConnected: 'Last.fm conectat ca @{{user}}',
lastfmSessionInvalid: 'Sesiune invalidă — apasă pentru a te reconecta',
};