export const settings = { title: 'Setări', language: 'Limbă', languageEn: 'Engleză', languageDe: 'Germană', languageFr: 'Franceză', languageNl: 'Olandeză', languageZh: 'Chineză', languageNb: 'Norvegiană', languageRu: 'Rusă', languageEs: 'Spaniolă', languageRo: 'Română', font: 'Font', fontHintOpenDyslexic: 'Prietenos cu dislexia · Chineza nu este suportată', theme: 'Temă', appearance: 'Aparență', servers: 'Servere', serverName: 'Nume Server', serverUrl: 'URL Server', serverUrlPlaceholder: '192.168.1.100:4533 sau https://music.example.com', serverAlternateUrl: 'A doua adresă (opțional)', serverAlternateUrlPlaceholderPublic: 'https://music.example.com', serverAlternateUrlPlaceholderLocal: '192.168.1.100:4533', serverAlternateUrlHintAddPublic: 'Poți adăuga o adresă publică pentru a te conecta din afara rețelei tale de acasă.', serverAlternateUrlHintAddLocal: 'Poți adăuga o adresă locală pentru o conexiune mai rapidă acasă.', serverBothLanError: 'Ambele adrese sunt locale — păstrează una sau adaugă o adresă publică.', dualAddressVerifying: 'Verificăm dacă ambele adrese duc la același server…', dualAddressMismatch: 'Cele două adrese duc la servere diferite. Verifică ortografia și încearcă din nou.', dualAddressInsufficient: 'Nu am putut confirma că ambele adrese sunt același server. Elimină o adresă pentru a continua.', dualAddressUnreachable: 'Nu am putut contacta {{host}}. Verifică adresa și rețeaua și încearcă din nou.', urlRemigrationTitle: 'Muți datele bibliotecii?', urlRemigrationMessage: 'Schimbarea adresei va muta toate datele bibliotecii, analizei și ale cache-ului de coperți de la {{oldKey}} la {{newKey}}. Această acțiune nu poate fi anulată.', urlRemigrationConfirm: 'Mută datele', urlRemigrationProgress: 'Mutăm datele bibliotecii…', urlRemigrationFailureInspect: 'Nu am putut verifica ce ar fi mutat. Încearcă din nou sau deschide jurnalul de depanare.', urlRemigrationFailureRun: 'Mutarea datelor bibliotecii a eșuat. Datele salvate sunt neschimbate — încearcă din nou.', urlRemigrationFailureCoverRename: 'Datele bibliotecii au fost mutate, dar fișierele de copertă nu au putut fi redenumite. Coperțile vor fi reconstruite la următorul acces.', shareUsesLocalUrl: 'Folosește adresa locală în linkurile de partajare', shareUsesLocalUrlDesc: 'Afectează invitațiile Orbit și partajările bibliotecii. Implicit: adresa publică.', serverUsername: 'Nume utilizator', serverPassword: 'Parolă', addServer: 'Adaugă Server', addServerTitle: 'Adaugă Server nou', editServer: 'Editează', editServerTitle: 'Editează Server', useServer: 'Folosește', deleteServer: 'Șterge', noServers: 'Niciun server salvat.', serverActive: 'Activ', confirmDeleteServer: 'Șterge server "{{name}}"?', serverConnecting: 'Se conectează…', serverConnected: 'Conectat!', serverFailed: 'Conexiune eșuată.', testBtn: 'Testează Conexiunea', testingBtn: 'Se testează…', serverCompatible: 'Făcut pentru Navidrome. Alte servere compatibile cu Subsonic (Gonic, Airsonic, …) pot rula cu funcționalitate redusă, deoarece Psysonic folosește multe endpointuri API specifice Navidrome.', userMgmtTitle: 'Gestionarea Utilizatorilor', userMgmtDesc: 'Gestionează utilizatorii de pe acest server. Necesită privilegii admin.', userMgmtNoAdmin: 'Ai nevoie de privilegii de admin pentru a gestiona utilizatorii de pe acest server.', userMgmtLoadError: 'Eroare la încărcarea utilizatorilor.', userMgmtLoadFriendly: 'Serverul nu a răspuns — acesta este de obicei un caz singular.', userMgmtRetry: 'Reîncearcă', userMgmtEmpty: 'Niciun utilizator găsit.', userMgmtYouBadge: 'Tu', userMgmtAdminBadge: 'Admin', userMgmtAddUser: 'Adaugă Utilizator', userMgmtAddUserTitle: 'Adaugă Nou Utilizator', userMgmtEditUserTitle: 'Editează Utilizatorul', userMgmtUsername: 'Nume utilizator', userMgmtName: 'Nume afișaj', userMgmtEmail: 'Email', userMgmtPassword: 'Parolă', userMgmtPasswordEditHint: 'Introdu o parolă nouă pentru a o actualiza.', userMgmtRoleAdmin: 'Admin', userMgmtLibraries: 'Librării', userMgmtLibrariesAdminHint: 'Utilizatorii Admin au acces automat la toate librăriile.', userMgmtLibrariesEmpty: 'Nicio librărie disponibilă pe acest server.', userMgmtLibrariesValidation: 'Alege cel puțin o librărie.', userMgmtLibrariesUpdateError: 'Utilizator salvat, dar atribuirea librăriilor a eșuat', userMgmtNoLibraries: 'Nicio librărie asignată', userMgmtNeverSeen: 'Niciodată', userMgmtSave: 'Salvează', userMgmtCancel: 'Anulează', userMgmtDelete: 'Șterge', userMgmtEdit: 'Editează', userMgmtConfirmDelete: 'Șterge utilizatorul "{{username}}"? Acestă acțiune nu poate fi anulată.', userMgmtCreateError: 'Nu s-a putut crea utilizatorul.', userMgmtUpdateError: 'Nu s-a putut actualiza utilizatorul.', userMgmtDeleteError: 'Nu s-a putut șterge utilizatorul.', userMgmtCreated: 'Utilizator creat.', userMgmtUpdated: 'Utilizator actualizat.', userMgmtDeleted: 'Utilizator șters.', userMgmtValidationMissing: 'Numele de utilizator, numele de afișaj și parola sunt necesare.', userMgmtValidationMissingIdentity: 'Numele de utilizator și numele de afișaj sunt necesare.', userMgmtMagicStringGenerate: 'Generează string-ul magic', userMgmtSaveAndMagicString: 'Salvează și obține string-ul magic', userMgmtMagicStringPasswordNavHint: 'Navidrome va salva această parolă pentru utilizator. Dacă diferă de cea curentă, serverul va actualiza parola de login.', userMgmtMagicStringPlaintextWarning: 'Distribuie string-ul magic cu grijă: conține o parolă necriptată (codificarea nu este criptare). Oricine cu string-ul complet se poate conecta ca acest utilizator.', userMgmtMagicStringCopied: 'String-ul magic copiat în clipboard.', userMgmtMagicStringCopyFailed: 'Nu s-a putut copia în clipboard.', userMgmtMagicStringLoginFailed: 'Verificarea parolei a eșuat — credențialele nu au putut fi verificate.', userMgmtMagicStringModalTitle: 'Generează string-ul magic', userMgmtMagicStringModalDesc: 'Introdu parola Subsonic pentru "{{username}}". Este inclusă în string-ul magic copiat.', userMgmtMagicStringModalConfirm: 'Copiază string-ul', audiomuseTitle: 'AudioMuse-AI (Navidrome)', audiomuseDesc: 'Pornește dacă acest server are AudioMuse-AI Navidrome plugin configurat. Activează Mixul Instant din piese si folosește artiști similari de pe partea de server în loc de Last.fm pe paginile de artiști.', audiomuseIssueHint: 'Mixul Instant a eșuat recent — verifică plugin-ul Navidrome și API-ul AudioMuse. Artiștii similari sunt bazați pe Last.fm când serverul nu returnează nimic.', connected: 'Conectat', failed: 'Eșuat', eqTitle: 'Egalizator', eqEnabled: 'Activează Egalizatorul', eqPreset: 'Preset', eqPresetCustom: 'Personalizat', eqPresetBuiltin: 'Preseturi încorporate', eqPresetCustomGroup: 'Preseturile mele', eqSavePreset: 'Salvează ca Preset', eqPresetName: 'Nume preset…', eqDeletePreset: 'Șterge preset', eqResetBands: 'Resetează la Plat', eqPreGain: 'Pre-gain', eqResetPreGain: 'Resetează pre-gain', eqAutoEqTitle: 'Căutare Căști AutoEQ', eqAutoEqPlaceholder: 'Caută model căști / IEM…', eqAutoEqSearching: 'Se caută…', eqAutoEqNoResults: 'Niciun rezultat găsit', eqAutoEqError: 'Căutarea a eșuat', eqAutoEqRateLimit: 'Limita ratei GitHub a fost atinsă — încearcă din nou într-un minut', eqAutoEqFetchError: 'Nu s-a putut lua profilul EQ', lfmTitle: 'Last.fm', lfmConnect: 'Conectează-te cu Last.fm', lfmConnecting: 'Se așteaptă autorizarea…', lfmConfirm: 'Am autorizat aplicația', lfmConnected: 'Conectat ca', lfmDisconnect: 'Deconectează-te', lfmConnectDesc: 'Conectează contul tău Last.fm pentru a pornit scrobbling și update-uri Now Playing direct din Psysonic — nicio nevoie configurare Navidrome necesară.', lfmOpenBrowser: 'O fereastră browser se va deschide. Autorizează Psysonic în Last.fm, apoi apasă pe butonul de mai jos.', lfmScrobbles: '{{n}} scrobble-uri', lfmMemberSince: 'Membru din {{year}}', scrobbleEnabled: 'Scrobbling dezactivat', scrobbleDesc: 'Trimite piese la Last.fm după 50% timp de redare', behavior: 'Comportamentul Aplicației', cacheTitle: 'Spațiu de stocare maxim', cacheDesc: 'Cache în browser pentru coperte și imagini de artiști (IndexedDB). Când este plin, cele mai vechi intrări sunt șterse automat.', cacheUsedImages: 'Imagini:', cacheUsedOffline: 'Piese offline:', cacheUsedHot: 'Mărimea pe disc:', hotCacheTrackCount: 'Piese în memoria cache:', cacheMaxLabel: 'Mărimea maximă', cacheClearBtn: 'Golește memoria cache', waveformCacheClearBtn: 'Golește cache-ul formelor de undă', cacheClearWarning: 'Șterge toate copertele și imaginile artiștilor din cache. Vor fi descărcate din nou la nevoie.', cacheClearConfirm: 'Golește cache-ul de imagini', cacheClearCancel: 'Anulează', waveformCacheCleared: 'Cache-ul formelor de undă golit ({{count}} rows).', waveformCacheClearFailed: 'Golirea cache-ului formelor de undă a eșuat.', mediaDirTitle: 'Folder media', mediaDirDesc: 'Folder rădăcină pentru redare locală. Librărie offline: library/; buffer coadă: cache/.', mediaDirDefault: 'Implicit (App Data)', mediaDirChange: 'Schimbă folderul', mediaDirClear: 'Resetează la implicit', mediaDirHint: 'Descărcările noi folosesc această locație. Fișierele existente rămân la calea originală până le ștergi.', offlineStorageTitle: 'Stocare offline', offlineDirTitle: 'Librărie offline (În Aplicație)', offlineDirDesc: 'Locația stocării pieselor pe care le faci disponibile offline în Psysonic.', offlineDirDefault: 'Implicit (App Data)', offlineDirChange: 'Schimbă directorul', offlineDirClear: 'Resetează la implicit', offlineDirHint: 'Noile descărcări vor folosi această locație. Descărcările existente rămân la adresa originală.', hotCacheTitle: 'Cache-ul hot playback', hotCacheDisclaimer: 'Preîncarcă piesele ce urmează din coadă și păstrează anterioarele. Când este pornit, folosește spațiu pe disc și rețea.', hotCacheDirDefault: 'Implicit (App Data)', hotCacheDirChange: 'Schimbă folderul', hotCacheDirClear: 'Resetează la implicit', hotCacheDirHint: 'Schimbarea folderului resetează indexul din aplicație; fișierele aflate deja pe disc stau unde sunt până când le ștergi.', hotCacheEnabled: 'Activează cache-ul hot playback cache', hotCacheMaxMb: 'Mărimea maximă cache', hotCacheDebounce: 'Debounce la schimbarea cozii', hotCacheDebounceImmediate: 'Imediat', hotCacheDebounceSeconds: '{{n}} s', hotCacheClearBtn: 'Golește hot cache', audioOutputDevice: 'Dispozitiv de ieșire audio', audioOutputDeviceDesc: 'Alege prin ce dispozitiv audio să redea Psysonic. Schimbările au efect imediat și re-încep piesa curentă.', audioOutputDeviceDefault: 'Implicit sistem', audioOutputDeviceRefresh: 'Reîmprospătează lista dispozitivelor', audioOutputDeviceOsDefaultNow: 'ieșirea curentă a sistemului', audioOutputDeviceListError: 'Nu s-a putut încărca lista dispozitivelor audio', audioOutputDeviceNotInCurrentList: 'nu există în lista curentă', audioOutputDeviceMacNotice: 'În macOS, redarea urmărește mereu dispozitivul audio de ieșire al sistemului din motive tehnice. Schimbă ținta în Setări → Sunet sau iconița difuzor din bara de meniu. Fundal: CoreAudio declanșează un prompt de permisiune de microfon când se deschide un stream non-implicit — îl evităm folosind opțiunea implicită a sistemului mereu.', hiResTitle: 'Playback Hi-Res nativ', hiResEnabled: 'Pornește playback-ul hi-res nativ', hiResDesc: "Forțează ieșire implicită de 44.1 kHz pentru stabilitate maximă. Pornește doar dacă sistemul hardware și rețeaua suport fiabil rate mari de eșantionare (88.2 kHz+).", showArtistImages: 'Afișează Imagini Artist', showArtistImagesDesc: 'Încarcă și afișează imagini artist în Prezentarea generală a Artiștilor. Oprit implicit pentru a reduce I/O pe server și încărcarea rețelei pe librării mari.', showOrbitTrigger: 'Afișează "Orbit" în antet', showOrbitTriggerDesc: 'Declanșatorul din bara de sus pentru a începe sau intra într-o sesiune de ascultare distribuită. Ascunde-l dacă nu folosești Orbit - îl poți porni înapoi aici.', showTrayIcon: 'Afișează Iconița Tavă', showTrayIconDesc: 'Afișează iconița Psysonic în zona notificărilor de sistem / bara de meniu.', minimizeToTray: 'Minimizează în Tavă', minimizeToTrayDesc: 'La închiderea ferestrei, continuă rularea Psysonic în tava de sistem în loc de ieșire', clockFormat: 'Format Oră', clockFormatDesc: 'Format al ceasului folosit pentru ETA-ul cozii și previzualizarea cronometrului de somn.', clockFormatAuto: 'Automat (limba sistemului)', clockFormatTwentyFour: '24 de ore', clockFormatTwelve: '12 ore (AM/PM)', preloadMiniPlayer: 'Preîncarcă mini player', preloadMiniPlayerDesc: 'Crează fereastra mini player în fundal la deschiderea aplicației pentru a arăta conținut instantaneu la prima deschidere. Folosește puțină extra memorie.', discordRichPresence: 'Prezență Discord Rich', discordRichPresenceDesc: 'Arată piesa redată curent pe profilul tău de Discord. Necesită Discord să ruleze.', useCustomTitlebar: 'Bară de titlu personalizată', useCustomTitlebarDesc: 'Înlocuiește bara de titlu a sistemului cu una care corespunde cu tema aplicației. Dezactivează pentru a folosi bara de titlu nativ GNOME/GTK.', linuxWebkitSmoothScroll: 'Rotiță lină (Linux)', linuxWebkitSmoothScrollDesc: 'Pornit: scroll inert. Oprit: linie cu linie, în stil GTK.', linuxWebkitInputForceRepaint: 'Redesenare câmpuri la focus (Linux)', linuxWebkitInputForceRepaintDesc: 'Soluție pentru WebKitGTK 2.50.x unde câmpurile text îngheață la clic. Pictogramele lupă pâlpâie scurt la focus.', linuxWaylandTextRender: 'Randare text Wayland (Linux)', linuxWaylandTextRenderDesc: 'Netezirea în interfață se aplică imediat. Accelerația hardware WebKit (ascuțit/GPU) este salvată și aplicată la următoarea pornire a aplicației — comutarea în timpul rulării poate îngheța WebKitGTK.', linuxWaylandTextRenderBalanced: 'Echilibrat', linuxWaylandTextRenderSharp: 'Ascuțit (prietenos cu CPU)', linuxWaylandTextRenderGpu: 'Prioritate GPU', linuxWaylandTextRenderMinimal: 'Minim (netezire CSS implicită)', discordCoverSource: 'Sursa artei de copertă', discordCoverSourceDesc: 'De unde să fie preluată arta de album afișată pe profilul tău de Discord.', discordCoverNone: 'Niciuna (doar iconița aplicației)', discordCoverServer: 'Server (prin informații album)', discordCoverApple: 'Apple Music', discordOptions: 'Opțiuni avansate Discord', discordTemplates: 'Șablon text personalizat', discordTemplatesDesc: 'Personalizează ce informații sunt afișate pe profilul tău de Discord. Variabile: {title}, {artist}, {album}', discordTemplateDetails: 'Linia principală (detalii)', discordTemplateState: 'Linia secundară (status)', discordTemplateLargeText: 'Tooltip album (largeText)', discordTemplateName: 'Linia din listă (name)', nowPlayingEnabled: 'Se afișează în Now Playing', nowPlayingEnabledDesc: 'Difuzează piesa redată curent către vizualizatorul de ascultare live a serverului. Dezactivează pentru a opri trimiterea datelor de redare.', enableBandsintown: 'Date de turneu Bandsintown', enableBandsintownDesc: 'Arată concertele următoare pentru artisul curent în tab-ul Informații. Datele sunt preluate din API-ul public Bandsintown.', lyricsServerFirst: 'Preferă versurile de pe server', lyricsServerFirstDesc: 'Verifică versurile furnizate de server (tag-uri încorporate, fișiere sidecar) înainte de interogarea LRCLIB. Dezactivează pentru a folosi LRCLIB primul.', enableNeteaselyrics: 'Versuri Netease Cloud Music', enableNeteaselyricsDesc: 'Folosește Netease Cloud Music ca ultimă soluție pentru versuri când serverul și LRCLIB nu returnează nimic. Cea mai bună acoperire pentru muzică Asiatică și internațională.', lyricsSourcesTitle: 'Sursă versuri', lyricsSourcesDesc: 'Alege ce surse se interoghează pentru versuri și în ce ordine. Trage pentru a reordona. Sursele dezactivate sunt ignorate complet.', lyricsSourceServer: 'Server', lyricsSourceLrclib: 'LRCLIB', lyricsSourceNetease: 'Netease Cloud Music', lyricsYouLyPlus: 'YouLyPlus (Karaoke)', lyricsYouLyPlusDesc: 'Sincronizare cuvânt-cu-cuvânt dintr-un backend comunitar (Apple Music, Spotify, Musixmatch, QQ). Încercat primul; sursele activate de mai jos servesc drept rezervă.', lyricsSourcesFallbackHint: 'Folosite ca rezervă când YouLyPlus nu găsește nimic. Trage pentru a reordona.', lyricsSourcesPrimaryHint: 'Încercate în ordine. Trage pentru a reordona. Toate dezactivate = versuri dezactivate.', lyricsStaticOnly: 'Afișează versurile doar ca text static', lyricsStaticOnlyDesc: 'Redă versurile sincronizate fără scroll automat și fără evidențierea cuvintelor.', downloadsTitle: 'Export ZIP & Arhivare', downloadsFolderDesc: 'Folder destinație pentru albumele pe care le descarci ca fișiere ZIP în calculator.', downloadsDefault: 'Folderul Download Implicit', pickFolder: 'Selectează', pickFolderTitle: 'Selectează Folderul de Download', clearFolder: 'Golește folderul de download', logout: 'Deconectare', aboutTitle: 'Despre Psysonic', aboutDesc: 'Un player muzical desktop modern făcut pentru Navidrome. Folosește API-ul Subsonic plus extensiile specifice Navidrome. Construit cu Tauri v2 cu un motor audio nativ Rust — ușor și rapid, dar împachetat cu funcționalități: bară de redare cu forme de undă, versuri sincronizate, integrare Last.fm, EQ 10 benzi, crossfade, redare fără spațiu între piese, Replay Gain, navigarea pe gen, și o librărie largă de teme.', aboutLicense: 'Licență', aboutLicenseText: 'GNU GPL v3 — liber de utilizat, modificat, și distribuit sub aceeași licență.', aboutRepo: 'Cod Sursă pe GitHub', aboutVersion: 'Versiune', aboutBuiltWith: 'Construit cu Tauri · React · TypeScript · Rust/rodio', aboutMaintainersLabel: 'Dezvoltatori', aboutReleaseNotesLabel: 'Notițe lansare', aboutReleaseNotesLink: "Deschide ce e nou pentru această versiune", aboutContributorsLabel: 'Contribuabili', showChangelogOnUpdate: "Arată 'Ce este nou' în update", showChangelogOnUpdateDesc: "Arată un banner discret cu lista modificărilor deasupra Now Playing după un update. Apasă pentru a deschide lista modificărilor; X îl respinge.", libraryGridMaxColumnsTitle: 'Grile cu carduri în bibliotecă', libraryGridMaxColumnsPerfHint: 'Mai multe coloane înseamnă mai multe plăcuțe pe rând și mai multă muncă de layout și desen — se simte pe biblioteci foarte mari sau hardware lent.', libraryGridMaxColumnsRangeLabel: 'Număr maxim de coloane ({{min}}–{{max}})', libraryGridMaxColumnsDesc: 'Se aplică la albume, artiști, liste de redare, radio, offline și alte ecrane cu carduri. Mai puține coloane = plăcuțe mai mari și de obicei mai puțină încărcare pe CPU.', libraryIndexTitle: 'Index local al bibliotecii (previzualizare)', libraryIndexDesc: 'Păstrează o copie locală a bazei de piese a fiecărui server, astfel încât navigarea și căutarea rămân rapide și funcționează offline. Sincronizarea inițială rulează pentru toate serverele configurate; serverele offline sunt reîncercate automat.', libraryIndexDeltaHint: 'Sincronizarea delta în fundal verifică serverele legate la fiecare 30 de secunde și rulează când este cazul — de obicei la 5–45 de minute, în funcție de dimensiunea bibliotecii și încărcare.', libraryIndexEnable: 'Activează indexul local al bibliotecii', libraryIndexEnableAllDesc: 'Indexează și sincronizează toate serverele configurate în fundal.', libraryIndexNoServer: 'Adaugă mai întâi un server.', libraryIndexServerListTitle: 'Servere indexate', libraryIndexAllExcluded: 'Toate serverele sunt excluse din sincronizare. Reactivează indexul sau adaugă un server.', libraryIndexServerOffline: 'Server offline — sincronizare amânată', libraryIndexServerDeferred: 'Amânată', libraryIndexServerSyncing: 'Se sincronizează…', libraryIndexFullResync: 'Resincronizare completă', libraryIndexDeltaSync: 'Sincronizare delta', libraryIndexExcludeServer: 'Exclude din sincronizare', libraryIndexExcludingServer: 'Se exclude…', libraryIndexExcludedTitle: 'Excluse din sincronizare', libraryIndexIncludeServer: 'Include din nou', libraryIndexIncludingServer: 'Se include…', libraryIndexStatus: 'Stare', libraryIndexStatusIdle: 'Inactiv', libraryIndexStatusProbing: 'Se verifică serverul…', libraryIndexStatusInitial: 'Sincronizare inițială…', libraryIndexStatusReady: 'Gata ({{count}} piese)', libraryIndexStatusError: 'Eroare — vezi jurnalele', libraryIndexProgressIngest: '{{count}} piese indexate…', libraryIndexProgressVerify: '{{checked}} verificate ({{deleted}} eliminate)', libraryIndexSyncNow: 'Sincronizează acum', libraryIndexVerify: 'Verifică integritatea bibliotecii', libraryIndexCancel: 'Anulează', libraryIndexAutoReconcile: 'Reconciliere automată la scăderea numărului', libraryIndexAutoReconcileDesc: 'Verifică automat piesele eliminate când serverul raportează mai puține decât se așteaptă.', libraryIndexSyncError: 'Sincronizarea bibliotecii a eșuat: {{error}}', libraryIndexBindError: 'Indexul nu a putut fi activat: {{error}}', randomMixTitle: 'Lista neagră Mix Aleatoriu', luckyMixMenuTitle: 'Arată Mixul Norocos în meniu', luckyMixMenuDesc: 'Activează Mixul Norocos în Construiește un Mix și ca un element separat în meniu când navigarea împărțită este pornită. Vizibil doar când AudioMuse este activat pe serverul activ.', randomMixBlacklistTitle: 'Cuvinte cheie personalizate pentru filtre', randomMixBlacklistDesc: 'Piesele sunt excluse când orice cuvânt cheie corespunde cu genul, titlul, albumul sau artistul lor (activ când checkbox-ul de deasupra este pornit).', randomMixBlacklistPlaceholder: 'Adaugă cuvânt cheie…', randomMixBlacklistAdd: 'Adaugă', randomMixBlacklistEmpty: 'Niciun cuvânt cheie adăugat încă.', randomMixHardcodedTitle: 'Cuvinte cheie predefinite (activ când checkbox-ul este pornit)', tabAudio: 'Audio', tabStorage: 'Offline & Cache', tabAppearance: 'Aparență', tabThemes: 'Teme', themesYourThemesTitle: 'Temele tale', themesCvdTooltip: 'Sigur pentru daltonism – deuteranopie, protanopie, tritanopie', themeStoreTitle: 'Magazin de teme', themeStoreSubmitText: 'Ți-ai creat propria temă? Împărtășește-o cu comunitatea — mai multe informații în depozitul de teme.', themeStoreSubmitLink: 'Deschide depozitul de teme', themeStoreNetworkNotice: 'Theme Store încarcă catalogul și previzualizările de la servicii externe (CDN-ul jsDelivr și GitHub). Nu se trimit date personale.', themeStoreSearchPlaceholder: 'Caută teme…', themeStoreFilterMode: 'Filtrează după mod', themeStoreModeAll: 'Toate', themeStoreModeDark: 'Întunecat', themeStoreModeLight: 'Luminos', themeStoreRefresh: 'Reîmprospătează', themeStoreLoading: 'Se încarcă temele…', themeStoreError: 'Magazinul de teme nu a putut fi încărcat. Verifică conexiunea.', themeStoreRetry: 'Reîncearcă', themeStoreOfflineTitle: 'Theme Store este offline', themeStoreEmpty: 'Nicio temă nu corespunde filtrelor tale.', themeStoreActive: 'Activă', themeStoreEnlarge: 'Mărește previzualizarea', themeStoreByAuthor: 'de {{author}}', themeMigrationNoticeTitle: 'Tema a fost mutată în magazin', themeMigrationNoticeBody: '{{themes}} nu mai este inclusă în aplicație. O poți reinstala din Magazinul de Teme (Setări → Teme) sau poți alege altă temă.', themeMigrationNoticeOpen: 'Deschide Magazinul de Teme', themeStoreOffline: 'Se afișează ultimul catalog din cache — pari să fii offline.', themeStoreInstall: 'Instalează', themeStoreInstalling: 'Se instalează…', themeStoreApply: 'Aplică', themeStoreUpdate: 'Actualizează', themeStoreUpdating: 'Se actualizează…', themeStoreUninstall: 'Dezinstalează', themeStoreInstallFailed: 'Instalarea a eșuat', themeStorePagePrev: 'Pagina anterioară', themeStorePageNext: 'Pagina următoare', themeStorePageStatus: 'Pagina {{page}} din {{total}}', themeImportTitle: 'Importă o temă', themeImportButton: 'Importă tema…', themeImporting: 'Se importă…', themeImportHint: 'Încarcă o temă împachetată ca .zip (manifest.json + theme.css).', themeImportSuccess: '„{{name}}” importată.', themeImportErrorTitle: 'Această temă nu a putut fi importată', themeImportErrorBody: 'Nu corespunde formatului de teme Psysonic. Poate a fost creată pentru altă versiune sau fișierul este incomplet — verifică dacă ai ales arhiva .zip corectă sau întreabă autorul temei.', themeImportErrorDetails: 'Detalii tehnice', themeImportConfirmTitle: 'Instalezi tema?', themeImportConfirmBody: 'Instalezi „{{name}}” de {{author}}?', themeImportConfirmRisk: 'Temele importate nu sunt verificate — instalează doar teme în care ai încredere.', tabLibrary: 'Librărie', tabServers: 'Servere', tabLyrics: 'Versuri', tabPersonalisation: 'Personalizare', tabIntegrations: 'Integrări', inputKeybindingsTitle: 'Scurtături tastatură', aboutContributorsCount_one: '{{count}} contribuție', aboutContributorsCount_other: '{{count}} contribuții', searchPlaceholder: 'Caută setări…', searchNoResults: 'Nicio setare nu corespunde cu ce ai căutat.', integrationsPrivacyTitle: 'Notificare de confidențialitate', integrationsPrivacyBody: 'Toate integrările din acest tab sunt opționale și trimit date către servicii externe sau server-ul tău Navidrome când sunt activate. Last.fm primește istoricul ascultărilor tale, Discord arată piesa redată curent în profilul tău, Bandsintown e interogat per artist pentru a aduce date de turnee, și distribuirea Now-Playing publică piesa curentă către alți useri din server-ul tău Navidrome. Dacă nu vrei vreo opțiune, doar lasă secțiunea corespunzătoare dezactivată', homeCustomizerTitle: 'Scena Principală', queueModeTitle: 'Mod de afișare a cozii', queueModeQueueSub: 'Arată doar piesele următoare. Piesa curentă rămâne în antet și iese din listă după ce a fost redată.', queueModePlaylistSub: 'Păstrează toată coada în listă, cu piesa curentă evidențiată sus; piesele redate rămân.', queueModeTimelineSub: 'Centrează piesa curentă, cu istoricul redat deasupra și piesele următoare (în ordine aleatorie) dedesubt.', queueToolbarTitle: 'Toolbar Coadă', queueToolbarReset: 'Resetează la implicit', queueToolbarSeparator: 'Separator', sidebarTitle: 'Bara laterală', sidebarReset: 'Resetează la implicit', artistLayoutTitle: 'Secțiunile paginii artistului', artistLayoutDesc: 'Trage pentru a reordona, comutați pentru a ascunde secțiuni individuale ale paginii de artist. Secțiunile fără date sunt ignorate automat.', artistLayoutReset: 'Resetează la implicit', artistLayoutBio: 'Biografie artist', artistLayoutTopTracks: 'Top piese', artistLayoutSimilar: 'Artiști similari', artistLayoutAlbums: 'Albume', artistLayoutFeatured: 'Prezentat și pe', playlistLayoutTitle: 'Aspect pagină playlist', playlistLayoutDesc: 'Afișează sau ascunde elemente individuale pe pagina playlistului.', playlistLayoutReset: 'Resetare la implicit', playerBarTitle: 'Bara de redare', playerBarReset: 'Resetare la implicit', playerBarStarRating: 'Evaluare cu stele', playerBarFavorite: 'Favorit (inimă)', playerBarLastfmLove: 'Last.fm love', playerBarPlaybackRate: 'Viteză redare', playerBarEqualizer: 'Egalizator', playerBarMiniPlayer: 'Mini player', playbackRateTitle: 'Viteză redare', playbackRateEnabled: 'Activează viteza de redare', playbackRateEnabledDesc: 'Viteză globală pentru toate piesele. Nu se aplică la radio și previzualizări.', playbackRateStrategy: 'Strategie', playbackRateStrategySpeed: 'Viteză', playbackRateStrategyVarispeed: 'Cu ton', playbackRateStrategyPreserve: 'Ton', playbackRateSpeed: 'Viteză', playbackRatePitch: 'Ton', playbackRateDerivedPitch: 'Deplasare ton din viteză: {{value}}', playbackRateAutoPitch: 'Tonul este corectat automat.', playbackRateHint: '« Viteză » păstrează tonul natural. « Cu ton » schimbă tonul odată cu viteza. « Ton » adaugă o deplasare manuală. Consumă mai mult CPU decât « Cu ton ». Nu pentru radio, previzualizări sau Orbit.', playbackRateNeutral: 'La 1,0× și fără deplasare de ton, redarea este normală.', playbackRateOrbitPaused: 'Nu se aplică în sesiunile Orbit — redarea rămâne la 1,0× pentru sincronizare.', playbackRateOrbitPausedShort: 'Orbit: 1,0× pentru sync.', advancedMode: 'Avansat', advancedModeTooltip: 'Afișează opțiuni avansate în toate filele de setări. Contribuții ale comunității care nu reflectă neapărat filozofia de design a mentenanților Psysonic.', advancedBadge: 'Avansat', sidebarDrag: 'Trage pentru a reordona', sidebarFixed: 'Mereu vizibil', nowPlayingTopTitle: '"Se Redă Acum" sus', nowPlayingTopDesc: 'Fixează intrarea "Se Redă Acum" în partea de sus a barei laterale în loc de jos.', randomNavSplitTitle: 'Navigare Mix împărțită', randomNavSplitDesc: 'Arată "Mix Aleatoriu", "Albume Aleatorii", și "Mix Norocos" ca intrări separate în bara laterală în loc de hub-ul "Construiește un Mix".', tabInput: 'Input', tabUsers: 'Useri', tabSystem: 'Sistem', loggingTitle: 'Logging', loggingModeDesc: 'Controlează verbozitatea log-urilor din backend în terminal.', loggingModeOff: 'Oprit', loggingModeNormal: 'Normal', loggingModeDebug: 'Debug', loggingExport: 'Exportă log-uri', loggingExportSuccess: 'Log-uri exportate ({{count}} linii).', loggingExportError: 'Nu s-au putut exporta log-urile.', ratingsSectionTitle: 'Ratinguri', ratingsSkipStarTitle: 'Sari peste 1 stea', ratingsSkipStarDesc: 'După mai multe salturi la rând, setează ratingul piesei la 1★. Doar pentru piesele care nu au fost deja evaluate.', ratingsSkipStarThresholdLabel: 'Salturi', ratingsMixFilterTitle: 'Filtrează după rating', ratingsMixFilterDesc: 'Filtrează elementele cu scor mic în {{mix}} și {{albums}}. Apasă pe steaua selectată din nou pentru a opri limita.', ratingsMixMinSong: 'Piese', ratingsMixMinAlbum: 'Albume', ratingsMixMinArtist: 'Artiști', ratingsMixMinThresholdAria: 'Stele minime: {{label}}', backupTitle: 'Backup & Restaurare', backupExport: 'Setări de export', backupExportDesc: 'Salvează toate setările, profilele de server, configurări Last.fm, teme, EQ și combinații de taste către un fișier .psybkp. Parolele sunt stocate ca text — păstrează fișierul în siguranță.', backupImport: 'Setări de Import', backupImportDesc: 'Restaurează setări dintr-in fișier .psybkp. Aplicația se va reîncărca după import.', backupImportConfirm: 'Aceasta va suprascrie toate setările curente. Continuați?', backupSuccess: 'Backup salvat', backupImportSuccess: 'Setări restaurate — se reîncarcă…', backupImportError: 'Fișier de backup invalid sau corupt.', shortcutsReset: 'Resetează la implicite', shortcutListening: 'Apasă o tastă…', shortcutUnbound: '—', globalShortcutsTitle: 'Scurtături globale', globalShortcutsNote: 'Funcționează la nivel de sistem și când Psysonic este în fundal. Necesită Ctrl, Alt, sau Super ca un modificator.', shortcutClear: 'Golește', shortcutPlayPause: 'Redă / Pauză', shortcutNext: 'Următoarea piesă', shortcutPrev: 'Piesa anterioară', shortcutVolumeUp: 'Ridică volumul', shortcutVolumeDown: 'Coboară volumul', shortcutSeekForward: 'Dă înainte 10s', shortcutSeekBackward: 'Dă înapoi 10s', shortcutToggleQueue: 'Comutați coada', shortcutOpenFolderBrowser: 'Deschide {{folderBrowser}}', shortcutFullscreenPlayer: 'Player pe ecran complet', shortcutNativeFullscreen: 'Ecran complet nativ', shortcutOpenMiniPlayer: 'Deschide mini player', shortcutStartSearch: 'Începe o căutare', shortcutStartAdvancedSearch: 'Începe o căutare avansată', shortcutToggleSidebar: 'Comutați bara laterală', shortcutMuteSound: 'Opriți sunetul', shortcutToggleEqualizer: 'Porniți / Comutați Egalizatorul', shortcutToggleRepeat: 'Comutați repetarea', shortcutOpenNowPlaying: 'Deschide "Now Playing"', shortcutShowLyrics: 'Arată Versurile', shortcutFavoriteCurrentTrack: 'Adaugă piesa curentă la favorite', shortcutOpenHelp: 'Ajutor', playbackTitle: 'Redare', replayGain: 'Replay Gain', replayGainDesc: 'Normalizează volumul pieselor folosind metadata ReplayGain', replayGainMode: 'Mod', replayGainAuto: 'Auto', replayGainAutoDesc: 'Alege volumul albumului când piesele vecine din coadă sunt din același album, altfel volumul piesei.', replayGainTrack: 'Piesă', replayGainAlbum: 'Album', replayGainPreGain: 'Pre-Gain (fișiere etichetate)', replayGainPreGainDesc: 'Boost universal adăugat peste fiecare calculare ReplayGain. Folosește pentru a compensa dacă librăria ta se simte prea liniștită per total.', replayGainFallback: 'Rezervă (neetichetat / radio)', replayGainFallbackDesc: 'Aplicat la piesele (și stream-urile radio) care nu au tag-uri ReplayGain deloc, pentru ca conținutul neetichetat să nu se audă mai gălăgios decât restul.', normalization: 'Normalizare', normalizationDesc: 'Aliniază volumul perceput peste piese, albume și radio.', normalizationOff: 'Oprit', normalizationReplayGain: 'ReplayGain', normalizationLufs: 'LUFS', loudnessTargetLufs: 'Țintă LUFS', loudnessTargetLufsDesc: 'Volumul de referință la care toate piesele sunt ajustate. Numere mai mici = volum mai mare. Serviciile de streaming sunt setate în mod obișnuit la -14 LUFS.', loudnessPreAnalysisAttenuation: 'Atenuare pre-analiză', loudnessPreAnalysisAttenuationDesc: 'Extra coborâre a volumului până când nivelul pentru această piesă este salvat. Streaming apoi folosește presupuneri aproximative, nu o măsurătoare completă. 0 dB = oprit; mai jos = mai încet. Numărul din dreapta este nivelul dB efectif pentru ținta curentă.', loudnessPreAnalysisAttenuationRef: '{{eff}} dB efectiv cu ținta {{tgt}} LUFS.', loudnessPreAnalysisAttenuationReset: 'Resetează la implicit', loudnessFirstPlayNote: 'Prima redate a unei piese noi își poate schimba brusc volumul cât este măsurată. Următoarea redare folosește măsurătoarea stocată și este stabilă. Piesele următoare din coadă sunt de obicei pre-analizate în timpul piesei anterioare, deci acest fenomen se întâmplă rar în practică.', crossfade: 'Crossfade', crossfadeDesc: 'Estompează între piese', crossfadeSecs: '{{n}} s', notWithGapless: 'Nu este valabil cât Gapless este activ', notWithCrossfade: 'Nu este valabil cât Crossfade este activ', gapless: 'Playback Gapless', gaplessDesc: 'Pre-încarcă următoarea piesă pentru a elimina spațiile dintre piese', preservePlayNextOrder: 'Prezervă ordinea "Redă următoarea"', preservePlayNextOrderDesc: 'Elementele Redă Următoarea noi adăugate sunt puse după cele adăugate mai devreme în loc să sară în față.', trackPreviewsTitle: 'Previzualizări Piese', trackPreviewsToggle: 'Pornește previzualizările pieselor', trackPreviewsDesc: 'Arată butoanele de Redare și Pre-vizualizare în rând în listele de piese pentru o mostră rapidă din mijlocul piesei.', trackPreviewStart: 'Poziția de începere', trackPreviewStartDesc: 'Cât de departe în piesă să înceapă pre-vizualizarea (% din lungimea piesei).', trackPreviewDuration: 'Durată', trackPreviewDurationDesc: 'Cât de mult se redă fiecare pre-vizualizare până se oprește.', trackPreviewDurationSecs: '{{n}} s', trackPreviewLocationsTitle: 'Unde apar pre-vizualizările', trackPreviewLocationsDesc: 'Alege ce liste arată butoanele de pre-vizualizare în linie.', trackPreviewLocation_suggestions: 'Sugestii în playlist', trackPreviewLocation_albums: 'Liste de piese în album', trackPreviewLocation_playlists: 'În playlist-uri', trackPreviewLocation_favorites: 'În favorite', trackPreviewLocation_artist: 'În top piese ale artistului', trackPreviewLocation_randomMix: 'În Mixul Aleatoriu', nextTrackBufferingTitle: 'Preîncarcă', infiniteQueue: 'Coadă Infinită', infiniteQueueDesc: 'Adaugă automat piese aleatorii când coada se golește', experimental: 'Experimental', sidebarLyricsStyle: 'Stilul derulării versurilor', sidebarLyricsStyleClassic: 'Clasic', sidebarLyricsStyleClassicDesc: 'Derulează linia activă în centru.', sidebarLyricsStyleApple: 'Ca Apple Music', sidebarLyricsStyleAppleDesc: 'Linia activă este ancorată aproape de vârf cu animații netede.', seekbarStyle: 'Stilul barei de redare', seekbarStyleDesc: 'Alege aspectul barei de redare a playerului', seekbarTruewave: 'Truewave', seekbarPseudowave: 'Pseudowave', seekbarLinedot: 'Linie & Punct', seekbarBar: 'Bară', seekbarThick: 'Bară groasă', seekbarSegmented: 'Segmentat', seekbarNeon: 'Strălucire Neon', seekbarPulsewave: 'Undă de Puls', seekbarParticletrail: 'Urmă de Particule', seekbarLiquidfill: 'Lichid', seekbarRetrotape: 'Bandă Retro', themeSchedulerTitle: 'Schimbă Tema automat', themeSchedulerEnable: 'Pornește temele programate', themeSchedulerEnableSub: 'Schimbă automat între două teme pe baza orei din zi', themeSchedulerDayTheme: 'Temă de zi', themeSchedulerDayStart: 'Ziua începe la', themeSchedulerNightTheme: 'Temă de noapte', themeSchedulerNightStart: 'Noaptea începe la', themeSchedulerActiveHint: 'Temele programate sunt active - aceste schimbări de teme sunt gestionate automat.', visualOptionsTitle: 'Opțiuni vizuale', coverArtBackground: 'Arta de fundal a copertei', coverArtBackgroundSub: 'Arată arta de copertă blurată ca fundal în antetele albumelor/playlisturilor', playlistCoverPhoto: 'Poza de copertă a playlistului', playlistCoverPhotoSub: 'Arată poza grilă de copertă în afișajul de detalii al playlistului', showBitrate: 'Arată Bitrate', showBitrateSub: 'Arată bitrate-ul audio în listările de piese', floatingPlayerBar: 'Bară Player plutitoare', floatingPlayerBarSub: 'Păstrează bara playerului plutind deasupra conținutului', uiScaleTitle: 'Scara interfaței', uiScaleLabel: 'Zoom', confirmDeleteServerLibrary: 'Ștergi și indexul local al bibliotecii pentru acest server? Apasă Anulează pentru a păstra copia din cache pentru utilizare offline.', analyticsStrategyTitle: 'Strategii de analiză', analyticsStrategyDesc: 'Alege stilul de analiză pentru bibliotecă.', analyticsStrategyLabel: 'Strategie', analyticsStrategyLazy: 'Leneșă', analyticsStrategyLazyDesc: 'Analizează doar când piesele sunt redate sau intră în cache-ul hot/offline — consum minim de CPU și rețea.', analyticsStrategyAdvanced: 'Agresivă', analyticsStrategyAdvancedDesc: 'Scanare de fundal mai agresivă. După finalizare, primești BPM pentru toate piesele și încărcare instantă pentru loudness și waveform.', analyticsStrategyPriorityTitle: 'Prioritate analiză (mereu activă)', analyticsStrategyPriorityHigh: '1 — Redare curentă: descarcă și analizează mai întâi (bytes de playback, loudness backfill sau HTTP când e nevoie).', analyticsStrategyPriorityMiddle: '2 — Urmează: următoarele ~5 piese din coadă și vecinii din hot-cache — analiză din cache/descărcări când se poate; backfill HTTP doar la miss.', analyticsStrategyPriorityLow: '3 — Lot bibliotecă (doar Agresivă): coadă automată în fundal la final; reumplere pe watermark (~3× workers) fără a aștepta golirea cozii.', analyticsStrategyServerLabel: 'Server', analyticsStrategyProgressLabel: 'Progres analiză:', analyticsStrategyProgressValue: '{{percent}}% ({{done}}/{{total}})', analyticsStrategyActionsLabel: 'Acțiuni', analyticsStrategyParallelismLabel: 'Workeri paraleli', analyticsStrategyParallelismValue: '{{n}} thread-uri', analyticsStrategyParallelismDesc: 'Câte piese se descarcă și se analizează simultan (HTTP + CPU). Valori mai mari accelerează procesarea bibliotecii, dar folosesc mai multă rețea și CPU.', analyticsStrategyAdvancedWarning: 'Modul agresiv folosește mai mult CPU și lățime de bandă cât timp lotul bibliotecii rulează în fundal.', analyticsStrategyServerRemoved: 'Server eliminat', analyticsStrategyClearAction: 'Șterge analiza', analyticsStrategyClearTitle: 'Ștergi analiza?', analyticsStrategyClearDesc: 'Ștergerea analizei pentru {{server}} elimină waveforms și loudness din cache. Dacă readaugi serverul mai târziu, poate necesita reindexare îndelungată.', analyticsStrategyClearCancel: 'Anulează', analyticsStrategyClearConfirm: 'Șterge analiza', analyticsStrategyClearSuccess: 'Analiza a fost ștearsă pentru serverul eliminat.', analyticsStrategyClearError: 'Nu s-a putut șterge analiza pentru serverul eliminat.', analyticsStrategyProgressEmptyAfterFailed: '100% (0/0, blocat de piese eșuate)', analyticsFailedTracksOpenTitle: 'Piese eșuate: {{count}}', analyticsFailedTracksTitle: 'Piese cu analiză eșuată — {{server}}', analyticsFailedTracksDesc: 'Aceste piese au eșuat repetat la decode/enrichment și sunt excluse din analiza automată în fundal.', analyticsFailedTracksLoading: 'Se încarcă lista pieselor eșuate…', analyticsFailedTracksEmpty: 'Nu există piese eșuate pentru acest server.', analyticsFailedTracksClose: 'Închide', analyticsFailedTracksExport: 'Exportă lista', analyticsFailedTracksExportSuccess: 'Lista pieselor eșuate a fost exportată ({{count}}).', analyticsFailedTracksExportError: 'Nu s-a putut exporta lista pieselor eșuate.', analyticsFailedTracksRescan: 'Rescan pentru piese eșuate', analyticsFailedTracksRescanSuccess: 'Rescan programat pentru {{count}} piese eșuate.', analyticsFailedTracksRescanError: 'Nu s-a putut porni rescan-ul pentru piesele eșuate.', analyticsFailedTracksLoadError: 'Nu s-au putut încărca piesele eșuate.', backupImportAny: 'Importă backup', backupImportAnyConfirm: 'Importă fișierul de backup selectat și aplică conținutul (setări, baze de date bibliotecă sau complet). Continui?', backupModeFull: 'Complet', backupModeLibrary: 'Baze de date bibliotecă', backupModeConfig: 'Configurație', backupFullDesc: 'Arhivează setările și bazele de date ale bibliotecii într-un singur fișier backup.', backupFullExport: 'Exportă backup complet', backupFullImport: 'Importă backup complet', backupFullImportConfirm: 'Acest lucru va suprascrie setările, va înlocui bazele de date curente și le va muta în .bak. Continui?', backupFullExportSuccess: 'Backup complet exportat.', backupFullImportSuccess: 'Backup complet importat — reîncărcare…', backupFullImportError: 'Nu s-a putut importa backup-ul complet.', backupLibraryExport: 'Exportă bazele de date', backupLibraryExportDesc: 'Creează o arhivă comprimată cu snapshot-uri SQLite curate ale bazelor de date de bibliotecă.', backupLibraryImport: 'Importă bazele de date', backupLibraryImportDesc: 'Restaurează bazele de date ale bibliotecii dintr-un fișier arhivă. Bazele curente sunt mutate în .bak înainte de comutare.', backupLibraryImportConfirm: 'Acest lucru va înlocui bazele de date curente și le va muta în .bak. Continui?', backupLibraryExportSuccess: 'Backup-ul bazelor de date a fost exportat.', backupLibraryImportSuccess: 'Backup-ul bazelor de date a fost importat.', backupLibraryImportError: 'Nu s-a putut importa backup-ul bazelor de date.', backupOverlayExportTitle: 'Se creează backup-ul…', backupOverlayImportTitle: 'Se restaurează backup-ul…', backupOverlayHint: 'Poți lăsa fereastra deschisă cât timp procesăm fișierele. Introducerea este blocată temporar.', };