feat(i18n): add Hungarian (hu) translation (#1149)

* feat(i18n): add Hungarian (hu) translation files

* feat(i18n): register Hungarian locale and language option

* docs(changelog): Hungarian translation entry and credit (#1149)

* fix(i18n): list Romanian in the Login language picker
This commit is contained in:
Psychotoxical
2026-06-22 00:56:37 +02:00
committed by GitHub
parent e69b89b28a
commit 93166c774a
63 changed files with 2563 additions and 1 deletions
+6
View File
@@ -68,6 +68,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* New opt-in **Remember EQ per device** toggle (Settings → Audio → Audio Output Device, off by default): the equalizer profile — bands, pre-gain, enabled state and active preset — is saved per audio output device and restored automatically when you switch devices. * New opt-in **Remember EQ per device** toggle (Settings → Audio → Audio Output Device, off by default): the equalizer profile — bands, pre-gain, enabled state and active preset — is saved per audio output device and restored automatically when you switch devices.
### Hungarian translation
**By [@Psychotoxical](https://github.com/Psychotoxical), PR [#1149](https://github.com/Psychotoxical/psysonic/pull/1149)**, a gift to [@falu](https://github.com/falu) for the first independent review of Psysonic
* Psysonic is now available in **Hungarian (Magyar)** — pick it from the language menu on the Settings and Login screens.
## Changed ## Changed
+1 -1
View File
@@ -18,7 +18,7 @@ Psysonic is built primarily for **Navidrome** and also works with **Gonic**, **A
<br><br> <br><br>
**Available languages:** English, German, Spanish, French, Norwegian Bokmål, Dutch, Romanian, Russian, Chinese and Japanese. **Available languages:** English, German, Spanish, French, Norwegian Bokmål, Dutch, Romanian, Russian, Chinese, Japanese and Hungarian.
More translations are added over time. More translations are added over time.
+1
View File
@@ -73,6 +73,7 @@ export function SystemTab() {
{ value: 'zh', label: t('settings.languageZh') }, { value: 'zh', label: t('settings.languageZh') },
{ value: 'ro', label: t('settings.languageRo') }, { value: 'ro', label: t('settings.languageRo') },
{ value: 'ja', label: t('settings.languageJa') }, { value: 'ja', label: t('settings.languageJa') },
{ value: 'hu', label: t('settings.languageHu') },
]} ]}
/> />
</div> </div>
+1
View File
@@ -380,6 +380,7 @@ const CONTRIBUTOR_ENTRIES = [
'Settings refactor — reusable boxed panels (SettingsGroup/SettingsToggle) rolled across every tab, Normalization and Track transitions promoted to their own Audio categories, a unified Queue Settings group on Personalisation, and the Audio Output Device category gated out on macOS (PR #1126, #1130)', 'Settings refactor — reusable boxed panels (SettingsGroup/SettingsToggle) rolled across every tab, Normalization and Track transitions promoted to their own Audio categories, a unified Queue Settings group on Personalisation, and the Audio Output Device category gated out on macOS (PR #1126, #1130)',
'Artist artwork from fanart.tv — opt-in fullscreen background + artist-header banner, off by default (PR #1137)', 'Artist artwork from fanart.tv — opt-in fullscreen background + artist-header banner, off by default (PR #1137)',
'Per-device equalizer profiles — opt-in, remembers and restores the EQ for each audio output device (PR #1146)', 'Per-device equalizer profiles — opt-in, remembers and restores the EQ for each audio output device (PR #1146)',
'Hungarian (Magyar) translation (PR #1149)',
], ],
}, },
{ {
+2
View File
@@ -10,6 +10,7 @@ import { nlTranslation } from './locales/nl';
import { esTranslation } from './locales/es'; import { esTranslation } from './locales/es';
import { roTranslation } from './locales/ro'; import { roTranslation } from './locales/ro';
import { jaTranslation } from './locales/ja'; import { jaTranslation } from './locales/ja';
import { huTranslation } from './locales/hu';
const savedLanguage = localStorage.getItem('psysonic_language') || 'en'; const savedLanguage = localStorage.getItem('psysonic_language') || 'en';
@@ -27,6 +28,7 @@ i18n
ru: { translation: ruTranslation }, ru: { translation: ruTranslation },
ro: { translation: roTranslation }, ro: { translation: roTranslation },
ja: { translation: jaTranslation }, ja: { translation: jaTranslation },
hu: { translation: huTranslation },
}, },
lng: savedLanguage, lng: savedLanguage,
fallbackLng: 'en', fallbackLng: 'en',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'Schriftart', font: 'Schriftart',
fontHintOpenDyslexic: 'Legasthenie-freundlich · keine Chinesisch-Unterstützung', fontHintOpenDyslexic: 'Legasthenie-freundlich · keine Chinesisch-Unterstützung',
theme: 'Design', theme: 'Design',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'Font', font: 'Font',
fontHintOpenDyslexic: 'Dyslexia-friendly · no Chinese support', fontHintOpenDyslexic: 'Dyslexia-friendly · no Chinese support',
theme: 'Theme', theme: 'Theme',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'Fuente', font: 'Fuente',
fontHintOpenDyslexic: 'Compatible con dislexia · sin soporte para chino', fontHintOpenDyslexic: 'Compatible con dislexia · sin soporte para chino',
theme: 'Tema', theme: 'Tema',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'Police', font: 'Police',
fontHintOpenDyslexic: 'Adapté à la dyslexie · sans prise en charge du chinois', fontHintOpenDyslexic: 'Adapté à la dyslexie · sans prise en charge du chinois',
theme: 'Thème', theme: 'Thème',
+55
View File
@@ -0,0 +1,55 @@
export const albumDetail = {
back: 'Vissza',
orbitDoubleClickHint: 'Kattints duplán a szám Orbit-sorhoz adásához',
playAll: 'Összes lejátszása',
shareAlbum: 'Album megosztása',
enqueue: 'Sorba',
enqueueTooltip: 'A teljes album hozzáadása a sorhoz',
artistBio: 'Előadó életrajza',
download: 'Letöltés (ZIP)',
playTooltip: 'Az album lejátszása',
artistBioTooltip: 'Az előadó életrajzának elolvasása',
downloadTooltip: 'Az album letöltése ZIP-ként',
downloading: 'Betöltés…',
cacheOffline: 'Elérhetővé tétel offline',
offlineCached: 'Offline elérhető',
offlineQueued: 'A sorban',
offlineDownloading: 'Gyorsítótárazás… ({{n}}/{{total}})',
removeOffline: 'Offline gyorsítótár eltávolítása',
removeFromOfflineQueue: 'Eltávolítás az offline sorból',
offlineStorageFull: 'Az offline tároló megtelt (korlát: {{mb}} MB). Szabadíts fel helyet egy album törlésével az offline könyvtáradból, vagy növeld a korlátot a Beállításokban.',
offlineStorageGoToLibrary: 'Offline könyvtár',
offlineStorageGoToSettings: 'Beállítások',
favoriteAdd: 'Hozzáadás a kedvencekhez',
favoriteRemove: 'Eltávolítás a kedvencekből',
favorite: 'Kedvenc',
noBio: 'Nincs elérhető életrajz.',
moreByArtist: 'Több ettől: {{artist}}',
tracksCount: '{{n}} szám',
goToArtist: 'Ugrás ide: {{artist}}',
moreLabelAlbums: 'Több album a(z) {{label}} kiadótól',
trackTitle: 'Cím',
trackAlbum: 'Album',
trackArtist: 'Előadó',
trackGenre: 'Műfaj',
trackPlayCount: 'Lejátszások',
trackLastPlayed: 'Utoljára játszva',
trackBpm: 'BPM',
trackFormat: 'Formátum',
trackFavorite: 'Kedvenc',
trackRating: 'Értékelés',
trackDuration: 'Hossz',
trackTotal: 'Összesen',
columns: 'Oszlopok',
resetColumns: 'Visszaállítás alapértelmezettre',
notFound: 'Az album nem található.',
bioModal: 'Előadó életrajza',
bioClose: 'Bezárás',
ratingLabel: 'Értékelés',
enlargeCover: 'Nagyítás',
filterSongs: 'Dalok szűrése…',
sortNatural: 'Természetes',
sortByTitle: 'AZ (cím)',
sortByArtist: 'AZ (előadó)',
sortByAlbum: 'AZ (album)',
};
+41
View File
@@ -0,0 +1,41 @@
export const albums = {
title: 'Összes album',
sortByName: 'AZ (album)',
sortByArtist: 'AZ (előadó)',
sortByArtistYear: 'Előadó → év',
sortNewest: 'Legújabb elöl',
sortRandom: 'Véletlen',
yearFrom: 'Ettől',
yearTo: 'Eddig',
yearFilterClear: 'Évszűrő törlése',
yearFilterLabel: 'Év',
sortTooltip: 'Rendezés módosítása',
yearFilterTooltip: 'Szűrés kiadási év szerint',
compilationLabel: 'Válogatások',
compilationOnly: 'Csak válogatások',
compilationHide: 'Válogatások elrejtése',
compilationTooltipAll: 'Összes album · kattintás: csak válogatások',
compilationTooltipOnly: 'Csak válogatások · kattintás: válogatások elrejtése',
compilationTooltipHide: 'Válogatások elrejtve · kattintás: összes mutatása',
losslessLabel: 'Veszteségmentes',
losslessTooltipOn: 'Csak veszteségmentes albumok · kattints az összes mutatásához',
losslessTooltipOff: 'Csak veszteségmentes albumok mutatása',
select: 'Többszörös kijelölés',
startSelect: 'Többszörös kijelölés bekapcsolása',
cancelSelect: 'Mégse',
selectionCount: '{{count}} kijelölve',
downloadZips: 'ZIP-ek letöltése',
addOffline: 'Hozzáadás offline-hoz',
enqueueSelected_one: 'Sorba ({{count}})',
enqueueSelected_other: 'Sorba ({{count}})',
enqueueQueued_one: '{{count}} album hozzáadva a sorhoz',
enqueueQueued_other: '{{count}} album hozzáadva a sorhoz',
downloadingZip: 'Letöltés {{current}}/{{total}}: {{name}}',
downloadZipDone: '{{count}} ZIP letöltve',
downloadZipFailed: 'A(z) {{name}} letöltése nem sikerült',
offlineQueuing: '{{count}} album sorba állítása offline-hoz…',
offlineFailed: 'A(z) {{name}} offline hozzáadása nem sikerült',
noFavorites: 'Egyetlen kedvenc album sem felel meg a jelenlegi szűrőknek.',
noCompilations: 'Egyetlen válogatás sem felel meg a jelenlegi szűrőknek.',
noMatchingFilters: 'Egyetlen album sem felel meg a jelenlegi szűrőknek.',
};
+52
View File
@@ -0,0 +1,52 @@
export const artistDetail = {
back: 'Vissza',
albums: 'Albumok',
album: 'Album',
playAll: 'Összes lejátszása',
shareArtist: 'Előadó megosztása',
shuffle: 'Keverés',
radio: 'Rádió',
lastfmTooltip: 'Az előadó megnyitása a Last.fm-en',
wikipediaTooltip: 'Az előadó megnyitása a Wikipédián',
playAllTooltip: 'A teljes diszkográfia lejátszása',
shuffleTooltip: 'A teljes diszkográfia keverése',
radioTooltip: 'Rádió indítása az előadó alapján',
loading: 'Betöltés…',
noRadio: 'Nem található hasonló szám ehhez az előadóhoz.',
notFound: 'Az előadó nem található.',
albumsBy: '{{name}} albumai',
albumsByLossless: '{{name}} veszteségmentes albumai',
sortYearToggleAria: 'Album-évrendezés váltása kiadástípusonként',
sortYearDesc: 'Év, legújabb elöl',
sortYearAsc: 'Év, legrégebbi elöl',
topTracks: 'Legjobb számok',
topTracksLossless: 'Veszteségmentes számok',
noAlbums: 'Nem található album.',
trackTitle: 'Cím',
trackAlbum: 'Album',
trackDuration: 'Hossz',
favoriteAdd: 'Hozzáadás a kedvencekhez',
favoriteRemove: 'Eltávolítás a kedvencekből',
favorite: 'Kedvenc',
albumCount_one: '{{count}} album',
albumCount_other: '{{count}} album',
openedInBrowser: 'Megnyitva a böngészőben',
featuredOn: 'Közreműködésként szerepel',
similarArtists: 'Hasonló előadók',
cacheOffline: 'Diszkográfia mentése offline-ra',
offlineCached: 'Diszkográfia gyorsítótárazva',
offlineQueued: 'A sorban',
offlineDownloading: 'Gyorsítótárazás… ({{done}}/{{total}} album)',
uploadImage: 'Előadói kép feltöltése',
uploadImageError: 'A kép feltöltése nem sikerült',
releaseTypes: {
album: 'Album',
ep: 'EP',
single: 'Kislemez',
compilation: 'Válogatás',
live: 'Koncert',
soundtrack: 'Filmzene',
remix: 'Remix',
other: 'Egyéb',
},
};
+19
View File
@@ -0,0 +1,19 @@
export const artists = {
title: 'Előadók',
search: 'Keresés…',
all: 'Mind',
other: 'Egyéb',
gridView: 'Rácsnézet',
listView: 'Listanézet',
imagesOn: 'Előadói képek bekapcsolva — növelheti a hálózati és rendszerterhelést',
imagesOff: 'Előadói képek kikapcsolva — csak a kezdőbetűk látszanak',
loadMore: 'Több betöltése',
notFound: 'Nem található előadó.',
albumCount_one: '{{count}} album',
albumCount_other: '{{count}} album',
selectionCount: '{{count}} kijelölve',
select: 'Többszörös kijelölés',
startSelect: 'Többszörös kijelölés bekapcsolása',
cancelSelect: 'Mégse',
addToPlaylist: 'Hozzáadás lejátszási listához',
};
+5
View File
@@ -0,0 +1,5 @@
export const changelog = {
modalTitle: 'Újdonságok',
dontShowAgain: 'Ne jelenjen meg többé',
close: 'Értem',
};
+70
View File
@@ -0,0 +1,70 @@
export const common = {
albums: 'Albumok',
album: 'Album',
loading: 'Betöltés…',
loadingMore: 'Betöltés…',
loadingPlaylists: 'Lejátszási listák betöltése…',
noAlbums: 'Nem található album.',
downloading: 'Letöltés…',
downloadZip: 'Letöltés (ZIP)',
back: 'Vissza',
backToTop: 'Vissza a tetejére',
cancel: 'Mégse',
close: 'Bezárás',
save: 'Mentés',
delete: 'Törlés',
use: 'Használat',
add: 'Hozzáadás',
new: 'Új',
active: 'Aktív',
download: 'Letöltés',
chooseDownloadFolder: 'Letöltési mappa kiválasztása',
noFolderSelected: 'Nincs kiválasztott mappa',
rememberDownloadFolder: 'Mappa megjegyzése',
filterGenre: 'Műfajszűrő',
filterGenreTooltip: 'Szűrés műfaj szerint',
filterSearchGenres: 'Műfajok keresése…',
filterNoGenres: 'Nincs egyező műfaj',
filterClear: 'Törlés',
favorites: 'Kedvencek',
favoritesTooltipOff: 'Csak kedvencek mutatása',
favoritesTooltipOn: 'Összes mutatása',
play: 'Lejátszás',
addToQueue: 'Hozzáadás a sorhoz',
bulkSelected: '{{count}} kijelölve',
clearSelection: 'Kijelölés törlése',
bulkAddToPlaylist: 'Hozzáadás lejátszási listához',
bulkRemoveFromPlaylist: 'Eltávolítás a lejátszási listából',
bulkClear: 'Kijelölés törlése',
updaterAvailable: 'Elérhető frissítés',
updaterVersion: 'A v{{version}} elérhető',
updaterWebsite: 'Weboldal',
updaterModalTitle: 'Új verzió érhető el',
updaterChangelog: 'Újdonságok',
updaterDownloadBtn: 'Letöltés most',
updaterSkipBtn: 'Verzió kihagyása',
updaterRemindBtn: 'Emlékeztess később',
updaterDone: 'A letöltés kész',
updaterShowFolder: 'Megjelenítés a mappában',
updaterInstallHint: 'Zárd be a Psysonicot, és futtasd a telepítőt kézzel.',
updaterAurHint: 'Telepítsd a frissítést az AUR-on keresztül:',
updaterErrorMsg: 'A letöltés nem sikerült',
updaterRetryBtn: 'Újra',
updaterInstallNow: 'Telepítés most',
updaterMacReadyTitle: 'Telepítésre kész',
updaterMacReady: 'A frissítés letöltődik, ellenőrződik és helyben települ — nincs szükség DMG-re. Az alkalmazás a végén automatikusan újraindul.',
updaterTrustNotarized: 'Apple által hitelesítve',
updaterTrustSignature: 'Aláírás ellenőrizve',
updaterMacDoneTitle: 'A frissítés telepítve',
updaterRestartingIn: 'Újraindítás {{n}} mp múlva…',
updaterRestarting: 'Újraindítás…',
updaterRestartNow: 'Újraindítás most',
durationHoursMinutes: '{{hours}} ó {{minutes}} p',
durationMinutesOnly: '{{minutes}} p',
updaterOpenGitHub: 'Megnyitás a GitHubon',
filters: 'Szűrők',
more: 'több',
yearRange: 'Évtartomány',
clearAll: 'Összes törlése',
libraryEmpty: 'A könyvtárad üres.',
};
+11
View File
@@ -0,0 +1,11 @@
export const composerDetail = {
back: 'Vissza',
notFound: 'A zeneszerző nem található.',
about: 'A zeneszerzőről',
works: 'Művek',
noWorks: 'Nem található mű.',
workCount_one: '{{count}} mű',
workCount_other: '{{count}} mű',
shareComposer: 'Zeneszerző megosztása',
unknownComposer: 'Zeneszerző',
};
+10
View File
@@ -0,0 +1,10 @@
export const composers = {
title: 'Zeneszerzők',
search: 'Keresés…',
notFound: 'Nem található zeneszerző.',
unsupported: 'A zeneszerző szerinti böngészéshez Navidrome 0.55 vagy újabb szükséges.',
loadFailed: 'A zeneszerzők betöltése nem sikerült.',
retry: 'Újra',
involvedIn_one: '{{count}} albumban közreműködött',
involvedIn_other: '{{count}} albumban közreműködött',
};
+46
View File
@@ -0,0 +1,46 @@
export const connection = {
connected: 'Csatlakozva',
connectedTo: 'Csatlakozva ehhez: {{server}}',
disconnected: 'Szétkapcsolva',
disconnectedFrom: 'A(z) {{server}} nem érhető el — kattints a beállítások ellenőrzéséhez',
checking: 'Csatlakozás…',
extern: 'Külső',
offlineTitle: 'Nincs szerverkapcsolat',
offlineSubtitle: 'A(z) {{server}} nem érhető el. Ellenőrizd a hálózatot vagy a szervert.',
offlineModeBanner: 'Offline mód — lejátszás a helyi gyorsítótárból',
offlineNoCacheBanner: 'Nincs szerverkapcsolat — a(z) {{server}} nem érhető el',
offlineLibraryTitle: 'Offline könyvtár',
offlineLibraryDiskLabel: 'Lemezen',
offlineLibraryDiskUsage: 'Lemezen: {{size}}',
offlineLibraryDiskUsageLoading: 'Lemezen: …',
offlineLibraryDiskTierLibrary: 'Offline könyvtár (media/library): {{size}}',
offlineLibraryDiskTierFavorites: 'Kedvencek (media/favorites): {{size}}',
offlineLibraryEmpty: 'Még nincs gyorsítótárazott album. Lépj online-ra, nyiss meg egy albumot, és kattints az „Elérhetővé tétel offline" gombra.',
offlinePlaybackUnavailable: 'Az album helyi fájljai hiányoznak vagy nincsenek indexelve.',
offlineCachedOnServer: 'Itt: {{server}}',
offlineAlbumCount: '{{n}} album',
offlineAlbumCount_plural: '{{n}} album',
offlineFilterAll: 'Mind',
offlineFilterAlbums: 'Albumok',
offlineFilterPlaylists: 'Lejátszási listák',
offlineFilterArtists: 'Diszkográfiák',
offlineCacheQueueTitle: 'Sor gyorsítótár',
offlineCacheQueueSubtitle: '{{n}} szám a media/cache mappában — keverés és lejátszás',
offlineCacheQueuePlayAria: 'Összes gyorsítótárazott szám keverése és lejátszása',
offlineFavoritesQueueTitle: 'Kedvencek',
offlineFavoritesQueuePlayAria: 'Összes offline mentett kedvenc keverése és lejátszása',
retry: 'Újra',
serverSettings: 'Szerverbeállítások',
switchServerTitle: 'Szerverváltás',
switchServerHint: 'Kattints másik mentett szerver kiválasztásához.',
manageServers: 'Szerverek kezelése…',
switchFailed: 'A váltás nem sikerült — a szerver nem érhető el.',
queueSynced: 'A sor szinkronban van a szerverrel',
queuePullHint: 'Kattints a lejátszási sor lekéréséhez innen: {{server}}',
queueLocalEditHint: 'A lejátszási sor helyben módosult — az automatikus szinkron szünetel. Kattints a szerverről való lekéréshez.',
queuePulling: 'Lejátszási sor lekérése…',
queuePullSuccess: 'A lejátszási sor frissítve a szerverről',
queuePullEmpty: 'A szerver lejátszási sora üres',
queuePullFailed: 'A lejátszási sor lekérése a szerverről nem sikerült',
queuePullAria: 'Lejátszási sor szinkronizálása a szerverről',
};
+33
View File
@@ -0,0 +1,33 @@
export const contextMenu = {
playNow: 'Lejátszás most',
playNext: 'Lejátszás következőként',
addToQueue: 'Hozzáadás a sorhoz',
enqueueAlbum: 'Album a sorba',
enqueueAlbums_one: '{{count}} album a sorba',
enqueueAlbums_other: '{{count}} album a sorba',
startRadio: 'Rádió indítása',
instantMix: 'Azonnali mix',
instantMixFailed: 'Az azonnali mix összeállítása nem sikerült — szerver- vagy bővítményhiba.',
cliMixNeedsTrack: 'Semmi sem szól — indítsd el a lejátszást, majd futtasd újra a mix parancsot.',
networkLove: 'Kedvelés itt: {{provider}}',
networkUnlove: 'Kedvelés visszavonása itt: {{provider}}',
favorite: 'Kedvenc',
favoriteArtist: 'Előadó kedvencnek',
favoriteAlbum: 'Album kedvencnek',
unfavorite: 'Eltávolítás a kedvencekből',
unfavoriteArtist: 'Előadó eltávolítása a kedvencekből',
unfavoriteAlbum: 'Album eltávolítása a kedvencekből',
removeFromQueue: 'Eltávolítás a sorból',
removeFromPlaylist: 'Eltávolítás a lejátszási listából',
openAlbum: 'Album megnyitása',
goToArtist: 'Ugrás az előadóhoz',
download: 'Letöltés (ZIP)',
addToPlaylist: 'Hozzáadás lejátszási listához',
selectedPlaylists: '{{count}} lejátszási lista kijelölve',
selectedAlbums: '{{count}} album kijelölve',
selectedArtists: '{{count}} előadó kijelölve',
songInfo: 'Száminfó',
shareLink: 'Megosztási link másolása',
shareCopied: 'A megosztási link a vágólapra másolva.',
shareCopyFailed: 'A vágólapra másolás nem sikerült.',
};
+80
View File
@@ -0,0 +1,80 @@
export const deviceSync = {
title: 'Eszköz-szinkronizálás',
targetFolder: 'Célmappa',
noFolderChosen: 'Nincs kiválasztott mappa',
selectDrive: 'Válassz meghajtót…',
refreshDrives: 'Meghajtók frissítése',
noDrivesDetected: 'Nem észlelhető cserélhető meghajtó',
browseManual: 'Kézi tallózás…',
free: 'szabad',
notMountedVolume: 'A cél nincs csatolt köteten. Lehet, hogy a meghajtót leválasztották.',
chooseFolder: 'Kiválasztás…',
targetDevice: 'Céleszköz',
schemaLabel: 'Elnevezési séma',
schemaHint: 'Rögzített séma a megbízható, operációs rendszerek közötti szinkronhoz. A lejátszási listák .m3u8 fájlként íródnak, amelyek az album számaira hivatkoznak — nincsenek duplikátumok az eszközön.',
migrateButton: 'Meglévő fájlok átrendezése…',
migrateTooltip: 'A meglévő fájlok átnevezése az eszközön az új sémába (a régi fájlnévsablonból).',
migrateTitle: 'Meglévő fájlok átrendezése',
migrateLoading: 'Meglévő fájlok elemzése…',
migrateNothingToDo: 'Minden meglévő fájl már megfelel az új sémának — nincs teendő.',
migrateNoTemplate: 'Nem található régi fájlnévsablon az eszközön. Az átköltöztetés csak akkor érvényes, ha a pendrive olyan Psysonic-verzióval volt szinkronizálva, amely támogatta az egyéni sablonokat.',
migrateFilesToRename: 'fájl lesz átnevezve',
migrateUnchanged: '{{n}} fájl már a helyes útvonalon van',
migrateCollisions: '{{n}} fájl nem nevezhető át automatikusan (több szám ugyanarra a célra mutat). Ezeket érintetlenül hagyjuk — a következő szinkron újratölti őket a helyes helyre.',
migratePreviewNote: 'Régi sablon: {{tpl}}',
migrateExecuting: 'Fájlok átnevezése…',
migrateSuccess: '{{n}} fájl sikeresen átnevezve',
migrateFailed: '{{n}} átnevezés nem sikerült',
migrateShowErrors: 'Hibák megjelenítése',
migrateStart: 'Átnevezés indítása',
onDevice: 'Eszközkezelő',
addSources: 'Hozzáadás…',
colName: 'Név',
colType: 'Típus',
colStatus: 'Állapot',
syncResult: '{{done}} átvíve, {{skipped}} már naprakész ({{total}} összesen)',
deleteFromDevice: 'Megjelölés törlésre ({{count}})',
confirmDelete: 'Törölsz {{count}} elemet az eszközről: {{names}}?',
deleteComplete: '{{count}} elem eltávolítva az eszközről.',
manifestImported: '{{count}} forrás importálva az eszköz manifesztjéből.',
selectedSources: 'Kiválasztott források',
noSourcesSelected: 'Nincs kiválasztott forrás. Kattints a böngészőben elemekre a hozzáadásukhoz.',
clearAll: 'Összes törlése',
tabPlaylists: 'Lejátszási listák',
tabAlbums: 'Albumok',
tabArtists: 'Előadók',
searchPlaceholder: 'Keresés…',
syncButton: 'Szinkronizálás az eszközre',
actionTransfer: 'Átvitel az eszközre',
actionDelete: 'Törlés az eszközről',
actionApplyAll: 'Összes módosítás alkalmazása',
cancel: 'Mégse',
noTargetDir: 'Először válassz célmappát.',
noSources: 'Válassz legalább egy forrást.',
noTracks: 'Nem található szám a kiválasztott forrásokban.',
fetchError: 'A számok lekérése a szerverről nem sikerült.',
syncComplete: 'A szinkronizálás kész.',
dismiss: 'Elvetés',
cancelSync: 'Mégse',
syncCancelled: 'Szinkronizálás megszakítva ({{done}} / {{total}} átvíve).',
statusSynced: 'Szinkronizálva',
statusPending: 'Függőben',
statusDeletion: 'Törlés',
markForDeletion: 'Megjelölés törlésre',
undoDeletion: 'Törlés visszavonása',
removeSource: 'Eltávolítás',
syncInBackground: 'A szinkronizálás a háttérben elindult — elnavigálhatsz.',
syncInProgress: '{{done}} / {{total}} szám…',
scanningDevice: 'Eszköz vizsgálata…',
syncSummary: 'Szinkronizálás összegzése',
calculating: 'A szükséges adatmennyiség kiszámítása…',
filesToAdd: 'Hozzáadandó fájlok:',
filesToDelete: 'Törlendő fájlok:',
netChange: 'Nettó változás:',
availableSpace: 'Elérhető lemezterület:',
spaceWarning: 'Figyelem: a céleszközön a jelentett szerint nincs elég hely.',
proceed: 'Szinkronizálás folytatása',
notEnoughSpace: 'Nincs elég fizikai lemezterület!',
liveSearch: 'Élő',
randomAlbumsLabel: 'Véletlen albumok',
};
+9
View File
@@ -0,0 +1,9 @@
export const entityRating = {
albumShort: 'Album értékelése',
artistShort: 'Előadó értékelése',
albumAriaLabel: 'Album értékelése',
artistAriaLabel: 'Előadó értékelése',
selectedArtistsRatingAriaLabel: '{{count}} kijelölt előadó csillagos értékelése',
selectedAlbumsRatingAriaLabel: '{{count}} kijelölt album csillagos értékelése',
saveFailed: 'Az értékelés mentése nem sikerült.',
};
+26
View File
@@ -0,0 +1,26 @@
export const favorites = {
title: 'Kedvencek',
empty: 'Még nem mentettél kedvenceket.',
artists: 'Előadók',
albums: 'Albumok',
songs: 'Dalok',
enqueueAll: 'Összes hozzáadása a sorhoz',
enqueueSelected: 'Kijelöltek hozzáadása a sorhoz',
playAll: 'Összes lejátszása',
playSelected: 'Kijelöltek lejátszása',
removeSong: 'Eltávolítás a kedvencekből',
stations: 'Rádióállomások',
showingFiltered: '{{filtered}}/{{total}} megjelenítve ({{artist}})',
showingCount: '{{filtered}}/{{total}} megjelenítve',
clearArtistFilter: 'Előadószűrő törlése',
noFilterResults: 'Nincs találat a kiválasztott szűrőkkel.',
allArtists: 'Összes előadó',
topArtists: 'Top előadók kedvencek szerint',
topArtistsSongCount_one: '{{count}} dal',
topArtistsSongCount_other: '{{count}} dal',
offlineTooltip: 'Kedvencek mentése offline hallgatáshoz',
offlineJobName: 'Kedvencek',
offlineSemaphoreSyncing: 'Kedvencek szinkronizálása… {{saved}}/{{total}}',
offlineSemaphoreSynced: 'Minden kedvenc mentve offline hallgatáshoz',
offlineSemaphoreError: 'Szinkronizálási hiba — néhány szám nem menthető',
};
+4
View File
@@ -0,0 +1,4 @@
export const folderBrowser = {
empty: 'Üres mappa',
error: 'A betöltés nem sikerült',
};
+15
View File
@@ -0,0 +1,15 @@
export const genres = {
title: 'Műfajok',
genreCount: 'Műfaj',
albumCount_one: '{{count}} album',
albumCount_other: '{{count}} album',
loading: 'Műfajok betöltése…',
empty: 'Nem található műfaj.',
albumsLoading: 'Albumok betöltése…',
albumsEmpty: 'Nem található album ehhez a műfajhoz.',
loadMore: 'Több betöltése',
back: 'Vissza',
playTooltip: 'Lejátszás (tartsd nyomva a keveréshez)',
shuffle: 'Keverés',
addToQueue: 'Hozzáadás a sorhoz',
};
+115
View File
@@ -0,0 +1,115 @@
export const help = {
title: 'Súgó',
searchPlaceholder: 'Súgó keresése…',
noResults: 'Nincs egyező téma. Próbálj másik keresési kifejezést.',
// ── Section 1: Getting Started ─────────────────────────────────────────
s1: 'Első lépések',
q1: 'Mely szerverek kompatibilisek?',
a1: 'A Psysonic elsősorban a Navidrome-hoz készült, és teljesen Subsonic-kompatibilis — a Gonic, az Airsonic, az LMS és más Subsonic-API szerverek is működnek. Néhány speciális funkció (értékelések, okos lejátszási listák, varázsszöveg-megosztás, felhasználókezelés) Navidrome-ot igényel.',
q2: 'Hogyan adok hozzá szervert?',
a2: 'Beállítások → Szerverek → Szerver hozzáadása. Add meg az URL-t (pl. http://192.168.1.100:4533), a felhasználónevet és a jelszót. A Psysonic mentés előtt teszteli a kapcsolatot — ha sikertelen, semmi sem kerül mentésre. Annyi szervert adhatsz hozzá, amennyit szeretnél, és bármikor válthatsz közöttük a fejlécben; egyszerre csak egy aktív.',
q3: 'Gyors körkép a felületről?',
a3: 'Oldalsáv (bal) a navigációhoz, Főszínpad / oldalak középen, Lejátszósáv alul, és a Lejátszási sor panel jobbra (a jobb felső fejlécben kapcsolható, a Most szól jelző mellett). A felső keresősáv a teljes könyvtáradban keres; a „Most szól" megmutatja, mit hallgatnak éppen más felhasználók ugyanazon a Navidrome szerveren.',
// ── Section 2: Playback & Queue ────────────────────────────────────────
s2: 'Lejátszás és sor',
q4: 'Hogyan használom a sort?',
a4: 'Nyisd meg a Lejátszási sor panelt a jobb felső fejlécből. Húzd a sorokat az átrendezéshez, ejtsd kívülre az eltávolításhoz, vagy használd a sor eszköztárát a kereséshez, a sor lejátszási listaként mentéséhez vagy egy számra ugráshoz. Húzd ki a sorokat a panelből, hogy máshová ejtsd őket átvitelként.',
q5: 'Szünetmentes vs áttűnés — mi a különbség?',
a5: 'A szünetmentes előpufferezi a következő számot, így nincs csend a dalok között (legjobb koncertalbumokhoz és DJ-mixekhez). Az áttűnés a jelenlegi számot kihalkítja, miközben a következő 110 mp alatt felerősödik (legjobb kevert mixekhez). Kölcsönösen kizárják egymást — az egyik bekapcsolása kikapcsolja a másikat. Mindkettő a Beállítások → Hang menüben állítható.',
q6: 'Mi a végtelen sor?',
a6: 'Amikor a sor kifogy és az Ismétlés ki van kapcsolva, a Psysonic csendben hasonló / véletlen számokat fűz a könyvtáradból, így a lejátszás soha nem áll le. Az automatikusan hozzáadott számok egy „— Automatikusan hozzáadva —" elválasztó alatt jelennek meg. A sor fejlécében a végtelen ikonnal kapcsolható; az automatikus hozzáadásokat műfajra korlátozhatod a Beállítások → Sor menüben.',
q7: 'Többszörös kijelölés és Shift-kattintásos tartomány?',
a7: 'Aktiváld a „Kijelölés" funkciót az Albumok / Új megjelenések / Véletlen albumok / Lejátszási listák oldalon. Kattints egy elemre a ki/bekapcsolásához, majd tartsd lenyomva a Shiftet, és kattints egy másik elemre, hogy a látható sorrendben mindent kijelölj közöttük. A Shift-kattintások a legutóbb kattintott horgonytól terjednek. A rács feletti eszköztár tömeges műveleteket kínál (sor, letöltés, törlés stb.).',
q8: 'Billentyűparancsok és globális gyorsbillentyűk?',
a8: 'Alapértelmezett alkalmazásbeli billentyűk: Space = Lejátszás / Szünet, Esc = teljes képernyő / ablakok bezárása, F1 = billentyűparancs-puska. A Beállítások → Bevitel menüben minden alkalmazásbeli művelet újraköthető (akár olyan kombinációként is, mint Ctrl+Shift+P), és beállíthatók rendszerszintű globális gyorsbillentyűk, amelyek akkor is működnek, ha a Psysonic a háttérben van vagy le van kicsinyítve. A médiabillentyűk (Lejátszás/Szünet, Következő, Előző) minden platformon működnek.',
// ── Section 3: Audio Tools ─────────────────────────────────────────────
s3: 'Hangeszközök',
q9: 'Replay Gain módok?',
a9: 'Beállítások → Hang → Replay Gain. A szám mód minden dalt egy célszintre normalizál. Az album mód megőrzi az album hangerőgörbéjét. Az automatikus mód a Szám vagy Album közül választ aszerint, hogy a sor egyetlen albumból áll-e. A Replay Gain címke nélküli számok egy beállítható előerősítésre esnek vissza.',
q10: 'Mi az okos hangerő-normalizálás (LUFS)?',
a10: 'A Replay Gain modern alternatívája a Beállítások → Hang menüben. A Psysonic minden számot LUFS / EBU R128 szerint elemez és eltárolja az eredményt, így a hangerő egységes a teljes könyvtáradban — beleértve a Replay Gain címke nélküli számokat is. A hidegindításos elemzés a háttérben fut, és kb. 1 percig 3540% CPU-t használ, majd 0-ra esik. Állítsd be a cél-hangerőt (alapértelmezett 10 LUFS) egyszer.',
q11: 'EQ és AutoEQ?',
a11: 'Egy 10 sávos parametrikus hangszínszabályzó található a Beállítások → Hang → Hangszínszabályzó menüben, kézi sávokkal és preszettekkel. A mellette lévő AutoEQ a fejhallgató-modelledhez mért korrekciós profilt tölti le az AutoEQ adatbázisból, és automatikusan a sávokra alkalmazza — válaszd ki a fejhallgatódat, és az EQ a helyes görbére ugrik.',
q12: 'Hogyan váltok audió kimeneti eszközt?',
a12: 'Beállítások → Hang → Kimeneti eszköz. A Psysonic felsorol minden elérhető kimenetet, és azonnal vált, amikor kiválasztasz egyet. A frissítés gomb újraolvassa az indítás után csatlakoztatott eszközöket. A Linux ALSA-nevek, mint a „sysdefault", automatikusan olvashatóra tisztulnak.',
q13: 'Mi a Hot Cache?',
a13: 'A Hot Cache a jelenlegi számot és a következő néhányat előre betölti a RAM-ba és a lemezre, így a lejátszás pufferelés nélkül indul — különösen hasznos lassú / távoli szervereknél. A kiürítés akkor lép életbe, amikor a méretkorlát elérődik. A méret és a késleltetés (hogy a gyors átugrások ne töltsenek túl) a Beállítások → Hang menüben állítható.',
// ── Section 4: Library & Discovery ─────────────────────────────────────
s4: 'Könyvtár és felfedezés',
q14: 'Hogyan működnek az értékelések és a Skip-to-1★?',
a14: 'A Psysonic 15 csillagos értékeléseket támogat OpenSubsonic-on keresztül (Navidrome ≥ 0.53). Értékelj dalokat a számlistákban, a jobbklikk-menüben vagy a lejátszósávban az előadó neve alatt; albumokat az albumoldalon; előadókat az előadóoldalon. A Skip-to-1★ (Beállítások → Könyvtár → Értékelések) automatikusan 1 csillagot ad beállítható számú egymást követő átugrás után. Ugyanitt beállíthatsz minimális értékelés-szűrőt a Véletlen mixhez és más generált mixekhez.',
q15: 'Hogyan böngészek — mappák, műfajok, számok?',
a15: 'A Mappaböngésző (oldalsáv) a szervered zenei könyvtárát járja be Miller-oszlopos elrendezésben — kattints egy mappára a belépéshez, kattints egy számra vagy egy mappa lejátszás ikonjára a lejátszáshoz / sorba tételhez. A Műfajok egy számszám szerint méretezett címkefelhő-nézetet használ; kattints egy műfajra a megnyitásához. A Számok egy lapos könyvtár-központ oszloprendezhető virtuális listával és élő kereséssel.',
q16: 'Keresés és speciális keresés?',
a16: 'A fejléc keresősávja gyors élő keresést futtat az előadók, albumok és számok között gépelés közben. Nyisd meg a Speciális keresést (oldalsáv) egy gazdagabb nézethez: szűrj év, műfaj, értékelés, formátum, csatornák, mintavételezés, BPM, hangulat szerint, és kombináld a feltételeket. Jobbklikkelj bármely találatra ugyanazért a környezeti menüért, amelyet máshol is használsz az alkalmazásban.',
q17: 'Mik a mixek (Véletlen / Műfaj / Szuper műfaj / Lucky)?',
a17: 'A Véletlen mix véletlen számokból állít össze lejátszási listát a könyvtáradból; a Kulcsszószűrő kizárja a hangoskönyveket, a humort stb. műfaj / cím / album részletek alapján. A Szuper műfaj-mix a könyvtáradat tág stílusokba csoportosítja (Rock, Metal, Electronic, Jazz, Classical…), és egyből fókuszált mixet épít. A Lucky Mix a hallgatási előzményeidet, az értékeléseidet és az AudioMuse-AI hasonló számait használja egy azonnali lejátszási lista egyetlen kattintással való összeállításához.',
q18: 'Statisztika oldal?',
a18: 'A Statisztika (oldalsáv) megmutatja a top előadókat, top albumokat, top számokat, a műfajbontást, a hallgatási időt az idő függvényében, és könyvtáronkénti hatókört, ha egynél több zenei mappa van beállítva. Több nézet exportálható megosztható kártyaképként.',
q19: 'Hogyan töltök le egy albumot ZIP-ként?',
a19: 'Albumoldal → „Letöltés (ZIP)". A szerver először tömöríti az albumot — nagy vagy veszteségmentes albumoknál (FLAC / WAV) a folyamatjelző csak a tömörítés befejezése és az átvitel megkezdése után jelenik meg. Ez normális.',
// ── Section 5: Lyrics ──────────────────────────────────────────────────
s5: 'Dalszöveg',
q20: 'Honnan jönnek a dalszövegek?',
a20: 'Három forrásból, a Beállítások → Dalszöveg menüben állítható: a Navidrome szervered (beágyazott / OpenSubsonic dalszövegek), az LRCLIB (közösség által hozzájárult szinkronizált dalszövegek) és a NetEase Cloud Music (nagy ázsiai + nemzetközi katalógus). Minden forrás be-/kikapcsolható és húzással átrendezhető.',
q21: 'Hogyan nézem a dalszöveget lejátszás közben?',
a21: 'Kattints a mikrofon ikonra a lejátszósávban a Dalszöveg fül megnyitásához a sor panelen belül. A szinkronizált dalszöveg automatikusan görget és támogatja a kattintásos ugrást; az egyszerű szöveges dalszöveg statikus blokként görög. A lejátszósáv borítójáról kapcsold be a Teljes képernyős lejátszót egy magával ragadó dalszövegnézethez mesh-blob háttérrel.',
// ── Section 6: Sharing & Social ────────────────────────────────────────
s6: 'Megosztás és közösség',
q22: 'Mik a varázsszövegek?',
a22: 'A varázsszövegek rövid másolható tokenek, amelyek harmadik fél szervere nélkül osztanak meg dolgokat a Psysonic-felhasználók között. A szerver-meghívó szövegekkel egy barátod egyetlen beillesztéssel csatlakozhat a Navidrome-odhoz; az album- / előadó- / sor-varázsszövegek ugyanazt az albumot / előadót / sort nyitják meg a címzett telepített Psysonicjában. Hozd létre őket a megosztás menüből, és illeszd be a keresősávba a felhasználásukhoz.',
q23: 'Mi az Orbit?',
a23: 'Az Orbit szinkronizált együtt-hallgatás: a házigazda lejátszik egy számot, minden vendég szinkronban hallja, és a vendégek dalokat javasolhatnak, amelyeket a házigazda elfogadhat a sorba. Indíts munkamenetet a fejléc Orbit gombjával, oszd meg a meghívó linket, és mások bármely Psysonic-telepítésről csatlakozhatnak. A házigazdáé a lejátszás (átugrás, tekerés, sor) — a vendégek valós idejű nézetet és egy javaslatdobozt kapnak. A munkamenetek ideiglenesek, és véget érnek, amikor a házigazda bezárja őket.',
q24: 'Mi a Most szól legördülő menü?',
a24: 'A jobb felső fejléc adás ikonja megmutatja, mit hallgatnak éppen más felhasználók a Navidrome szervereden, 10 másodpercenként frissítve. A saját bejegyzésed abban a pillanatban eltűnik, amint szüneteltetsz. Szerverenkénti, így egy másik aktív szerver felhasználói nem jelennek meg.',
// ── Section 7: Personalization ─────────────────────────────────────────
s7: 'Személyre szabás',
q25: 'Témák és a témaütemező?',
a25: 'Beállítások → Megjelenés → Téma több mint 60 témából választ 8 csoportban (Psysonic, Médialejátszók, Operációs rendszerek, Játékok, Filmek, Sorozatok, Közösségi média, Nyílt forráskódú klasszikusok — Catppuccin / Nord / Gruvbox / Nightfox / Dracula). Az Automatikus témaváltás lehetővé teszi egy nappali + éjszakai téma beállítását kezdési időpontokkal, így a Psysonic automatikusan vált.',
q26: 'Testreszabhatom az oldalsávot, a kezdőlapot és az előadóoldalakat?',
a26: 'Igen — Beállítások → Személyre szabás. Az oldalsáv-testreszabóval a navigációs elemeket a kívánt sorrendbe húzhatod, és elrejtheted a nem használtakat. A kezdőlap-testreszabó minden Főszínpad-sávot ki/bekapcsol (Kiemelt, Legutóbbi, Felfedezés, Nemrég játszott, Csillagozott…). Az előadóoldal-testreszabó átrendezi a szakaszokat (Top számok, Albumok, Kislemezek, Válogatások, Hasonló előadók stb.), és lehetővé teszi a soha nem nézett szakaszok elrejtését.',
q27: 'Mi a mini lejátszó?',
a27: 'Egy kis lebegő ablak borítóval, lejátszásvezérlőkkel és egy kompakt sorral. Nyisd meg a lejátszósáv mini-lejátszó ikonjáról vagy a billentyűparancsával. Az ablak megjegyzi a pozícióját és méretét a munkamenetek között. Windowson a mini-webnézet indításkor előre létrejön, így a megnyitás azonnali; Linuxon / macOS-en a Beállítások → Megjelenés → Mini lejátszó előtöltése menüben kapcsolható be.',
q28: 'Mi a lebegő lejátszósáv?',
a28: 'Egy opcionális lejátszósáv-stílus (Beállítások → Megjelenés), amely elválik az alsó szegélytől témázott háttérrel, kiemelt szegéllyel, lekerekített borítóval és középre igazított hangerőszekcióval. Magas monitorokon vagy kompakt témáknál hasznos.',
q29: 'Szám-előnézet rámutatáskor?',
a29: 'Vidd az egeret egy számsor fölé, kattints a borítón lévő kis előnézet gombra, vagy indítsd az előnézetet a jobbklikk-menüből — a Psysonic az első ~15 mp-et ugyanazon a Rust hangmotoron streameli, így a hangerő-normalizálás érvényesül. Hasznos egy még nem hallott album átfutásához.',
q30: 'Elalvásidőzítő?',
a30: 'Kattints a hold ikonra a lejátszósávban az elalvásidőzítő megnyitásához. Válassz időtartamot (vagy „a jelenlegi szám vége"), és a Psysonic a végén kihalkít és szünetel. A gomb körkörös gyűrűt és gombon belüli visszaszámlálót mutat, amíg az időzítő fut.',
q31: 'Felület-méretezés, betűtípus, keresősáv-stílus?',
a31: 'Beállítások → Megjelenés — Felület-méretezés (80125% a rendszer betűméretének befolyásolása nélkül), Betűtípus (10 felületi betűtípus, köztük IBM Plex Mono, Fira Code, Geist, Golos Text…), Keresősáv-stílus (Hullámforma elemzett / pszeudóhullám determinisztikus / Vonal és pont / Sáv / Vastag sáv / Szegmentált / Neonfény / Pulzushullám / Részecskecsóva / Folyékony kitöltés / Retró szalag).',
// ── Section 8: Power User ──────────────────────────────────────────────
s8: 'Haladó felhasználó',
q32: 'CLI lejátszóvezérlők?',
a32: 'A Psysonic bináris távirányítóként is működik. Példák: psysonic --player play / pause / next / prev, --player volume 75, --player seek 15, --player shuffle, --player repeat off|all|one, --player rating 1-5. Válts szervert, audióeszközt, könyvtárat; indíts Azonnali mixet; keress előadókat / albumokat / számokat. Futtasd a psysonic --player --help parancsot a teljes listáért. Shell-kiegészítések bashhez és zsh-hoz a psysonic completions paranccsal.',
q33: 'Okos lejátszási listák (Navidrome)?',
a33: 'Az okos lejátszási listák Navidrome-oldali dinamikus lejátszási listák, amelyeket szabályok határoznak meg (műfaj = Rock ÉS év > 2020 stb.). A Psysonic Lejátszási listák oldala lehetővé teszi a létrehozásukat, szerkesztésüket és törlésüket egy vizuális szabályszerkesztővel — a Psysonic ehhez a Navidrome natív API-ját használja. Az alkalmazás többi részében normál lejátszási listaként viselkednek, és automatikusan frissülnek, ahogy a könyvtárad változik.',
q34: 'Beállítások mentése és visszaállítása?',
a34: 'Beállítások → Tárhely → Mentés és visszaállítás exportálja a szerverprofilokat, témákat, billentyűkiosztásokat és egyéb beállításokat egyetlen JSON-fájlba. Importáld a fájlt egy másik gépen vagy újratelepítés után, hogy mindent egyszerre visszaállíts. A szerverjelszavak benne vannak — tartsd a fájlt privátban.',
q35: 'Hol látom az összes nyílt forráskódú licencet?',
a35: 'Beállítások → Rendszer → Nyílt forráskódú licencek. A teljes függőséglista (cargo crate-ek és npm csomagok) a buildben szállítva, csomagolt licencszövegekkel. Kattints egy bejegyzésre a teljes szövegért; a tetején lévő válogatott kiemelt blokk a felhasználó által ismert könyvtárakat emeli ki (Tauri, React, rodio, symphonia stb.).',
// ── Section 9: Offline & Sync ──────────────────────────────────────────
s9: 'Offline és szinkronizálás',
q36: 'Offline mód — albumok és lejátszási listák gyorsítótárazása?',
a36: 'Nyiss meg bármilyen albumot vagy lejátszási listát, és kattints a fejlécben lévő letöltés ikonra — a Psysonic minden számot helyben gyorsítótáraz, így hálózati hívás nélkül játszódik le a lemezről. Az Offline könyvtár oldal (oldalsáv) felsorolja a gyorsítótárazott tartalmat, mutatja a folyamatban lévő letöltéseket, és lehetővé teszi a bejegyzések eltávolítását a kuka ikonnal (amely a letöltés befejeztével jelenik meg).',
q37: 'Offline tárhelykorlát?',
a37: 'A Beállítások → Könyvtár → Offline menüben beállíthatsz egy maximális gyorsítótár-méretet. A korlát elérésekor az albumoldal letöltés gombja figyelmeztető sávot mutat. Szabadíts fel helyet albumok vagy lejátszási listák eltávolításával az Offline könyvtár oldalról.',
q38: 'Eszköz-szinkronizálás — zene másolása USB-re / SD-re?',
a38: 'Az Eszköz-szinkronizálás (oldalsáv) albumokat, lejátszási listákat vagy egész előadókat másol egy külső meghajtóra más eszközökön való offline hallgatáshoz. Válassz célmappát, válassz forrásokat a böngészőfülekről, kattints az „Átvitel az eszközre" gombra. A Psysonic egy manifesztet (psysonic-sync.json) ír, így tudja, mely fájlok vannak már ott, még akkor is, ha másik operációs rendszeren, másik fájlnévsablonnal nyitod meg újra az Eszköz-szinkronizálást. A sablonok támogatják a {artist} / {album} / {title} / {track_number} / {disc_number} / {year} tokeneket, a / mappaelválasztóként.',
// ── Section 10: Integrations & Troubleshooting ─────────────────────────
s10: 'Integrációk és hibaelhárítás',
q39: 'Scrobble-olás — Last.fm, ListenBrainz, Maloja…?',
a39: 'Beállítások → Integrációk → Zenei hálózat. Csatlakoztass egy vagy több scrobble-szolgáltatást (Last.fm, Libre.fm, Rocksky, ListenBrainz, Maloja vagy bármilyen GNU FM-kompatibilis szerver) — nincs szükség Navidrome-konfigurációra. Minden csatlakoztatott, engedélyezett scrobble-olású szolgáltatás megkapja a lejátszást; a fő „Scrobble-olás bekapcsolása" kapcsoló az egész szétküldést be- vagy kikapcsolja. A scrobble akkor kerül elküldésre, miután egy szám 50%-át meghallgattad; a most-szól pingek az elején mennek ki, az ezt támogató szolgáltatásokon. Egy szolgáltatás az elsődleges — a kedvelt számaidat, a hasonló előadóidat és a hallgatási statisztikáidat innen olvassuk be. Tipp: ha a Navidrome szervered már scrobble-ol egy szolgáltatáshoz (pl. Maloja), ne csatlakoztasd ugyanazt itt is, különben dupla scrobble-okat kapsz.',
q40: 'Discord Rich Presence?',
a40: 'Beállítások → Integrációk → Discord megmutatja a jelenlegi számodat a Discord profilodon. Válassz az alkalmazás ikonja, a szervered borítója (getAlbumInfo2-n keresztül — nyilvánosan elérhető szervert igényel) vagy az Apple Music borítók között. Szabd testre a megjelenített szövegeket (részletek, állapot, elemleírás) token-sablonokkal.',
q41: 'Bandsintown turnédátumok?',
a41: 'Kapcsold be a Beállítások → Integrációk → Most szól infó menüben. A Most szól oldal Most szól füle ekkor a lejátszott előadó közelgő turnédátumait mutatja a Bandsintown widget API-n keresztül. Alapból kikapcsolva — nincs kérés, amíg be nem kapcsolod.',
q42: 'Internetes rádió — élő streamek lejátszása?',
a42: 'Az Internetes rádió (oldalsáv) bármilyen, a Navidrome szervereden tárolt élő streamet lejátszik (adj hozzá állomásokat a Navidrome admin felületén). A lejátszás a böngésző HTML5 hangmotorján fut — a legtöbb EQ / Replay Gain / hangerő beállítás nem vonatkozik a rádióra, de az ICY metaadat (a jelenlegi dal neve) megjelenik. Támogatja az MP3, AAC, OGG Vorbis és a legtöbb HLS streamet; a kodektámogatás platformfüggő.',
q43: 'A kapcsolatteszt sikertelen — most mi van?',
a43: 'Ellenőrizd kétszer az URL-t a porttal együtt (pl. http://192.168.1.100:4533). Helyi hálózaton a http:// gyakran működik ott, ahol a https:// nem (nincs tanúsítvány). Győződj meg róla, hogy nincs tűzfal, amely blokkolja a portot, és hogy a felhasználónév és a jelszó helyes. Ha a szervered fordított proxy mögött van, először próbáld a közvetlen URL-t a probléma elkülönítéséhez.',
q44: 'A borítók és előadói képek lassan töltődnek.',
a44: 'A képek a szerveredről töltődnek le az első megtekintéskor, majd 30 napig helyben gyorsítótárazódnak. Ha a szervered tárhelye lassú, egy oldal első látogatása eltarthat egy ideig; a további látogatások azonnaliak. A Hot Cache is segít a számoknál, de a képgyorsítótár ettől független.',
q45: 'Linux-problémák — fekete képernyő vagy nincs hang?',
a45: 'A fekete képernyő Linuxon általában grafikai vagy WebView megjelenítési probléma. Próbálj X11 munkamenetet, vagy állítsd be a GDK_BACKEND=x11 és EGL_PLATFORM=x11 értékeket indítás előtt, ha Waylandet használsz. A hanghoz győződj meg róla, hogy a PipeWire vagy a PulseAudio fut. Ha a hang alvás vagy ébredés után leáll, lépj ki teljesen a Psysonicból, és nyisd meg újra.',
};
+9
View File
@@ -0,0 +1,9 @@
export const hero = {
eyebrow: 'Kiemelt album',
playAlbum: 'Album lejátszása',
playAlbumTooltip: 'Album lejátszása (tartsd nyomva a keveréshez)',
enqueue: 'Sorba',
enqueueTooltip: 'A teljes album hozzáadása a sorhoz',
previousAlbum: 'Előző album',
nextAlbum: 'Következő album',
};
+21
View File
@@ -0,0 +1,21 @@
export const home = {
hero: 'Kiemelt',
starred: 'Személyes kedvencek',
mostPlayed: 'Legtöbbet játszott',
recentlyPlayed: 'Nemrég játszott',
losslessAlbums: 'Veszteségmentes albumok',
discover: 'Felfedezés',
discoverSongs: 'Számok felfedezése',
loadMore: 'Több betöltése',
discoverMore: 'Több felfedezése',
discoverArtists: 'Előadók felfedezése',
discoverArtistsMore: 'Összes előadó',
becauseYouLike: 'Mert ezt hallgattad…',
becauseYouLikeFor: 'Mert {{artist}} előadót hallgattad',
similarTo: 'Hasonló ehhez: {{artist}}',
becauseYouLikeTracks_one: '{{count}} szám',
becauseYouLikeTracks_other: '{{count}} szám',
mainstageEmptyTitle: 'A Főszínpadod üres',
mainstageEmptyBody: 'Minden szakasz ki van kapcsolva. Kapcsold vissza a szakaszokat, vagy rejtsd el a Főszínpadot az oldalsávból.',
mainstageEmptyCta: 'Személyre szabás beállításainak megnyitása'
};
+95
View File
@@ -0,0 +1,95 @@
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 { musicNetwork } from './musicNetwork';
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';
import { migration } from './migration';
export const huTranslation = {
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,
musicNetwork,
help,
queue,
miniPlayer,
statistics,
player,
nowPlayingInfo,
songInfo,
playlists,
smartPlaylists,
mostPlayed,
losslessAlbums,
radio,
folderBrowser,
deviceSync,
orbit,
tray,
licenses,
migration,
};
+13
View File
@@ -0,0 +1,13 @@
export const licenses = {
title: 'Nyílt forráskódú licencek',
intro: 'A Psysonic nyílt forráskódú szoftverekre épül. Az alábbi lista az alkalmazásban szállított összes függőséget mutatja a verziójával, licencével és a teljes licencszöveggel.',
highlights: 'Fő függőségek',
searchPlaceholder: 'Keresés név, verzió vagy licenc szerint…',
noResults: 'Nincs találat.',
loading: 'Licencek betöltése…',
loadError: 'A licencadatok betöltése nem sikerült.',
noLicenseText: 'Ehhez a függőséghez nincs csomagolt licencszöveg.',
viewSource: 'Forrás megtekintése',
totalLine: '{{total}} függőség — {{cargo}} cargo, {{npm}} npm',
generatedAt: 'Utoljára generálva: {{date}}',
};
+22
View File
@@ -0,0 +1,22 @@
export const login = {
subtitle: 'A Navidrome asztali lejátszód',
serverName: 'Szerver neve (opcionális)',
serverNamePlaceholder: 'Az én Navidrome-om',
serverUrl: 'Szerver URL',
serverUrlPlaceholder: '192.168.1.100:4533 vagy https://music.example.com',
username: 'Felhasználónév',
usernamePlaceholder: 'admin',
password: 'Jelszó',
showPassword: 'Jelszó megjelenítése',
hidePassword: 'Jelszó elrejtése',
connect: 'Csatlakozás',
connecting: 'Csatlakozás…',
connected: 'Csatlakozva!',
error: 'A csatlakozás nem sikerült ellenőrizd az adataidat.',
urlRequired: 'Adj meg egy szerver URL-t.',
savedServers: 'Mentett szerverek',
addNew: 'Vagy adj hozzá új szervert',
orMagicString: 'Vagy varázsszöveg',
magicStringPlaceholder: 'Illessz be egy megosztási szöveget (psysonic1-…)',
magicStringInvalid: 'Érvénytelen vagy olvashatatlan varázsszöveg.',
};
+7
View File
@@ -0,0 +1,7 @@
export const losslessAlbums = {
empty: 'Ebben a könyvtárban még nincsenek veszteségmentes albumok.',
unsupported: 'Ez a szerver nem teszi elérhetővé a veszteségmentes albumok megtalálásához szükséges metaadatokat.',
slowFetchHint: 'Lassabban tölt be, mint a többi albumoldal — a Psysonic minőség szerint végigjárja a teljes számkatalógust.',
modeBanner: 'Veszteségmentes mód — csak FLAC, WAV és más veszteségmentes formátumok láthatók.',
modeBannerExit: 'Összes formátum mutatása',
};
+6
View File
@@ -0,0 +1,6 @@
export const luckyMix = {
done: 'Lucky Mix kész: {{count}} szám',
failed: 'A Lucky Mix összeállítása nem sikerült. Próbáld újra.',
unavailable: 'A Lucky Mix nem érhető el ehhez a szerverhez.',
cancelTooltip: 'Lucky Mix összeállításának megszakítása',
};
+15
View File
@@ -0,0 +1,15 @@
export const migration = {
preparing: 'Adatfrissítés előkészítése…',
preparingBody: 'A könyvtár és az elemzési gyorsítótár vizsgálata…',
migrating: 'Adatok átköltöztetése',
working: 'folyamatban…',
skippedRows: 'Az eltávolított szerverekhez tartozó sorok kihagyva; a régi biztonsági másolat adatbázisa a sikeres váltás után törlődik.',
failed: 'Az átköltöztetés nem sikerült',
retry: 'Újra',
copyDetails: 'Részletek másolása',
complete: 'A frissítés kész',
completeRows: '{{count}} sor átköltöztetve',
genreTagsTitle: 'Műfajindex frissítése…',
genreTagsBody: 'Műfajok indexelése a böngészéshez és a szűrőkhöz. Ez frissítés után egyszer fut le.',
genreTagsFailed: 'A műfajindex frissítése nem sikerült',
};
+9
View File
@@ -0,0 +1,9 @@
export const miniPlayer = {
showQueue: 'Sor megjelenítése',
hideQueue: 'Sor elrejtése',
pinOnTop: 'Rögzítés felülre',
pinOff: 'Rögzítés feloldása',
openMainWindow: 'Főablak megnyitása',
close: 'Bezárás',
emptyQueue: 'A sor üres',
};
+13
View File
@@ -0,0 +1,13 @@
export const mostPlayed = {
title: 'Legtöbbet játszott',
topArtists: 'Top előadók',
topAlbums: 'Top albumok',
plays: '{{n}} lejátszás',
sortMost: 'Legtöbb lejátszás elöl',
sortLeast: 'Legkevesebb lejátszás elöl',
loadMore: 'Több album betöltése',
noData: 'Még nincs lejátszási adat. Kezdj el zenét hallgatni!',
noArtists: 'Minden előadó ki van szűrve.',
filterCompilations: 'Válogatás-előadók elrejtése (Various Artists, filmzenék stb.)',
filterCompilationsShort: 'Válogatások elrejtése',
};
+55
View File
@@ -0,0 +1,55 @@
export const musicNetwork = {
title: 'Zenei hálózat',
desc: 'Scrobble-old a lejátszásaidat egy vagy több szolgáltatáshoz. A kedvelés, a hasonló előadók és a hallgatási statisztikák a kiválasztott elsődleges szolgáltatásból származnak.',
masterToggle: 'Scrobble-olás bekapcsolása',
masterToggleDesc: 'Főkapcsoló a lejátszások küldéséhez minden csatlakoztatott szolgáltatáshoz.',
addService: 'Szolgáltatás hozzáadása',
connect: 'Csatlakozás',
connecting: 'Csatlakozás…',
disconnect: 'Leválasztás',
scrobbleHere: 'Scrobble ide',
primaryLabel: 'Elsődleges szolgáltatás',
primaryDesc: 'A kedvelt számok (❤), a hasonló előadók és a hallgatási statisztikáid innen származnak — a scrobble-olás ettől függetlenül minden engedélyezett szolgáltatáshoz megy.',
primaryNone: 'Nincs',
statusConnected: 'Csatlakozva',
statusError: 'Újracsatlakozás szükséges',
scrobbles: '{{n}} scrobble',
memberSince: 'Tag {{year}} óta',
connectFailed: 'A csatlakozás nem sikerült — próbáld újra.',
connectProbeFailed: 'A(z) {{provider}} csatlakoztatva, de nem sikerült érvényesíteni: {{message}}',
fieldRequired: 'A(z) {{field}} kötelező.',
malojaProxyWarning: 'A Maloja szervered továbbíthatja a scrobble-okat a Last.fm-nek. A duplikációk elkerüléséhez kapcsold ki a scrobble-olást az egyik oldalon.',
presets: {
lastfm: { desc: 'Az eredeti scrobble-szolgáltatás kedveléssel, hasonló előadókkal és statisztikákkal.' },
librefm: { desc: 'Nyílt forráskódú scrobble-olás a Last.fm-kompatibilis Libre.fm-en.' },
rocksky: { desc: 'Csak scrobble-célpont az AT Protocol-on.' },
listenbrainz: { desc: 'Nyílt hallgatási előzmények a MetaBrainz-től. Scrobble-célpont.' },
malojaNative: { desc: 'Saját üzemeltetésű scrobble-szerver (natív API).' },
malojaCompat: { desc: 'Saját üzemeltetésű Maloja az Audioscrobbler (GNU FM) API-ján keresztül.' },
malojaListenbrainz: { desc: 'Saját üzemeltetésű Maloja a ListenBrainz-kompatibilis API-ján keresztül.' },
koito: { desc: 'Saját üzemeltetésű hallgatáskövető a ListenBrainz-kompatibilis API-ján keresztül.' },
customGnufm: { desc: 'Bármilyen saját üzemeltetésű GNU FM / Last.fm-kompatibilis példány.' },
},
fields: {
lbToken: 'Felhasználói token',
malojaUrl: 'Szerver URL',
malojaKey: 'API-kulcs',
koitoUrl: 'Szerver URL',
koitoToken: 'API-kulcs',
koitoTokenHelp: 'Hozz létre egy API-kulcsot a Koito Beállítások → API Keys menüjében, majd illeszd be ide.',
rockskySessionKey: 'Munkamenet-kulcs',
rockskySessionKeyHelp: 'A Rocksky ezt a kulcsot csak a CLI-jén keresztül adja ki:\n1. npx -y @rocksky/cli@latest login your-handle\n2. cat ~/.rocksky/token.json\n3. Illeszd be ide a "token" értéket.',
gnufmUrl: 'Szerver URL',
apiKey: 'API-kulcs',
apiSecret: 'Megosztott titok',
},
errors: {
AUTH_SESSION_INVALID: 'A munkamenet lejárt — csatlakozz újra a Beállításokban.',
AUTH_TIMEOUT: 'Az engedélyezés időtúllépést szenvedett — próbáld újra.',
PROBE_FAILED: 'Ez a funkció nem érhető el ennél a szolgáltatásnál.',
CAPABILITY_UNSUPPORTED: 'Ez a szolgáltatás nem támogatja ezt a funkciót.',
NETWORK: 'Hálózati hiba — ellenőrizd a kapcsolatot vagy az URL-t.',
MALOJA_BAD_KEY: 'Érvénytelen Maloja API-kulcs.',
CUSTOM_URL_INVALID: 'A szerver URL nem érhető el.',
},
};
+48
View File
@@ -0,0 +1,48 @@
export const nowPlaying = {
tooltip: 'Ki hallgat éppen?',
title: 'Ki hallgat éppen?',
loading: 'Betöltés…',
nobody: 'Jelenleg senki sem hallgat.',
presence: {
playing: 'Lejátszás',
paused: 'Szüneteltetve',
idle: 'Tétlen',
},
nothingPlaying: 'Még semmi sem szól. Indíts el egy számot!',
aboutArtist: 'Az előadóról',
fromAlbum: 'Erről az albumról',
viewAlbum: 'Album megtekintése',
goToArtist: 'Ugrás az előadóhoz',
readMore: 'Tovább',
showLess: 'Kevesebb',
genreInfo: 'Műfaj',
trackInfo: 'Száminfó',
topSongs: 'Az előadótól legtöbbet játszott',
topSongsCredit: '{{name}} legjobb számai',
trackPosition: '{{pos}}. szám',
playsCount_one: '{{count}} lejátszás',
playsCount_other: '{{count}} lejátszás',
releasedYearsAgo_one: '{{count}} éve',
releasedYearsAgo_other: '{{count}} éve',
discography: 'Diszkográfia',
thisTrack: 'Ez a szám',
thisArtist: 'Ez az előadó',
listeners: 'hallgató',
scrobbles: 'scrobble',
yourScrobbles: 'tőled',
listenersN: '{{n}} hallgató',
scrobblesN: '{{n}} scrobble',
playsByYouN: 'tőled {{n}}× lejátszva',
rgTrackTooltip: 'ReplayGain (szám)',
rgAlbumTooltip: 'ReplayGain (album)',
rgAutoTooltip: 'ReplayGain (automatikus)',
showMoreTracks: 'Még {{count}} megjelenítése',
showLessTracks: 'Kevesebb megjelenítése',
hideCard: 'Kártya elrejtése',
layoutMenu: 'Elrendezés',
visibleCards: 'Látható kártyák',
hiddenCards: 'Rejtett kártyák',
noHiddenCards: 'Nincsenek rejtett kártyák',
resetLayout: 'Elrendezés visszaállítása',
emptyColumn: 'Húzd ide a kártyákat',
};
+24
View File
@@ -0,0 +1,24 @@
export const nowPlayingInfo = {
tab: 'Infó',
empty: 'Játssz le valamit az infókért',
artist: 'Előadó',
songInfo: 'Száminfó',
onTour: 'Turnén',
noTourEvents: 'Nincs közelgő koncert',
tourLoading: 'Betöltés…',
poweredByBandsintown: 'Turnéadatok a Bandsintown-tól',
bioReadMore: 'Tovább',
bioReadLess: 'Kevesebb',
showMoreTours_one: 'Még {{count}} megjelenítése',
showMoreTours_other: 'Még {{count}} megjelenítése',
showLessTours: 'Kevesebb megjelenítése',
enableBandsintownPrompt: 'Megnézed a közelgő turnédátumokat?',
enableBandsintownPromptDesc: 'Opcionális. Az aktuális előadó koncertjeit tölti be a nyilvános Bandsintown API-n keresztül.',
enableBandsintownPrivacy: 'Bekapcsolva az éppen szóló előadó neve elküldésre kerül a Bandsintown API-nak a turnédátumok lekéréséhez. Fiók vagy személyes adat nem hagyja el az eszközödet.',
enableBandsintownAction: 'Bekapcsolás',
role: {
artist: 'Előadó',
albumArtist: 'Album előadója',
composer: 'Zeneszerző',
},
};
+200
View File
@@ -0,0 +1,200 @@
export const orbit = {
triggerLabel: 'Orbit',
triggerTooltip: 'Közös hallgatási munkamenet indítása vagy csatlakozás',
launchCreate: 'Munkamenet létrehozása',
launchJoin: 'Csatlakozás munkamenethez',
launchHelp: 'Hogyan működik ez?',
launchHelpSoon: 'Hamarosan',
joinModalTitle: 'Csatlakozás Orbit-munkamenethez',
joinModalSub: 'Illeszd be a meghívó linket, amelyet a házigazda küldött.',
joinModalLinkLabel: 'Meghívó link',
joinModalLinkPlaceholder: 'psysonic2-…',
joinModalLinkHelper: 'Bármely érvényes Orbit-linkkel működik. Arra a szerverre kell mutatnia, amelyre éppen be vagy jelentkezve.',
joinModalPasteTooltip: 'Beillesztés a vágólapról',
joinModalSubmit: 'Csatlakozás',
joinModalBusy: 'Csatlakozás…',
joinErrEmpty: 'Illessz be egy meghívó linket.',
joinErrInvalid: 'Ez nem tűnik Orbit-meghívó linknek.',
closeAria: 'Bezárás',
heroTitlePrefix: 'Hallgassatok együtt —',
heroTitleBrand: 'Orbit',
heroSub: 'Indíts egy munkamenetet — a(z) {{server}} többi felhasználója együtt hallgat, és számokat javasolhat.',
fallbackServer: 'ez a szerver',
tipLan: 'Jelenleg otthoni hálózati címen keresztül csatlakozol. A hálózatodon kívüli vendégek nem tudnak csatlakozni — válts nyilvános szervercímre a beállításokban, mielőtt elindítod.',
tipRemote: 'Ahhoz, hogy az otthoni hálózatodon kívüli vendégek csatlakozhassanak, a szervercímednek nyilvánosan elérhetőnek kell lennie. Ha a szervered csak belső, válts, mielőtt elindítod.',
labelName: 'Munkamenet neve',
namePlaceholder: 'Velvet Orbit',
reshuffleTooltip: 'Új javaslat',
reshuffleAria: 'Új név javaslása',
helperName: 'Így jelenik meg a munkamenet a vendégeidnek — hagyd így, vagy írj sajátot.',
labelMax: 'Vendégek maximális száma',
helperMax: 'Te nem számítasz bele — ez csak a beérkező vendégek számát korlátozza.',
labelLink: 'Meghívó link',
tooltipCopied: 'Másolva',
tooltipCopy: 'Másolás',
ariaCopyLink: 'Meghívó link másolása',
helperLink: 'Küldd el ezt a linket a vendégeidnek. Bárhol beilleszthetik a Psysonicban a Ctrl+V-vel.',
labelClearQueue: 'Előbb töröljem a soromat',
helperClearQueue: 'Indítsd a munkamenetet tiszta, üres sorral. Kikapcsolva: a már sorban lévő számok megmaradnak és megosztásra kerülnek a vendégekkel.',
btnCancel: 'Mégse',
btnStarting: 'Indítás…',
btnStart: 'Orbit indítása',
btnCopyAndStart: 'Link másolása és indítás',
errNameRequired: 'Adj nevet a munkamenetnek.',
errStartFailed: 'Nem sikerült elindítani.',
hostLabel: 'Házigazda: {{name}}',
participantsTooltip: 'Résztvevők',
settingsTooltip: 'Munkamenet beállításai',
shareTooltip: 'Meghívó link megosztása',
shuffleLabel: 'A sor újrakeverése ennyi múlva',
catchUpLabel: 'felzárkózás',
catchUpTooltip: 'Ugrás a házigazda jelenlegi pozíciójára',
hostAway: 'Házigazda offline',
hostOnline: 'Házigazda online',
endTooltip: 'Munkamenet befejezése',
leaveTooltip: 'Kilépés a munkamenetből',
helpTooltip: 'Hogyan működik az Orbit',
diag: {
openTooltip: 'Diagnosztika — másolható eseménynapló',
title: 'Orbit diagnosztika',
role: 'Szerep',
hostTrack: 'Házigazda szám-azonosító',
hostPos: 'Házigazda pozíció',
guestTrack: 'Saját szám-azonosító',
guestPos: 'Saját pozíció',
drift: 'Eltérés',
stateAge: 'Állapot kora',
eventLog: 'Eseménynapló ({{count}})',
copyLabel: 'Másolás',
copyTooltip: 'Napló másolása a vágólapra',
clearLabel: 'Törlés',
clearTooltip: 'Puffer kiürítése',
empty: 'Még nincsenek események — az események akkor jelennek meg, ahogy az Orbit szinkronizál.',
hint: 'Nyisd meg ezt egy probléma reprodukálása előtt, majd kattints a Másolásra, és illeszd be a hibajelentésbe.',
copied: '{{count}} eseménysor másolva',
copyFailed: 'Nem sikerült a vágólapra másolni',
cleared: 'Puffer kiürítve',
},
helpTitle: 'Hogyan működik az Orbit',
helpIntro: 'Az Orbit közös hallgatószobává alakítja a Psysonicot. A házigazda választja a zenét; a vendégek szinkronban hallgatnak, és számokat javasolhatnak.',
helpHostOnly: '(házigazda)',
helpSec1Title: 'Mi az Orbit?',
helpSec1Body: 'Egy „együtt-hallgatás" mód — a házigazda vezérli a lejátszást, a vendégek bekapcsolódnak. Minden a saját Navidrome szervereden lévő lejátszási listákon keresztül fut; nincs külső infrastruktúra.',
helpSec2Title: 'Házigazda és vendégek',
helpSec2Body: 'A házigazda vezérli a lejátszást (lejátszás / szünet / átugrás / tekerés), és eldönti, mikor ér véget a munkamenet. A vendégek követik a házigazda lejátszását, számokat javasolhatnak, és bármikor kiléphetnek vagy újracsatlakozhatnak. Csak a házigazda rúghat ki vagy tilthat le véglegesen egy résztvevőt.',
helpSec2WarnHead: 'Fontos: külön fiókok.',
helpSec2WarnBody: 'Minden résztvevőnek saját Navidrome-fiókra van szüksége. Ha a házigazda és a vendég ugyanazzal a felhasználóval jelentkezik be, a beküldéseik ütköznek, és a házigazda soha nem látja a vendég javaslatait.',
helpSec3Title: 'Indítás és meghívás',
helpSec3Body: 'Kattints az „Orbit" gombra → Munkamenet létrehozása → az indító ablak egy másolásra kész meghívó linket mutat, és opcionálisan törölheted a jelenlegi sorodat. Oszd meg azt a linket, ahogy szeretnéd. Amíg fut egy munkamenet, a felül lévő munkamenetsávban a megosztás gomb bármikor újra kimásolja a linket.',
helpSec4Title: 'Csatlakozás',
helpSec4Body: 'Illeszd be a meghívó linket bárhol a Psysonicban a Ctrl+V / Cmd+V használatával — a csatlakozási ablak automatikusan felugrik. Alternatívaként: „Orbit" → Csatlakozás munkamenethez → illeszd a mezőbe. Ha a link olyan szerverre mutat, amelyen van fiókod, a Psysonic átvált helyetted. Ha egynél több fiókod van azon a szerveren, egy kis választó megkérdezi, melyiket használd.',
helpSec5Title: 'Számok javaslása',
helpSec5Body: 'Bármely dallistában: kattints duplán egy sorra, vagy jobbklikk → „Hozzáadás Orbit-munkamenethez". Egyetlen kattintás egy tippet mutat ahelyett, hogy az egész albumot a megosztott sorba dobná — ez szándékos. Az explicit tömeges műveletek, mint az „Összes lejátszása" vagy az „Album lejátszása", először megerősítést kérnek, majd hozzáfűznek (soha nem cserélnek).',
helpSec6Title: 'A megosztott sor',
helpSec6Body: 'A sor a házigazda közelgő számait mutatja — mindenki látja. A beérkező tömeges hozzáadások mindig hozzáfűződnek, így a vendégek javaslatai nem vesznek el. Az automatikus keverés időnként újrarendezi a sort (beállítható: 1 / 5 / 10 / 15 / 30 perc). Ha a lejátszásod eltér a házigazdától, a munkamenetsáv „Felzárkózás" gombja visszaugrat a házigazda élő pozíciójára.',
helpSec7Title: 'Jóváhagyások',
helpSec7Body: 'Alapértelmezés szerint a vendégek javaslatai kézi jóváhagyást igényelnek — egy „Jóváhagyások" sávban jelennek meg a sor panel tetején elfogadás / elutasítás gombokkal. Az automatikus jóváhagyás bekapcsolható a munkamenet beállításaiban, hogy minden azonnal beérkezzen.',
helpSec8Title: 'Résztvevők és beállítások',
helpSec8Body: 'Nyisd meg a beállítások ikont a munkamenetsávban a keverési gyakoriságért, az automatikus jóváhagyásért és a „Keverés most" parancsért. Kattints a résztvevők számára, hogy lásd, ki csatlakozott — kirúgás (a linken keresztül újracsatlakozhat) vagy letiltás (a munkamenet idejére kizárva). A vendégek is látják a résztvevők listáját, de csak olvasható módon.',
helpSec9Title: 'A munkamenet befejezése',
helpSec9Body: 'Házigazda X → megerősítő párbeszéd → a munkamenet mindenki számára bezárul, és a szerver lejátszási listái automatikusan tisztulnak. Vendég X → a vendég kilép, a munkamenet tovább fut. Ha a házigazda 5 percig néma marad, a vendég értesítéssel automatikusan kilép; az ezen az időablakon belüli rövid újracsatlakozások láthatatlanok.',
participantsInviteLabel: 'Meghívó link',
participantsCountLabel: '{{count}} a munkamenetben',
participantsHost: 'házigazda',
participantsEmpty: 'Még nincsenek vendégek',
participantsKickTooltip: 'Eltávolítás a munkamenetből',
participantsKickAria: '{{user}} eltávolítása',
participantsRemoveTooltip: 'Eltávolítás a munkamenetből',
participantsRemoveAria: '{{user}} eltávolítása ebből a munkamenetből',
participantsBanTooltip: 'Végleges letiltás',
participantsBanAria: '{{user}} végleges letiltása',
participantsMuteTooltip: 'Javaslatok némítása',
participantsUnmuteTooltip: 'Javaslatok engedélyezése',
participantsMuteAria: '{{user}} javaslatainak némítása',
participantsUnmuteAria: '{{user}} javaslatainak engedélyezése',
confirmRemoveTitle: 'Eltávolítás a munkamenetből?',
confirmRemoveBody: '{{user}} kikerül a munkamenetből, de a meghívó linkeden keresztül újracsatlakozhat.',
confirmRemoveConfirm: 'Eltávolítás',
confirmBanTitle: 'Végleges letiltás?',
confirmBanBody: '{{user}} eltávolításra kerül, és nem csatlakozhat újra ehhez a munkamenethez. Ez a munkamenet ideje alatt nem vonható vissza.',
confirmBanConfirm: 'Letiltás',
confirmCancel: 'Mégse',
confirmJoinTitle: 'Csatlakozol az Orbit-munkamenethez?',
confirmJoinBody: '{{host}} meghívott ide: „{{name}}". Csatlakozol a munkamenethez?',
confirmJoinConfirm: 'Csatlakozás',
confirmLeaveTitle: 'Kilépsz a munkamenetből?',
confirmLeaveBody: 'Kilépsz innen: „{{name}}"? Bármikor újracsatlakozhatsz {{host}} meghívó linkjén keresztül.',
confirmLeaveConfirm: 'Kilépés',
confirmEndTitle: 'Befejezed a munkamenetet mindenkinek?',
confirmEndBody: 'A(z) „{{name}}" minden résztvevő számára bezárul. A munkamenet lejátszási listái automatikusan tisztulnak.',
confirmEndConfirm: 'Munkamenet befejezése',
invalidLinkTitle: 'A meghívó link már nem érvényes',
invalidLinkBody: 'Ez az Orbit-munkamenet már nem létezik, vagy már véget ért. Kérj a házigazdától egy új meghívó linket.',
settingsTitle: 'Munkamenet beállításai',
settingAutoApprove: 'Javaslatok automatikus jóváhagyása',
settingAutoApproveHint: 'A vendégek javaslatai azonnal a sorodba kerülnek. Kikapcsolva: a munkamenet-listában maradnak, hogy később átnézd őket.',
settingAutoShuffle: 'Automatikus újrakeverés',
settingAutoShuffleHint: 'A közelgő sor időszakos FisherYates keverése. Kikapcsolva: a sorrend csak akkor változik, ha te rendezed át.',
settingShuffleInterval: 'Újrakeverés ennyi időnként',
settingShuffleIntervalHint: 'Milyen gyakran keveredik újra a közelgő sor a munkamenet közben.',
suggestBlockedMuted: 'A házigazda lenémított erre a munkamenetre — a javaslatok ki vannak kapcsolva.',
settingShuffleIntervalValue_one: '{{count}} perc',
settingShuffleIntervalValue_other: '{{count}} perc',
settingShuffleNow: 'Keverés most',
toastSuggested: '{{user}} javasolta: „{{title}}"',
toastSuggestedMany: '{{count}} új javaslat a sorban',
toastShuffled: 'A sor megkeverve',
toastJoined: 'Csatlakoztál a munkamenethez',
toastLoginFirst: 'Jelentkezz be, mielőtt csatlakozol egy munkamenethez',
toastSwitchServer: 'Előbb válts erre: {{url}}, majd illeszd be újra',
toastNoAccountForServer: 'Nincs hozzáférésed ehhez: {{url}}. Kérj meghívót a házigazdától.',
toastSwitchFailed: 'Nem sikerült átváltani erre: {{url}}',
accountPickerTitle: 'Melyik fiók?',
accountPickerSub: 'Egynél több fiókod van ehhez: {{url}}. Válaszd ki, melyikkel csatlakozz a munkamenethez.',
toastJoinFail: 'Nem sikerült csatlakozni a munkamenethez',
joinErrNotFound: 'A munkamenet nem található',
joinErrEnded: 'A munkamenet véget ért',
joinErrFull: 'A munkamenet megtelt',
joinErrKicked: 'Nem csatlakozhatsz újra ehhez a munkamenethez',
joinErrNoUser: 'Nincs aktív szerver',
joinErrServerError: 'Nem sikerült csatlakozni',
ctxAddToSession: 'Hozzáadás Orbit-munkamenethez',
ctxSuggestedToast: 'Javasolva a munkamenetnek',
ctxSuggestFailed: 'Nem sikerült javasolni — nem csatlakoztál',
ctxAddToSessionHost: 'Hozzáadás Orbit-munkamenethez',
ctxAddedHostToast: 'Hozzáadva a munkamenethez',
ctxAddHostFailed: 'Nem sikerült hozzáadni a munkamenethez',
bulkConfirmTitle: 'Hozzáadod mindezt az Orbit-sorhoz?',
bulkConfirmBody: 'Ez {{count}} számot dobna a megosztott sorba egyszerre. Ez sok ahhoz, hogy a vendégeid észrevegyék. Folytatod?',
bulkConfirmYes: 'Mind hozzáadása',
bulkConfirmNo: 'Mégse',
guestLive: 'Élő',
guestPlaying: 'Most szól',
guestPaused: 'Szüneteltetve',
guestLoading: 'Betöltés…',
guestSuggestions: 'Javaslatok',
guestUpNext: 'Következik',
guestUpNextEmpty: 'Nincs semmi a sorban. Nyisd meg egy szám környezeti menüjét, és válaszd a „Hozzáadás Orbit-munkamenethez" lehetőséget egy javaslathoz.',
guestPendingTitle: 'Várakozás a házigazdára',
guestPendingHint: 'Javasolva — megjelenik a sorban, amikor a házigazda felveszi.',
approvalTitle: 'Függőben lévő jóváhagyások',
approvalFrom: 'Javasolta: {{user}}',
approvalAccept: 'Elfogadás',
approvalDecline: 'Elutasítás',
guestUpNextMore: '+ még {{count}} a házigazda sorában',
guestSubmitter: 'tőle: {{user}}',
queueAddedByHost: 'A házigazda adta hozzá',
queueAddedByYou: 'Te adtad hozzá',
queueAddedByUser: 'Hozzáadta: {{user}}',
guestEmpty: 'Még nincsenek javaslatok. Nyisd meg egy szám környezeti menüjét, és válaszd a „Hozzáadás Orbit-munkamenethez" lehetőséget.',
guestFooter: 'A házigazda vezérli a lejátszást — nem módosíthatod a listát.',
exitKickedTitle: 'Letiltottak a munkamenetből',
exitRemovedTitle: 'Eltávolítottak a munkamenetből',
exitEndedTitle: 'A házigazda befejezte a munkamenetet',
exitHostTimeoutTitle: 'A házigazda elnémult',
exitHostTimeoutBody: '{{host}} egy ideje nem küldött frissítést, ezért a(z) „{{name}}" bezárult a te oldaladon. Bármikor újracsatlakozhatsz a meghívó linkkel.',
exitKickedBody: '{{host}} letiltott innen: „{{name}}". Nem csatlakozhatsz újra.',
exitRemovedBody: '{{host}} eltávolított innen: „{{name}}". Bármikor újracsatlakozhatsz a meghívó linkkel.',
exitEndedBody: 'A(z) „{{name}}" véget ért. Reméljük, jól szórakoztál.',
exitOk: 'OK',
};
+69
View File
@@ -0,0 +1,69 @@
export const player = {
regionLabel: 'Zenelejátszó',
openFullscreen: 'Teljes képernyős lejátszó megnyitása',
fullscreen: 'Teljes képernyős lejátszó',
closeFullscreen: 'Teljes képernyő bezárása',
closeTooltip: 'Bezárás (Esc)',
noTitle: 'Nincs cím',
stop: 'Leállítás',
prev: 'Előző szám',
play: 'Lejátszás',
pause: 'Szünet',
autoDjMixing: 'AutoDJ — keverés',
autoDjPreparing: 'AutoDJ — következő szám előkészítése',
bufferingStream: 'Szám betöltése a szerverről',
previewActive: 'Előnézet lejátszása',
previewLabel: 'Előnézet',
delayModalTitle: 'Időzítő',
delayPauseSection: 'Szünet ennyi után',
delayStartSection: 'Indítás ennyi után',
delayPreviewPause: 'Szünet ekkor',
delayPreviewStart: 'Indul ekkor',
delaySchedulePause: 'Szünet ütemezése',
delayScheduleStart: 'Indítás ütemezése',
delayCancelPause: 'Szünetidőzítő megszakítása',
delayCancelStart: 'Indításidőzítő megszakítása',
delayInactivePause: 'Csak akkor érhető el, amikor szól valami.',
delayInactiveStart: 'Akkor érhető el, ha szüneteltetve van egy betöltött számmal vagy rádióval.',
delayCustomMinutes: 'Egyéni késleltetés (perc)',
delayCustomPlaceholder: 'pl. 2.5',
closeDelayModal: 'Bezárás',
delayIn: 'ennyi múlva:',
delayFmtSec: '{{n}} mp',
delayFmtMin: '{{n}} perc',
delayFmtHr: '{{n}} ó',
delayCancel: 'Mégse',
delayApply: 'Alkalmaz',
next: 'Következő szám',
repeat: 'Ismétlés',
repeatOff: 'Ki',
repeatAll: 'Mind',
repeatOne: 'Egy',
progress: 'A dal előrehaladása',
volume: 'Hangerő',
mute: 'Némítás',
unmute: 'Némítás feloldása',
toggleQueue: 'Sor be/ki',
collapseQueueResize: 'Sor összecsukása, átméretezés',
moreOptions: 'További beállítások',
equalizer: 'Hangszínszabályzó',
playbackRate: 'Lejátszási sebesség',
miniPlayer: 'Mini lejátszó',
lyrics: 'Dalszöveg',
fsNowPlaying: 'Most szól…',
fsTrackPosition: '{{current}} / {{total}}. szám',
fsNext: 'Következő',
fsUpNext: 'Következik',
fsQueueEmpty: 'Nincs semmi a sorban.',
shuffle: 'Keverés',
fsLyricsToggle: 'Dalszöveg teljes képernyőn',
lyricsLoading: 'Dalszöveg betöltése…',
lyricsNotFound: 'Nem található dalszöveg ehhez a számhoz',
lyricsNoSources: 'Nincs kiválasztott dalszövegforrás — kapcsolj be néhányat itt: Beállítások → Dalszöveg',
lyricsSourceServer: 'Forrás: szerver',
lyricsSourceLrclib: 'Forrás: LRCLIB',
lyricsSourceNetease: 'Forrás: Netease',
lyricsSourceLyricsplus: 'Forrás: YouLyPlus',
showDuration: 'Hossz megjelenítése',
showRemainingTime: 'Hátralévő idő megjelenítése',
};
+122
View File
@@ -0,0 +1,122 @@
export const playlists = {
title: 'Lejátszási listák',
newPlaylist: 'Új lejátszási lista',
unnamed: 'Névtelen lejátszási lista',
createName: 'Lejátszási lista neve…',
create: 'Létrehozás',
cancel: 'Mégse',
empty: 'Még nincsenek lejátszási listák.',
emptyPlaylist: 'Ez a lejátszási lista üres.',
addFirstSong: 'Add hozzá az első dalt',
notFound: 'A lejátszási lista nem található.',
songs_one: '{{count}} dal',
songs_other: '{{count}} dal',
playAll: 'Összes lejátszása',
playTooltip: 'Lejátszási lista lejátszása',
shuffle: 'Keverés',
addToQueue: 'Hozzáadás a sorhoz',
back: 'Vissza a lejátszási listákhoz',
deletePlaylist: 'Törlés',
confirmDelete: 'Kattints újra a megerősítéshez',
removeSong: 'Eltávolítás a lejátszási listából',
addSongs: 'Dalok hozzáadása',
addSongsTooltip: 'Keress a könyvtáradban számok hozzáadásához',
searchPlaceholder: 'Keress a könyvtáradban…',
noResults: 'Nincs találat.',
suggestions: 'Javasolt dalok',
noSuggestions: 'Nincsenek elérhető javaslatok.',
titleBadge: 'Lejátszási lista',
refreshSuggestions: 'Új javaslatok',
addSong: 'Hozzáadás a lejátszási listához',
preview: 'Előnézet (30 mp)',
previewStop: 'Előnézet leállítása',
playNextSuggestion: 'Lejátszás következőként',
suggestionsHint: 'Kattints duplán egy sorra a lejátszási listához adásához',
addSelected: 'Kijelöltek hozzáadása',
cacheOffline: 'Lejátszási lista gyorsítótárazása offline-ra',
offlineCached: 'Lejátszási lista gyorsítótárazva',
removeOffline: 'Eltávolítás az offline gyorsítótárból',
offlineDownloading: 'Gyorsítótárazás… ({{done}}/{{total}} album)',
publicLabel: 'Nyilvános',
privateLabel: 'Privát',
editMeta: 'Lejátszási lista szerkesztése',
editNamePlaceholder: 'Lejátszási lista neve…',
editCommentPlaceholder: 'Adj hozzá leírást…',
editPublic: 'Nyilvános lejátszási lista',
editSave: 'Mentés',
editCancel: 'Mégse',
changeCover: 'Borítókép módosítása',
changeCoverLabel: 'Fénykép módosítása',
removeCover: 'Fénykép eltávolítása',
coverUpdated: 'Borító frissítve',
metaSaved: 'Lejátszási lista frissítve',
downloadZip: 'Letöltés (ZIP)',
// Toast notifications for multi-select
addSuccess: '{{count}} dal hozzáadva ehhez: {{playlist}}',
addPartial: '{{added}} hozzáadva, {{skipped}} kihagyva (duplikátum)',
addAllSkipped: 'Mind kihagyva ({{count}} duplikátum)',
addedAsDuplicates: '{{count}} dal hozzáadva ehhez: {{playlist}} (duplikátumként)',
duplicateConfirmTitle: 'Már a lejátszási listában',
duplicateConfirmMessage: 'Mind a(z) {{count}} dal már a(z) „{{playlist}}" listában van. Hozzáadod őket újra duplikátumként?',
duplicateConfirmAction: 'Hozzáadás mégis',
addError: 'Hiba a dalok hozzáadásakor',
createAndAddSuccess: 'A(z) „{{playlist}}" lejátszási lista létrehozva {{count}} dallal',
createError: 'Hiba a lejátszási lista létrehozásakor',
deleteSuccess: '{{count}} lejátszási lista törölve',
deleteFailed: 'Hiba a(z) {{name}} törlésekor',
deleteSelected: 'Kijelöltek törlése',
deleteSelectedPartial: 'A(z) {{total}} kijelölt lejátszási listából csak {{n}} törölhető (a többi máshoz tartozik).',
mergeSuccess: '{{count}} dal egyesítve ebbe: {{playlist}}',
mergeNoNewSongs: 'Nincs új hozzáadandó dal',
mergeError: 'Hiba a lejátszási listák egyesítésekor',
mergeInto: 'Egyesítés ebbe',
selectionCount: '{{count}} kijelölve',
select: 'Kijelölés',
startSelect: 'Kijelölés bekapcsolása',
cancelSelect: 'Mégse',
loadingAlbums: '{{count}} album feloldása…',
loadingArtists: '{{count}} előadó feloldása…',
myPlaylists: 'Saját lejátszási listáim',
noOtherPlaylists: 'Nincs más elérhető lejátszási lista',
addToPlaylistSuccess: '{{count}} dal hozzáadva ehhez: {{playlist}}',
addToPlaylistNoNew: 'Nincs új hozzáadandó dal ehhez: {{playlist}}',
addToPlaylistError: 'Hiba a lejátszási listához adáskor',
removeSuccess: 'Dal eltávolítva a lejátszási listából',
removeError: 'Hiba a dal eltávolításakor a lejátszási listából',
importCSV: 'CSV importálása',
importCSVTooltip: 'Importálás Spotify CSV-ből',
csvImportReport: 'CSV-importálási jelentés',
csvImportTotal: 'Összesen',
csvImportAdded: 'Hozzáadva',
csvImportDuplicates: 'Duplikátumok',
csvImportNotFound: 'Nem található',
csvImportNetworkErrors: 'Hálózati hibák',
csvImportDuplicatesTitle: 'Duplikált számok (már a lejátszási listában):',
csvImportNotFoundTitle: 'Nem található számok:',
csvImportNetworkErrorsTitle: 'Hálózati hibák (az importálás újrapróbálható):',
csvImportDownloadReport: 'Jelentés letöltése',
csvImportClose: 'Bezárás',
csvImportNoValidTracks: 'Nem található érvényes szám a CSV-fájlban',
csvImportFailed: 'A CSV-fájl importálása nem sikerült',
csvImportToast: '{{added}} hozzáadva, {{notFound}} nem található, {{duplicates}} duplikátum',
csvImportDownloadSuccess: 'A jelentés sikeresen letöltve',
csvImportDownloadError: 'A jelentés letöltése nem sikerült',
// Playlist folders (local, per-server organisation layer)
folders: {
newFolder: 'Új mappa',
namePlaceholder: 'Mappa neve…',
create: 'Létrehozás',
rename: 'Átnevezés',
delete: 'Mappa törlése',
ungrouped: 'Csoportosítatlan',
moveToFolder: 'Áthelyezés mappába',
removeFromFolder: 'Eltávolítás a mappából',
expandFolder: 'Mappa kibontása',
collapseFolder: 'Mappa összecsukása',
groupByFolders: 'Csoportosítás mappák szerint',
count_one: '{{count}} lejátszási lista',
count_other: '{{count}} lejátszási lista',
localOnlyNotice:
'A mappák csak ezen az eszközön, a Psysonicban vannak elmentve. A Navidrome és a Subsonic API nem támogatja natívan a lejátszásilista-mappákat, így a struktúra nem tárolódik a szervereden, és nem szinkronizálódik a többi eszközödre és alkalmazásodba.',
},
};
+64
View File
@@ -0,0 +1,64 @@
export const queue = {
title: 'Lejátszási sor',
modePlaylist: 'Lejátszási lista',
modeTimeline: 'Idővonal',
upNext: 'Következik',
history: 'Előzmények',
noUpcoming: 'Nincs közelgő szám.',
savePlaylist: 'Lejátszási lista mentése',
updatePlaylist: 'Lejátszási lista frissítése',
filterPlaylists: 'Lejátszási listák szűrése…',
playlistName: 'Lejátszási lista neve',
cancel: 'Mégse',
save: 'Mentés',
loadPlaylist: 'Lejátszási lista betöltése',
loading: 'Betöltés…',
noPlaylists: 'Nem található lejátszási lista.',
load: 'Sor cseréje és lejátszás',
appendToQueue: 'Hozzáfűzés a sorhoz',
delete: 'Törlés',
deleteConfirm: 'Törlöd a(z) „{{name}}" lejátszási listát?',
clear: 'Sor törlése',
shuffle: 'Sor keverése',
gapless: 'Szünetmentes',
crossfade: 'Áttűnés',
autoDj: 'AutoDJ',
infiniteQueue: 'Végtelen sor',
playlist: 'Lejátszási lista',
autoAdded: '— Automatikusan hozzáadva —',
radioAdded: '— Rádió —',
hide: 'Elrejtés',
hideNowPlaying: 'Most szól infó elrejtése',
showNowPlaying: 'Most szól infó megjelenítése',
close: 'Bezárás',
nextTracks: 'Következő számok',
shareQueue: 'Sor megosztási linkjének másolása',
shareQueueEmpty: 'A sor üres — nincs mit megosztani.',
emptyQueue: 'A sor üres.',
crossServerEnqueueBlocked: 'Másik szerverről származó számok nem adhatók a jelenlegi sorhoz. Előbb fejezd be vagy töröld a sort.',
trackSingular: 'szám',
trackPlural: 'szám',
showRemaining: 'Hátralévő idő megjelenítése',
showTotal: 'Teljes idő megjelenítése',
showEta: 'Becsült befejezési idő megjelenítése',
replayGain: 'ReplayGain',
rgTrack: 'Sz {{db}} dB',
rgAlbum: 'A {{db}} dB',
rgPeak: 'Csúcs {{pk}}',
sourceOffline: 'Lejátszás az offline könyvtárból',
sourceHot: 'Lejátszás a gyorsítótárból',
sourceStream: 'Lejátszás hálózati streamből',
clearCachedLoudnessWaveform: 'Gyorsítótárazott hangerő és hullámforma törlése, majd a szám újraelemzése',
recalculatingLoudnessWaveform: 'A szám hangerejének és hullámformájának újraszámítása…',
bpm: '{{bpm}} BPM',
moods: {
happy: 'Vidám',
excited: 'Izgatott',
calm: 'Nyugodt',
peaceful: 'Békés',
angry: 'Dühös',
tense: 'Feszült',
sad: 'Szomorú',
melancholic: 'Melankolikus',
},
};
+37
View File
@@ -0,0 +1,37 @@
export const radio = {
title: 'Internetes rádió',
empty: 'Nincs beállított rádióállomás.',
addStation: 'Állomás hozzáadása',
editStation: 'Szerkesztés',
playStation: 'Állomás lejátszása',
stopStation: 'Állomás leállítása',
deleteStation: 'Állomás törlése',
confirmDelete: 'Kattints újra a megerősítéshez',
stationName: 'Állomás neve…',
streamUrl: 'Stream URL…',
homepageUrl: 'Honlap URL (opcionális)',
save: 'Mentés',
cancel: 'Mégse',
live: 'ÉLŐ',
liveStream: 'Internetes rádió',
openHomepage: 'Honlap megnyitása',
changeCoverLabel: 'Borító módosítása',
removeCover: 'Borító eltávolítása',
browseDirectory: 'Címtár keresése',
directoryPlaceholder: 'Állomások keresése…',
noResults: 'Nem található állomás.',
stationAdded: 'Állomás hozzáadva',
filterAll: 'Mind',
filterFavorites: 'Kedvencek',
sortManual: 'Kézi',
sortAZ: 'A → Z',
sortZA: 'Z → A',
sortNewest: 'Legújabb',
favorite: 'Hozzáadás a kedvencekhez',
unfavorite: 'Eltávolítás a kedvencekből',
noFavorites: 'Nincsenek kedvenc állomások.',
listenerCount_one: '{{count}} hallgató',
listenerCount_other: '{{count}} hallgató',
recentlyPlayed: 'Nemrég játszott',
upNext: 'Következik',
};
+4
View File
@@ -0,0 +1,4 @@
export const randomAlbums = {
title: 'Véletlen albumok',
refresh: 'Frissítés',
};
+9
View File
@@ -0,0 +1,9 @@
export const randomLanding = {
title: 'Mix összeállítása',
mixByTracks: 'Mix számokból',
mixByTracksDesc: 'Véletlenszerű számválogatás a teljes könyvtáradból',
mixByAlbums: 'Mix albumokból',
mixByAlbumsDesc: 'Véletlen albumválogatás a következő felfedezéshez',
mixByLucky: 'Lucky Mix',
mixByLuckyDesc: 'Okos azonnali mix a kedvenc előadóidból, albumaidból és értékeléseidből',
};
+40
View File
@@ -0,0 +1,40 @@
export const randomMix = {
title: 'Véletlen mix',
remix: 'Újrakeverés',
remixTooltip: 'Új véletlen dalok betöltése',
remixGenre: '{{genre}} újrakeverése',
remixTooltipGenre: 'Új {{genre}} dalok betöltése',
playAll: 'Összes lejátszása',
trackTitle: 'Cím',
trackArtist: 'Előadó',
trackAlbum: 'Album',
trackFavorite: 'Kedvenc',
trackDuration: 'Hossz',
favoriteAdd: 'Hozzáadás a kedvencekhez',
favoriteRemove: 'Eltávolítás a kedvencekből',
play: 'Lejátszás',
trackGenre: 'Műfaj',
mixSettingsHeader: 'Mix beállításai',
exclusionsHeader: 'Kizárások',
filterPanelInexactSizeNote: 'A mix mérete csak célérték — nagy kérések kevesebb egyedi számot adhatnak vissza, ha a szerver véletlen-készlete kifogy.',
mixSize: 'Lejátszási lista mérete',
excludeAudiobooks: 'Hangoskönyvek és rádiójátékok kizárása',
excludeAudiobooksDesc: 'Kulcsszavakat keres a műfajban, címben, albumban és előadóban — pl. Hörbuch, Audiobook, Spoken Word, …',
genreBlocked: 'Kulcsszó letiltva',
genreAddedToBlacklist: 'Hozzáadva a szűrőlistához',
genreAlreadyBlocked: 'Már letiltva',
artistBlocked: 'Előadó letiltva',
artistAddedToBlacklist: 'Előadó hozzáadva a szűrőlistához',
artistClickHint: 'Kattints az előadó letiltásához',
blacklistToggle: 'Kulcsszószűrő',
genreMixTitle: 'Műfaj-mix',
genreMixDesc: 'A 20 legnagyobb műfaj dalszám szerint — kattints egy véletlen mix betöltéséhez',
genreMixAll: 'Összes dal',
genreMixLoadMore: 'Még 10 betöltése',
genreMixNoGenres: 'Nem található műfaj a szerveren.',
noSongsMatchFilters: 'Egyetlen dal sem felel meg a jelenlegi szűrőknek. Próbálj kulcsszótiltásokat eltávolítani vagy a mix beállításait módosítani.',
shuffleGenres: 'Más műfajok mutatása',
filterPanelTitle: 'Szűrők',
filterPanelDesc: 'Kattints egy műfajcímkére vagy előadónévre az alábbi számlistában, hogy kizárd a jövőbeli mixekből.',
genreClickHint: 'Kattints egy műfajcímkére, hogy\nszűrő-kulcsszóként hozzáadd.\nMűfajt, címet, albumot és előadót keres.',
};
+87
View File
@@ -0,0 +1,87 @@
export const search = {
placeholder: 'Keress előadót, albumot vagy dalt…',
noResults: 'Nincs találat erre: „{{query}}"',
artists: 'Előadók',
albums: 'Albumok',
songs: 'Dalok',
clearLabel: 'Keresés törlése',
addedToQueueToast: '„{{title}}" hozzáadva a sorhoz',
title: 'Keresés',
resultsFor: 'Találatok erre: „{{query}}"',
album: 'Album',
advanced: 'Speciális keresés',
localIndexBadge: 'Helyi index',
localIndexBadgeTooltip: 'Találatok az eszköz helyi könyvtárindexéből',
networkSearchBadge: 'Szerverkeresés',
networkSearchBadgeTooltip: 'Találatok a csatlakoztatott szerver élő kereséséből',
liveSearchFailed: 'A keresés nem sikerült — próbáld újra',
advancedSearchTerm: 'Keresési kifejezés',
advancedSearchPlaceholder: 'Cím, album, előadó…',
advancedGenre: 'Műfaj',
advancedAllGenres: 'Összes műfaj',
advancedYear: 'Év',
advancedYearFrom: 'ettől',
advancedYearTo: 'eddig',
advancedBpm: 'BPM',
advancedBpmClear: 'BPM-szűrő törlése',
advancedLossless: 'Formátum',
advancedLosslessOnly: 'Csak veszteségmentes',
bpmSourceTag: 'BPM a fájl címkéjéből',
bpmSourceAnalysis: 'BPM a hangelemzésből',
advancedMoodGroup: 'Hangulat',
advancedAllMoods: 'Összes hangulat',
advancedMoodLocalNote: 'Helyi könyvtárindexet és számelemzést igényel',
scopeRowLabel: 'Keresés itt:',
scopeAllTooltip: 'Keresés mindenben',
scopeArtistsChipTooltip: 'Találatok szűkítése előadókra',
scopeAlbumsChipTooltip: 'Találatok szűkítése albumokra',
scopeSongsChipTooltip: 'Találatok szűkítése dalokra',
advancedAll: 'Mind',
advancedSearch: 'Keresés',
advancedEmpty: 'Adj meg egy keresési kifejezést, vagy válassz szűrőt a kezdéshez.',
advancedNoResults: 'Nincs találat.',
advancedGenreNote: 'A dalok véletlenszerűen kerülnek kiválasztásra ebből a műfajból.',
recentSearches: 'Legutóbbi keresések',
browse: 'Böngészés',
emptyHint: 'Mit szeretnél hallgatni?',
scopeArtistsPlaceholder: 'Előadó keresése…',
scopeArtistsBadgeTooltip: 'Kattints az eltávolításhoz',
scopeArtistsGhostTooltip: 'Kattints, hogy csak ezen az oldalon keress',
scopeAlbumsPlaceholder: 'Album keresése…',
scopeAlbumsBadgeTooltip: 'Kattints az eltávolításhoz',
scopeAlbumsGhostTooltip: 'Kattints, hogy csak ezen az oldalon keress',
scopeNewReleasesPlaceholder: 'Új megjelenések keresése…',
scopeNewReleasesBadgeTooltip: 'Kattints az eltávolításhoz',
scopeNewReleasesGhostTooltip: 'Kattints, hogy csak ezen az oldalon keress',
scopeTracksPlaceholder: 'Szám keresése cím, előadó vagy album szerint…',
scopeTracksBadgeTooltip: 'Kattints az eltávolításhoz',
scopeTracksGhostTooltip: 'Kattints, hogy csak ezen az oldalon keress',
scopeComposersPlaceholder: 'Zeneszerző keresése…',
scopeComposersBadgeTooltip: 'Kattints az eltávolításhoz',
scopeComposersGhostTooltip: 'Kattints, hogy csak ezen az oldalon keress',
genres: 'Műfajok',
shareLink: 'Megosztási link',
shareTrackTitle: 'Megosztott szám',
shareQueueTitle_one: 'Megosztott sor ({{count}} szám)',
shareQueueTitle_other: 'Megosztott sor ({{count}} szám)',
shareQueueAction: 'Hozzáadás a sorhoz',
shareQueueing: 'Hozzáadás a sorhoz…',
shareQueued_one: '{{count}} megosztott szám hozzáadva a sorhoz',
shareQueued_other: '{{count}} megosztott szám hozzáadva a sorhoz',
shareQueuedPartial: '{{queued}}/{{total}} megosztott szám hozzáadva a sorhoz ({{skipped}} nem található).',
shareUnsupportedTitle: 'Ez a megosztási link itt nem használható',
shareUnsupportedSub: 'Használj szám-, album-, előadó-, zeneszerző- vagy sor-megosztási linket.',
shareFromServer: 'Innen: {{server}}',
shareQueuePreview: 'Számok előnézete',
shareQueuePreviewLoading: 'Számok betöltése…',
shareQueuePreviewEmpty: 'A link egyetlen száma sem található a szerveren.',
shareQueuePreviewSkipped: '{{total}} számból {{skipped}} nem található ezen a szerveren.',
moodGroups: {
joy: 'Öröm',
sadness: 'Szomorúság',
dance: 'Tánc',
work: 'Munka',
romance: 'Romantika',
anger: 'Harag',
},
};
+718
View File
@@ -0,0 +1,718 @@
export const settings = {
title: 'Beállítások',
language: 'Nyelv',
languageEn: 'English',
languageDe: 'Deutsch',
languageEs: 'Español',
languageFr: 'Français',
languageNl: 'Nederlands',
languageNb: 'Norsk',
languageRu: 'Русский',
languageZh: '中文',
languageRo: 'Română',
languageJa: '日本語',
languageHu: 'Magyar',
font: 'Betűtípus',
fontHintOpenDyslexic: 'Diszlexiabarát · nincs kínai támogatás',
theme: 'Téma',
appearance: 'Megjelenés',
servers: 'Szerverek',
serverName: 'Szerver neve',
serverUrl: 'Szerver URL',
serverUrlPlaceholder: '192.168.1.100:4533 vagy https://music.example.com',
serverAlternateUrl: 'Második cím (opcionális)',
serverAlternateUrlPlaceholderPublic: 'https://music.example.com',
serverAlternateUrlPlaceholderLocal: '192.168.1.100:4533',
serverAlternateUrlHintAddPublic: 'Hozzáadhatsz egy nyilvános címet az otthoni hálózaton kívüli eléréshez.',
serverAlternateUrlHintAddLocal: 'Hozzáadhatsz egy helyi címet a gyorsabb otthoni kapcsolathoz.',
serverBothLanError: 'Mindkét cím helyi — tarts meg egyet, vagy adj hozzá egy nyilvános címet.',
dualAddressVerifying: 'Ellenőrzés, hogy mindkét cím ugyanarra a szerverre mutat-e…',
dualAddressMismatch: 'A két cím különböző szerverekre mutat. Ellenőrizd a helyesírást, és próbáld újra.',
dualAddressInsufficient: 'Nem sikerült megerősíteni, hogy mindkét cím ugyanaz a szerver. A folytatáshoz távolíts el egy címet.',
dualAddressUnreachable: '{{host}} nem érhető el. Ellenőrizd a címet és a hálózatodat, majd próbáld újra.',
urlRemigrationTitle: 'Áthelyezed a könyvtáradatokat?',
urlRemigrationMessage: 'A cím módosítása az összes könyvtár-, elemzési és borító-gyorsítótár adatot áthelyezi innen: {{oldKey}} ide: {{newKey}}. Ez nem vonható vissza.',
urlRemigrationConfirm: 'Adatok áthelyezése',
urlRemigrationProgress: 'Könyvtáradatok áthelyezése…',
urlRemigrationFailureInspect: 'Nem sikerült ellenőrizni, mi kerülne áthelyezésre. Próbáld újra, vagy nyisd meg a hibakeresési naplót.',
urlRemigrationFailureRun: 'A könyvtáradatok áthelyezése nem sikerült. A mentett adataid változatlanok — próbáld újra.',
urlRemigrationFailureCoverRename: 'A könyvtáradatok áthelyeződtek, de a borítófájlokat nem sikerült átnevezni. A borítók a következő hozzáféréskor újraépülnek.',
shareUsesLocalUrl: 'Helyi cím használata a megosztási hivatkozásokban',
shareUsesLocalUrlDesc: 'Érinti az Orbit-meghívókat és a könyvtármegosztásokat. Alapértelmezett: nyilvános cím.',
serverUsername: 'Felhasználónév',
serverPassword: 'Jelszó',
addServer: 'Szerver hozzáadása',
addServerTitle: 'Új szerver hozzáadása',
editServer: 'Szerkesztés',
editServerTitle: 'Szerver szerkesztése',
useServer: 'Használat',
deleteServer: 'Törlés',
noServers: 'Nincs mentett szerver.',
serverActive: 'Aktív',
serverVersionUnknown: 'Ismeretlen szerververzió',
confirmDeleteServer: 'Törlöd a(z) „{{name}}" szervert?',
confirmDeleteServerLibrary: 'Törlöd a szerver helyi könyvtárindexét is? Kattints a Mégse gombra a gyorsítótárazott másolat offline használatra való megtartásához.',
serverConnecting: 'Csatlakozás…',
serverConnected: 'Csatlakozva!',
serverFailed: 'A kapcsolat sikertelen.',
testBtn: 'Kapcsolat tesztelése',
testingBtn: 'Tesztelés…',
serverCompatible: 'Navidrome-hoz készült. Más Subsonic-kompatibilis szerverek (Gonic, Airsonic, …) korlátozott funkcionalitással működhetnek, mivel a Psysonic számos Navidrome-specifikus API-végpontot használ.',
userMgmtTitle: 'Felhasználókezelés',
userMgmtDesc: 'Felhasználók kezelése ezen a szerveren. Adminisztrátori jogosultságot igényel.',
userMgmtNoAdmin: 'Adminisztrátori jogosultság szükséges a felhasználók kezeléséhez ezen a szerveren.',
userMgmtLoadError: 'Nem sikerült betölteni a felhasználókat.',
userMgmtLoadFriendly: 'A szerver nem válaszolt — ez általában egyszeri eset.',
userMgmtRetry: 'Újra',
userMgmtEmpty: 'Nem található felhasználó.',
userMgmtYouBadge: 'Te',
userMgmtAdminBadge: 'Admin',
userMgmtAddUser: 'Felhasználó hozzáadása',
userMgmtAddUserTitle: 'Új felhasználó hozzáadása',
userMgmtEditUserTitle: 'Felhasználó szerkesztése',
userMgmtUsername: 'Felhasználónév',
userMgmtName: 'Megjelenítendő név',
userMgmtEmail: 'E-mail',
userMgmtPassword: 'Jelszó',
userMgmtPasswordEditHint: 'A frissítéshez adj meg egy új jelszót.',
userMgmtRoleAdmin: 'Admin',
userMgmtLibraries: 'Könyvtárak',
userMgmtLibrariesAdminHint: 'Az adminisztrátori felhasználók automatikusan hozzáférnek minden könyvtárhoz.',
userMgmtLibrariesEmpty: 'Nincs elérhető könyvtár ezen a szerveren.',
userMgmtLibrariesValidation: 'Válassz ki legalább egy könyvtárat.',
userMgmtLibrariesUpdateError: 'A felhasználó elmentve, de a könyvtár-hozzárendelés sikertelen',
userMgmtNoLibraries: 'Nincs hozzárendelt könyvtár',
userMgmtNeverSeen: 'Soha',
userMgmtSave: 'Mentés',
userMgmtCancel: 'Mégse',
userMgmtDelete: 'Törlés',
userMgmtEdit: 'Szerkesztés',
userMgmtConfirmDelete: 'Törlöd a(z) „{{username}}" felhasználót? Ez nem vonható vissza.',
userMgmtCreateError: 'Nem sikerült létrehozni a felhasználót.',
userMgmtUpdateError: 'Nem sikerült frissíteni a felhasználót.',
userMgmtDeleteError: 'Nem sikerült törölni a felhasználót.',
userMgmtCreated: 'Felhasználó létrehozva.',
userMgmtUpdated: 'Felhasználó frissítve.',
userMgmtDeleted: 'Felhasználó törölve.',
userMgmtValidationMissing: 'A felhasználónév, a megjelenítendő név és a jelszó kötelező.',
userMgmtValidationMissingIdentity: 'A felhasználónév és a megjelenítendő név kötelező.',
userMgmtMagicStringGenerate: 'Varázsszöveg generálása',
userMgmtSaveAndMagicString: 'Mentés és varázsszöveg lekérése',
userMgmtMagicStringPasswordNavHint:
'A Navidrome elmenti ezt a jelszót a felhasználóhoz. Ha eltér a jelenlegitől, a szerver frissíti a bejelentkezési jelszót.',
userMgmtMagicStringPlaintextWarning:
'Óvatosan oszd meg a varázsszöveget: titkosítatlan jelszót tartalmaz (a kódolás nem titkosítás). Bárki, aki birtokolja a teljes szöveget, be tud jelentkezni ezzel a felhasználóval.',
userMgmtMagicStringCopied: 'Varázsszöveg a vágólapra másolva.',
userMgmtMagicStringCopyFailed: 'Nem sikerült a vágólapra másolni.',
userMgmtMagicStringLoginFailed: 'A jelszó ellenőrzése sikertelen — a hitelesítő adatokat nem sikerült igazolni.',
userMgmtMagicStringModalTitle: 'Varázsszöveg generálása',
userMgmtMagicStringModalDesc: 'Add meg a(z) „{{username}}" Subsonic jelszavát. Ez szerepel a másolt varázsszövegben.',
userMgmtMagicStringModalConfirm: 'Szöveg másolása',
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
audiomuseBadge: 'AudioMuse-AI',
audiomuseDesc:
'Kapcsold be, ha ezen a szerveren be van állítva az <pluginLink>AudioMuse-AI Navidrome bővítmény</pluginLink>. Engedélyezi a számokból induló azonnali mixet, és a Last.fm helyett szerveroldali hasonló előadókat használ az előadói oldalakon.',
audiomuseStatusActive: 'Aktív',
audiomuseStatusChecking: 'Ellenőrzés…',
audiomuseStatusNotDetected: 'Nem észlelhető',
audiomuseStatusProbeFailed: 'A vizsgálat sikertelen',
audiomuseIssueHint:
'Az azonnali mix nemrég sikertelen volt — ellenőrizd a Navidrome bővítményt és az AudioMuse API-t. A hasonló előadók a Last.fm-re esnek vissza, ha a szerver nem ad eredményt.',
connected: 'Csatlakozva',
failed: 'Sikertelen',
eqTitle: 'Hangszínszabályzó',
eqEnabled: 'Hangszínszabályzó engedélyezése',
eqPreset: 'Előbeállítás',
eqPresetCustom: 'Egyéni',
eqPresetBuiltin: 'Beépített előbeállítások',
eqPresetCustomGroup: 'Saját előbeállítások',
eqPresetAutoEqGroup: 'AutoEQ',
eqSavePreset: 'Mentés előbeállításként',
eqPresetName: 'Előbeállítás neve…',
eqDeletePreset: 'Előbeállítás törlése',
eqResetBands: 'Visszaállítás lapra',
eqPreGain: 'Előerősítés',
eqResetPreGain: 'Előerősítés visszaállítása',
eqAutoEqTitle: 'AutoEQ fejhallgató-kereső',
eqAutoEqPlaceholder: 'Fejhallgató / IEM modell keresése…',
eqAutoEqSearching: 'Keresés…',
eqAutoEqNoResults: 'Nincs találat',
eqAutoEqError: 'A keresés sikertelen',
eqAutoEqRateLimit: 'A GitHub kéréskorlátja elérve — próbáld újra egy perc múlva',
eqAutoEqFetchError: 'Nem sikerült letölteni az EQ-profilt',
behavior: 'Alkalmazás viselkedése',
groupTray: 'Tálca',
groupLinuxRendering: 'Linux megjelenítés',
groupClock: 'Óra',
groupDisplay: 'Kijelző',
groupWindow: 'Ablak',
cacheTitle: 'Max. tárolóméret',
cacheDesc: 'Böngészőn belüli gyorsítótár a borítóknak és előadói képeknek (IndexedDB). A legrégebbi bejegyzések automatikusan törlődnek, ha kevés a hely.',
cacheUsedImages: 'Képek:',
cacheUsedOffline: 'Offline számok:',
cacheUsedHot: 'Méret a lemezen:',
hotCacheTrackCount: 'Számok a gyorsítótárban:',
cacheMaxLabel: 'Max. méret',
imageCacheScopeLabel: 'Hatókör',
imageCacheSubTitle: 'Böngészőn belüli előnézetek',
coverDiskCacheSubTitle: 'Lemezes borító-gyorsítótár',
coverCacheStrategyTitle: 'Borító-gyorsítótár',
coverCacheStrategyDesc: 'Minden szerverhez választhatsz stratégiát: Lusta — a borítók szükség szerint töltődnek be; Agresszív — szükség szerint, plusz extra háttér-előtöltés.',
coverCacheStrategyLabel: 'Stratégia',
coverCacheStrategyServerLabel: 'Szerver',
coverCacheStrategyProgressLabel: 'Gyorsítótár',
coverCacheStrategyActionsLabel: 'Műveletek',
coverCacheStrategyLazy: 'Lusta',
coverCacheStrategyLazyDesc: 'A borítókat csak akkor tölti be, amikor szükség van rájuk.',
coverCacheStrategyAggressive: 'Agresszív',
coverCacheStrategyAggressiveDesc: 'Lusta viselkedés, plusz extra háttér-előtöltés.',
coverCacheStrategyDiskUsage: 'Lemezen: {{size}}',
coverCacheStrategyProgressValue: '{{percent}}% ({{done}}/{{total}}) · {{size}}',
coverCacheStrategyClearAction: 'Borító-gyorsítótár ürítése',
coverCacheStrategyClearTitle: 'Ürítöd a borító-gyorsítótárat?',
coverCacheStrategyClearDesc: 'Az összes gyorsítótárazott borító eltávolítása ehhez: {{server}}. Szükség esetén újra letöltődnek.',
coverCacheStrategyClearConfirm: 'Ürítés',
coverCacheStrategyClearCancel: 'Mégse',
coverCacheStrategyClearSuccess: 'A borító-gyorsítótár ürítve ehhez a szerverhez.',
coverCacheStrategyClearError: 'Nem sikerült üríteni a borító-gyorsítótárat.',
coverCacheStrategyServerRemoved: 'eltávolított szerver',
cacheClearBtn: 'Gyorsítótár ürítése',
cacheClearWarning: 'Törli az összes gyorsítótárazott borítót és előadói képet a böngészőn belüli tárolóból. Szükség esetén újra letöltődnek.',
cacheClearConfirm: 'Képgyorsítótár ürítése',
cacheClearCancel: 'Mégse',
waveformCacheCleared: 'Hullámforma-gyorsítótár ürítve ({{count}} sor).',
waveformCacheClearFailed: 'Nem sikerült üríteni a hullámforma-gyorsítótárat.',
storageTabTitle: 'Offline és gyorsítótár',
mediaDirTitle: 'Médiamappa',
mediaDirDesc: 'A helyi lejátszás gyökérmappája. Az offline könyvtár a library/ mappát, a sor-előtöltés a cache/ mappát használja.',
mediaDirDefault: 'Alapértelmezett (App Data)',
mediaDirChange: 'Mappa módosítása',
mediaDirClear: 'Visszaállítás alapértelmezettre',
mediaDirHint: 'Az új letöltések ezt a helyet használják. A meglévő fájlok az eredeti útvonalukon maradnak, amíg el nem távolítod őket.',
offlineStorageTitle: 'Offline könyvtár tárolása',
offlineDirTitle: 'Offline könyvtár (alkalmazáson belül)',
offlineDirDesc: 'A Psysonicon belül offline elérhetővé tett számok tárolási helye.',
offlineDirDefault: 'Alapértelmezett (App Data)',
offlineDirChange: 'Könyvtár módosítása',
offlineDirClear: 'Visszaállítás alapértelmezettre',
offlineDirHint: 'Az új letöltések ezt a helyet használják. A meglévő letöltések az eredeti útvonalukon maradnak.',
hotCacheTitle: 'Aktív lejátszási gyorsítótár',
hotCacheDisclaimer: 'Előtölti a sor következő számait, és megtartja a korábbiakat. Bekapcsolva lemezterületet és hálózatot használ.',
hotCacheDirDefault: 'Alapértelmezett (App Data)',
hotCacheDirChange: 'Mappa módosítása',
hotCacheDirClear: 'Visszaállítás alapértelmezettre',
hotCacheDirHint: 'A mappa módosítása visszaállítja az alkalmazáson belüli indexet; a lemezen már meglévő fájlok a helyükön maradnak, amíg el nem távolítod őket.',
hotCacheEnabled: 'Aktív lejátszási gyorsítótár engedélyezése',
hotCacheMaxMb: 'Maximális gyorsítótár-méret',
hotCacheDebounce: 'Sorváltás-késleltetés',
hotCacheDebounceImmediate: 'Azonnali',
hotCacheDebounceSeconds: '{{n}} mp',
hotCacheClearBtn: 'Aktív gyorsítótár ürítése',
audioOutputDevice: 'Hangkimeneti eszköz',
audioOutputDeviceDesc: 'Válaszd ki, melyik hangeszközön szóljon a Psysonic. A változtatások azonnal érvénybe lépnek, és újraindítják az aktuális számot.',
audioOutputDeviceDefault: 'Rendszer alapértelmezése',
audioOutputDeviceRefresh: 'Eszközlista frissítése',
audioOutputDeviceOsDefaultNow: 'aktuális rendszerkimenet',
audioOutputDeviceListError: 'Nem sikerült betölteni a hangeszközök listáját.',
audioOutputDeviceNotInCurrentList: 'nincs a jelenlegi listában',
audioOutputDeviceRememberEq: 'EQ megjegyzése eszközönként',
audioOutputDeviceRememberEqDesc: 'Elmenti a hangszínszabályzó beállításait minden hangkimeneti eszközhöz, és automatikusan visszaállítja őket eszközváltáskor. A profilok csak akkor váltanak, ha itt választasz eszközt, és a rendszer alapértelmezése egyetlen közös profilt használ.',
hiResTitle: 'Natív Hi-Res lejátszás',
hiResEnabled: 'Natív Hi-Res lejátszás engedélyezése',
hiResDesc: 'Minden számot az eredeti mintavételezési frekvenciáján játszik le, ahelyett, hogy mindent 44,1 kHz-re mintavételezne újra, és a hangeszközt a fájlhoz igazítja (88,2 kHz-től felfelé). Csak akkor engedélyezd, ha a hardvered és a hálózatod megbízhatóan kezeli a magas mintavételezési frekvenciákat.',
showArtistImages: 'Előadói képek megjelenítése',
showArtistImagesDesc: 'Az előadói képek betöltése és megjelenítése az Előadók áttekintőben. Alapértelmezetten letiltva a szerver lemez-I/O és hálózati terhelésének csökkentése érdekében nagy könyvtáraknál.',
showOrbitTrigger: 'Az „Orbit" megjelenítése a fejlécben',
showOrbitTriggerDesc: 'A felső sávon lévő gomb megosztott zenehallgatási munkamenet indításához vagy csatlakozáshoz. Rejtsd el, ha nem használod az Orbitot — itt bármikor visszakapcsolhatod.',
showTrayIcon: 'Tálcaikon megjelenítése',
showTrayIconDesc: 'A Psysonic ikon megjelenítése a rendszer értesítési területén / menüsorban.',
minimizeToTray: 'Kis méretre a tálcára',
minimizeToTrayDesc: 'Az ablak bezárásakor a Psysonic kilépés helyett a rendszer tálcáján fut tovább.',
clockFormat: 'Óraformátum',
clockFormatDesc: 'A sor várható befejezési idejéhez és az alvásidőzítő előnézetéhez használt óramegjelenítés.',
clockFormatAuto: 'Automatikus (rendszer beállítása)',
clockFormatTwentyFour: '24 órás',
clockFormatTwelve: '12 órás (de./du.)',
preloadMiniPlayer: 'Mini lejátszó előtöltése',
preloadMiniPlayerDesc: 'A mini lejátszó ablakának felépítése a háttérben az alkalmazás indításakor, hogy első megnyitáskor azonnal tartalmat mutasson. Kicsivel több memóriát használ.',
discordRichPresence: 'Discord Rich Presence',
discordRichPresenceDesc: 'Az éppen lejátszott szám megjelenítése a Discord-profilodon. A Discordnak futnia kell.',
discordRichPresenceNotice: 'Figyelem: ez a Psysonic beépített Discord Rich Presence funkciója. Ha inkább a hivatalos Navidrome Discord Rich Presence bővítményt használnád, hagyd ezt kikapcsolva, és ehelyett a lejjebb található „Megjelenítés a Most szólban" lehetőséget engedélyezd.',
useCustomTitlebar: 'Egyéni címsor',
useCustomTitlebarDesc: 'A rendszer címsorának lecserélése egy beépítettre, amely illeszkedik az alkalmazás témájához. Kapcsold ki a natív GNOME/GTK címsor használatához.',
windowButtonStyle: 'Ablakgombok',
windowButtonStyleDesc: 'Válaszd ki a kis méretre, teljes méretre és bezárás gombok kinézetét.',
windowButtonsDots: 'Pontok',
windowButtonsDotsGlyph: 'Pontok + ikonok',
windowButtonsFlat: 'Lapos',
windowButtonsPill: 'Pirula',
windowButtonsOutline: 'Körvonal',
windowButtonsGlyph: 'Minimál',
showMinimizeButton: 'Kis méretre gomb megjelenítése',
showMinimizeButtonDesc: 'Kapcsold ki, hogy csak a teljes méretre és a bezárás gomb jelenjen meg.',
linuxWebkitSmoothScroll: 'Sima görgetés (Linux)',
linuxWebkitSmoothScrollDesc: 'Be: tehetetlenségi görgetés. Ki: soronkénti, GTK-stílusú.',
linuxWebkitInputForceRepaint: 'Beviteli mezők újrarajzolása fókuszkor (Linux)',
linuxWebkitInputForceRepaintDesc: 'Megkerülő megoldás a WebKitGTK 2.50.x-hez, ahol a szövegmezők lefagynak kattintáskor. A keresőikonok röviden villognak fókuszkor.',
linuxWaylandTextRender: 'Wayland szövegmegjelenítés (Linux)',
linuxWaylandTextRenderDesc:
'A felület betűsimítása azonnal frissül. A WebKit hardveres gyorsítása (éles / GPU előbeállítások) elmentődik, és a következő alkalmazásindításkor lép érvénybe — élő módosítása egyes konfigurációkon lefagyaszthatja a WebKitGTK-t.',
linuxWaylandTextRenderBalanced: 'Kiegyensúlyozott',
linuxWaylandTextRenderSharp: 'Éles (CPU-barát)',
linuxWaylandTextRenderGpu: 'GPU-elsődleges',
linuxWaylandTextRenderMinimal: 'Minimál (alapértelmezett CSS-simítás)',
discordCoverTitle: 'Borító forrása',
discordCoverDesc: 'Honnan származik az albumborító a Discord-profilodon.',
discordCoverNone: 'Nincs (csak alkalmazásikon)',
discordCoverServer: 'Szerver (albuminfó alapján)',
discordCoverApple: 'Apple Music',
discordOptions: 'Speciális Discord-beállítások',
discordTemplates: 'Egyéni szövegsablonok',
discordTemplatesDesc: 'Testreszabhatod, milyen információ jelenik meg a Discord-profilodon. Változók: {title}, {artist}, {album}',
discordTemplateDetails: 'Elsődleges sor (details)',
discordTemplateState: 'Másodlagos sor (state)',
discordTemplateLargeText: 'Album tooltip (largeText)',
discordTemplateName: 'Felhasználólista-sor (name)',
nowPlayingEnabled: 'Megjelenítés a Most szólban',
nowPlayingEnabledDesc: 'Az éppen lejátszott szám közvetítése a szerver élő hallgatói nézetébe. Kapcsold ki a lejátszási adatok küldésének leállításához.',
nowPlayingPluginNote: 'Szükséges a hivatalos Navidrome Discord Rich Presence bővítmény használatakor.',
externalArtwork: 'Külső borítólehúzó',
externalArtworkDesc: 'Nagy felbontású előadói hátterek és bannerek lekérése a fanart.tv-ről a teljes képernyős lejátszóhoz és az előadói oldalakhoz. Alapértelmezetten kikapcsolva.',
externalArtworkNote: 'Bekapcsolva elküldi az előadó (és az aktuális album) nevét a musicbrainz.org-ra az előadó azonosításához, majd borítókat kér le a fanart.tv-ről — igény szerint és csak olvasásra; a könyvtárad címkéi soha nem módosulnak. A borítókat a fanart.tv és közreműködői biztosítják.',
externalArtworkByokTitle: 'Személyes API-kulcs (BYOK)',
externalArtworkByokDesc: 'Opcionális. Add meg itt a saját fanart.tv személyes API-kulcsodat — az alkalmazás kulcsa mellett kerül elküldésre.',
externalArtworkByokSaved: 'Elmentve — az alkalmazás kulcsával együtt kerül elküldésre, amíg a lehúzó be van kapcsolva.',
enableBandsintown: 'Bandsintown turnédátumok',
enableBandsintownDesc: 'A jelenlegi előadó közelgő koncertjeinek megjelenítése az Infó lapon. Az adatok a nyilvános Bandsintown API-ból származnak.',
lyricsServerFirst: 'Szerver dalszövegeinek előnyben részesítése',
lyricsServerFirstDesc: 'A szerver által biztosított dalszövegek (beágyazott címkék, kísérőfájlok) ellenőrzése az LRCLIB lekérdezése előtt. Kapcsold ki az LRCLIB elsődleges használatához.',
enableNeteaselyrics: 'Netease Cloud Music dalszövegek',
enableNeteaselyricsDesc: 'A Netease Cloud Music használata végső dalszövegforrásként, ha a szerver és az LRCLIB sem ad vissza semmit. A legjobb lefedettség ázsiai és nemzetközi zenéhez.',
lyricsSourcesTitle: 'Dalszövegforrások',
lyricsSourcesDesc: 'Válaszd ki, mely forrásokat kérdezze le dalszövegekért és milyen sorrendben. Húzd az átrendezéshez. A letiltott források teljesen kimaradnak.',
lyricsSourceServer: 'Szerver',
lyricsSourceLrclib: 'LRCLIB',
lyricsSourceNetease: 'Netease Cloud Music',
lyricsYouLyPlus: 'YouLyPlus (Karaoke)',
lyricsYouLyPlusDesc: 'Szóról szóra szinkronizálás egy közösségi háttérrendszerből (Apple Music, Spotify, Musixmatch, QQ). Először ezt próbálja; az alábbi engedélyezett források tartalék gyanánt szolgálnak.',
lyricsSourcesFallbackHint: 'Tartalékként használva, ha a YouLyPlus nem talál semmit. Húzd az átrendezéshez.',
lyricsSourcesPrimaryHint: 'Sorrendben próbálva. Húzd az átrendezéshez. Mind kikapcsolva = dalszöveg letiltva.',
lyricsStaticOnly: 'Dalszöveg megjelenítése csak statikus szövegként',
lyricsStaticOnlyDesc: 'A szinkronizált dalszöveg megjelenítése automatikus görgetés és szókiemelés nélkül.',
downloadsTitle: 'ZIP-exportálás és archiválás',
downloadsFolderDesc: 'A számítógépedre ZIP-fájlként letöltött albumok célmappája.',
downloadsDefault: 'Alapértelmezett Letöltések mappa',
pickFolder: 'Kiválasztás',
pickFolderTitle: 'Letöltési mappa kiválasztása',
clearFolder: 'Letöltési mappa törlése',
logout: 'Kijelentkezés',
aboutTitle: 'A Psysonicról',
aboutDesc: 'Modern asztali zenelejátszó, amely a Navidrome-hoz készült. A Subsonic API-t és Navidrome-specifikus kiterjesztéseket használ. Tauri v2-re épül, natív Rust hangmotorral — könnyű és gyors, mégis tele van funkciókkal: hullámforma-keresősáv, szinkronizált dalszöveg, Last.fm-integráció, 10 sávos EQ, áttűnés, szünetmentes lejátszás, ReplayGain, műfaj szerinti böngészés és nagy témakönyvtár.',
aboutLicense: 'Licenc',
aboutLicenseText: 'GNU GPL v3 — szabadon használható, módosítható és terjeszthető ugyanezen licenc alatt.',
aboutRepo: 'Forráskód a GitHubon',
aboutVersion: 'Verzió',
aboutBuiltWith: 'Készült: Tauri · React · TypeScript · Rust/rodio',
aboutMaintainersLabel: 'Karbantartók',
aboutReleaseNotesLabel: 'Kiadási jegyzék',
aboutReleaseNotesLink: 'Ezen verzió újdonságainak megnyitása',
aboutContributorsLabel: 'Közreműködők',
showChangelogOnUpdate: 'Az „Újdonságok" megjelenítése frissítéskor',
showChangelogOnUpdateDesc: 'Diszkrét változásnapló-szalag megjelenítése a Most szól felett frissítés után. A kattintás megnyitja a kiadási jegyzéket; az X eltünteti.',
libraryGridMaxColumnsTitle: 'Könyvtár kártyarácsai',
libraryGridMaxColumnsPerfHint: 'A magasabb értékek több csempét pakolnak soronként, és növelhetik az elrendezési és rajzolási munkát — ez észrevehető nagyon nagy könyvtáraknál vagy lassabb eszközöknél.',
libraryGridMaxColumnsRangeLabel: 'Maximális oszlopok ({{min}}{{max}})',
libraryGridMaxColumnsDesc: 'Az album-, előadó-, lejátszási lista-, rádió-, offline és más kártyaalapú könyvtárnézetekre vonatkozik. Az alacsonyabb értékek nagyobb csempéket használnak, és általában kíméletesebbek a CPU-hoz.',
libraryIndexTitle: 'Helyi könyvtárindex (előzetes)',
libraryIndexDesc: 'Minden szerver szám-adatbázisának helyi másolatát tartja, hogy a böngészés és a keresés gyors maradjon, és offline is működjön. A kezdeti szinkronizálás minden beállított szerverhez lefut; az offline szerverek automatikusan újrapróbálkoznak.',
libraryIndexDeltaHint: 'A háttér delta-szinkronizálás 30 másodpercenként ellenőrzi a kötött szervereket, és esedékességkor lefut — jellemzően 545 percenként, a könyvtár méretétől és a terheléstől függően.',
libraryIndexEnable: 'Helyi könyvtárindex engedélyezése',
libraryIndexEnableAllDesc: 'Az összes beállított szerver indexelése és szinkronizálása a háttérben.',
libraryIndexNoServer: 'Először adj hozzá egy szervert.',
libraryIndexServerListTitle: 'Indexelt szerverek',
libraryIndexAllExcluded: 'Minden szerver ki van zárva a szinkronizálásból. Engedélyezd újra az indexet, vagy adj hozzá egy szervert.',
libraryIndexServerOffline: 'A szerver offline — szinkronizálás elhalasztva',
libraryIndexServerSyncing: 'Szinkronizálás…',
libraryIndexFullResync: 'Teljes újraszinkronizálás',
libraryIndexDeltaSync: 'Delta-szinkronizálás',
libraryIndexExcludeServer: 'Kizárás a szinkronizálásból',
libraryIndexExcludingServer: 'Kizárás…',
libraryIndexExcludedTitle: 'Kizárva a szinkronizálásból',
libraryIndexIncludeServer: 'Felvétel újra',
libraryIndexIncludingServer: 'Felvétel…',
libraryIndexStatus: 'Állapot',
libraryIndexStatusIdle: 'Tétlen',
libraryIndexStatusProbing: 'Szerver ellenőrzése…',
libraryIndexStatusInitial: 'Kezdeti szinkronizálás…',
libraryIndexStatusReady: 'Kész ({{count}} szám)',
libraryIndexStatusError: 'Hiba — lásd a naplókat',
libraryIndexProgressIngest: 'Indexelve {{count}} szám…',
libraryIndexProgressVerify: 'Ellenőrizve {{checked}} ({{deleted}} eltávolítva)',
libraryIndexSyncNow: 'Szinkronizálás most',
libraryIndexVerify: 'Könyvtár integritásának ellenőrzése',
libraryIndexCancel: 'Mégse',
libraryIndexAutoReconcile: 'Automatikus egyeztetés a darabszám csökkenésekor',
libraryIndexAutoReconcileDesc: 'Automatikus ellenőrzés az eltávolított számokra, ha a szerver a vártnál kevesebbet jelent.',
libraryIndexSyncError: 'A könyvtár-szinkronizálás sikertelen: {{error}}',
libraryIndexBindError: 'Nem sikerült engedélyezni az indexet: {{error}}',
analyticsStrategyTitle: 'Elemzési stratégiák',
analyticsStrategyDesc: 'Válaszd ki a könyvtár elemzési stílusát.',
analyticsStrategyLabel: 'Stratégia',
analyticsStrategyLazy: 'Lusta',
analyticsStrategyLazyDesc: 'Csak akkor elemez, amikor számok szólnak, vagy bekerülnek az aktív/offline gyorsítótárba — minimális CPU- és hálózathasználat.',
analyticsStrategyAdvanced: 'Agresszív',
analyticsStrategyAdvancedDesc: 'Agresszívebb háttérvizsgálat. Amint elkészül, minden számhoz kapsz BPM-et, valamint azonnali hangosság- és hullámforma-betöltést.',
analyticsStrategyPriorityTitle: 'Elemzési prioritás (mindig érvényesül)',
analyticsStrategyPriorityHigh: '1 — Éppen lejátszott: letöltés + elemzés először (lejátszási bájtok, hangosság-pótlás, vagy HTTP, ha szükséges).',
analyticsStrategyPriorityMiddle: '2 — Következik: a sor következő ~5 száma és az aktív gyorsítótár szomszédai — elemzés gyorsítótárazott/letöltött bájtokból, ha lehetséges; HTTP-pótlás csak hiány esetén.',
analyticsStrategyPriorityLow: '3 — Könyvtári köteg (csak Agresszív): automatikus háttérsor a végén; vízjel szerint újratöltve (~3× munkás) anélkül, hogy üres sorra várna.',
analyticsStrategyServerLabel: 'Szerver',
analyticsStrategyProgressLabel: 'Elemzés folyamata:',
analyticsStrategyProgressValue: '{{percent}}% ({{done}}/{{total}})',
analyticsStrategyActionsLabel: 'Műveletek',
analyticsStrategyParallelismLabel: 'Párhuzamos munkások',
analyticsStrategyParallelismValue: '{{n}} szál',
analyticsStrategyParallelismDesc: 'Hány számot tölts le és elemezz egyszerre (HTTP + CPU). A magasabb értékek felgyorsítják a könyvtár behozását, de több hálózatot és CPU-t használnak.',
analyticsStrategyAdvancedWarning: 'Az Agresszív több CPU-t és hálózati sávszélességet használ, amíg a könyvtári köteg a háttérben fut.',
analyticsStrategyServerRemoved: 'Eltávolított szerver',
analyticsStrategyClearAction: 'Elemzés törlése',
analyticsStrategyClearTitle: 'Törlöd az elemzést?',
analyticsStrategyClearDesc: 'A(z) {{server}} elemzésének törlése eltávolítja a gyorsítótárazott hullámformákat és hangosságot. A szerver későbbi újbóli hozzáadása hosszú újraindexelést igényelhet.',
analyticsStrategyClearCancel: 'Mégse',
analyticsStrategyClearConfirm: 'Elemzés törlése',
analyticsStrategyClearSuccess: 'Az elemzés törölve az eltávolított szerverhez.',
analyticsStrategyClearError: 'Nem sikerült törölni az elemzést az eltávolított szerverhez.',
analyticsStrategyProgressEmptyAfterFailed: '100% (0/0, sikertelen számok miatt blokkolva)',
analyticsFailedTracksOpenTitle: 'Sikertelen számok: {{count}}',
analyticsFailedTracksTitle: 'Sikertelen elemzésű számok — {{server}}',
analyticsFailedTracksDesc: 'Ezek a számok ismételten meghiúsultak a dekódolás/gazdagítás során, és ki vannak zárva az automatikus háttérelemzésből.',
analyticsFailedTracksLoading: 'Sikertelen számok listájának betöltése…',
analyticsFailedTracksEmpty: 'Nincs sikertelen szám ehhez a szerverhez.',
analyticsFailedTracksClose: 'Bezárás',
analyticsFailedTracksExport: 'Lista exportálása',
analyticsFailedTracksExportSuccess: 'Sikertelen számok listája exportálva ({{count}}).',
analyticsFailedTracksExportError: 'Nem sikerült exportálni a sikertelen számok listáját.',
analyticsFailedTracksRescan: 'Sikertelen számok újraellenőrzése',
analyticsFailedTracksRescanSuccess: 'Újraellenőrzés ütemezve {{count}} sikertelen számhoz.',
analyticsFailedTracksRescanError: 'Nem sikerült újraellenőrizni a sikertelen számokat.',
analyticsFailedTracksLoadError: 'Nem sikerült betölteni a sikertelen számokat.',
randomMixTitle: 'Véletlen mix tiltólistája',
luckyMixMenuTitle: 'Szerencsemix megjelenítése a menüben',
luckyMixMenuDesc: 'Engedélyezi a Szerencsemixet a Mix összeállításában és külön menüpontként, ha a megosztott navigáció be van kapcsolva. Csak akkor látható, ha az AudioMuse engedélyezve van az aktív szerveren.',
randomMixBlacklistTitle: 'Egyéni szűrőkulcsszavak',
randomMixBlacklistDesc: 'A dalok kizárásra kerülnek, ha bármelyik kulcsszó egyezik a műfajukkal, címükkel, albumukkal vagy előadójukkal (aktív, ha a fenti jelölőnégyzet be van kapcsolva).',
randomMixBlacklistPlaceholder: 'Kulcsszó hozzáadása…',
randomMixBlacklistAdd: 'Hozzáadás',
randomMixBlacklistEmpty: 'Még nincs egyéni kulcsszó hozzáadva.',
randomMixHardcodedTitle: 'Beépített kulcsszavak (aktív, ha a jelölőnégyzet be van kapcsolva)',
tabAudio: 'Hang',
tabStorage: 'Offline és gyorsítótár',
tabAppearance: 'Megjelenés',
tabThemes: 'Témák',
themesYourThemesTitle: 'Saját témáid',
themesCvdTooltip: 'Színtévesztőknek biztonságos — deuteranópia, protanópia, tritanópia',
themeAnimationWarning: 'Ez a téma olyan animációkat használ, amelyek megnövelhetik a CPU-használatot a beállításodon (Nvidia/Linux vagy kikapcsolt kompozitálás).',
themeStoreTitle: 'Témabolt',
themeStoreSubmitText: 'Készítettél saját témát? Oszd meg a közösséggel — több infó a témák tárolójában.',
themeStoreSubmitLink: 'Témák tárolójának megnyitása',
themeStoreNetworkNotice: 'A Témabolt a katalógusát és előnézeteit a GitHubról tölti be. Személyes adat nem kerül elküldésre.',
themeStoreStatsNotice: 'A legutóbbi módosítás dátumai naponta egyszer frissülnek (kb. 04:17 UTC-kor).',
themeStoreSearchPlaceholder: 'Témák keresése…',
themeStoreFilterMode: 'Szűrés mód szerint',
themeStoreModeAll: 'Összes',
themeStoreModeDark: 'Sötét',
themeStoreModeLight: 'Világos',
themeStoreRefresh: 'Frissítés',
themeStoreLoading: 'Témák betöltése…',
themeStoreError: 'Nem sikerült betölteni a témaboltot. Ellenőrizd a kapcsolatodat.',
themeStoreRetry: 'Újra',
themeStoreOfflineTitle: 'A Témabolt offline',
themeStoreEmpty: 'Nincs a szűrőidnek megfelelő téma.',
themeStoreActive: 'Aktív',
themeStoreEnlarge: 'Előnézet nagyítása',
themeStoreSortNewest: 'Legújabb',
themeStoreSortName: 'Betűrendben',
themeStoreAnimAll: 'Összes',
themeStoreAnimAnimated: 'Animált',
themeStoreAnimStatic: 'Statikus',
themeStoreByAuthor: 'készítette: {{author}}',
themeStoreLastChanged: 'Utoljára módosítva',
themeMigrationNoticeTitle: 'A téma átkerült a Boltba',
themeMigrationNoticeBody: 'A(z) {{themes}} már nincs az alkalmazáshoz csomagolva. Újratelepítheted a Témaboltból (Beállítások → Témák), vagy válassz másik témát.',
themeMigrationNoticeOpen: 'Témabolt megnyitása',
themeStoreOffline: 'Az utolsó gyorsítótárazott katalógus látható — úgy tűnik, offline vagy.',
themeStoreInstall: 'Telepítés',
themeStoreInstalling: 'Telepítés…',
themeStoreApply: 'Alkalmazás',
themeStoreUpdate: 'Frissítés',
themeStoreUpdating: 'Frissítés…',
themeStoreUninstall: 'Eltávolítás',
themeStoreInstallFailed: 'A telepítés sikertelen',
themeStorePagePrev: 'Előző oldal',
themeStorePageNext: 'Következő oldal',
themeStorePageStatus: '{{page}}. oldal a(z) {{total}}-ból',
themeImportTitle: 'Téma importálása',
themeImportButton: 'Téma importálása…',
themeImporting: 'Importálás…',
themeImportHint: 'Tölts be egy .zip-ként csomagolt témát (manifest.json + theme.css).',
themeImportSuccess: '„{{name}}" importálva.',
themeImportErrorTitle: 'Ezt a témát nem sikerült importálni',
themeImportErrorBody: 'Nem felel meg a Psysonic témaformátumának. Lehet, hogy másik verzióhoz készült, vagy a fájl hiányos — ellenőrizd, hogy a megfelelő .zip-et választottad-e, vagy kérdezd meg a téma szerzőjét.',
themeImportErrorDetails: 'Technikai részletek',
themeImportConfirmTitle: 'Telepíted a témát?',
themeImportConfirmBody: 'Telepíted a(z) „{{name}}" témát ({{author}} készítette)?',
themeImportConfirmRisk: 'Az importált témák nincsenek átnézve — csak megbízható témákat telepíts.',
tabLibrary: 'Könyvtár',
tabServers: 'Szerverek',
tabLyrics: 'Dalszöveg',
tabPersonalisation: 'Személyre szabás',
tabIntegrations: 'Integrációk',
inputKeybindingsTitle: 'Billentyűparancsok',
aboutContributorsCount_one: '{{count}} hozzájárulás',
aboutContributorsCount_other: '{{count}} hozzájárulás',
searchPlaceholder: 'Beállítások keresése…',
searchNoResults: 'Nincs a keresésnek megfelelő beállítás.',
integrationsPrivacyTitle: 'Adatvédelmi tájékoztató',
integrationsPrivacyBody: 'Az ezen a lapon lévő összes integráció <strong>opcionális</strong>, és bekapcsolva adatokat küld külső szolgáltatásoknak vagy a Navidrome szerverednek. A Last.fm megkapja a hallgatási előzményeidet, a Discord megjeleníti az éppen lejátszott számot a profilodon, a Bandsintown előadónként lekérdezésre kerül a turnédátumokért, a Most szól megosztás pedig közzéteszi az aktuális számodat a Navidrome szervered többi felhasználójának. Ha ezekből egyiket sem szeretnéd, egyszerűen hagyd letiltva a megfelelő szakaszt.',
homeCustomizerTitle: 'Főszínpad',
queueSettingsTitle: 'Lejátszási sor beállításai',
queueModeTitle: 'Lejátszási sor megjelenítési módja',
queueModeQueueSub: 'Csak a következő számokat mutatja. Az aktuális szám a fejlécben marad, és lejátszás után kikerül a listából.',
queueModePlaylistSub: 'A teljes sort a listában tartja, az aktuális számmal felül kiemelve; a lejátszott számok megmaradnak.',
queueModeTimelineSub: 'Az aktuális számot középre helyezi, fölötte a lejátszott előzményekkel, alatta a következő számokkal (keverési sorrendben).',
queueToolbarTitle: 'Lejátszási sor eszköztára',
queueToolbarReset: 'Visszaállítás alapértelmezettre',
queueToolbarSeparator: 'Elválasztó',
sidebarTitle: 'Oldalsáv',
sidebarReset: 'Visszaállítás alapértelmezettre',
artistLayoutTitle: 'Előadói oldal szakaszai',
artistLayoutDesc: 'Húzd az átrendezéshez, kapcsold az előadói oldal egyes szakaszainak elrejtéséhez. Az adat nélküli szakaszok automatikusan kimaradnak.',
artistLayoutReset: 'Visszaállítás alapértelmezettre',
artistLayoutBio: 'Előadó életrajza',
artistLayoutTopTracks: 'Legjobb számok',
artistLayoutSimilar: 'Hasonló előadók',
artistLayoutAlbums: 'Albumok',
artistLayoutFeatured: 'Közreműködőként is szerepel',
playlistLayoutTitle: 'Lejátszási lista oldalának elrendezése',
playlistLayoutDesc: 'A lejátszási lista oldalán lévő egyes elemek megjelenítése vagy elrejtése.',
playlistLayoutReset: 'Visszaállítás alapértelmezettre',
playerBarTitle: 'Lejátszósáv',
playerBarReset: 'Visszaállítás alapértelmezettre',
playerBarStarRating: 'Csillagos értékelés',
playerBarFavorite: 'Kedvenc (szív)',
playerBarLastfmLove: 'Tetszik gomb',
playerBarPlaybackRate: 'Lejátszási sebesség',
playerBarEqualizer: 'Hangszínszabályzó',
playerBarMiniPlayer: 'Mini lejátszó',
playbackRateTitle: 'Lejátszási sebesség',
playbackRateEnabled: 'Lejátszási sebesség engedélyezése',
playbackRateEnabledDesc: 'A sebesség globális módosítása minden számhoz. Nem érvényes a rádióra vagy az előnézetekre.',
playbackRateStrategy: 'Stratégia',
playbackRateStrategySpeed: 'Sebesség',
playbackRateStrategyVarispeed: 'Varispeed',
playbackRateStrategyVarispeedSemitones: 'Félhangok',
playbackRateStrategyPreserve: 'Hangmagasság-eltolás',
playbackRateStrategySpeedTip: 'Módosítja a tempót; a hangmagasság automatikusan korrigálódik.',
playbackRateStrategyVarispeedTip: 'A sebesség és a hangmagasság együtt mozog, mint a szalagnál. A hangmagasság a sebességet követi: 12 × log2(sebesség).',
playbackRateStrategyVarispeedSemitonesTip: 'A varispeed közvetlenül félhangokban beállítva. Sebesség = 2^(st/12).',
playbackRateStrategyPreserveTip: 'Állítható tempó, plusz manuális hangmagasság-eltolás (±12 st).',
playbackRateSpeed: 'Sebesség',
playbackRatePitch: 'Hangmagasság',
playbackRateDerivedPitch: 'Hangmagasság-eltolás a sebességből: {{value}}',
playbackRateDerivedSpeed: 'Sebesség a félhangokból: {{value}}',
playbackRateFineStep: 'Finomhangolás',
playbackRateFineStepDesc: 'Kisebb csúszka-lépések: 0,01× a sebességhez és 0,01 st a hangmagassághoz.',
playbackRateAutoPitch: 'A hangmagasság automatikusan korrigálódik.',
playbackRateHint: 'A Sebesség természetesen tartja a hangmagasságot. A Varispeed a sebességgel együtt változtatja a hangmagasságot. A Varispeed (félhangok) ezt a hangmagasság-változást közvetlenül félhangokban állítja be. A Hangmagasság-eltolás manuális eltolást ad hozzá. Több CPU-t használ, mint a varispeed. Nem rádióhoz, előnézetekhez vagy Orbithoz.',
playbackRateNeutral: '1,0× sebességnél, hangmagasság-eltolás nélkül a lejátszás normál.',
playbackRateOrbitPaused: 'Orbit-munkamenetek alatt nem alkalmazódik — a lejátszás 1,0×-en marad a szinkron érdekében.',
playbackRateOrbitPausedShort: 'Orbit: 1,0× a szinkronhoz.',
advancedMode: 'Speciális',
advancedModeTooltip: 'Speciális beállítások megjelenítése az összes Beállítások lapon. Közösségi hozzájárulások, amelyek nem feltétlenül tükrözik a Psysonic karbantartóinak tervezési filozófiáját.',
advancedBadge: 'Speciális',
sidebarDrag: 'Húzd az átrendezéshez',
sidebarFixed: 'Mindig látható',
nowPlayingTopTitle: 'Most szól felül',
nowPlayingTopDesc: 'A „Most szól" bejegyzés rögzítése az oldalsáv tetejére az alja helyett.',
randomNavSplitTitle: 'Megosztott mix-navigáció',
randomNavSplitDesc: 'A „Véletlen mix", „Véletlen albumok" és „Szerencsemix" megjelenítése külön oldalsáv-bejegyzésként a „Mix összeállítása" központ helyett.',
tabInput: 'Bevitel',
tabUsers: 'Felhasználók',
tabSystem: 'Rendszer',
loggingTitle: 'Naplózás',
loggingModeDesc: 'A háttér naplójának részletességét vezérli a terminálban.',
loggingModeOff: 'Ki',
loggingModeNormal: 'Normál',
loggingModeDebug: 'Hibakeresés',
loggingExport: 'Naplók exportálása',
loggingExportSuccess: 'Naplók exportálva ({{count}} sor).',
loggingExportError: 'Nem sikerült exportálni a naplókat.',
ratingsSectionTitle: 'Értékelések',
ratingsSkipStarTitle: 'Átugrás 1 csillagért',
ratingsSkipStarDesc:
'Több egymás utáni átugrás után a szám 1★-ra állítódik. Csak a még nem értékelt számokra.',
ratingsSkipStarThresholdLabel: 'Átugrások',
ratingsMixFilterTitle: 'Szűrés értékelés szerint',
ratingsMixFilterDesc:
'Az alacsonyan értékelt elemek szűrése itt: {{mix}} és {{albums}}. Kattints újra a kiválasztott csillagra a küszöb kikapcsolásához.',
ratingsMixMinSong: 'Dalok',
ratingsMixMinAlbum: 'Albumok',
ratingsMixMinArtist: 'Előadók',
ratingsMixMinThresholdAria: 'Minimális csillagok: {{label}}',
backupTitle: 'Mentés és visszaállítás',
backupExport: 'Beállítások exportálása',
backupExportDesc: 'Elmenti az összes beállítást, szerverprofilt, Last.fm-konfigurációt, témát, EQ-t és billentyűparancsot egy .psybkp fájlba. A jelszavak titkosítatlanul tárolódnak — tartsd biztonságban a fájlt.',
backupImport: 'Beállítások importálása',
backupImportDesc: 'Visszaállítja a beállításokat egy .psybkp fájlból. Az alkalmazás importálás után újratöltődik.',
backupImportConfirm: 'Ez felülír minden jelenlegi beállítást. Folytatod?',
backupImportAny: 'Mentés importálása',
backupImportAnyConfirm: 'Importáld a kiválasztott mentési fájlt, és alkalmazd a tartalmát (beállítások, könyvtár-adatbázisok vagy teljes). Folytatod?',
backupSuccess: 'Mentés elmentve',
backupImportSuccess: 'Beállítások visszaállítva — újratöltés…',
backupImportError: 'Érvénytelen vagy sérült mentési fájl.',
backupModeFull: 'Teljes',
backupModeLibrary: 'Könyvtár-adatbázisok',
backupModeConfig: 'Konfiguráció',
backupFullDesc: 'A beállításokat és a könyvtár-adatbázisokat egyetlen mentési fájlba archiválja.',
backupFullExport: 'Teljes mentés exportálása',
backupFullImport: 'Teljes mentés importálása',
backupFullImportConfirm: 'Ez felülírja a beállításokat, lecseréli a jelenlegi könyvtár-adatbázisokat, és .bak-ba helyezi őket. Folytatod?',
backupFullExportSuccess: 'Teljes mentés exportálva.',
backupFullImportSuccess: 'Teljes mentés importálva — újratöltés…',
backupFullImportError: 'Nem sikerült importálni a teljes mentést.',
backupLibraryExport: 'Adatbázisok exportálása',
backupLibraryExportDesc: 'Tömörített archívumot hoz létre a könyvtár-adatbázisok tiszta SQLite-pillanatfelvételeivel.',
backupLibraryImport: 'Adatbázisok importálása',
backupLibraryImportDesc: 'Visszaállítja a könyvtár-adatbázisokat egy archívumfájlból. A jelenlegi adatbázisok a váltás előtt .bak-ba kerülnek.',
backupLibraryImportConfirm: 'Ez lecseréli a jelenlegi könyvtár-adatbázisokat, és .bak-ba helyezi őket. Folytatod?',
backupLibraryExportSuccess: 'Adatbázis-mentés exportálva.',
backupLibraryImportSuccess: 'Adatbázis-mentés importálva.',
backupLibraryImportError: 'Nem sikerült importálni az adatbázis-mentést.',
backupOverlayExportTitle: 'Mentés készítése…',
backupOverlayImportTitle: 'Mentés visszaállítása…',
backupOverlayHint: 'Az ablakot nyitva tarthatod, amíg a fájlokat feldolgozzuk. A bevitel ideiglenesen zárolva van.',
shortcutsReset: 'Visszaállítás alapértelmezettre',
shortcutListening: 'Nyomj le egy billentyűt…',
shortcutUnbound: '—',
globalShortcutsTitle: 'Globális gyorsbillentyűk',
globalShortcutsNote: 'Rendszerszinten működnek, még akkor is, ha a Psysonic a háttérben van. Ctrl, Alt vagy Super módosítót igényel.',
shortcutClear: 'Törlés',
shortcutPlayPause: 'Lejátszás / Szünet',
shortcutNext: 'Következő szám',
shortcutPrev: 'Előző szám',
shortcutVolumeUp: 'Hangerő fel',
shortcutVolumeDown: 'Hangerő le',
shortcutSeekForward: 'Tekerés előre 10 mp',
shortcutSeekBackward: 'Tekerés vissza 10 mp',
shortcutToggleQueue: 'Lejátszási sor be/ki',
shortcutOpenFolderBrowser: '{{folderBrowser}} megnyitása',
shortcutFullscreenPlayer: 'Teljes képernyős lejátszó',
shortcutNativeFullscreen: 'Natív teljes képernyő',
shortcutOpenMiniPlayer: 'Mini lejátszó megnyitása',
shortcutStartSearch: 'Keresés indítása',
shortcutStartAdvancedSearch: 'Speciális keresés indítása',
shortcutToggleSidebar: 'Oldalsáv be/ki',
shortcutMuteSound: 'Hang némítása',
shortcutToggleEqualizer: 'Hangszínszabályzó megnyitása / be/ki',
shortcutToggleRepeat: 'Ismétlés be/ki',
shortcutOpenNowPlaying: 'A „Most szól" megnyitása',
shortcutShowLyrics: 'Dalszöveg megjelenítése',
shortcutFavoriteCurrentTrack: 'Aktuális szám hozzáadása a kedvencekhez',
shortcutOpenHelp: 'Súgó',
playbackTitle: 'Lejátszás',
replayGain: 'Replay Gain',
replayGainDesc: 'Szám hangerejének normalizálása a ReplayGain metaadatok alapján',
replayGainMode: 'Mód',
replayGainAuto: 'Automatikus',
replayGainAutoDesc: 'Albumerősítést választ, ha a szomszédos számok ugyanarról az albumról valók, egyébként számerősítést.',
replayGainTrack: 'Szám',
replayGainAlbum: 'Album',
replayGainPreGain: 'Előerősítés (címkézett fájlok)',
replayGainPreGainDesc: 'Univerzális ráerősítés minden ReplayGain-számítás tetejére. Használd a kompenzáláshoz, ha a könyvtárad összességében túl halknak tűnik.',
replayGainFallback: 'Tartalék (címkézetlen / rádió)',
replayGainFallbackDesc: 'Azokra a számokra (és rádióadásokra) alkalmazódik, amelyeknek egyáltalán nincs ReplayGain-címkéjük, hogy a címkézetlen tartalom ne szóljon hangosabban a többinél.',
normalization: 'Normalizálás',
normalizationDesc: 'Az érzékelt hangosság kiegyenlítése a számok, albumok és rádió között.',
normalizationOff: 'Ki',
normalizationReplayGain: 'ReplayGain',
normalizationLufs: 'LUFS',
loudnessTargetLufs: 'Cél LUFS',
loudnessTargetLufsDesc: 'Referenciahangosság, amelyhez minden szám igazodik. Alacsonyabb számok = hangosabb kimenet. A streamingszolgáltatások jellemzően -14 LUFS körül vannak.',
loudnessPreAnalysisAttenuation: 'Elemzés előtti csillapítás',
loudnessPreAnalysisAttenuationDesc:
'Extra halkítás, amíg a szám hangossága elmentődik. A streaming ekkor durva becsléseket használ, nem teljes mérést. 0 dB = ki; alacsonyabb = halkabb. A jobb oldali szám a tényleges dB az aktuális célodhoz.',
loudnessPreAnalysisAttenuationRef: 'Tényleges {{eff}} dB {{tgt}} LUFS céllal.',
loudnessPreAnalysisAttenuationReset: 'Visszaállítás alapértelmezettre',
loudnessFirstPlayNote:
'Egy vadonatúj szám első lejátszása rövid ideig ingadozhat a hangerőben, amíg a mérés zajlik. A következő lejátszás a gyorsítótárazott mérést használja, és tökéletesen stabil. A sor következő számai általában előre elemződnek az előző dal alatt, így ez a gyakorlatban ritkán fordul elő.',
crossfade: 'Áttűnés',
crossfadeSecs: '{{n}} mp',
autoDj: 'AutoDJ',
autoDjDesc: 'Nincs fix időtartam — az AutoDJ a tényleges hangot követi, valós fade-outokat és intrókat keverve egy beállított másodpercszám helyett. A megbízható eredményekért engedélyezd az aktív lejátszási gyorsítótárat.',
autodjSmoothSkip: 'Sima átugrás',
autodjSmoothSkipDesc: 'Amikor lejátszás közben a következő vagy előző számra ugrasz, ugyanazokkal az AutoDJ-szabályokkal (átfedéshossz, intró-vágás) tűnik át bele a jelenlegi pozíciódból, éles vágás helyett. Akkor működik a legjobban, ha a következő szám már pufferelt.',
gapless: 'Szünetmentes lejátszás',
transitionsTitle: 'Számátmenetek',
transitionsDesc: 'Hogyan tűnik át egymásba az egymást követő számok. Egyszerre csak egy mód lehet aktív.',
transitionOff: 'Ki',
queueBehaviourTitle: 'Lejátszási sor viselkedése',
preservePlayNextOrder: 'A „Játszás következőként" sorrend megőrzése',
preservePlayNextOrderDesc: 'Az újonnan hozzáadott „Játszás következőként" elemek a korábbiak mögé sorakoznak fel, ahelyett, hogy eléjük ugranának.',
trackPreviewsTitle: 'Számelőnézetek',
trackPreviewsToggle: 'Számelőnézetek engedélyezése',
trackPreviewsDesc: 'Soron belüli Lejátszás és Előnézet gombok megjelenítése a számlistákban egy gyors dal közbeni mintához.',
trackPreviewStart: 'Kezdőpozíció',
trackPreviewStartDesc: 'Milyen mélyen a számban kezdődik az előnézet (a szám hosszának %-ában).',
trackPreviewDuration: 'Időtartam',
trackPreviewDurationDesc: 'Meddig szól egy-egy előnézet, mielőtt leáll.',
trackPreviewDurationSecs: '{{n}} mp',
trackPreviewLocationsTitle: 'Hol jelennek meg az előnézetek',
trackPreviewLocationsDesc: 'Válaszd ki, mely listákon jelenjenek meg a soron belüli előnézet gombok.',
trackPreviewLocation_suggestions: 'Lejátszási lista javaslataiban',
trackPreviewLocation_albums: 'Album-számlistákban',
trackPreviewLocation_playlists: 'Lejátszási listákban',
trackPreviewLocation_favorites: 'Kedvencekben',
trackPreviewLocation_artist: 'Előadó legjobb számaiban',
trackPreviewLocation_randomMix: 'Véletlen mixben',
nextTrackBufferingTitle: 'Pufferelés',
infiniteQueue: 'Végtelen lejátszási sor',
infiniteQueueDesc: 'Véletlen számok automatikus hozzáfűzése, amikor a sor kifogy',
experimental: 'Kísérleti',
sidebarLyricsStyle: 'Dalszöveg-görgetési stílus',
sidebarLyricsStyleClassic: 'Klasszikus',
sidebarLyricsStyleClassicDesc: 'Az aktív sor görgetése középre.',
sidebarLyricsStyleApple: 'Apple Music-szerű',
sidebarLyricsStyleAppleDesc: 'Az aktív sor a tetejéhez közel rögzül, sima rugós átmenetekkel.',
seekbarStyle: 'Keresősáv stílusa',
seekbarStyleDesc: 'Válaszd ki a lejátszó keresősávjának kinézetét',
seekbarTruewave: 'Truewave',
seekbarPseudowave: 'Pseudowave',
seekbarLinedot: 'Vonal és pont',
seekbarBar: 'Sáv',
seekbarThick: 'Vastag sáv',
seekbarSegmented: 'Szakaszolt',
seekbarNeon: 'Neonfény',
seekbarPulsewave: 'Pulzushullám',
seekbarParticletrail: 'Részecskecsóva',
seekbarLiquidfill: 'Folyadékkitöltés',
seekbarRetrotape: 'Retro szalag',
themeSchedulerTitle: 'Automatikus témaváltás',
themeSchedulerEnable: 'Témaütemező engedélyezése',
themeSchedulerEnableSub: 'Automatikus váltás két téma között a napszak alapján',
themeSchedulerDayTheme: 'Nappali téma',
themeSchedulerDayStart: 'A nappal kezdődik',
themeSchedulerNightTheme: 'Éjszakai téma',
themeSchedulerNightStart: 'Az éjszaka kezdődik',
themeSchedulerActiveHint: 'A témaütemező aktív a témaváltások automatikusan kezeltek.',
visualOptionsTitle: 'Vizuális beállítások',
coverArtBackground: 'Borító háttér',
coverArtBackgroundSub: 'Elmosott borító megjelenítése háttérként az album/lejátszási lista fejlécekben',
playlistCoverPhoto: 'Lejátszási lista borítóképe',
playlistCoverPhotoSub: 'Borítókép-rács megjelenítése a lejátszási lista részletes nézetében',
showBitrate: 'Bitráta megjelenítése',
showBitrateSub: 'A hang bitrátájának megjelenítése a számlistákban',
floatingPlayerBar: 'Lebegő lejátszósáv',
floatingPlayerBarSub: 'A lejátszósáv lebegve tartása a tartalom felett',
uiScaleTitle: 'Felület méretezése',
uiScaleLabel: 'Nagyítás',
};
+20
View File
@@ -0,0 +1,20 @@
export const sharePaste = {
notLoggedIn: 'Jelentkezz be és add hozzá a szervert, mielőtt megosztási linket illesztesz be.',
noMatchingServer: 'Egyik mentett szerver sem egyezik ezzel a linkkel. Adj hozzá egy szervert ezzel a címmel: {{url}}',
trackUnavailable: 'Ez a szám nem található a szerveren.',
albumUnavailable: 'Ez az album nem található a szerveren.',
artistUnavailable: 'Ez az előadó nem található a szerveren.',
composerUnavailable: 'Ez a zeneszerző nem található a szerveren.',
openedTrack: 'Megosztott szám lejátszása.',
openedAlbum: 'Megosztott album megnyitása.',
openedArtist: 'Megosztott előadó megnyitása.',
openedComposer: 'Megosztott zeneszerző megnyitása.',
openedQueue_one: '{{count}} szám lejátszása a megosztási linkről.',
openedQueue_other: '{{count}} szám lejátszása a megosztási linkről.',
openedQueuePartial:
'{{played}}/{{total}} szám lejátszása a linkről ({{skipped}} nem található ezen a szerveren).',
queueAllUnavailable: 'A link egyetlen száma sem található a szerveren.',
playQueue: 'Sor lejátszása',
playQueueing: 'Lejátszás indítása…',
genericError: 'A megosztási link megnyitása nem sikerült.',
};
+45
View File
@@ -0,0 +1,45 @@
export const sidebar = {
library: 'Könyvtár',
mainstage: 'Főszínpad',
newReleases: 'Új megjelenések',
allAlbums: 'Összes album',
randomAlbums: 'Véletlen albumok',
randomPicker: 'Mix összeállítása',
artists: 'Előadók',
composers: 'Zeneszerzők',
randomMix: 'Véletlen mix',
favorites: 'Kedvencek',
nowPlaying: 'Most szól',
system: 'Rendszer',
statistics: 'Statisztika',
settings: 'Beállítások',
help: 'Súgó',
expand: 'Oldalsáv kibontása',
collapse: 'Oldalsáv összecsukása',
downloadingTracks: '{{n}} szám gyorsítótárazása…',
offlinePinActive: '«{{name}}» gyorsítótárazása…',
offlinePinActiveQueued: '«{{name}}» gyorsítótárazása · +{{queued}} a sorban',
syncingTracks: 'Szinkronizálás {{done}}/{{total}}…',
cancelDownload: 'Letöltés megszakítása',
offlineLibrary: 'Offline könyvtár',
genres: 'Műfajok',
tracks: 'Számok',
playlists: 'Lejátszási listák',
smartPlaylists: 'Okos lejátszási listák',
mostPlayed: 'Legtöbbet játszott',
losslessAlbums: 'Veszteségmentes',
radio: 'Internetes rádió',
folderBrowser: 'Mappaböngésző',
deviceSync: 'Eszköz-szinkronizálás',
libraryScope: 'Könyvtár hatóköre',
allLibraries: 'Összes könyvtár',
expandPlaylists: 'Lejátszási listák kibontása',
collapsePlaylists: 'Lejátszási listák összecsukása',
more: 'Több',
feelingLucky: 'Lucky Mix',
themeUpdatesTitle: 'Témafrissítések',
themeUpdatesTooltip: 'Elérhető témafrissítések',
themeUpdatesDismiss: 'Elvetés',
};
+41
View File
@@ -0,0 +1,41 @@
export const smartPlaylists = {
sectionBasic: '1. Alap',
sectionGenres: '2. Műfajok',
sectionYearsAndFilters: '3. Évek és szűrők',
genreMode: 'Műfaj mód',
genreModeInclude: 'Műfajok befoglalása',
genreModeExclude: 'Műfajok kizárása',
genreSearchPlaceholder: 'Műfajok szűrése...',
availableGenres: 'Elérhető',
selectedGenres: 'Kiválasztott',
yearMode: 'Év mód',
yearModeInclude: 'Tartomány befoglalása',
yearModeExclude: 'Tartomány kizárása',
name: 'Név (előtag nélkül)',
limit: 'Korlát',
limitHint: 'Hány szám kerüljön a lejátszási listába (1-{{max}}, általában 50).',
artistContains: 'Előadó tartalmazza…',
albumContains: 'Album tartalmazza…',
titleContains: 'Cím tartalmazza…',
minRating: 'Minimális értékelés',
minRatingAria: 'Minimális értékelés az okos lejátszási listához',
minRatingHint: 'A 0 kikapcsolja a minimumküszöböt; az 1-5 a kiválasztott értéknél magasabbra értékelt számokat tartja meg.',
fromYear: 'Ettől az évtől',
toYear: 'Eddig az évig',
excludeUnrated: 'Értékeletlen számok kizárása',
compilationOnly: 'Csak válogatások',
create: 'Új okos lejátszási lista',
save: 'Okos lejátszási lista mentése',
created: '{{name}} létrehozva',
updated: '{{name}} frissítve',
createFailed: 'Az okos lejátszási lista létrehozása nem sikerült.',
updateFailed: 'Az okos lejátszási lista frissítése nem sikerült.',
navidromeOnly: 'Okos lejátszási listák csak Navidrome szervereken hozhatók létre.',
loadFailed: 'Az okos lejátszási listák betöltése a Navidrome-ból nem sikerült.',
sortRandom: 'Rendezés: véletlen',
sortTitleAsc: 'Rendezés: cím A-Z',
sortTitleDesc: 'Rendezés: cím Z-A',
sortYearDesc: 'Rendezés: év csökkenő',
sortYearAsc: 'Rendezés: év növekvő',
sortPlayCountDesc: 'Rendezés: lejátszások csökkenő',
};
+27
View File
@@ -0,0 +1,27 @@
export const songInfo = {
title: 'Száminfó',
songTitle: 'Cím',
artist: 'Előadó',
album: 'Album',
albumArtist: 'Album előadója',
year: 'Év',
genre: 'Műfaj',
duration: 'Hossz',
track: 'Szám',
bpm: 'BPM',
mood: 'Hangulat',
playCount: 'Lejátszások száma',
lastPlayed: 'Utoljára játszva',
format: 'Formátum',
bitrate: 'Bitráta',
sampleRate: 'Mintavételezés',
bitDepth: 'Bitmélység',
channels: 'Csatornák',
fileSize: 'Fájlméret',
path: 'Útvonal',
replayGainTrack: 'RG szám-erősítés',
replayGainAlbum: 'RG album-erősítés',
replayGainPeak: 'RG szám-csúcs',
mono: 'Mono',
stereo: 'Sztereó',
};
+93
View File
@@ -0,0 +1,93 @@
export const statistics = {
title: 'Statisztika',
recentlyPlayed: 'Nemrég játszott',
mostPlayed: 'Legtöbbet játszott albumok',
highestRated: 'Legmagasabbra értékelt albumok',
genreDistribution: 'Műfajeloszlás (top 20)',
loadMore: 'Több betöltése',
statArtists: 'Előadók',
statArtistsTooltip: 'Csak album-előadók — a csak szám szintű előadóként (közreműködő, vendég stb.) saját album nélkül szereplő előadók nem szerepelnek.',
statAlbums: 'Albumok',
statSongs: 'Dalok',
statGenres: 'Műfajok',
statPlaytime: 'Teljes lejátszási idő',
genreInsights: 'Műfaj-betekintés',
formatDistribution: 'Formátumeloszlás',
formatSample: '{{n}} szám mintája',
computing: 'Számítás…',
genreSongs: '{{count}} dal',
genreAlbums: '{{count}} album',
recentlyAdded: 'Nemrég hozzáadott',
decadeDistribution: 'Albumok évtizedek szerint',
decadeAlbums_one: '{{count}} album',
decadeAlbums_other: '{{count}} album',
decadeUnknown: 'Ismeretlen',
lfmTitle: '{{provider}} statisztikák',
lfmTopArtists: 'Top előadók',
lfmTopAlbums: 'Top albumok',
lfmTopTracks: 'Top számok',
lfmPlays: '{{count}} lejátszás',
lfmPeriodOverall: 'Mindenkori',
lfmPeriod7day: '7 nap',
lfmPeriod1month: '1 hónap',
lfmPeriod3month: '3 hónap',
lfmPeriod6month: '6 hónap',
lfmPeriod12month: '12 hónap',
lfmRecentTracks: 'Legutóbbi scrobble-ok',
lfmNowPlaying: 'Most szól',
lfmJustNow: 'épp most',
lfmMinutesAgo: '{{n}} perce',
lfmHoursAgo: '{{n}} órája',
lfmDaysAgo: '{{n}} napja',
topRatedSongs: 'Legjobbra értékelt dalok',
topRatedArtists: 'Legjobbra értékelt előadók',
noRatedSongs: 'Még nincsenek értékelt dalok. Értékelj dalokat az album- vagy lejátszásilista-nézetben.',
noRatedArtists: 'Még nincsenek értékelt előadók.',
exportShare: 'Megosztás',
exportTitle: 'Top albumok megosztása',
exportSubtitle: 'Megosztható kép létrehozása a legtöbbet játszott albumaidról.',
exportFormat: 'Formátum',
exportFormatStory: 'Sztori',
exportFormatSquare: 'Négyzet',
exportFormatTwitter: 'Twitter-kártya',
exportGrid: 'Rács',
exportGridLabel: '{{n}}×{{n}}',
exportPreview: 'Előnézet',
exportGenerate: 'Létrehozás',
exportSave: 'Kép mentése…',
exportCancel: 'Mégse',
exportFooterLabel: 'Top albumok',
exportNotEnough: 'Legalább {{count}} album szükséges a könyvtáradban egy {{n}}×{{n}} rácshoz.',
exportSaving: 'Mentés…',
exportSaved: 'Mentve.',
exportSaveFailed: 'A kép mentése nem sikerült.',
tabServer: 'Szerverstatisztika',
tabPlayer: 'Lejátszó-statisztika',
playerEmpty: 'Kezdj el zenét hallgatni — a helyi lejátszási előzményeid itt jelennek meg.',
playerSummaryTime: 'Hallgatási idő',
playerListeningDayShort: '{{count}} n',
playerListeningHourShort: '{{count}} ó',
playerListeningMinuteShort: '{{count}} p',
playerSummarySessions: 'Munkamenetek',
playerSummaryTracks: 'Számlejátszások',
playerSummaryUniqueTracks: 'Egyedi számok',
playerSummaryDays: 'Napok',
playerIndexRequired: 'A lejátszó-statisztikához legalább egy beállított szerver szükséges.',
playerPartialIndexSettings: 'Szerverbeállítások',
playerSummaryCompletion: 'Teljes / részleges',
playerYearPrev: 'Előző év',
playerYearNext: 'Következő év',
playerHeatmapLegend: 'Sötétebb cellák = több aznap lejátszott szám.',
playerHeatmapLess: 'Kevesebb',
playerHeatmapMore: 'Több',
playerDaySessions: '{{count}} munkamenet',
playerDayTrackPlays: '{{count}} szám',
playerDayFullPartial: '{{full}} teljes · {{partial}} részleges',
playerRecentDaysTitle: 'Legutóbbi napok',
playerDayToday: 'Ma',
playerDayYesterday: 'Tegnap',
playerListenedSecShort: '{{seconds}} mp',
playerListenedMinDecimal: '{{minutes}} perc',
completionFull: 'Teljes meghallgatás',
completionPartial: 'Részleges',
};
+16
View File
@@ -0,0 +1,16 @@
export const tracks = {
title: 'Számok',
subtitle: 'Böngéssz. Keress. Fedezz fel.',
heroEyebrow: 'A pillanat száma',
heroReroll: 'Válassz másikat',
playSong: 'Lejátszás',
enqueueSong: 'Hozzáadás a sorhoz',
toAlbum: 'Az albumhoz',
railRandom: 'Véletlen választás',
railHighlyRated: 'Magasra értékelt',
browseTitle: 'Összes szám böngészése',
browseUnsupported: 'Ez a szerver nem listázza a teljes könyvtárat egyszerre. Használd a fenti keresőt konkrét számok megtalálásához.',
searchPlaceholder: 'Szám keresése cím, előadó vagy album szerint…',
count_one: '{{count}} szám',
count_other: '{{count}} szám',
};
+8
View File
@@ -0,0 +1,8 @@
export const tray = {
playPause: 'Lejátszás / Szünet',
nextTrack: 'Következő szám',
previousTrack: 'Előző szám',
showHide: 'Megjelenítés / Elrejtés',
exitPsysonic: 'Kilépés a Psysonicból',
nothingPlaying: 'Semmi sem szól',
};
+12
View File
@@ -0,0 +1,12 @@
export const whatsNew = {
title: 'Újdonságok',
changelogTitle: 'Változásnapló',
viewTabsLabel: 'Kiadási megjegyzések nézet',
viewHighlights: 'Kiemelések',
viewChangelog: 'Változásnapló',
empty: 'Még nincs változásnapló-bejegyzés ehhez a verzióhoz.',
bannerTitle: 'Változásnapló',
bannerCollapsed: 'Újdonságok a(z) v{{version}} verzióban',
dismiss: 'Elvetés',
close: 'Bezárás',
};
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'フォント', font: 'フォント',
fontHintOpenDyslexic: 'ディスレクシアに配慮 · 中国語非対応', fontHintOpenDyslexic: 'ディスレクシアに配慮 · 中国語非対応',
theme: 'テーマ', theme: 'テーマ',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'Skrifttype', font: 'Skrifttype',
fontHintOpenDyslexic: 'Dyslexivennlig · ingen kinesisk støtte', fontHintOpenDyslexic: 'Dyslexivennlig · ingen kinesisk støtte',
theme: 'Tema', theme: 'Tema',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'Lettertype', font: 'Lettertype',
fontHintOpenDyslexic: 'Dyslexie-vriendelijk · geen Chinese ondersteuning', fontHintOpenDyslexic: 'Dyslexie-vriendelijk · geen Chinese ondersteuning',
theme: 'Thema', theme: 'Thema',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageEs: 'Spaniolă', languageEs: 'Spaniolă',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'Font', font: 'Font',
fontHintOpenDyslexic: 'Prietenos cu dislexia · Chineza nu este suportată', fontHintOpenDyslexic: 'Prietenos cu dislexia · Chineza nu este suportată',
theme: 'Temă', theme: 'Temă',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: 'Шрифт', font: 'Шрифт',
fontHintOpenDyslexic: 'Подходит для дислексии · без поддержки китайского', fontHintOpenDyslexic: 'Подходит для дислексии · без поддержки китайского',
theme: 'Тема', theme: 'Тема',
+1
View File
@@ -11,6 +11,7 @@ export const settings = {
languageZh: '中文', languageZh: '中文',
languageRo: 'Română', languageRo: 'Română',
languageJa: '日本語', languageJa: '日本語',
languageHu: 'Magyar',
font: '字体', font: '字体',
fontHintOpenDyslexic: '阅读障碍友好 · 不支持中文', fontHintOpenDyslexic: '阅读障碍友好 · 不支持中文',
theme: '主题', theme: '主题',
+2
View File
@@ -245,7 +245,9 @@ export default function Login() {
{ value: 'nb', label: t('settings.languageNb') }, { value: 'nb', label: t('settings.languageNb') },
{ value: 'ru', label: t('settings.languageRu') }, { value: 'ru', label: t('settings.languageRu') },
{ value: 'zh', label: t('settings.languageZh') }, { value: 'zh', label: t('settings.languageZh') },
{ value: 'ro', label: t('settings.languageRo') },
{ value: 'ja', label: t('settings.languageJa') }, { value: 'ja', label: t('settings.languageJa') },
{ value: 'hu', label: t('settings.languageHu') },
]} ]}
/> />
</div> </div>