mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
2409a1fec8
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.
40 lines
1.7 KiB
TypeScript
40 lines
1.7 KiB
TypeScript
export const randomMix = {
|
|
title: 'Random Mix',
|
|
remix: 'Remix',
|
|
remixTooltip: 'Load new random songs',
|
|
remixGenre: 'Remix {{genre}}',
|
|
remixTooltipGenre: 'Load new {{genre}} songs',
|
|
playAll: 'Play All',
|
|
trackTitle: 'Title',
|
|
trackArtist: 'Artist',
|
|
trackAlbum: 'Album',
|
|
trackFavorite: 'Favorite',
|
|
trackDuration: 'Duration',
|
|
favoriteAdd: 'Add to Favorites',
|
|
favoriteRemove: 'Remove from Favorites',
|
|
play: 'Play',
|
|
trackGenre: 'Genre',
|
|
mixSettingsHeader: 'Mix Settings',
|
|
exclusionsHeader: 'Exclusions',
|
|
filterPanelInexactSizeNote: 'Mix size is a target — large requests may return fewer unique tracks if the server\'s random pool runs short.',
|
|
mixSize: 'Playlist size',
|
|
excludeAudiobooks: 'Exclude audiobooks & radio plays',
|
|
excludeAudiobooksDesc: 'Matches keywords against genre, title, album, and artist — e.g. Hörbuch, Audiobook, Spoken Word, …',
|
|
genreBlocked: 'Keyword blocked',
|
|
genreAddedToBlacklist: 'Added to filter list',
|
|
genreAlreadyBlocked: 'Already blocked',
|
|
artistBlocked: 'Artist blocked',
|
|
artistAddedToBlacklist: 'Artist added to filter list',
|
|
artistClickHint: 'Click to block this artist',
|
|
blacklistToggle: 'Keyword Filter',
|
|
genreMixTitle: 'Genre Mix',
|
|
genreMixDesc: 'Top 20 genres by song count — click to load a random mix',
|
|
genreMixAll: 'All Songs',
|
|
genreMixLoadMore: 'Load 10 more',
|
|
genreMixNoGenres: 'No genres found on server.',
|
|
shuffleGenres: 'Show different genres',
|
|
filterPanelTitle: 'Filters',
|
|
filterPanelDesc: 'Click a genre tag or artist name in the tracklist below to block it from future mixes.',
|
|
genreClickHint: 'Click a genre tag to add it\nas a filter keyword.\nMatches genre, title, album & artist.',
|
|
};
|