mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
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:
committed by
GitHub
parent
ec112922a2
commit
2409a1fec8
@@ -0,0 +1,91 @@
|
||||
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,
|
||||
};
|
||||
Reference in New Issue
Block a user