mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-27 17:06:42 +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.
81 lines
4.2 KiB
TypeScript
81 lines
4.2 KiB
TypeScript
export const deviceSync = {
|
|
title: 'Sincronizare Dispozitiv',
|
|
targetFolder: 'Folder Țintă',
|
|
noFolderChosen: 'Niciun folder ales',
|
|
selectDrive: 'Selectați un drive…',
|
|
refreshDrives: 'Reactualizați drive-urile',
|
|
noDrivesDetected: 'Niciun drive înlăturabil detectat',
|
|
browseManual: 'Caută manual…',
|
|
free: 'liber',
|
|
notMountedVolume: 'Ținta nu este pe un volum montat. Drive-ul este posibil deconectat.',
|
|
chooseFolder: 'Alege…',
|
|
targetDevice: 'Dispozitiv țintă',
|
|
schemaLabel: 'Schemă de numire',
|
|
schemaHint: 'Schemă fixă pentru sincronizare de încredere între sisteme de operare. Playlisturile sunt scrise ca .m3u8 care referă piesele albumului — niciun duplicat pe dispozitiv.',
|
|
migrateButton: 'Reorganizează fișiere existente…',
|
|
migrateTooltip: 'Renumește fișiere existente de pe dispozitiv în noua schemă (din șablonul numelui de fișier vechi).',
|
|
migrateTitle: 'Reorganizează fișiere existente',
|
|
migrateLoading: 'Se analizează fișiere existente…',
|
|
migrateNothingToDo: 'Toate fișierele existente corespund deja cu noua schemă — nimic de făcut.',
|
|
migrateNoTemplate: 'Niciun șablon de nume de fișier găsit pe dispozitiv. Migrarea se aplică doar când stick-ul a fost sincronizat cu o versiune de Psysonic care a suportat șabloane personalizate.',
|
|
migrateFilesToRename: 'fișiere vor fi redenumite',
|
|
migrateUnchanged: '{{n}} fișiere sunt deja în calea corectă',
|
|
migrateCollisions: '{{n}} fișiere nu au putut fi redenumite automat (mai multe piese sunt mapate către aceași țintă). Ele vor fi lăsate neatinse — următoarea sincronizare le re-descarcă în locația corectă.',
|
|
migratePreviewNote: 'Șablonul vechi: {{tpl}}',
|
|
migrateExecuting: 'Se redenumesc fișierele…',
|
|
migrateSuccess: '{{n}} fișiere redenumite cu succes',
|
|
migrateFailed: '{{n}} redenumiri au eșuat',
|
|
migrateShowErrors: 'Arată erorile',
|
|
migrateStart: 'Începe redenumirea',
|
|
onDevice: 'Manager de dispozitive',
|
|
addSources: 'Adaugă…',
|
|
colName: 'Nume',
|
|
colType: 'Tip',
|
|
colStatus: 'Status',
|
|
syncResult: '{{done}} transferate, {{skipped}} deja la zi ({{total}} total)',
|
|
deleteFromDevice: 'Marchează pentru ștergere ({{count}})',
|
|
confirmDelete: 'Șterge {{count}} element(e) din dispozitiv: {{names}}?',
|
|
deleteComplete: '{{count}} element(e) șterse din dispozitiv.',
|
|
manifestImported: '{{count}} surse importate din manifestul dispozitivului.',
|
|
selectedSources: 'Sursele selectate',
|
|
noSourcesSelected: 'Nicio sursă selectată. Apasă elementele din browser pentru a le adăuga.',
|
|
clearAll: 'Golește tot',
|
|
tabPlaylists: 'Playlisturi',
|
|
tabAlbums: 'Albume',
|
|
tabArtists: 'Artiști',
|
|
searchPlaceholder: 'Caută…',
|
|
syncButton: 'Sincronizează la Dispozitiv',
|
|
actionTransfer: 'Transferă la Dispozitiv',
|
|
actionDelete: 'Șterge din Dispozitiv',
|
|
actionApplyAll: 'Aplică toate schimbările',
|
|
cancel: 'Anulează',
|
|
noTargetDir: 'Alege un folder țintă mai întâi.',
|
|
noSources: 'Alege cel puțin o sursă.',
|
|
noTracks: 'Nicio piesă găsită în sursele selectate.',
|
|
fetchError: 'Nu s-a reușit preluarea pieselor de pe server.',
|
|
syncComplete: 'Sincronizare completă.',
|
|
dismiss: 'Îndepărtează',
|
|
cancelSync: 'Anulează',
|
|
syncCancelled: 'Sincronizare anulată ({{done}} / {{total}} transferate).',
|
|
statusSynced: 'Sincronizat',
|
|
statusPending: 'În așteptare',
|
|
statusDeletion: 'Ștergere',
|
|
markForDeletion: 'Marchează pentru Ștergere',
|
|
undoDeletion: 'Anulează ștergerea',
|
|
removeSource: 'Elimină',
|
|
syncInBackground: 'Sincronizare pornită în fundal — poți naviga în alte părți.',
|
|
syncInProgress: '{{done}} / {{total}} piese…',
|
|
scanningDevice: 'Se scanează dispozitivul…',
|
|
syncSummary: 'Sumar sincronizare',
|
|
calculating: 'Se calculează încărcătura necesară…',
|
|
filesToAdd: 'Fișiere de Adăugat:',
|
|
filesToDelete: 'Fișiere de Șterse:',
|
|
netChange: 'Schimbarea netă:',
|
|
availableSpace: 'Spațiu pe Disc disponibil:',
|
|
spaceWarning: 'Alertă: Dispozitivul țintă nu are destul spațiu raportat.',
|
|
proceed: 'Continuă cu Sincronizarea',
|
|
notEnoughSpace: 'Nu s-a detectat destul spațiu fizic pe disc!',
|
|
liveSearch: 'Live',
|
|
randomAlbumsLabel: 'Albume aleatorii',
|
|
};
|