Files
psysonic/src/locales/de/index.ts
T
Frank Stellmacher 2409a1fec8 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.
2026-05-14 14:06:31 +02:00

92 lines
2.3 KiB
TypeScript

import { sidebar } from './sidebar';
import { home } from './home';
import { hero } from './hero';
import { search } from './search';
import { nowPlaying } from './nowPlaying';
import { contextMenu } from './contextMenu';
import { sharePaste } from './sharePaste';
import { albumDetail } from './albumDetail';
import { entityRating } from './entityRating';
import { artistDetail } from './artistDetail';
import { favorites } from './favorites';
import { randomLanding } from './randomLanding';
import { randomAlbums } from './randomAlbums';
import { genres } from './genres';
import { randomMix } from './randomMix';
import { luckyMix } from './luckyMix';
import { albums } from './albums';
import { tracks } from './tracks';
import { artists } from './artists';
import { composers } from './composers';
import { composerDetail } from './composerDetail';
import { login } from './login';
import { connection } from './connection';
import { common } from './common';
import { settings } from './settings';
import { changelog } from './changelog';
import { whatsNew } from './whatsNew';
import { help } from './help';
import { queue } from './queue';
import { miniPlayer } from './miniPlayer';
import { statistics } from './statistics';
import { player } from './player';
import { nowPlayingInfo } from './nowPlayingInfo';
import { songInfo } from './songInfo';
import { playlists } from './playlists';
import { smartPlaylists } from './smartPlaylists';
import { mostPlayed } from './mostPlayed';
import { losslessAlbums } from './losslessAlbums';
import { radio } from './radio';
import { folderBrowser } from './folderBrowser';
import { deviceSync } from './deviceSync';
import { orbit } from './orbit';
import { tray } from './tray';
import { licenses } from './licenses';
export const deTranslation = {
sidebar,
home,
hero,
search,
nowPlaying,
contextMenu,
sharePaste,
albumDetail,
entityRating,
artistDetail,
favorites,
randomLanding,
randomAlbums,
genres,
randomMix,
luckyMix,
albums,
tracks,
artists,
composers,
composerDetail,
login,
connection,
common,
settings,
changelog,
whatsNew,
help,
queue,
miniPlayer,
statistics,
player,
nowPlayingInfo,
songInfo,
playlists,
smartPlaylists,
mostPlayed,
losslessAlbums,
radio,
folderBrowser,
deviceSync,
orbit,
tray,
licenses,
};