Files
Psychotoxical-psysonic/src/locales/nb.ts
T
Frank Stellmacher c982362884 fix(i18n): OpenDyslexic font supports Cyrillic (#513)
* fix(i18n): OpenDyslexic font supports Cyrillic

The OpenDyslexic subtitle in the font picker stated "no RU/ZH support",
but the bundled `@fontsource/opendyslexic` 5.x ships Cyrillic glyphs and
Russian renders correctly — verified empirically. Only Chinese (CJK)
actually falls back to the system font. Updated the subtitle string in
all 8 locales accordingly; the Russian locale itself no longer claims
unsupported-self.

* docs(changelog): correct OpenDyslexic locale-coverage claim (#513)

The #507 entry in the unreleased v1.46.0 block claimed `Latin +
Latin-extended only` and listed Cyrillic among the system-font
fallbacks. Cyrillic glyphs ship in @fontsource/opendyslexic 5.x and
render correctly — only Chinese (CJK) actually falls back. Updated the
bullet in place to match the corrected subtitle hints from this PR.
2026-05-07 23:55:24 +02:00

1796 lines
96 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const nbTranslation = {
sidebar: {
library: 'Bibliotek',
mainstage: 'Hovedscene',
newReleases: 'Nye utgivelser',
allAlbums: 'Alle album',
randomAlbums: 'Tilfeldige album',
randomPicker: 'Lag en miks',
artists: 'Artister',
composers: 'Komponister',
randomMix: 'Tilfeldig miks',
favorites: 'Favoritter',
nowPlaying: 'Spilles nå',
system: 'System',
statistics: 'Statistikk',
settings: 'Innstillinger',
help: 'Hjelp',
expand: 'Utvid sidefelt',
collapse: 'Skjul sidefelt',
downloadingTracks: 'Bufre {{n}} spor…',
syncingTracks: 'Synkroniserer {{done}}/{{total}}…',
cancelDownload: 'Avbryt nedlasting',
offlineLibrary: 'Frakoblet bibliotek',
genres: 'Sjangere',
tracks: 'Spor',
playlists: 'Spillelister',
mostPlayed: 'Mest spilt',
losslessAlbums: 'Lossless',
radio: 'Internettradio',
folderBrowser: 'Mappeleser',
deviceSync: 'Enhetssynk',
libraryScope: 'Biblioteksomfang',
allLibraries: 'Alle biblioteker',
expandPlaylists: 'Utvid spillelister',
collapsePlaylists: 'Skjul spillelister',
more: 'Mer',
feelingLucky: 'Lykkemiks',
},
home: {
hero: 'Utvalgt',
starred: 'Personlige favoritter',
recent: 'Nylig lagt til',
mostPlayed: 'Mest spilt',
recentlyPlayed: 'Nylig spilt',
losslessAlbums: 'Lossless-album',
discover: 'Oppdag',
discoverSongs: 'Oppdag spor',
loadMore: 'Last inn flere',
discoverMore: 'Oppdag flere',
discoverArtists: 'Oppdag artister',
discoverArtistsMore: 'Alle artister',
becauseYouLike: 'Fordi du har hørt…',
becauseYouLikeFor: 'Fordi du har hørt på {{artist}}',
similarTo: 'Likt {{artist}}',
becauseYouLikeTracks_one: '{{count}} spor',
becauseYouLikeTracks_other: '{{count}} spor'
},
hero: {
eyebrow: 'Utvalgt album',
playAlbum: 'Spill av album',
enqueue: 'Legg til i kø',
enqueueTooltip: 'Legg til hele albumet i køen',
},
search: {
placeholder: 'Søk etter artist, album eller sang…',
noResults: 'Ingen resultater funnet for "{{query}}"',
artists: 'Artister',
albums: 'Album',
songs: 'Sanger',
clearLabel: 'Fjern søk',
addedToQueueToast: '«{{title}}» lagt til i køen',
title: 'Søk',
resultsFor: 'Resultater for "{{query}}"',
album: 'Album',
advanced: 'Avansert søk',
advancedSearchTerm: 'Søkeord',
advancedSearchPlaceholder: 'Tittel, album, artist…',
advancedGenre: 'Sjanger',
advancedAllGenres: 'Alle sjangre',
advancedYear: 'År',
advancedYearFrom: 'fra',
advancedYearTo: 'til',
advancedAll: 'Alle',
advancedSearch: 'Søk',
advancedEmpty: 'Skriv inn et søkeord eller velg ett filter for å begynne.',
advancedNoResults: 'Ingen resultater funnet.',
advancedGenreNote: 'Sanger er tilfeldig valgt fra denne sjangeren.',
recentSearches: 'Siste søk',
browse: 'Utforsk',
emptyHint: 'Hva vil du høre?',
genres: 'Sjangre',
},
nowPlaying: {
tooltip: 'Hvem lytter?',
title: 'Hvem lytter?',
loading: 'Laster…',
nobody: 'Ingen lyttere for øyeblikket.',
minutesAgo: '{{n}}m siden',
nothingPlaying: 'Ingenting spiller akkurat å. Start et spor!',
aboutArtist: 'Om artisten',
fromAlbum: 'Fra dette albumet',
viewAlbum: 'Se album',
goToArtist: 'Gå til artist',
readMore: 'Les mer',
showLess: 'Vis mindre',
genreInfo: 'Sjanger',
trackInfo: 'Sporinfo',
topSongs: 'Mest spilt av denne artisten',
topSongsCredit: 'Toppspor fra {{name}}',
trackPosition: 'Spor {{pos}}',
playsCount_one: '{{count}} avspilling',
playsCount_other: '{{count}} avspillinger',
releasedYearsAgo_one: 'for {{count}} år siden',
releasedYearsAgo_other: 'for {{count}} år siden',
discography: 'Diskografi',
lastfmStats: 'Last.fm-statistikk',
thisTrack: 'Dette sporet',
thisArtist: 'Denne artisten',
listeners: 'lyttere',
scrobbles: 'scrobbles',
yourScrobbles: 'av deg',
listenersN: '{{n}} lyttere',
scrobblesN: '{{n}} scrobbles',
playsByYouN: 'spilt {{n}}× av deg',
openTrackOnLastfm: 'Spor på Last.fm',
openArtistOnLastfm: 'Artist på Last.fm',
rgTrackTooltip: 'ReplayGain (spor)',
rgAlbumTooltip: 'ReplayGain (album)',
rgAutoTooltip: 'ReplayGain (auto)',
showMoreTracks: 'Vis {{count}} til',
showLessTracks: 'Vis mindre',
hideCard: 'Skjul kort',
layoutMenu: 'Oppsett',
visibleCards: 'Synlige kort',
hiddenCards: 'Skjulte kort',
noHiddenCards: 'Ingen skjulte kort',
resetLayout: 'Tilbakestill oppsett',
emptyColumn: 'Slipp kort her',
},
contextMenu: {
playNow: 'Spill nå',
playNext: 'Spill neste',
addToQueue: 'Legg til i kø',
enqueueAlbum: 'Legg albumet i kø',
enqueueAlbums_one: 'Legg {{count}} album i kø',
enqueueAlbums_other: 'Legg {{count}} album i kø',
startRadio: 'Start radio',
instantMix: 'Instant Mix',
instantMixFailed: 'Kunne ikke lage Instant Mix — server- eller pluginfeil.',
cliMixNeedsTrack: 'Ingenting spilles — start avspilling først, og kjør mix-kommandoen på nytt.',
lfmLove: 'Lik på Last.fm',
lfmUnlove: 'Fjern fra likte på Last.fm',
favorite: 'Favoritt',
favoriteArtist: 'Favorittartist',
favoriteAlbum: 'Favorittalbum',
unfavorite: 'Fjern fra favoritter',
unfavoriteArtist: 'Fjern artist fra favoritter',
unfavoriteAlbum: 'Fjern album fra favoritter',
removeFromQueue: 'Fjern fra kø',
removeFromPlaylist: 'Fjern fra spilleliste',
openAlbum: 'Åpne album',
goToArtist: 'Gå til artist',
download: 'Last ned (ZIP)',
addToPlaylist: 'Legg til i spilleliste',
selectedPlaylists: '{{count}} spillelister valgt',
selectedAlbums: '{{count}} album valgt',
selectedArtists: '{{count}} artister valgt',
songInfo: 'Sanginfo',
shareLink: 'Kopiér delingslenke',
shareCopied: 'Delingslenke kopiert til utklippstavlen.',
shareCopyFailed: 'Kunne ikke kopiere til utklippstavlen.',
},
sharePaste: {
notLoggedIn: 'Logg inn og legg til serveren før du limer inn en delingslenke.',
noMatchingServer: 'Ingen lagret server samsvarer med denne lenken. Legg til en server med denne adressen: {{url}}',
trackUnavailable: 'Fant ikke dette sporet på serveren.',
albumUnavailable: 'Fant ikke dette albumet på serveren.',
artistUnavailable: 'Fant ikke denne artisten på serveren.',
composerUnavailable: 'Fant ikke denne komponisten på serveren.',
openedTrack: 'Spiller delt spor.',
openedAlbum: 'Åpner delt album.',
openedArtist: 'Åpner delt artist.',
openedComposer: 'Åpner delt komponist.',
openedQueue_one: 'Spiller {{count}} spor fra delingslenken.',
openedQueue_other: 'Spiller {{count}} spor fra delingslenken.',
openedQueuePartial:
'Spiller {{played}} av {{total}} spor fra lenken ({{skipped}} ble ikke funnet på denne serveren).',
queueAllUnavailable: 'Ingen av sporene fra denne lenken ble funnet på serveren.',
genericError: 'Klarte ikke å åpne delingslenken.',
},
albumDetail: {
back: 'Tilbake',
orbitDoubleClickHint: 'Dobbeltklikk for å legge dette sporet til Orbit-køen',
playAll: 'Spill alt',
shareAlbum: 'Del album',
enqueue: 'Legg i kø',
enqueueTooltip: 'Legg hele albumet i kø',
artistBio: 'Artistbiografi',
download: 'Last ned (ZIP)',
downloading: 'Laster…',
cacheOffline: 'Gjør tilgjengelig som frakoblet',
offlineCached: 'Tilgjengelig frakoblet',
offlineDownloading: 'Bufrer… ({{n}}/{{total}})',
removeOffline: 'Fjern frakoblet hurtigbuffer',
offlineStorageFull: 'Frakoblet lagring er full (lagringsgrense: {{mb}} MB). Frigjør plass, ved å slette et album fra ditt frakoblede bibliotek, eller øk lagringsgrensen i Innstillinger.',
offlineStorageGoToLibrary: 'Frakoblet bibliotek',
offlineStorageGoToSettings: 'Innstillinger',
favoriteAdd: 'Legg til i favoritter',
favoriteRemove: 'Fjern fra favoritter',
favorite: 'Favoritt',
noBio: 'Ingen biografi er tilgjengelig.',
moreByArtist: 'Mer av {{artist}}',
tracksCount: '{{n}} spor',
goToArtist: 'Gå til {{artist}}',
moreLabelAlbums: 'Flere album på {{label}}',
trackTitle: 'Tittel',
trackAlbum: 'Album',
trackArtist: 'Artist',
trackGenre: 'Sjanger',
trackFormat: 'Format',
trackFavorite: 'Favoritt',
trackRating: 'Vurdering',
trackDuration: 'Varighet',
trackTotal: 'Totalt',
columns: 'Kolonner',
resetColumns: 'Tilbakestill',
notFound: 'Album ble ikke funnet.',
bioModal: 'Artistbiografi',
bioClose: 'Lukk',
ratingLabel: 'Vurdering',
enlargeCover: 'Forstørr',
filterSongs: 'Filtrer sanger…',
sortNatural: 'Naturlig',
sortByTitle: 'A–Å (Tittel)',
sortByArtist: 'A–Å (Artist)',
sortByAlbum: 'A–Å (Album)',
},
entityRating: {
albumShort: 'Albumvurdering',
artistShort: 'Artistvurdering',
albumAriaLabel: 'Albumvurdering',
artistAriaLabel: 'Artistvurdering',
selectedArtistsRatingAriaLabel: 'Stjernevurdering for {{count}} valgte artister',
selectedAlbumsRatingAriaLabel: 'Stjernevurdering for {{count}} valgte album',
saveFailed: 'Kunne ikke lagre vurderingen.',
},
artistDetail: {
back: 'Tilbake',
albums: 'Album',
album: 'Album',
playAll: 'Spill alt',
shareArtist: 'Del artist',
shuffle: 'Tilfeldig rekkefølge',
radio: 'Radio',
loading: 'Laster…',
noRadio: 'Ingen lignende spor funnet for denne artisten.',
notFound: 'Artisten ble ikke funnet.',
albumsBy: 'Album fra {{name}}',
topTracks: 'Toppspor',
noAlbums: 'Ingen album funnet.',
trackTitle: 'Tittel',
trackAlbum: 'Album',
trackDuration: 'Varighet',
favoriteAdd: 'Legg til i favoritter',
favoriteRemove: 'Fjern fra favoritter',
favorite: 'Favoritt',
albumCount_one: '{{count}} album',
albumCount_other: '{{count}} album',
openedInBrowser: 'Åpnet i nettleser',
featuredOn: 'Også en del av',
similarArtists: 'Lignende artister',
cacheOffline: 'Lagre diskografi som frakoblet',
offlineCached: 'Diskografi bufret',
offlineDownloading: 'Bufrer… ({{done}}/{{total}} album)',
uploadImage: 'Last opp artistbilde',
uploadImageError: 'Kunne ikke laste opp bildet',
releaseTypes: {
album: 'Album',
ep: 'EP',
single: 'Single',
compilation: 'Samling',
live: 'Live',
soundtrack: 'Filmmusikk',
remix: 'Remiks',
other: 'Annet',
},
},
favorites: {
title: 'Favoritter',
empty: "Du har ikke lagret noen favoritter ennå.",
artists: 'Artister',
albums: 'Album',
songs: 'Sanger',
enqueueAll: 'Legg alle i kø',
playAll: 'Spill alle',
removeSong: 'Fjern fra favoritter',
stations: 'Radiostasjoner',
showingFiltered: 'Viser {{filtered}} av {{total}} ({{artist}})',
showingCount: 'Viser {{filtered}} av {{total}}',
clearArtistFilter: 'Tøm artistfilter',
noFilterResults: 'Ingen resultater med valgte filtre.',
allArtists: 'Alle artister',
topArtists: 'Toppartister etter favoritter',
topArtistsSongCount_one: '{{count}} sang',
topArtistsSongCount_other: '{{count}} sanger',
},
randomLanding: {
title: 'Lag en miks',
mixByTracks: 'Miks etter spor',
mixByTracksDesc: 'Tilfeldig utvalg av spor fra hele biblioteket ditt',
mixByAlbums: 'Miks etter album',
mixByAlbumsDesc: 'Tilfeldige album for nye oppdagelser',
mixByLucky: 'Lykkemiks',
mixByLuckyDesc: 'Smart Instant Mix fra toppartister, album og gode vurderinger',
},
randomAlbums: {
title: 'Tilfeldige album',
refresh: 'Oppdater',
},
genres: {
title: 'Sjangre',
genreCount: 'Sjangre',
albumCount_one: '{{count}} album',
albumCount_other: '{{count}} album',
loading: 'Laster sjangre…',
empty: 'Ingen sjangre funnet.',
albumsLoading: 'Laster album…',
albumsEmpty: 'Ingen album funnet for denne sjangeren.',
loadMore: 'Last mer',
back: 'Tilbake',
},
randomMix: {
title: 'Tilfeldig miks',
remix: 'Remiks',
remixTooltip: 'Last inn nye tilfeldige sanger',
remixGenre: 'Remiks {{genre}}',
remixTooltipGenre: 'Last inn nye {{genre}}-sanger',
playAll: 'Spill alt',
trackTitle: 'Tittel',
trackArtist: 'Artist',
trackAlbum: 'Album',
trackFavorite: 'Favoritt',
trackDuration: 'Varighet',
favoriteAdd: 'Legg til i favoritter',
favoriteRemove: 'Fjern fra favoritter',
play: 'Spill',
trackGenre: 'Sjanger',
mixSettingsHeader: 'Miks-innstillinger',
exclusionsHeader: 'Ekskluderinger',
filterPanelInexactSizeNote: 'Miks-størrelsen er et mål — store forespørsler kan returnere færre unike spor hvis serverens tilfeldige pool tar slutt.',
mixSize: 'Listestørrelse',
excludeAudiobooks: 'Ekskluder lydbøker og hørespill',
excludeAudiobooksDesc: 'Samsvarer nøkkelord mot sjanger, tittel, album og artist - f.eks. Hørespill, Lydbok, Spoken Word, …',
genreBlocked: 'Nøkkelord blokkert',
genreAddedToBlacklist: 'Lagt til i filterliste',
genreAlreadyBlocked: 'Allerede blokkert',
artistBlocked: 'Artisten er blokkert',
artistAddedToBlacklist: 'Artist er lagt til i filterliste',
artistClickHint: 'Klikk for å blokkere denne artisten',
blacklistToggle: 'Nøkkelordfilter',
genreMixTitle: 'Sjangermiks',
genreMixDesc: 'Topp 20 sjangre etter antall sanger - klikk for å laste en tilfeldig miks',
genreMixAll: 'Alle sanger',
genreMixLoadMore: 'Last 10 til',
genreMixNoGenres: 'Ingen sjangre funnet på tjeneren.',
shuffleGenres: 'Vis andre sjangre',
filterPanelTitle: 'Filtre',
filterPanelDesc: 'Klikk på en sjanger-tag eller på artistnavnet i sporlisten nedenfor, for å blokkere den fra fremtidige mikser.',
genreClickHint: 'Klikk på en sjanger-tag for å legge den til\nsom et filternøkkelord.\nSamsvarer med sjanger, tittel, album og artist.',
},
luckyMix: {
done: 'Lykkemiks klar: {{count}} spor',
failed: 'Kunne ikke lage Lykkemiksen. Prøv igjen.',
unavailable: 'Lykkemiks er ikke tilgjengelig for denne serveren.',
cancelTooltip: 'Avbryt Lykkemiks-bygging',
},
albums: {
title: 'Alle album',
sortByName: 'A–Å (Album)',
sortByArtist: 'A–Å (Artist)',
sortNewest: 'Vis nyeste først',
sortRandom: 'Tilfeldig',
yearFrom: 'Fra',
yearTo: 'Til',
yearFilterClear: 'Tøm år filteret',
yearFilterLabel: 'År',
compilationLabel: 'Samleplater',
compilationOnly: 'Kun samleplater',
compilationHide: 'Skjul samleplater',
compilationTooltipAll: 'Alle album · klikk: kun samleplater',
compilationTooltipOnly: 'Kun samleplater · klikk: skjul samleplater',
compilationTooltipHide: 'Samleplater skjult · klikk: vis alle',
select: 'Multivalg',
startSelect: 'Aktiver multivalg',
cancelSelect: 'Avbryt',
selectionCount: '{{count}} valgt',
downloadZips: 'Last ned ZIPs',
addOffline: 'Legg til offline',
enqueueSelected_one: 'Legg i kø ({{count}})',
enqueueSelected_other: 'Legg i kø ({{count}})',
enqueueQueued_one: '{{count}} album lagt til i køen',
enqueueQueued_other: '{{count}} album lagt til i køen',
downloadingZip: 'Laster ned {{current}}/{{total}}: {{name}}',
downloadZipDone: '{{count}} ZIP(s) lastet ned',
downloadZipFailed: 'Kunne ikke laste ned {{name}}',
offlineQueuing: 'Legger {{count}} album i kø for offline…',
offlineFailed: 'Kunne ikke legge til {{name}} offline',
},
tracks: {
title: 'Spor',
subtitle: 'Bla. Søk. Oppdag.',
heroEyebrow: 'Sporet akkurat nå',
heroReroll: 'Velg et annet',
playSong: 'Spill av',
enqueueSong: 'Legg til i kø',
railRandom: 'Tilfeldig valg',
railHighlyRated: 'Høyt vurdert',
browseTitle: 'Bla gjennom alle spor',
browseUnsupported: 'Denne tjeneren lister ikke hele biblioteket på én gang. Bruk søket ovenfor for å finne bestemte spor.',
searchPlaceholder: 'Finn et spor etter tittel, artist eller album…',
count_one: '{{count}} spor',
count_other: '{{count}} spor',
},
artists: {
title: 'Artister',
search: 'Søk…',
all: 'Alle',
gridView: 'Rutenettvisning',
listView: 'Listevisning',
imagesOn: 'Artistbilder på - kan øke belastningen på nettverket og applikasjonen',
imagesOff: 'Artistbilder av - viser kun initialer',
loadMore: 'Last flere',
notFound: 'Ingen artister funnet.',
albumCount_one: '{{count}} album',
albumCount_other: '{{count}} album',
selectionCount: '{{count}} valgt',
select: 'Multivalg',
startSelect: 'Aktiver multivalg',
cancelSelect: 'Avbryt',
addToPlaylist: 'Legg til i spilleliste',
},
composers: {
title: 'Komponister',
search: 'Søk…',
notFound: 'Ingen komponister funnet.',
unsupported: 'Bla etter komponist krever Navidrome 0.55 eller nyere.',
loadFailed: 'Kunne ikke laste komponister.',
retry: 'Prøv igjen',
involvedIn_one: 'Bidratt på {{count}} album',
involvedIn_other: 'Bidratt på {{count}} album',
},
composerDetail: {
back: 'Tilbake',
notFound: 'Komponist ikke funnet.',
about: 'Om denne komponisten',
works: 'Verker',
noWorks: 'Ingen verker funnet.',
workCount_one: '{{count}} verk',
workCount_other: '{{count}} verker',
shareComposer: 'Del komponist',
unknownComposer: 'Komponist',
},
login: {
subtitle: 'Din Navidrome-mediaspiller',
serverName: 'Tjenernavn (valgfritt)',
serverNamePlaceholder: 'Mitt mediabibliotek',
serverUrl: 'Tjener-URL',
serverUrlPlaceholder: '192.168.1.100:4533 eller https://musikk.eksempel.com',
username: 'Brukernavn',
usernamePlaceholder: 'admin',
password: 'Passord',
showPassword: 'Vis passord',
hidePassword: 'Skjul passord',
connect: 'Koble til',
connecting: 'Kobler til…',
connected: 'Tilkoblet!',
error: 'Tilkoblingen mislyktes vennligst sjekk instillingene.',
urlRequired: 'Vennligst skriv inn en tjeneer-URL.',
savedServers: 'Lagrede servere',
addNew: 'Eller legg til en ny tjener',
orMagicString: 'Eller magic string',
magicStringPlaceholder: 'Lim inn en delingsstreng (psysonic1-…)',
magicStringInvalid: 'Ugyldig eller uleselig magic string.',
},
connection: {
connected: 'Tilkoblet',
connectedTo: 'Tilkoblet til {{server}}',
disconnected: 'Frakoblet',
disconnectedFrom: 'Kan ikke nå {{server}} - klikk for å sjekke innstillinger',
checking: 'Kobler til…',
extern: 'Ekstern',
offlineTitle: 'Ingen tjenertilkobling',
offlineSubtitle: 'Kan ikke nå {{server}}. Sjekk nettverket eller tjeneren din.',
offlineModeBanner: 'Frakoblet modus - spiller fra lokal hurtigbuffer',
offlineNoCacheBanner: 'Ingen servertilkobling — kan ikke nå {{server}}',
offlineLibraryTitle: 'Frakoblet bibliotek',
offlineLibraryEmpty: 'Ingen album bufret ennå. Kobl deg til nettverket, åpne et album og klikk "Gjør tilgjengelig frakoblet".',
offlineAlbumCount: '{{n}} album',
offlineAlbumCount_plural: '{{n}} album',
offlineFilterAll: 'Alle',
offlineFilterAlbums: 'Album',
offlineFilterPlaylists: 'Spillelister',
offlineFilterArtists: 'Diskografier',
retry: 'Prøv igjen',
serverSettings: 'Serverinnstillinger',
switchServerTitle: 'Bytt server',
switchServerHint: 'Klikk for å velge en annen lagret server.',
manageServers: 'Administrer servere…',
switchFailed: 'Klarte ikke å bytte — serveren er utilgjengelig.',
lastfmConnected: 'Last.fm tilkoblet som bruker @{{user}}',
lastfmSessionInvalid: 'Sesjonen er ugyldig - klikk her for å koble til på nytt',
},
common: {
albums: 'Album',
album: 'Album',
loading: 'Laster…',
loadingMore: 'Laster…',
loadingPlaylists: 'Laster spillelister…',
noAlbums: 'Ingen album funnet.',
downloading: 'Laster ned…',
downloadZip: 'Last ned (ZIP)',
back: 'Tilbake',
cancel: 'Avbryt',
save: 'Lagre',
delete: 'Slett',
use: 'Bruk',
add: 'Legg til',
new: 'Ny',
active: 'Aktiv',
download: 'Last ned',
chooseDownloadFolder: 'Velg nedlastingsmappe',
noFolderSelected: 'Ingen mappe valgt',
rememberDownloadFolder: 'Husk denne mappen',
filterGenre: 'Sjangerfilter',
filterSearchGenres: 'Søk i sjangre…',
filterNoGenres: 'Ingen sjangre samsvarer',
filterClear: 'Tøm',
favorites: 'Favoritter',
favoritesTooltipOff: 'Vis bare favoritter',
favoritesTooltipOn: 'Vis alle',
play: 'Spill',
bulkSelected: '{{count}} valgt',
clearSelection: 'Fjern utvalg',
bulkAddToPlaylist: 'Legg til i spilleliste',
bulkRemoveFromPlaylist: 'Fjern fra spilleliste',
bulkClear: 'Tøm utvalg',
updaterAvailable: 'Ny versjon er tilgjengelig',
updaterVersion: 'v{{version}} er tilgjengelig',
updaterWebsite: 'Nettsted',
updaterModalTitle: 'Ny versjon tilgjengelig',
updaterChangelog: 'Hva er nytt',
updaterDownloadBtn: 'Last ned nå',
updaterSkipBtn: 'Hopp over denne versjonen',
updaterRemindBtn: 'Påminn meg senere',
updaterDone: 'Nedlasting fullført',
updaterShowFolder: 'Vis i mappe',
updaterInstallHint: 'Lukk Psysonic og kjør installasjonsprogrammet manuelt.',
updaterAurHint: 'Installer oppdateringen via AUR:',
updaterErrorMsg: 'Nedlasting mislyktes',
updaterRetryBtn: 'Prøv igjen',
durationHoursMinutes: '{{hours}} t {{minutes}} min',
durationMinutesOnly: '{{minutes}} min',
updaterOpenGitHub: 'Åpne på GitHub',
filters: 'Filter',
more: 'mer',
yearRange: 'Årsspenn',
clearAll: 'Tøm alt',
},
settings: {
title: 'Innstillinger',
language: 'Språk',
languageEn: 'Engelsk',
languageDe: 'Tysk',
languageFr: 'Fransk',
languageNl: 'Nederlandsk',
languageZh: 'Kinesisk',
languageNb: 'Norsk',
languageRu: 'Russisk',
font: 'Skrifttype',
fontHintOpenDyslexic: 'Dyslexivennlig · ingen kinesisk støtte',
theme: 'Tema',
appearance: 'Utseende',
servers: 'Tjenere',
serverName: 'Tjenernavn',
serverUrl: 'Tjener-URL',
serverUrlPlaceholder: '192.168.1.100:4533 eller https://musikk.eksempel.com',
serverUsername: 'Brukernavn',
serverPassword: 'Passord',
addServer: 'Legg til tjener',
addServerTitle: 'Legg til ny tjener',
useServer: 'Bruk',
deleteServer: 'Slett',
noServers: 'Ingen tjenere lagret.',
serverActive: 'Aktiv',
confirmDeleteServer: 'Slett tjener "{{name}}"?',
serverConnecting: 'Kobler til…',
serverConnected: 'Tilkoblet!',
serverFailed: 'Tilkobling mislyktes.',
testBtn: 'Test tilkobling',
testingBtn: 'Tester…',
serverCompatible: 'Laget for Navidrome. Andre Subsonic-kompatible servere (Gonic, Airsonic, …) kan fungere med begrenset funksjonalitet, fordi Psysonic bruker mange Navidrome-spesifikke API-endepunkter.',
userMgmtTitle: 'Brukeradministrasjon',
userMgmtDesc: 'Administrer brukere på denne serveren. Krever admin-rettigheter.',
userMgmtNoAdmin: 'Du trenger admin-rettigheter for å administrere brukere på denne serveren.',
userMgmtLoadError: 'Kunne ikke laste brukere.',
userMgmtLoadFriendly: 'Serveren svarte ikke — som regel en engangsfeil.',
userMgmtRetry: 'Prøv igjen',
userMgmtEmpty: 'Ingen brukere funnet.',
userMgmtYouBadge: 'Deg',
userMgmtAdminBadge: 'Admin',
userMgmtAddUser: 'Legg til bruker',
userMgmtAddUserTitle: 'Ny bruker',
userMgmtEditUserTitle: 'Rediger bruker',
userMgmtUsername: 'Brukernavn',
userMgmtName: 'Visningsnavn',
userMgmtEmail: 'E-post',
userMgmtPassword: 'Passord',
userMgmtPasswordEditHint: 'Skriv inn et nytt passord for å oppdatere det.',
userMgmtRoleAdmin: 'Admin',
userMgmtLibraries: 'Biblioteker',
userMgmtLibrariesAdminHint: 'Administratorbrukere har automatisk tilgang til alle biblioteker.',
userMgmtLibrariesEmpty: 'Ingen biblioteker tilgjengelig på denne serveren.',
userMgmtLibrariesValidation: 'Velg minst ett bibliotek.',
userMgmtLibrariesUpdateError: 'Brukeren ble lagret, men bibliotekstilordning mislyktes',
userMgmtNoLibraries: 'Ingen biblioteker tilordnet',
userMgmtNeverSeen: 'Aldri',
userMgmtSave: 'Lagre',
userMgmtCancel: 'Avbryt',
userMgmtDelete: 'Slett',
userMgmtEdit: 'Rediger',
userMgmtConfirmDelete: 'Slett brukeren «{{username}}»? Dette kan ikke angres.',
userMgmtCreateError: 'Kunne ikke opprette bruker.',
userMgmtUpdateError: 'Kunne ikke oppdatere bruker.',
userMgmtDeleteError: 'Kunne ikke slette bruker.',
userMgmtCreated: 'Bruker opprettet.',
userMgmtUpdated: 'Bruker oppdatert.',
userMgmtDeleted: 'Bruker slettet.',
userMgmtValidationMissing: 'Brukernavn, visningsnavn og passord er påkrevd.',
userMgmtValidationMissingIdentity: 'Brukernavn og visningsnavn er påkrevd.',
userMgmtMagicStringGenerate: 'Generer magic string',
userMgmtSaveAndMagicString: 'Lagre og hent magic string',
userMgmtMagicStringPasswordNavHint:
'Navidrome lagrer dette passordet for brukeren. Hvis det avviker fra det nåværende, oppdateres innloggingspassordet på serveren.',
userMgmtMagicStringPlaintextWarning:
'Del magic string med varsomhet: den inneholder passordet i klartekst (koding er ikke kryptering). Den som har hele strengen, kan logge inn som denne brukeren.',
userMgmtMagicStringCopied: 'Magic string er kopiert til utklippstavlen.',
userMgmtMagicStringCopyFailed: 'Klarte ikke å kopiere til utklippstavlen.',
userMgmtMagicStringLoginFailed: 'Passordsjekk mislyktes — påloggingsdetaljene kunne ikke verifiseres.',
userMgmtMagicStringModalTitle: 'Generer magic string',
userMgmtMagicStringModalDesc: 'Skriv inn Subsonic-passordet for «{{username}}». Det tas med i den kopierte magic string-en.',
userMgmtMagicStringModalConfirm: 'Kopier streng',
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
audiomuseDesc:
'Slå på hvis denne serveren bruker <pluginLink>AudioMuse-AI Navidrome-plugin</pluginLink>. Aktiverer Instant Mix fra spor og henter lignende artister fra serveren i stedet for Last.fm på artistsider.',
audiomuseIssueHint:
'Instant Mix feilet nylig — sjekk Navidrome-plugin og AudioMuse API. Lignende artister hentes fra Last.fm hvis serveren ikke returnerer noe.',
connected: 'Tilkoblet',
failed: 'Mislyktes',
eqTitle: 'Jevnstiller',
eqEnabled: 'Aktiver jevnstiller',
eqPreset: 'Forhåndsinnstilling',
eqPresetCustom: 'Egendefinert',
eqPresetBuiltin: 'Innebygde forhåndsinnstillinger',
eqPresetCustomGroup: 'Mine forhåndsinnstillinger',
eqSavePreset: 'Lagre som forhåndsinnstilling',
eqPresetName: 'Navn på forhåndsinnstilling…',
eqDeletePreset: 'Slett forhåndsinnstilling',
eqResetBands: 'Tilbakestill til standard',
eqPreGain: 'Forforsterkning',
eqResetPreGain: 'Tilbakestill forforsterkning',
eqAutoEqTitle: 'AutoEQ hodetelefonoppslag',
eqAutoEqPlaceholder: 'Søk etter hodetelefon- / IEM-modell…',
eqAutoEqSearching: 'Søker…',
eqAutoEqNoResults: 'Ingen resultater funnet',
eqAutoEqError: 'Søk mislyktes',
eqAutoEqRateLimit: 'GitHub-hastighetsgrense nådd - prøv igjen om ett minutt',
eqAutoEqFetchError: 'Kunne ikke hente EQ-profil',
lfmTitle: 'Last.fm',
lfmConnect: 'Koble til med Last.fm',
lfmConnecting: 'Venter på autorisasjon…',
lfmConfirm: 'Jeg har autorisert appen',
lfmConnected: 'Tilkoblet som',
lfmDisconnect: 'Koble fra',
lfmConnectDesc: 'Koble til din Last.fm-konto for å aktivere scrobbling og få "Nå spiller"-oppdateringer direkte fra Psysonic - ingen Navidrome-konfigurasjon kreves.',
lfmOpenBrowser: 'Et nettleservindu vil åpne seg. Autoriser Psysonic via Last.fm, og klikk deretter på knappen nedenfor.',
lfmScrobbles: '{{n}} scrobbles',
lfmMemberSince: 'Medlem siden {{year}}',
scrobbleEnabled: 'Scrobbling er aktivert',
scrobbleDesc: 'Send sanger til Last.fm etter 50 % avspilling',
behavior: 'App-oppførsel',
cacheTitle: 'Maks. lagringsstørrelse',
cacheDesc: 'Plateomslag og artistbilder. Når den er full, fjernes de eldste oppføringene automatisk. Frakoblede album fjernes ikke automatisk, men slettes når hurtigbufferen tømmes manuelt.',
cacheUsed: 'Brukt: {{images}} bilder · {{offline}} frakoblede spor',
cacheUsedImages: 'Bilder:',
cacheUsedOffline: 'Frakoblede spor:',
cacheUsedHot: 'Plass brukt:',
hotCacheTrackCount: 'Spor i buffer:',
cacheMaxLabel: 'Maks størrelse',
cacheClearBtn: 'Tøm hurtigbuffer',
cacheClearWarning: 'Dette vil også fjerne alle frakoblede album fra biblioteket.',
cacheClearConfirm: 'Tøm alt',
cacheClearCancel: 'Avbryt',
offlineDirTitle: 'Frakoblet bibliotek (In-App)',
offlineDirDesc: 'Lagringsplassering for spor som du gjør tilgjengelige som frakoblet i Psysonic.',
offlineDirDefault: 'Standard (App-data)',
offlineDirChange: 'Endre katalog',
offlineDirClear: 'Tilbakestill til standard',
offlineDirHint: 'Nye nedlastinger vil bruke denne plasseringen. Eksisterende nedlastinger forblir på sin opprinnelige lokasjon.',
hotCacheTitle: 'Varm avspillingsbuffer',
hotCacheDisclaimer: 'Forhåndshenter neste spor i køen og beholder tidligere. Når aktivert: diskplass og nettverk.',
hotCacheDirDefault: 'Standard (App-data)',
hotCacheDirChange: 'Endre mappe',
hotCacheDirClear: 'Tilbakestill til standard',
hotCacheDirHint: 'Bytte mappe nullstiller indeksen i appen; gamle filer blir liggende til du sletter dem.',
hotCacheEnabled: 'Aktiver varm avspillingsbuffer',
hotCacheMaxMb: 'Maks bufferstørrelse',
hotCacheDebounce: 'Utsettelse ved køendring',
hotCacheDebounceImmediate: 'Umiddelbart',
hotCacheDebounceSeconds: '{{n}} sek',
hotCacheClearBtn: 'Tøm varm buffer',
audioOutputDevice: 'Lydutgangsenhet',
audioOutputDeviceDesc: 'Velg hvilken lydenhet Psysonic spiller gjennom. Endringer trer i kraft umiddelbart og starter gjeldende spor på nytt.',
audioOutputDeviceDefault: 'Systemstandard',
audioOutputDeviceRefresh: 'Oppdater enhetsliste',
audioOutputDeviceOsDefaultNow: 'gjeldende systemutgang',
audioOutputDeviceListError: 'Kunne ikke laste listen over lydenheter.',
audioOutputDeviceNotInCurrentList: 'ikke i gjeldende liste',
audioOutputDeviceMacNotice: 'På macOS følger avspillingen av tekniske årsaker alltid systemets lydutgang. Endre målet via Systeminnstillinger → Lyd eller høyttalerikonet i menylinjen. Bakgrunn: CoreAudio utløser en mikrofontillatelsesdialog når en ikke-standard strøm åpnes — vi unngår det ved alltid å bruke systemets standardutgang.',
hiResTitle: 'Innebygd hi-res-avspilling',
hiResEnabled: 'Aktiver innebygd hi-res-avspilling',
hiResDesc: "Begrenser utdata til 44,1 kHz som standard for maksimal stabilitet. Aktiver kun hvis maskinvare og nettverk støtter høye samplingsrater (88,2 kHz+) pålitelig.",
showArtistImages: 'Vis artistbilder',
showArtistImagesDesc: 'Last inn og vis artistbilder i artistoversikten. Denne er deaktivert som standard, for å redusere disk-I/O og nettverksbelastningen på store biblioteker.',
showOrbitTrigger: 'Vis «Orbit» i toppen',
showOrbitTriggerDesc: 'Knappen i toppen for å starte eller bli med i en delt lytteøkt. Skjul den hvis du ikke bruker Orbit — du kan slå den på igjen her.',
minimizeToTray: 'Minimer til oppgavelinjen',
minimizeToTrayDesc: 'Når vinduet lukkes, vil Psysonic bli kjørende i oppgavelinjen fremfor å bli avsluttet.',
preloadMiniPlayer: 'Forhåndslast miniavspiller',
preloadMiniPlayerDesc: 'Bygger miniavspiller-vinduet i bakgrunnen ved appstart slik at det viser innhold umiddelbart ved første åpning. Bruker litt mer minne.',
linuxWebkitSmoothScroll: 'Mykt musehjul (Linux)',
linuxWebkitSmoothScrollDesc: 'På: treg rull med etterslep. Av: trinnvis som i GTK.',
discordRichPresence: 'Discord Rich Presence',
discordRichPresenceDesc: 'Vis sporet som spilles i din Discord-profil. Krever at Discord kjører.',
discordCoverSource: 'Coverkilde',
discordCoverSourceDesc: 'Hvor albumcoveret for Discord-profilen din hentes fra.',
discordCoverNone: 'Ingen (kun app-ikon)',
discordCoverServer: 'Server (via albuminfo)',
discordCoverApple: 'Apple Music',
discordOptions: 'Avanserte Discord-alternativer',
discordTemplates: 'Egendefinerte tekstmaler',
discordTemplatesDesc: 'Tilpass hvilken informasjon som vises på Discord-profilen din. Variabler: {title}, {artist}, {album}',
discordTemplateDetails: 'Primær linje (details)',
discordTemplateState: 'Sekundær linje (state)',
discordTemplateLargeText: 'Album-verktøytips (largeText)',
nowPlayingEnabled: 'Vis i "Nå spiller"',
nowPlayingEnabledDesc: 'Send sporet som spilles av til tjenerens live-lyttervisning. Deaktiver for å stoppe sending av avspillingsdata.',
enableBandsintown: 'Bandsintown-turnédatoer',
enableBandsintownDesc: 'Vis kommende konserter for gjeldende artist i Info-fanen. Data hentes fra det offentlige Bandsintown-API-et.',
lyricsServerFirst: 'Foretrekk server-sangtekst',
lyricsServerFirstDesc: 'Sjekk tjenerlevererte sangtekster (innebygde tagger, sidecar-filer) før LRCLIB. Deaktiver for å bruke LRCLIB først.',
enableNeteaselyrics: 'Netease Cloud Music sangtekster',
enableNeteaselyricsDesc: 'Bruk Netease Cloud Music som siste utvei når server og LRCLIB ikke finner noe. Best dekning for asiatisk og internasjonal musikk.',
lyricsSourcesTitle: 'Sangtekstkilder',
lyricsSourcesDesc: 'Velg hvilke kilder som skal brukes og i hvilken rekkefølge. Dra for å sortere. Deaktiverte kilder hoppes over.',
lyricsSourceServer: 'Tjener',
lyricsSourceLrclib: 'LRCLIB',
lyricsSourceNetease: 'Netease Cloud Music',
lyricsModeStandard: 'Standard',
lyricsModeStandardDesc: 'Tre kilder med fritt valgbar rekkefølge: server-tagger, LRCLIB, Netease.',
lyricsModeLyricsplus: 'YouLyPlus (Karaoke)',
lyricsModeLyricsplusDesc: 'Ord-for-ord-synkronisering fra Apple Music, Spotify, Musixmatch og QQ (fellesskapsbackend). Faller stille tilbake på standardkildene når ingenting finnes.',
lyricsStaticOnly: 'Vis sangtekst som statisk tekst',
lyricsStaticOnlyDesc: 'Viser synkroniserte tekster uten auto-scroll og uten ord-utheving.',
downloadsTitle: 'ZIP Eksport & Arkivering',
downloadsFolderDesc: 'Målmappe for album du laster ned som en ZIP-fil til datamaskinen din.',
downloadsDefault: 'Standard nedlastingsmappe',
pickFolder: 'Velg',
pickFolderTitle: 'Velg nedlastingsmappe',
clearFolder: 'Tøm nedlastingsmappe',
logout: 'Logg ut',
aboutTitle: 'Om Psysonic',
aboutDesc: 'En moderne musikkspiller laget for Navidrome. Bruker Subsonic-API-en pluss Navidrome-spesifikke utvidelser. Bygget på Tauri v2 med en innebygd Rust-lydmotor — lett og rask, men fullpakket med funksjoner: bølgeform-søkelinje, synkroniserte sangtekster, Last.fm-integrasjon, 10-bånds jevnstiller, crossfade, gapless-avspilling, Replay Gain, sjangerlesing og et stort bibliotek med temaer.',
aboutLicense: 'Lisens',
aboutLicenseText: 'GNU GPL v3 - gratis å bruke, endre og distribuere under samme lisens.',
aboutRepo: 'Kildekode på GitHub',
aboutVersion: 'Versjon',
aboutBuiltWith: 'Bygget med Tauri · React · TypeScript · Rust/rodio',
aboutReleaseNotesLabel: 'Versjonsnotater',
aboutReleaseNotesLink: 'Åpne nyhetene for denne versjonen',
aboutContributorsLabel: 'Bidragsytere',
showChangelogOnUpdate: "Vis 'Hva er nytt' ved oppdatering til ny versjon",
showChangelogOnUpdateDesc: "Viser et diskret changelog-banner over Now Playing etter en oppdatering. Klikk åpner versjonsnotatene; X skjuler det.",
randomMixTitle: 'Svarteliste for tilfeldig miks',
luckyMixMenuTitle: 'Vis Lykkemiks i menyen',
luckyMixMenuDesc: 'Aktiverer Lykkemiks i "Lag en miks" og som eget menypunkt når delt navigasjon er aktiv. Vises bare når AudioMuse er aktiv på gjeldende server.',
randomMixBlacklistTitle: 'Egendefinerte filternøkkelord',
randomMixBlacklistDesc: 'Sanger ekskluderes når et nøkkelord samsvarer med sjanger, tittel, album eller artist (aktiv når avkrysningsboksen ovenfor er på).',
randomMixBlacklistPlaceholder: 'Legg til nøkkelord…',
randomMixBlacklistAdd: 'Legg til',
randomMixBlacklistEmpty: 'Ingen egendefinerte nøkkelord lagt til ennå.',
randomMixHardcodedTitle: 'Innebygde nøkkelord (aktiv når avkrysningsboksen er på)',
tabPlayback: 'Avspilling',
tabLibrary: 'Bibliotek',
tabServers: 'Servere',
tabLyrics: 'Sangtekster',
tabPersonalisation: 'Personalisering',
tabIntegrations: 'Integrasjoner',
tabAppearance: 'Utseende',
tabStorage: 'Frakoblet & Cache',
inputKeybindingsTitle: 'Tastatursnarveier',
aboutContributorsCount_one: '{{count}} bidrag',
aboutContributorsCount_other: '{{count}} bidrag',
searchPlaceholder: 'Søk i innstillinger…',
searchNoResults: 'Ingen innstillinger samsvarer med søket ditt.',
aboutMaintainersLabel: 'Ansvarlige',
integrationsPrivacyTitle: 'Personvern-merknad',
integrationsPrivacyBody: 'Alle integrasjoner på denne fanen er <strong>frivillige</strong> og sender, når aktivert, data til eksterne tjenester eller til Navidrome-serveren din. Last.fm mottar lyttehistorikken din, Discord viser gjeldende spor i profilen din, Bandsintown spørres per artist for turnédatoer, og "Spilles nå"-delingen publiserer gjeldende spor til andre brukere av Navidrome-serveren din. Hvis du ikke ønsker noe av dette, la den aktuelle seksjonen stå deaktivert.',
homeCustomizerTitle: 'Hjemmeside',
sidebarTitle: 'Sidefelt',
sidebarReset: 'Tilbakestill til standard',
artistLayoutTitle: 'Artistsidens seksjoner',
artistLayoutDesc: 'Dra for å omorganisere, veksle for å skjule individuelle seksjoner av artistsiden. Seksjoner uten data hoppes over automatisk.',
artistLayoutReset: 'Tilbakestill til standard',
artistLayoutBio: 'Artistbiografi',
artistLayoutTopTracks: 'Toppspor',
artistLayoutSimilar: 'Lignende artister',
artistLayoutAlbums: 'Album',
artistLayoutFeatured: 'Også med på',
sidebarDrag: 'Dra for å endre rekkefølge',
sidebarFixed: 'Alltid synlig',
randomNavSplitTitle: 'Del Mix-navigasjon',
randomNavSplitDesc: 'Vis "Tilfeldig miks", "Tilfeldige album" og "Lykkemiks" som separate sidefeltsoppføringer i stedet for "Lag en miks"-huben.',
tabShortcuts: 'Snarveier',
tabUsers: 'Brukere',
tabSystem: 'System',
loggingTitle: 'Loggføring',
loggingModeDesc: 'Styrer hvor detaljert backend-loggene i terminalen er.',
loggingModeOff: 'Av',
loggingModeNormal: 'Normal',
loggingModeDebug: 'Debug',
loggingExport: 'Eksporter logger',
loggingExportSuccess: 'Logger eksportert ({{count}} linjer).',
loggingExportError: 'Kunne ikke eksportere logger.',
ratingsSectionTitle: 'Vurderinger',
ratingsSkipStarTitle: 'Hopp for 1 stjerne',
ratingsSkipStarDesc:
'Etter flere hopp på rad: sett sporet til 1 stjerne. Bare for spor som ikke var vurdert før.',
ratingsSkipStarThresholdLabel: 'Hopp',
ratingsMixFilterTitle: 'Filtrering etter vurdering',
ratingsMixFilterDesc:
'Filtrer innhold med lav vurdering i {{mix}} og {{albums}}. Klikk på den valgte stjerna igjen for å slå av terskelen.',
ratingsMixMinSong: 'Spor',
ratingsMixMinAlbum: 'Album',
ratingsMixMinArtist: 'Artister',
ratingsMixMinThresholdAria: 'Minimum stjerner: {{label}}',
backupTitle: 'Sikkerhetskopiering og gjenoppretting',
backupExport: 'Eksporter innstillinger',
backupExportDesc: 'Lagrer alle innstillinger, tjenerprofiler, Last.fm-konfigurasjon, tema, jevnstiller og tastebindinger til en .psybkp-fil. Passordet lagres i klartekst hold filen sikker.',
backupImport: 'Importer innstillinger',
backupImportDesc: 'Gjenoppretter innstillinger fra en .psybkp-fil. Applikasjonen starter på nytt etter import.',
backupImportConfirm: 'Dette vil overskrive alle gjeldende innstillinger. Vil du fortsette?',
backupSuccess: 'Sikkerhetskopiering lagret',
backupImportSuccess: 'Innstillinger gjenopprettet laster inn data på nytt…',
backupImportError: 'Ugyldig eller ødelagt fil for sikkerhetskopi.',
shortcutsReset: 'Tilbakestill til standardinnstillinger',
shortcutListening: 'Trykk på en tast…',
shortcutUnbound: '-',
globalShortcutsTitle: 'Globale snarveier',
globalShortcutsNote: 'Arbeid systemomfattende selv når Psysonic er i bakgrunnen. Krever Ctrl, Alt eller Super som modifikator.',
shortcutClear: 'Fjern',
shortcutPlayPause: 'Spill av / Pause',
shortcutNext: 'Neste spor',
shortcutPrev: 'Forrige spor',
shortcutVolumeUp: 'Volum opp',
shortcutVolumeDown: 'Volum ned',
shortcutSeekForward: 'Søk fremover 10 sekunder',
shortcutSeekBackward: 'Søk bakover 10 sekunder',
shortcutToggleQueue: 'Veksle kø',
shortcutOpenFolderBrowser: 'Åpne {{folderBrowser}}',
shortcutFullscreenPlayer: 'Fullskjermsspiller',
shortcutNativeFullscreen: 'Naturlig fullskjerm',
shortcutOpenMiniPlayer: 'Åpne minispiller',
shortcutStartSearch: 'Start et søk',
shortcutStartAdvancedSearch: 'Start et avansert søk',
shortcutToggleSidebar: 'Veksle sidefelt',
shortcutMuteSound: 'Demp lyd',
shortcutToggleEqualizer: 'Åpne / veksle Equalizer',
shortcutToggleRepeat: 'Veksle gjenta',
shortcutOpenNowPlaying: 'Åpne "Spilles nå"',
shortcutShowLyrics: 'Vis sangtekst',
shortcutFavoriteCurrentTrack: 'Legg gjeldende spor til favoritter',
shortcutOpenHelp: 'Hjelp',
playbackTitle: 'Avspilling',
replayGain: 'Replay Gain',
replayGainDesc: 'Normaliser sporvolumet ved hjelp av ReplayGain-metadata',
replayGainMode: 'Modus',
replayGainAuto: 'Auto',
replayGainAutoDesc: 'Bruker albumforsterkning når nabospor i køen er fra samme album, ellers sporforsterkning.',
replayGainTrack: 'Spor',
replayGainAlbum: 'Album',
replayGainPreGain: 'Pre-Gain (taggede filer)',
replayGainPreGainDesc: 'Universelt løft som legges på hver ReplayGain-beregning. Nyttig hvis biblioteket ditt totalt sett virker for stille.',
replayGainFallback: 'Reserveverdi (uten tagger / radio)',
replayGainFallbackDesc: 'Brukes for spor (og radiostrømmer) uten ReplayGain-tagger, slik at utagget innhold ikke spretter høyere enn resten.',
normalization: 'Normalisering',
normalizationDesc: 'Jevn ut opplevd loudness mellom spor, album og radio.',
normalizationOff: 'Av',
normalizationReplayGain: 'ReplayGain',
normalizationLufs: 'LUFS',
loudnessTargetLufs: 'Mål-LUFS',
loudnessTargetLufsDesc: 'Referanse-loudness alle spor matches mot. Lavere tall = høyere utgang. Strømmetjenester ligger vanligvis rundt -14 LUFS.',
loudnessPreAnalysisAttenuation: 'Demping før måling',
loudnessPreAnalysisAttenuationDesc:
'Ekstra demping til loudness for sporet er lagret. Streaming bruker deretter grove anslag, ikke full måling. 0 dB = av; lavere = roligere. Til høyre vises effektiv dB for valgt mål.',
loudnessPreAnalysisAttenuationRef: 'Effektivt {{eff}} dB med mål {{tgt}} LUFS.',
loudnessPreAnalysisAttenuationReset: 'Standard',
loudnessFirstPlayNote:
'Første avspilling av et helt nytt spor kan drive litt i volum mens målingen skjer. Neste gang brukes den lagrede målingen, og alt blir stabilt. Kommende spor i køen blir vanligvis pre-analysert mens det forrige spilles, så dette skjer sjelden i praksis.',
crossfade: 'Crossfade',
crossfadeDesc: 'Tone mellom spor',
crossfadeSecs: '{{n}}s',
notWithGapless: 'Ikke tilgjengelig mens Gapless er aktiv',
notWithCrossfade: 'Ikke tilgjengelig mens Crossfade er aktiv',
gapless: 'Gapless avspilling',
gaplessDesc: 'Forhåndsbuffer neste spor for å eliminere mellomrom mellom sanger',
preservePlayNextOrder: 'Behold "Spill neste"-rekkefølge',
preservePlayNextOrderDesc: 'Nye "Spill neste"-elementer havner bak de eksisterende i stedet for å snike seg foran.',
trackPreviewsTitle: 'Sporforhåndsvisning',
trackPreviewsToggle: 'Aktiver sporforhåndsvisning',
trackPreviewsDesc: 'Vis innebygde Spill- og Forhåndsvisning-knapper i sporlister for en kort smakebit fra midten av sangen.',
trackPreviewStart: 'Startposisjon',
trackPreviewStartDesc: 'Hvor langt inn i sporet forhåndsvisningen starter (% av lengden).',
trackPreviewDuration: 'Varighet',
trackPreviewDurationDesc: 'Hvor lenge hver forhåndsvisning spiller før den stopper.',
trackPreviewDurationSecs: '{{n}} s',
trackPreviewLocationsTitle: 'Hvor forhåndsvisninger vises',
trackPreviewLocationsDesc: 'Velg hvilke lister som viser forhåndsvisningsknapper.',
trackPreviewLocation_suggestions: 'I spillelisteforslag',
trackPreviewLocation_albums: 'I albumsporlister',
trackPreviewLocation_playlists: 'I spillelister',
trackPreviewLocation_favorites: 'I favoritter',
trackPreviewLocation_artist: 'I artistens toppspor',
trackPreviewLocation_randomMix: 'I Random Mix',
infiniteQueue: 'Uendelig kø',
infiniteQueueDesc: 'Legg automatisk til tilfeldige spor når køen går tom',
experimental: 'Eksperimentell',
preloadMode: 'Forhåndslast neste spor',
preloadModeDesc: 'Når buffering av neste spor i køen skal starte',
nextTrackBufferingTitle: 'Bufring',
preloadHotCacheMutualExclusive: 'Forhåndslasting og Hot Cache tjener samme formål bare én kan være aktiv om gangen. Å aktivere den ene deaktiverer automatisk den andre.',
preloadOff: 'Av',
preloadBalanced: 'Balansert (30 s før slutt)',
preloadEarly: 'Tidlig (etter 5 s avspilling)',
preloadCustom: 'Egendefinert',
preloadCustomSeconds: 'Sekunder før slutt: {{n}}',
fsPlayerSection: 'Fullskjermspiller',
fsShowArtistPortrait: 'Vis artistbilde',
fsShowArtistPortraitDesc: 'Vis artistbilde (eller albumomslag) på høyre side av fullskjermspilleren.',
fsPortraitDim: 'Mørklegging av bilde',
fsLyricsStyle: 'Tekststil',
fsLyricsStyleRail: 'Skinner',
fsLyricsStyleRailDesc: 'Klassisk 5-linjes glidende skinner.',
fsLyricsStyleApple: 'Rulling',
fsLyricsStyleAppleDesc: 'Fullskjerm rulleliste.',
sidebarLyricsStyle: 'Rullestil for tekst',
sidebarLyricsStyleClassic: 'Klassisk',
sidebarLyricsStyleClassicDesc: 'Aktiv linje sentreres.',
sidebarLyricsStyleApple: 'Apple Music-like',
sidebarLyricsStyleAppleDesc: 'Aktiv linje forankres øverst med jevn animasjon.',
seekbarStyle: 'Søkefelt-stil',
seekbarStyleDesc: 'Velg utseendet på avspillingssøkefeltet',
seekbarTruewave: 'Ekte bølgeform',
seekbarPseudowave: 'Pseudo-bølgeform',
seekbarLinedot: 'Linje & punkt',
seekbarBar: 'Linje',
seekbarThick: 'Tykk linje',
seekbarSegmented: 'Segmentert',
seekbarNeon: 'Neon',
seekbarPulsewave: 'Pulsbølge',
seekbarParticletrail: 'Partikkelspor',
seekbarLiquidfill: 'Væskerør',
seekbarRetrotape: 'Retrotape',
themeSchedulerTitle: 'Tidsplanlagt tema',
themeSchedulerEnable: 'Aktiver temaplanlegger',
themeSchedulerEnableSub: 'Bytter automatisk mellom to temaer basert på tidspunkt',
themeSchedulerDayTheme: 'Dagtema',
themeSchedulerDayStart: 'Dag starter kl.',
themeSchedulerNightTheme: 'Natttema',
themeSchedulerNightStart: 'Natt starter kl.',
themeSchedulerActiveHint: 'Temaplanlegger er aktiv - temaer byttes automatisk.',
visualOptionsTitle: 'Visuelle Alternativer',
coverArtBackground: 'Cover-bakgrunn',
coverArtBackgroundSub: 'Vis uskarpt cover som bakgrunn i album/playlist-overskrifter',
playlistCoverPhoto: 'Playlist-coverfoto',
playlistCoverPhotoSub: 'Vis coverfoto-rutenett i playlist-detailedvisning',
showBitrate: 'Vis Bitrate',
showBitrateSub: 'Vis audio-bitrate i sporlister',
floatingPlayerBar: 'Flytende Spillerlinje',
floatingPlayerBarSub: 'Hold spillerlinjen flytende over innholdet',
uiScaleTitle: 'Grensesnittskala',
uiScaleLabel: 'Zoom',
},
changelog: {
modalTitle: "Nyheter",
dontShowAgain: "Ikke vis igjen",
close: 'Forstått',
},
whatsNew: {
title: 'Nyheter',
empty: 'Ingen endringslogg for denne versjonen ennå.',
bannerTitle: 'Changelog',
bannerCollapsed: 'Nyheter i v{{version}}',
dismiss: 'Skjul',
close: 'Lukk',
},
help: {
title: 'Hjelp',
searchPlaceholder: 'Søk i hjelpen…',
noResults: 'Ingen treff. Prøv et annet søkeord.',
s1: 'Komme i gang',
q1: 'Hvilke servere er kompatible?',
a1: 'Psysonic er primært bygget for Navidrome og er fullt Subsonic-kompatibel — Gonic, Airsonic, LMS og andre Subsonic-API-servere fungerer også. Noen avanserte funksjoner (vurderinger, smarte spillelister, Magic-String-deling, brukerhåndtering) krever Navidrome.',
q2: 'Hvordan legger jeg til en server?',
a2: 'Innstillinger → Servere → Legg til server. Skriv inn URL (f.eks. http://192.168.1.100:4533), brukernavn og passord. Psysonic tester tilkoblingen før lagring — ingenting lagres ved feil. Du kan legge til så mange servere du vil og bytte mellom dem i toppen; bare én er aktiv om gangen.',
q3: 'Rask UI-omvisning?',
a3: 'Sidefelt (venstre) for navigasjon, Mainstage / sider i midten, spillerbaren nederst, kø-panelet til høyre (åpnes via ikonet øverst til høyre ved siden av Now-Playing-indikatoren). Søkefeltet øverst søker i hele biblioteket; «Now Playing» viser hva andre brukere på samme Navidrome-server hører på akkurat nå.',
s2: 'Avspilling & Kø',
q4: 'Hvordan bruker jeg køen?',
a4: 'Åpne kø-panelet fra toppen til høyre. Dra rader for å omorganisere, dra dem utenfor for å fjerne, eller bruk verktøylinjen for å blande, lagre køen som spilleliste eller hoppe til en låt. Dra rader ut av panelet for å slippe dem et annet sted som overføring.',
q5: 'Gapless vs Crossfade — hva er forskjellen?',
a5: 'Gapless forhåndslager neste låt slik at det er null stillhet mellom låtene (ideelt for liveplater og DJ-mikser). Crossfade toner gjeldende låt ut mens neste tones inn over 110 s (ideelt for blandede mikser). De er gjensidig utelukkende — å aktivere én deaktiverer den andre. Konfigureres i Innstillinger → Lyd.',
q6: 'Hva er Infinite Queue?',
a6: 'Når køen tar slutt og Gjenta er av, legger Psysonic stille til lignende/tilfeldige låter fra biblioteket ditt slik at avspillingen aldri stopper. Auto-lagte låter vises under et «— Lagt til automatisk —»-skille. Slå på/av via uendelighetssymbolet i kø-toppen; begrens auto-tilføyelser til en sjanger i Innstillinger → Kø.',
q7: 'Multi-utvalg og Shift-klikk-rekkevidde?',
a7: 'Aktiver «Velg» på Album / Nye utgivelser / Random Albums / Spillelister. Klikk et element for å veksle, hold deretter Shift og klikk et annet element — alt mellom dem i synlig rekkefølge blir valgt. Shift-klikk utvider fra det sist klikkede ankerpunktet. Verktøylinjen over rutenettet tilbyr handlinger for flere (kø, nedlasting, sletting, osv.).',
q8: 'Tastatursnarveier og globale hurtigtaster?',
a8: 'Standard i-app-taster: Mellomrom = Spill / Pause, Esc = lukk fullskjerm / modaler, F1 = snarveisreferanse. Innstillinger → Inndata lar deg tilbakestille hver i-app-handling (inkludert akkorder som Ctrl+Shift+P) og sette systemomfattende globale snarveier som virker selv når Psysonic er i bakgrunnen. Mediataster (Spill/Pause, Neste, Forrige) virker på alle plattformer.',
s3: 'Lydverktøy',
q9: 'Replay Gain-modi?',
a9: 'Innstillinger → Lyd → Replay Gain. Spor-modus normaliserer hver låt til et målnivå. Album-modus bevarer lydstyrkekurven innen et album. Auto-modus velger Spor eller Album basert på om køen kommer fra ett enkelt album. Spor uten Replay Gain-tagger faller tilbake til en konfigurerbar forforsterker.',
q10: 'Hva er Smart Loudness Normalization (LUFS)?',
a10: 'Et moderne alternativ til Replay Gain i Innstillinger → Lyd. Psysonic analyserer hver låt til LUFS / EBU R128 og lagrer resultatet, så lyden er konsistent på tvers av hele biblioteket — også låter uten Replay Gain-tagger. Cold-cache-analyse kjører i bakgrunnen og bruker 3540 % CPU i ~1 minutt, deretter 0. Sett målnivået (standard 10 LUFS) én gang.',
q11: 'EQ og AutoEQ?',
a11: 'En 10-bånds parametrisk EQ i Innstillinger → Lyd → Equalizer med manuelle bånd og forhåndsinnstillinger. AutoEQ ved siden av henter en målt korreksjonsprofil for hodetelefonmodellen din fra AutoEQ-databasen og bruker den automatisk på båndene — velg hodetelefonene dine, EQ-en låser på riktig kurve.',
q12: 'Hvordan bytter jeg lydutgangsenhet?',
a12: 'Innstillinger → Lyd → Utgangsenhet. Psysonic lister alle tilgjengelige utganger og bytter umiddelbart når du velger. Oppdater-knappen finner enheter som ble koblet til etter oppstart. Linux ALSA-navn som «sysdefault» blir auto-renset for lesbarhet.',
q13: 'Hva er Hot Cache?',
a13: 'Hot Cache forhåndslaster gjeldende låt pluss de neste i RAM og på disk slik at avspillingen starter uten buffer-forsinkelse — særlig nyttig på trege / fjerne servere. Eviksjon utløses når størrelsesgrensen nås. Konfigurer størrelse og debounce-forsinkelse (slik at raske skip ikke overhenter) i Innstillinger → Lyd.',
s4: 'Bibliotek & Oppdagelse',
q14: 'Hvordan fungerer vurderinger og Skip-to-1★?',
a14: 'Psysonic støtter 15-stjerners vurderinger via OpenSubsonic (Navidrome ≥ 0.53). Vurder låter i sporlister, i høyreklikkmenyen eller i spillerbaren under artistnavnet; album på albumsiden; artister på artistsiden. Skip-to-1★ (Innstillinger → Bibliotek → Vurderinger) gir automatisk 1 stjerne etter et konfigurerbart antall sammenhengende skip. Samme panel lar deg sette en minimum vurdering for genererte mikser.',
q15: 'Hvordan blar jeg — Mapper, Sjangre, Spor?',
a15: 'Mappebrowseren (sidefelt) går gjennom serverens musikkmappe i Miller-kolonneoppsett — klikk en mappe for å gå inn, klikk en låt eller spillikonet på en mappe for å spille / legge til. Sjangre bruker en tag-sky-visning skalert etter antall spor; klikk en sjanger for å åpne. Spor er en flat bibliotekshub med kolonnesorterbar virtuell liste og live søk.',
q16: 'Søk og avansert søk?',
a16: 'Søkefeltet i toppen kjører rask live-søk på artister, album og spor mens du skriver. Åpne Avansert søk (sidefelt) for en rikere visning: filtrer etter år, sjanger, vurdering, format, kanaler, samplingsfrekvens, BPM, stemning, og kombiner kriterier. Høyreklikk på et resultat for samme kontekstmeny som ellers.',
q17: 'Hva er Mixene (Random / Sjanger / Super Genre / Lucky)?',
a17: 'Random Mix bygger en spilleliste av tilfeldige låter fra biblioteket; Nøkkelordfilteret ekskluderer lydbøker, komedie etc. ved hjelp av sjanger / tittel / album-undertekster. Super Genre Mix grupperer biblioteket i brede stiler (Rock, Metal, Elektronisk, Jazz, Klassisk …) og bygger en fokusert miks. Lucky Mix bruker lyttehistorikk, vurderinger og AudioMuse-AI-lignende spor for å sette sammen en spilleliste med ett klikk.',
q18: 'Statistikkside?',
a18: 'Statistikk (sidefelt) viser topp artister, topp album, topp spor, sjangerfordeling, lyttetid over tid, og per-bibliotek-omfang når du har flere musikkmapper konfigurert. Flere visninger kan eksporteres som delbart kortbilde.',
q19: 'Hvordan laster jeg ned et album som ZIP?',
a19: 'Albumside → «Last ned (ZIP)». Serveren komprimerer albumet først — for store eller tapsfrie album (FLAC / WAV) vises fremdriftsfeltet først når zipping er fullført og overføringen begynner. Dette er normalt.',
s5: 'Lyrikk',
q20: 'Hvor kommer lyrikken fra?',
a20: 'Tre kilder, konfigurerbare i Innstillinger → Lyrikk: Navidrome-serveren (innebygd / OpenSubsonic-lyrikk), LRCLIB (felles synkroniserte tekster) og NetEase Cloud Music (stort asiatisk + internasjonalt katalog). Hver kilde kan aktiveres / deaktiveres og prioriteres ved drag.',
q21: 'Hvordan ser jeg lyrikk under avspilling?',
a21: 'Klikk på mikrofonikonet i spillerbaren for å åpne Lyrikk-fanen i kø-panelet. Synkronisert lyrikk auto-skroller og støtter klikk-for-å-hoppe; klartekst skroller som en statisk blokk. Veksle Fullskjermspilleren via spillerbarens cover for en oppslukende lyrikk-visning med mesh-blob-bakgrunn.',
s6: 'Deling & Sosialt',
q22: 'Hva er Magic Strings?',
a22: 'Magic Strings er korte kopier-lim-tokens som deler ting mellom Psysonic-brukere uten noen tredjeparts server. Server-Invite-strenger lar en venn onboarde til Navidrome-serveren din med ett lim; Album- / Artist- / Kø Magic Strings åpner samme album / artist / kø hos mottaker. Generer fra del-menyen, lim dem inn i søkefeltet for å bruke.',
q23: 'Hva er Orbit?',
a23: 'Orbit er synkronisert lytte-sammen: en vert spiller en låt, hver gjest hører den synkront, og gjester kan foreslå låter verten kan godta i køen. Start en økt fra Orbit-knappen i toppen, del invitasjonslenken, og andre kan bli med fra hvilken som helst Psysonic-installasjon. Verten eier avspillingen (skip, søk, kø) — gjester får sanntidsvisning og en forslagsboks. Økter er flyktige og avsluttes når verten lukker dem.',
q24: 'Hva er Now Playing-rullegardinen?',
a24: 'Kringkastingsikonet øverst til høyre viser hva andre brukere på Navidrome-serveren din hører på akkurat nå, oppdatert hvert 10. sekund. Din egen oppføring forsvinner i det øyeblikket du pauser. Per-server, så brukere på en annen aktiv server vises ikke.',
s7: 'Personalisering',
q25: 'Temaer og temaplanlegger?',
a25: 'Innstillinger → Utseende → Tema velger fra 60+ temaer i 8 grupper (Psysonic, Mediaplayer, Operativsystemer, Spill, Filmer, Serier, Sosiale medier, Open Source Classics — Catppuccin / Nord / Gruvbox / Nightfox / Dracula). Auto-Switch Theme lar deg sette et dag-tema + natt-tema med starttider slik at Psysonic bytter automatisk.',
q26: 'Kan jeg tilpasse Sidefeltet, Hjem og Artistside?',
a26: 'Ja — Innstillinger → Personalisering. Sidefelt-tilpasseren lar deg dra nav-elementer i ønsket rekkefølge og skjule de du ikke bruker. Hjem-tilpasseren slår av/på hver Mainstage-rad (Hero, Recent, Discover, Recently Played, Starred …). Artistside-tilpasseren omorganiserer seksjonene (Topplåter, Album, Singler, Compilations, Lignende artister, etc.) og lar deg skjule de du aldri ser på.',
q27: 'Hva er Mini Player?',
a27: 'Et lite flytende vindu med cover, transport-kontroller og en kompakt kø. Åpnes fra mini-player-ikonet i spillerbaren eller med tastatursnarveien. Vinduet husker posisjon og størrelse mellom økter. På Windows opprettes mini-webview-en på forhånd ved oppstart slik at åpningen er umiddelbar; Linux / macOS aktiverer dette via Innstillinger → Utseende → Forhåndslast mini-spiller.',
q28: 'Hva er Floating Player Bar?',
a28: 'En valgfri spillerbar-stil (Innstillinger → Utseende) som løsriver seg fra bunnkanten med tema-bakgrunn, accent-kant, avrundet albumcover og en sentrert volum-seksjon. Nyttig på høye skjermer eller kompakte temaer.',
q29: 'Spor-forhåndsvisning ved hover?',
a29: 'Hover over en sporrad, klikk den lille forhåndsvisning-knappen på coveret, eller utløs forhåndsvisning fra høyreklikkmenyen — Psysonic strømmer de første ~15 s gjennom samme Rust-lyd-engine slik at lydstyrkenormalisering gjelder. Nyttig for å bla gjennom et album du ikke har hørt før.',
q30: 'Sleep timer?',
a30: 'Klikk på måneikonet i spillerbaren for å åpne sleep timer. Velg en varighet (eller «slutten av nåværende låt») og Psysonic toner ut og pauser ved slutten. Knappen viser en sirkulær ring og en innebygd nedtelling mens timeren går.',
q31: 'UI-skala, font, seekbar-stil?',
a31: 'Innstillinger → Utseende — Grensesnitt-skala (80125 % uten å påvirke systemets fontstørrelse), Font (10 UI-fonter inkludert IBM Plex Mono, Fira Code, Geist, Golos Text…), Seekbar-stil (Bølgeform analysert / pseudobølge deterministisk / Linje & Punkt / Bjelke / Tykk Bjelke / Segmentert / Neon-Glow / Pulsbølge / Partikkelspor / Flytende Fyll / Retro Tape).',
s8: 'Power User',
q32: 'CLI player-kontroller?',
a32: 'Psysonic-binæren fungerer også som fjernkontroll. Eksempler: psysonic --player play / pause / next / prev, --player volume 75, --player seek 15, --player shuffle, --player repeat off|all|one, --player rating 1-5. Bytt servere, lydenheter, biblioteker; utløs Instant Mix; søk artister / album / spor. Komplett liste med psysonic --player --help. Shell-fullføring for bash og zsh via psysonic completions.',
q33: 'Smarte spillelister (Navidrome)?',
a33: 'Smarte spillelister er Navidrome-side dynamiske spillelister definert av regler (sjanger = Rock OG år > 2020, etc.). Spillelister-siden i Psysonic lar deg opprette, redigere og slette dem med en visuell regelredigerer — Psysonic snakker med Navidromes native API for det. De oppfører seg som vanlige spillelister i resten av appen og oppdateres automatisk når biblioteket endres.',
q34: 'Sikkerhetskopiere og gjenopprette innstillinger?',
a34: 'Innstillinger → Lagring → Sikkerhetskopi & Gjenoppretting eksporterer serverprofiler, temaer, snarveier og andre innstillinger til en enkelt JSON-fil. Importer den på en annen maskin eller etter en reinstallasjon for å gjenopprette alt. Server-passord er inkludert — hold filen privat.',
q35: 'Hvor ser jeg alle åpen kildekode-lisenser?',
a35: 'Innstillinger → System → Open Source Licenses. Den fullstendige avhengighetslisten (cargo crates og npm-pakker) leveres med innebygde lisenstekster. Klikk på en oppføring for full tekst; det kuraterte fremhevingsblokket øverst viser de brukerkjente bibliotekene (Tauri, React, rodio, symphonia, etc.).',
s9: 'Offline & Sync',
q36: 'Offline-modus — cache album og spillelister?',
a36: 'Åpne et album eller en spilleliste og klikk på nedlastingsikonet i headeren — Psysonic cacher hver låt lokalt slik at den spilles av fra disk uten nettverkskall. Offline Library-siden (sidefelt) viser alt som er cachet, viser fremdrift under nedlasting, og lar deg fjerne med søppelbøtte-ikonet (som vises etter at en nedlasting er fullført).',
q37: 'Offline-lagringsgrense?',
a37: 'Innstillinger → Bibliotek → Offline lar deg sette en maksimal cache-størrelse. Når grensen nås, viser albumsidens nedlastingsknapp et advarselsbanner. Frigjør plass ved å fjerne album eller spillelister fra Offline Library-siden.',
q38: 'Device Sync — kopiere musikk til USB / SD?',
a38: 'Device Sync (sidefelt) kopierer album, spillelister eller hele artister til en ekstern stasjon for offline lytting på andre enheter. Velg en målmappe, velg kilder fra browserfanene, klikk «Overfør til enhet». Psysonic skriver et manifest (psysonic-sync.json) slik at det vet hvilke filer som allerede er der, selv hvis du åpner Device Sync på et annet OS med en annen filnavn-mal. Maler støtter {artist} / {album} / {title} / {track_number} / {disc_number} / {year}-tokens med / som mappe-skille.',
s10: 'Integrasjoner & Feilsøking',
q39: 'Last.fm-scrobbling?',
a39: 'Innstillinger → Integrasjoner → Last.fm. Koble til kontoen din én gang og Psysonic scrobbler direkte til Last.fm — ingen Navidrome-konfigurasjon trengs. En scrobble sendes etter at du har hørt 50 % av en låt. Now-playing-pings sendes ved start.',
q40: 'Discord Rich Presence?',
a40: 'Innstillinger → Integrasjoner → Discord viser gjeldende låt på Discord-profilen din. Velg mellom app-ikonet, serverens cover-art (via getAlbumInfo2 — krever en offentlig nåbar server), eller Apple Music-cover. Tilpass visningsstrenger (detaljer, tilstand, verktøytips) med token-maler.',
q41: 'Bandsintown-turnedato?',
a41: 'Opt-in under Innstillinger → Integrasjoner → Now-Playing Info. Now Playing-fanen på Now Playing-siden viser deretter kommende turnedater for artisten som spiller via Bandsintown widget API. Av som standard — ingen forespørsler gjøres før du aktiverer.',
q42: 'Internet Radio — spille livestrømmer?',
a42: 'Internet Radio (sidefelt) spiller enhver livestrøm lagret på Navidrome-serveren din (legg til stasjoner via Navidrome admin UI). Avspilling kjører gjennom nettleserens HTML5-lyd-engine — de fleste EQ / Replay Gain / Loudness-innstillinger gjelder ikke for radio, men ICY-metadata (gjeldende låtnavn) vises. Støtter MP3, AAC, OGG Vorbis og de fleste HLS-strømmer; codec-støtte avhenger av plattformen.',
q43: 'Tilkoblingstesten feiler — hva nå?',
a43: 'Dobbeltsjekk URL-en inkludert porten (f.eks. http://192.168.1.100:4533). På et lokalt nettverk virker http:// ofte der https:// ikke gjør (intet sertifikat). Sørg for at ingen brannmur blokkerer porten og at brukernavn og passord er korrekte. Hvis serveren er bak en omvendt proxy, prøv først direkte URL for å isolere årsaken.',
q44: 'Cover-art og artistbilder lastes sakte.',
a44: 'Bilder hentes fra serveren ved første visning og caches deretter lokalt i 30 dager. Hvis serverens lagring er treg, kan første besøk på en side ta et øyeblikk; påfølgende besøk er umiddelbare. Hot Cache hjelper også for spor, men bildecachen er uavhengig.',
q45: 'Linux-problemer — svart skjerm eller ingen lyd?',
a45: 'Svart skjerm er vanligvis et GPU- / EGL-driverproblem i WebKitGTK — start med GDK_BACKEND=x11 WEBKIT_DISABLE_COMPOSITING_MODE=1 WEBKIT_DISABLE_DMABUF_RENDERER=1 (AUR / .deb / .rpm-installerne setter disse automatisk). For lyd, sørg for at PipeWire eller PulseAudio kjører. Lydutfall etter dvale / oppvåkning håndteres nå automatisk av post-sleep recovery hook.',
},
queue: {
title: 'Kø',
savePlaylist: 'Lagre spilleliste',
updatePlaylist: 'Oppdater spilleliste',
filterPlaylists: 'Filtrer spillelister…',
playlistName: 'Spillelistenavn',
cancel: 'Avbryt',
save: 'Lagre',
loadPlaylist: 'Last inn spilleliste',
loading: 'Laster…',
noPlaylists: 'Ingen spillelister funnet.',
load: 'Erstatt kø og spill av',
appendToQueue: 'Legg til i kø',
delete: 'Slett',
deleteConfirm: 'Slett spillelisten "{{name}}"?',
clear: 'Fjern',
shuffle: 'Bland kø',
gapless: 'Uten mellomrom',
crossfade: 'Crossfade',
infiniteQueue: 'Uendelig kø',
autoAdded: '- Lagt til automatisk -',
radioAdded: '- Radio -',
hide: 'Skjul',
hideNowPlaying: 'Skjul avspillingsinfo',
showNowPlaying: 'Vis avspillingsinfo',
close: 'Lukk',
nextTracks: 'Neste spor',
shareQueue: 'Kopiér lenke til kø',
shareQueueEmpty: 'Køen er tom — ingenting å dele.',
emptyQueue: 'Køen er tom.',
trackSingular: 'spor',
trackPlural: 'spor',
showRemaining: 'Vis gjenværende tid',
showTotal: 'Vis total tid',
showEta: 'Vis estimert sluttid',
replayGain: 'ReplayGain',
rgTrack: 'T {{db}} dB',
rgAlbum: 'A {{db}} dB',
rgPeak: 'Topp {{pk}}',
sourceOffline: 'Spiller fra offlinebibliotek',
sourceHot: 'Spiller fra cache',
sourceStream: 'Spiller fra nettverksstrøm',
},
miniPlayer: {
showQueue: 'Vis kø',
hideQueue: 'Skjul kø',
pinOnTop: 'Hold øverst',
pinOff: 'Løsne',
openMainWindow: 'Åpne hovedvindu',
close: 'Lukk',
emptyQueue: 'Køen er tom',
},
statistics: {
title: 'Statistikk',
recentlyPlayed: 'Nylig spilt',
mostPlayed: 'Mest spilte album',
highestRated: 'Høyest rangerte album',
genreDistribution: 'Sjangerfordeling (Topp 20)',
loadMore: 'Last inn mer',
statArtists: 'Artister',
statArtistsTooltip: 'Kun albumartister — artister som bare opptrer som sporartist (featuring, gjest, osv.) uten eget album telles ikke med.',
statAlbums: 'Album',
statSongs: 'Sanger',
statGenres: 'Sjangere',
statPlaytime: 'Total spilletid',
genreInsights: 'Sjangerinnsikt',
formatDistribution: 'Formatdistribusjon',
formatSample: 'Utvalg av {{n}} spor',
computing: 'Utregner…',
genreSongs: '{{count}} Sanger',
genreAlbums: '{{count}} Album',
recentlyAdded: 'Nylig lagt til',
decadeDistribution: 'Album etter tiår',
decadeAlbums_one: '{{count}} Album',
decadeAlbums_other: '{{count}} Album',
decadeUnknown: 'Ukjent',
lfmTitle: 'Last.fm Statistikk',
lfmTopArtists: 'Toppartister',
lfmTopAlbums: 'Toppalbum',
lfmTopTracks: 'Toppspor',
lfmPlays: '{{count}} avspillinger',
lfmPeriodOverall: 'Alltid',
lfmPeriod7day: '7 dager',
lfmPeriod1month: '1 måned',
lfmPeriod3month: '3 måneder',
lfmPeriod6month: '6 måneder',
lfmPeriod12month: '12 måneder',
lfmNotConnected: 'Koble til Last.fm i Innstillinger for å se statistikken din.',
lfmRecentTracks: 'Siste Scrobble-innslag',
lfmNowPlaying: 'Spilles nå',
lfmJustNow: 'akkurat nå',
lfmMinutesAgo: 'For {{n}}m siden',
lfmHoursAgo: 'For {{n}}t siden',
lfmDaysAgo: 'For {{n}}d siden',
topRatedSongs: 'Høyest vurderte spor',
topRatedArtists: 'Høyest vurderte artister',
noRatedSongs: 'Ingen vurderte spor ennå. Vurder spor i album- eller spillelistevisning.',
noRatedArtists: 'Ingen vurderte artister ennå.',
},
player: {
regionLabel: 'Musikkspiller',
openFullscreen: 'Åpne fullskjermsspiller',
fullscreen: 'Fullskjermsspiller',
closeFullscreen: 'Lukk fullskjerm',
closeTooltip: 'Lukk (Esc)',
noTitle: 'Ingen tittel',
stop: 'Stopp',
prev: 'Forrige spor',
play: 'Spill av',
pause: 'Pause',
previewActive: 'Forhåndsvisning spilles av',
previewLabel: 'Forhåndsvisning',
delayModalTitle: 'Tidsur',
delayPauseSection: 'Pause etter',
delayStartSection: 'Start etter',
delayPreviewPause: 'Pause kl.',
delayPreviewStart: 'Start kl.',
delaySchedulePause: 'Planlegg pause',
delayScheduleStart: 'Planlegg start',
delayCancelPause: 'Avbryt pause-timer',
delayCancelStart: 'Avbryt start-timer',
delayInactivePause: 'Kun tilgjengelig under avspilling.',
delayInactiveStart: 'Kun i pause med spor eller radio lastet.',
delayCustomMinutes: 'Egen forsinkelse (minutter)',
delayCustomPlaceholder: 'f.eks. 2,5',
closeDelayModal: 'Lukk',
delayIn: 'om',
delayFmtSec: '{{n}} s',
delayFmtMin: '{{n}} min',
delayFmtHr: '{{n}} t',
delayCancel: 'Avbryt',
delayApply: 'Bruk',
next: 'Neste spor',
repeat: 'Gjenta',
repeatOff: 'Av',
repeatAll: 'Alle',
repeatOne: 'Én',
progress: 'Sangfremdrift',
volume: 'Volum',
toggleQueue: 'Veksle kø',
collapseQueueResize: 'Skjul kø, endre bredde',
moreOptions: 'Flere alternativer',
equalizer: 'Equalizer',
miniPlayer: 'Minispiller',
lyrics: 'Sangtekst',
fsLyricsToggle: 'Sangtekst i fullskjerm',
lyricsLoading: 'Laster sangtekst…',
lyricsNotFound: 'Ingen sangtekst funnet for dette sporet',
lyricsSourceServer: 'Kilde: Server',
lyricsSourceLrclib: 'Kilde: LRCLIB',
lyricsSourceNetease: 'Kilde: Netease',
lyricsSourceLyricsplus: 'Kilde: YouLyPlus',
showDuration: 'Vis varighet',
showRemainingTime: 'Vis gjenværende tid',
},
nowPlayingInfo: {
tab: 'Info',
empty: 'Spill noe for å se info',
artist: 'Artist',
songInfo: 'Sporinfo',
onTour: 'På turné',
noTourEvents: 'Ingen kommende konserter',
tourLoading: 'Laster…',
poweredByBandsintown: 'Turnédata via Bandsintown',
bioReadMore: 'Vis mer',
bioReadLess: 'Vis mindre',
showMoreTours_one: 'Vis {{count}} til',
showMoreTours_other: 'Vis {{count}} til',
showLessTours: 'Vis mindre',
enableBandsintownPrompt: 'Vis kommende turnédatoer?',
enableBandsintownPromptDesc: 'Valgfritt. Henter konserter for gjeldende artist via det offentlige Bandsintown-API-et.',
enableBandsintownPrivacy: 'Ved aktivering sendes navnet på artisten som spilles av til Bandsintown-API-et for å hente turnédatoer. Ingen konto- eller personopplysninger forlater enheten din.',
enableBandsintownAction: 'Aktiver',
role: {
artist: 'Artist',
albumArtist: 'Albumartist',
composer: 'Komponist',
},
},
songInfo: {
title: 'Sanginfo',
songTitle: 'Tittel',
artist: 'Artist',
album: 'Album',
albumArtist: 'Albumartist',
year: 'År',
genre: 'Sjanger',
duration: 'Varighet',
track: 'Spor',
format: 'Format',
bitrate: 'Bitrate',
sampleRate: 'Samplingfrekvens',
bitDepth: 'Bitdybde',
channels: 'Kanaler',
fileSize: 'Filstørrelse',
path: 'Sti',
replayGainTrack: 'RG-sporforsterkning',
replayGainAlbum: 'RG-albumforsterkning',
replayGainPeak: 'RG-sportopp',
mono: 'Mono',
stereo: 'Stereo',
},
playlists: {
title: 'Spillelister',
newPlaylist: 'Ny spilleliste',
unnamed: 'Navnløs spilleliste',
createName: 'Spillelistenavn…',
create: 'Opprett',
cancel: 'Avbryt',
empty: 'Ingen spillelister ennå.',
emptyPlaylist: 'Denne spillelisten er tom.',
addFirstSong: 'Legg til din første sang',
notFound: 'Spillelisten ble ikke funnet.',
songs: '{{n}} sanger',
playAll: 'Spill alle',
shuffle: 'Bland',
addToQueue: 'Legg til i kø',
back: 'Tilbake til spillelister',
deletePlaylist: 'Slett',
confirmDelete: 'Klikk igjen for å bekrefte',
removeSong: 'Fjern fra spilleliste',
addSongs: 'Legg til sanger',
searchPlaceholder: 'Søk i biblioteket ditt…',
noResults: 'Ingen resultater.',
suggestions: 'Foreslåtte sanger',
noSuggestions: 'Ingen forslag tilgjengelig.',
titleBadge: 'Spilleliste',
refreshSuggestions: 'Nye forslag',
addSong: 'Legg til i spilleliste',
preview: 'Forhåndsvisning (30 s)',
previewStop: 'Stopp forhåndsvisning',
playNextSuggestion: 'Spill som neste',
suggestionsHint: 'Dobbeltklikk på en rad for å legge den til i spillelisten',
addSelected: 'Legg til valgte',
cacheOffline: 'Bufre spilleliste offline',
offlineCached: 'Spilleliste bufret',
removeOffline: 'Fjern fra offline-buffer',
offlineDownloading: 'Bufre… ({{done}}/{{total}} album)',
publicLabel: 'Offentlig',
privateLabel: 'Privat',
editMeta: 'Rediger spilleliste',
editNamePlaceholder: 'Spillelistenavn…',
editCommentPlaceholder: 'Legg til en beskrivelse…',
editPublic: 'Offentlig spilleliste',
editSave: 'Lagre',
editCancel: 'Avbryt',
changeCover: 'Endre omslagsbilde',
changeCoverLabel: 'Endre bilde',
removeCover: 'Fjern bilde',
coverUpdated: 'Omslag oppdatert',
metaSaved: 'Spillelisten er oppdatert',
downloadZip: 'Last ned (ZIP)',
// Toast notifications for multi-select
addSuccess: '{{count}} sanger lagt til i {{playlist}}',
addPartial: '{{added}} lagt til, {{skipped}} hoppet over (duplikater)',
addAllSkipped: 'Alle hoppet over ({{count}} duplikater)',
addedAsDuplicates: '{{count}} sanger lagt til i {{playlist}} (som duplikater)',
duplicateConfirmTitle: 'Allerede i spillelisten',
duplicateConfirmMessage: 'Alle {{count}} sanger finnes allerede i "{{playlist}}". Legg dem til likevel som duplikater?',
duplicateConfirmAction: 'Legg til likevel',
addError: 'Feil ved å legge til sanger',
createAndAddSuccess: 'Spilleliste "{{playlist}}" opprettet med {{count}} sanger',
createError: 'Feil ved oppretting av spilleliste',
deleteSuccess: '{{count}} spillelister slettet',
deleteFailed: 'Feil ved sletting av {{name}}',
deleteSelected: 'Slett valgte',
deleteSelectedPartial: 'Bare {{n}} av {{total}} valgte spillelister kan slettes (de andre tilhører noen andre).',
mergeSuccess: '{{count}} sanger slått sammen i {{playlist}}',
mergeNoNewSongs: 'Ingen nye sanger å legge til',
mergeError: 'Feil ved sammenslåing av spillelister',
mergeInto: 'Slå sammen i',
selectionCount: '{{count}} valgt',
select: 'Velg',
startSelect: 'Aktiver valg',
cancelSelect: 'Avbryt',
loadingAlbums: 'Løser {{count}} album…',
loadingArtists: 'Løser {{count}} artister…',
myPlaylists: 'Mine spillelister',
noOtherPlaylists: 'Ingen andre spillelister tilgjengelig',
addToPlaylistSuccess: '{{count}} sanger lagt til i {{playlist}}',
addToPlaylistNoNew: 'Ingen nye sanger for {{playlist}}',
addToPlaylistError: 'Feil ved å legge til i spilleliste',
removeSuccess: 'Sang fjernet fra spilleliste',
removeError: 'Feil ved fjerning fra spilleliste',
importCSV: 'Importer CSV',
importCSVTooltip: 'Importer fra Spotify CSV',
csvImportReport: 'CSV-importrapport',
csvImportTotal: 'Totalt',
csvImportAdded: 'Lagt til',
csvImportDuplicates: 'Duplikater',
csvImportNotFound: 'Ikke funnet',
csvImportNetworkErrors: 'Nettverksfeil',
csvImportDuplicatesTitle: 'Duplikater (allerede i spillelisten):',
csvImportNotFoundTitle: 'Ikke funnet spor:',
csvImportNetworkErrorsTitle: 'Nettverksfeil (kan prøve import på nytt):',
csvImportDownloadReport: 'Last ned rapport',
csvImportClose: 'Lukk',
csvImportNoValidTracks: 'Ingen gyldige spor funnet i CSV-filen',
csvImportFailed: 'Kunne ikke importere CSV-fil',
csvImportToast: '{{added}} lagt til, {{notFound}} ikke funnet, {{duplicates}} duplikater',
csvImportDownloadSuccess: 'Rapport lastet ned',
csvImportDownloadError: 'Kunne ikke laste ned rapport',
},
mostPlayed: {
title: 'Mest spilt',
topArtists: 'Toppkunstnere',
topAlbums: 'Toppalbum',
plays: '{{n}} avspillinger',
sortMost: 'Mest spilt først',
sortLeast: 'Minst spilt først',
loadMore: 'Last inn flere album',
noData: 'Ingen avspillingsdata ennå. Begynn å høre!',
noArtists: 'Alle artister filtrert bort.',
filterCompilations: 'Skjul kompilasjonsartister (Various Artists, Soundtracks, etc.)',
filterCompilationsShort: 'Skjul kompilasjoner',
},
losslessAlbums: {
empty: 'Ingen lossless-album i dette biblioteket ennå.',
unsupported: 'Denne serveren eksponerer ikke metadata som trengs for å finne lossless-album.',
slowFetchHint: 'Lastes saktere enn andre albumsider — Psysonic går gjennom hele sangkatalogen etter kvalitet.',
},
smartPlaylists: {
sectionBasic: '1. Grunnleggende',
sectionGenres: '2. Sjanger',
sectionYearsAndFilters: '3. År og filtre',
genreMode: 'Sjanger-modus',
genreModeInclude: 'Inkluder sjangre',
genreModeExclude: 'Ekskluder sjangre',
genreSearchPlaceholder: 'Filtrer sjangre...',
availableGenres: 'Tilgjengelige',
selectedGenres: 'Valgte',
yearMode: 'År-modus',
yearModeInclude: 'Inkluder område',
yearModeExclude: 'Ekskluder område',
name: 'Navn (uten prefiks)',
limit: 'Grense',
limitHint: 'Hvor mange spor som skal inkluderes i spillelisten (1-{{max}}, vanligvis 50).',
artistContains: 'Artist inneholder…',
albumContains: 'Album inneholder…',
titleContains: 'Tittel inneholder…',
minRating: 'Minimumsvurdering',
minRatingAria: 'Minimumsvurdering for smart-spilleliste',
minRatingHint: '0 deaktiverer minimumsterskelen; 1-5 beholder spor med vurdering over valgt verdi.',
fromYear: 'Fra år',
toYear: 'Til år',
excludeUnrated: 'Ekskluder spor uten vurdering',
compilationOnly: 'Kun samlinger',
create: 'Ny Smart-spilleliste',
save: 'Lagre Smart-spilleliste',
created: '{{name}} opprettet',
updated: '{{name}} oppdatert',
createFailed: 'Kunne ikke opprette smart-spilleliste.',
updateFailed: 'Kunne ikke oppdatere smart-spilleliste.',
navidromeOnly: 'Smart-spillelister kan bare opprettes på Navidrome-servere.',
loadFailed: 'Kunne ikke laste smart-spillelister fra Navidrome.',
sortRandom: 'Sortering: tilfeldig',
sortTitleAsc: 'Sortering: tittel A-Å',
sortTitleDesc: 'Sortering: tittel Å-A',
sortYearDesc: 'Sortering: år synkende',
sortYearAsc: 'Sortering: år stigende',
sortPlayCountDesc: 'Sortering: avspillinger synkende',
},
radio: {
title: 'Internettradio',
empty: 'Ingen radiostasjoner konfigurert.',
addStation: 'Legg til radio stasjon',
editStation: 'Rediger',
deleteStation: 'Slett stasjon',
confirmDelete: 'Klikk igjen for å bekrefte',
stationName: 'Stasjonsnavn…',
streamUrl: 'Strøm-URL…',
homepageUrl: 'Hjemmeside-URL (valgfritt)',
save: 'Lagre',
cancel: 'Avbryt',
live: 'LIVE',
liveStream: 'Internettradio',
openHomepage: 'Åpne hjemmesiden',
changeCoverLabel: 'Endre omslag',
removeCover: 'Fjern omslag',
browseDirectory: 'Søk i katalogen',
directoryPlaceholder: 'Søk i stasjoner…',
noResults: 'Ingen stasjoner funnet.',
stationAdded: 'Stasjon lagt til',
filterAll: 'Alle',
filterFavorites: 'Favoritter',
sortManual: 'Manuell',
sortAZ: 'A → Å',
sortZA: 'Å → A',
sortNewest: 'Nyeste',
favorite: 'Legg til i favoritter',
unfavorite: 'Fjern fra favoritter',
noFavorites: 'Ingen favorittstasjoner.',
listenerCount_one: '{{count}} lytter',
listenerCount_other: '{{count}} lyttere',
recentlyPlayed: 'Nylig spilt',
upNext: 'Neste ut',
},
folderBrowser: {
empty: 'Tom mappe',
error: 'Kunne ikke laste',
},
deviceSync: {
title: 'Enhetssynk',
targetFolder: 'Målmappe',
noFolderChosen: 'Ingen mappe valgt',
selectDrive: 'Velg en stasjon…',
refreshDrives: 'Oppdater stasjoner',
noDrivesDetected: 'Ingen flyttbare stasjoner oppdaget',
browseManual: 'Bla manuelt…',
free: 'ledig',
notMountedVolume: 'Målet er ikke på en montert stasjon. Enheten kan ha blitt koblet fra.',
chooseFolder: 'Velg…',
filenameTemplate: 'Filnavnmal',
targetDevice: 'Målenhet',
templateHint: 'Variabler: {artist}, {album}, {title}, {track_number}, {disc_number}, {year}',
cleanupButton: 'Fjern filer som ikke er i utvalget',
cleanupNothingToDelete: 'Ingenting å fjerne — enheten er allerede synkronisert.',
confirmCleanup: 'Slette {{count}} fil(er) fra enheten som ikke er i det gjeldende utvalget. Fortsette?',
cleanupComplete: '{{count}} fil(er) fjernet fra enheten.',
selectedSources: 'Valgte kilder',
noSourcesSelected: 'Ingen kilder valgt. Klikk på elementer i nettleseren for å legge dem til.',
clearAll: 'Fjern alle',
tabPlaylists: 'Spillelister',
tabAlbums: 'Album',
tabArtists: 'Artister',
searchPlaceholder: 'Søk…',
syncButton: 'Synkroniser til enhet',
actionTransfer: 'Overfør til enhet',
actionDelete: 'Slett fra enhet',
actionApplyAll: 'Bruk alle endringer',
templatePreview: 'Forhåndsvisning',
templatePresetStandard: 'Standard',
templatePresetMultiDisc: 'Multi-Disc',
templatePresetAltFolder: 'Alt. mappe',
tokenSlashHint: '/ = mappeskiller',
cancel: 'Avbryt',
noTargetDir: 'Velg en målmappe først.',
noSources: 'Velg minst én kilde.',
noTracks: 'Ingen spor funnet i de valgte kildene.',
fetchError: 'Kunne ikke hente spor fra serveren.',
syncComplete: 'Synkronisering fullført.',
dismiss: 'Lukk',
cancelSync: 'Avbryt',
syncCancelled: 'Synkronisering avbrutt ({{done}} / {{total}} overført).',
colName: 'Navn',
colType: 'Type',
colStatus: 'Status',
onDevice: 'Enhetsbehandling',
addSources: 'Legg til…',
syncResult: '{{done}} overført, {{skipped}} allerede oppdatert ({{total}} totalt)',
deleteFromDevice: 'Merk for sletting ({{count}})',
confirmDelete: 'Slette {{count}} element(er) fra enheten: {{names}}?',
deleteComplete: '{{count}} element(er) fjernet fra enheten.',
manifestImported: '{{count}} kilde(r) importert fra enhetsmanifest.',
statusSynced: 'Synkronisert',
statusPending: 'Venter',
statusDeletion: 'Sletting',
markForDeletion: 'Merk for sletting',
removeSource: 'Fjern',
undoDeletion: 'Angre sletting',
syncInBackground: 'Synkronisering startet i bakgrunnen — du kan navigere bort.',
syncInProgress: '{{done}} / {{total}} spor…',
syncSummary: 'Synkroniseringssammendrag',
calculating: 'Beregner nødvendig nyttelast…',
filesToAdd: 'Filer som skal legges til:',
filesToDelete: 'Filer som skal slettes:',
netChange: 'Nettoendring:',
availableSpace: 'Tilgjengelig diskplass:',
spaceWarning: 'Advarsel: Målenheten har ikke nok rapportert plass.',
proceed: 'Fortsett med synkronisering',
notEnoughSpace: 'Ikke nok fysisk diskplass oppdaget!',
liveSearch: 'Live',
randomAlbumsLabel: 'Tilfeldige album',
},
orbit: {
triggerLabel: 'Orbit',
triggerTooltip: 'Start eller bli med i en delt lytteøkt',
launchCreate: 'Opprett en økt',
launchJoin: 'Bli med i en økt',
launchHelp: 'Hvordan fungerer dette?',
launchHelpSoon: 'Kommer snart',
joinModalTitle: 'Bli med i en Orbit-økt',
joinModalSub: 'Lim inn invitasjonslenken verten sendte deg.',
joinModalLinkLabel: 'Invitasjonslenke',
joinModalLinkPlaceholder: 'psysonic2-…',
joinModalLinkHelper: 'Fungerer med enhver gyldig Orbit-lenke. Må peke til serveren du er innlogget på.',
joinModalPasteTooltip: 'Lim inn fra utklippstavlen',
joinModalSubmit: 'Bli med',
joinModalBusy: 'Blir med…',
joinErrEmpty: 'Lim inn en invitasjonslenke.',
joinErrInvalid: 'Dette ser ikke ut som en Orbit-invitasjonslenke.',
closeAria: 'Lukk',
heroTitlePrefix: 'Lytt sammen med',
heroTitleBrand: 'Orbit',
heroSub: 'Start en økt — andre brukere på {{server}} lytter med og kan foreslå spor.',
fallbackServer: 'denne serveren',
tipLan: 'Du er for øyeblikket koblet til via en hjemmenettverksadresse. Gjester utenfor nettverket kan ikke bli med — bytt til en offentlig serveradresse i innstillingene før du starter.',
tipRemote: 'For at gjester utenfor hjemmenettverket skal kunne bli med, må serveradressen være offentlig tilgjengelig. Hvis serveren din bare er intern, bytt før du starter.',
labelName: 'Øktnavn',
namePlaceholder: 'Velvet Orbit',
reshuffleTooltip: 'Nytt forslag',
reshuffleAria: 'Foreslå et nytt navn',
helperName: 'Slik vises økten for gjestene — behold den eller skriv din egen.',
labelMax: 'Maks gjester',
helperMax: 'Du telles ikke — dette begrenser bare innkommende gjester.',
labelLink: 'Invitasjonslenke',
tooltipCopied: 'Kopiert',
tooltipCopy: 'Kopier',
ariaCopyLink: 'Kopier invitasjonslenke',
helperLink: 'Send denne lenken til gjestene dine. De kan lime den inn hvor som helst i Psysonic med Ctrl+V.',
labelClearQueue: 'Tøm min kø først',
helperClearQueue: 'Start økten med en tom kø. Av: eksisterende spor beholdes og deles med gjester.',
btnCancel: 'Avbryt',
btnStarting: 'Starter…',
btnStart: 'Start Orbit',
btnCopyAndStart: 'Kopier lenke & start',
errNameRequired: 'Gi økten din et navn.',
errStartFailed: 'Kunne ikke starte.',
hostLabel: 'Vert: {{name}}',
participantsTooltip: 'Deltakere',
settingsTooltip: 'Øktinnstillinger',
shareTooltip: 'Del invitasjonslenke',
shuffleLabel: 'Kø stokkes på nytt om',
catchUpLabel: 'ta igjen',
catchUpTooltip: 'Hopp til vertens nåværende posisjon',
hostAway: 'Vert offline',
hostOnline: 'Vert online',
endTooltip: 'Avslutt økt',
leaveTooltip: 'Forlat økt',
helpTooltip: 'Hvordan Orbit fungerer',
helpTitle: 'Hvordan Orbit fungerer',
helpIntro: 'Orbit gjør Psysonic til et delt lytterom. En vert velger musikken; gjester lytter synkronisert og kan foreslå spor.',
helpHostOnly: '(vert)',
helpSec1Title: 'Hva er Orbit?',
helpSec1Body: 'En "lytte sammen"-modus — verten driver avspillingen, gjester blir med. Alt går via spillelister på din egen Navidrome-server; ingen ekstern infrastruktur.',
helpSec2Title: 'Vert og gjester',
helpSec2Body: 'Verten kontrollerer avspillingen (spill / pause / hopp / søk) og bestemmer når økten avsluttes. Gjester følger vertens avspilling, kan foreslå spor og forlate eller bli med igjen når som helst. Bare verten kan utvise eller permanent utestenge en deltaker.',
helpSec2WarnHead: 'Viktig: separate kontoer.',
helpSec2WarnBody: 'Hver deltaker trenger sin egen Navidrome-konto. Hvis vert og gjest logger inn med samme bruker kolliderer innsendingene, og verten ser aldri gjestens forslag.',
helpSec3Title: 'Starte og invitere',
helpSec3Body: 'Klikk på "Orbit"-knappen → Opprett en økt → startmodalen viser en klar-til-kopiering invitasjonslenke og lar deg eventuelt tømme gjeldende kø. Del lenken som du vil. Mens en økt kjører, kopierer delknappen i øktlinjen øverst lenken når som helst.',
helpSec4Title: 'Bli med',
helpSec4Body: 'Lim inn invitasjonslenken hvor som helst i Psysonic med Ctrl+V / Cmd+V — bli-med-spørsmålet dukker opp automatisk. Alternativt: "Orbit" → Bli med i en økt → lim inn i feltet. Hvis lenken peker til en server du har konto på, bytter Psysonic for deg. Ved flere kontoer på den serveren spør en liten velger hvilken som skal brukes.',
helpSec5Title: 'Foreslå spor',
helpSec5Body: 'I enhver sporliste: dobbeltklikk en rad, eller høyreklikk → "Legg til i Orbit-økt". Et enkelt klikk viser et hint i stedet for å dumpe hele albumet i den delte køen — det er bevisst. Eksplisitte bulk-handlinger som "Spill alt" eller "Spill album" ber først om bekreftelse og legger deretter til (erstatter aldri).',
helpSec6Title: 'Den delte køen',
helpSec6Body: 'Køen viser vertens kommende spor — synlig for alle. Innkommende bulk-tillegg legges alltid til bakerst, så gjesteforslag går ikke tapt. Auto-stokking omorganiserer køen periodisk (konfigurerbar: 1 / 5 / 10 / 15 / 30 min). Hvis avspillingen din avviker fra verten, bringer "Ta igjen"-knappen i øktlinjen deg tilbake til vertens liveposisjon.',
helpSec7Title: 'Godkjenninger',
helpSec7Body: 'Som standard trenger gjesteforslag manuell godkjenning — de vises i en "Godkjenninger"-stripe øverst i køpanelet med godta / avvis-knapper. Auto-godkjenning kan slås på i øktinnstillingene slik at alt lander direkte.',
helpSec8Title: 'Deltakere og innstillinger',
helpSec8Body: 'Åpne innstillingsikonet i øktlinjen for stokkingsfrekvens, auto-godkjenning og "Stokk nå"-snarveien. Klikk på deltakerantallet for å se hvem som er koblet til — utvis (kan bli med igjen via lenken) eller utesteng (utelåst for økten). Gjester ser også deltakerlisten, men bare-lesing.',
helpSec9Title: 'Avslutte økten',
helpSec9Body: 'Vert X → bekreftelsesdialog → økten lukkes for alle og serverspillelistene ryddes opp automatisk. Gjest X → gjesten forlater, økten fortsetter. Hvis verten er stille i 5 minutter, forlater gjesten automatisk med en melding; korte gjentilkoblinger innenfor tiden er usynlige.',
participantsInviteLabel: 'Invitasjonslenke',
participantsCountLabel: '{{count}} i økten',
participantsHost: 'vert',
participantsEmpty: 'Ingen gjester ennå',
participantsKickTooltip: 'Fjern fra økten',
participantsKickAria: 'Fjern {{user}}',
participantsRemoveTooltip: 'Fjern fra økten',
participantsRemoveAria: 'Fjern {{user}} fra denne økten',
participantsBanTooltip: 'Uteste permanent',
participantsBanAria: 'Uteste {{user}} permanent',
participantsMuteTooltip: 'Blokker forslag',
participantsUnmuteTooltip: 'Tillat forslag',
participantsMuteAria: 'Blokker forslag fra {{user}}',
participantsUnmuteAria: 'Tillat forslag fra {{user}} igjen',
confirmRemoveTitle: 'Fjerne fra økten?',
confirmRemoveBody: '{{user}} fjernes fra økten, men kan bli med igjen via invitasjonslenken din.',
confirmRemoveConfirm: 'Fjern',
confirmBanTitle: 'Uteste permanent?',
confirmBanBody: '{{user}} fjernes og hindres i å bli med i denne økten igjen. Kan ikke angres i løpet av økten.',
confirmBanConfirm: 'Uteste',
confirmCancel: 'Avbryt',
confirmJoinTitle: 'Bli med i Orbit-økt?',
confirmJoinBody: '{{host}} inviterte deg til "{{name}}". Bli med i økten?',
confirmJoinConfirm: 'Bli med',
confirmLeaveTitle: 'Forlate økten?',
confirmLeaveBody: 'Forlate "{{name}}"? Du kan bli med igjen når som helst via {{host}}s invitasjonslenke.',
confirmLeaveConfirm: 'Forlat',
confirmEndTitle: 'Avslutte økten for alle?',
confirmEndBody: '"{{name}}" lukkes for alle deltakere. Øktens spillelister ryddes opp automatisk.',
confirmEndConfirm: 'Avslutt økt',
invalidLinkTitle: 'Invitasjonslenken er ikke lenger gyldig',
invalidLinkBody: 'Denne Orbit-økten finnes ikke lenger eller er allerede avsluttet. Be verten om en ny invitasjonslenke.',
settingsTitle: 'Øktinnstillinger',
settingAutoApprove: 'Godkjenn forslag automatisk',
settingAutoApproveHint: 'Gjesteforslag lander umiddelbart i køen din. Av: de blir værende i øktlisten for senere gjennomgang.',
settingAutoShuffle: 'Automatisk stokking',
settingAutoShuffleHint: 'Periodisk Fisher-Yates-stokking av kommende kø. Av: rekkefølgen endres bare når du omorganiserer den.',
settingShuffleInterval: 'Stokk på nytt hver',
settingShuffleIntervalHint: 'Hvor ofte kommende kø stokkes på nytt mens økten kjører.',
suggestBlockedMuted: 'Verten har blokkert deg for denne økten — forslag er av.',
settingShuffleIntervalValue_one: '{{count}} min',
settingShuffleIntervalValue_other: '{{count}} min',
settingShuffleNow: 'Stokk nå',
toastSuggested: '{{user}} foreslo "{{title}}"',
toastSuggestedMany: '{{count}} nye forslag i køen',
toastShuffled: 'Kø stokket',
toastJoined: 'Ble med i økt',
toastLoginFirst: 'Logg inn før du blir med i en økt',
toastSwitchServer: 'Bytt til {{url}} først, og lim inn igjen',
toastNoAccountForServer: 'Du har ikke tilgang til {{url}}. Be verten om en invitasjon.',
toastSwitchFailed: 'Kunne ikke bytte til {{url}}',
accountPickerTitle: 'Hvilken konto?',
accountPickerSub: 'Du har mer enn én konto for {{url}}. Velg den du vil bli med i økten med.',
toastJoinFail: 'Kunne ikke bli med i økten',
joinErrNotFound: 'Økt ikke funnet',
joinErrEnded: 'Økten er avsluttet',
joinErrFull: 'Økten er full',
joinErrKicked: 'Du kan ikke bli med i denne økten igjen',
joinErrNoUser: 'Ingen aktiv server',
joinErrServerError: 'Kunne ikke bli med',
ctxAddToSession: 'Legg til i Orbit-økt',
ctxSuggestedToast: 'Foreslått til økten',
ctxSuggestFailed: 'Kunne ikke foreslå — ikke blitt med',
ctxAddToSessionHost: 'Legg til i Orbit-økt',
ctxAddedHostToast: 'Lagt til i økten',
ctxAddHostFailed: 'Kunne ikke legge til i økten',
bulkConfirmTitle: 'Legg alt til i Orbit-køen?',
bulkConfirmBody: 'Dette vil slippe {{count}} spor i den delte køen på én gang. Det er mye for gjestene dine. Fortsette?',
bulkConfirmYes: 'Legg til alle',
bulkConfirmNo: 'Avbryt',
guestLive: 'Live',
guestPlaying: 'Spiller nå',
guestPaused: 'Pauset',
guestLoading: 'Laster…',
guestSuggestions: 'Forslag',
guestUpNext: 'Neste',
guestUpNextEmpty: 'Ingenting i kø. Åpne et spors kontekstmeny og velg "Legg til i Orbit-økt" for å foreslå ett.',
guestPendingTitle: 'Venter på vert',
guestPendingHint: 'Foreslått — dukker opp i køen når verten tar det.',
approvalTitle: 'Venter på godkjenning',
approvalFrom: 'Foreslått av {{user}}',
approvalAccept: 'Godta',
approvalDecline: 'Avvis',
guestUpNextMore: '+ {{count}} flere i vertens kø',
guestSubmitter: 'av {{user}}',
queueAddedByHost: 'Lagt til av verten',
queueAddedByYou: 'Lagt til av deg',
queueAddedByUser: 'Lagt til av {{user}}',
guestEmpty: 'Ingen forslag ennå. Åpne et spors kontekstmeny og velg "Legg til i Orbit-økt".',
guestFooter: 'Verten kontrollerer avspillingen — du kan ikke endre listen.',
exitKickedTitle: 'Du ble utestengt fra økten',
exitRemovedTitle: 'Du ble fjernet fra økten',
exitEndedTitle: 'Verten avsluttet økten',
exitHostTimeoutTitle: 'Vert ikke tilgjengelig',
exitHostTimeoutBody: '{{host}} har ikke sendt en oppdatering på en stund, så "{{name}}" ble lukket på din side. Du kan bli med igjen når som helst med invitasjonslenken.',
exitKickedBody: '{{host}} utestengte deg fra "{{name}}". Du kan ikke bli med igjen.',
exitRemovedBody: '{{host}} fjernet deg fra "{{name}}". Du kan bli med igjen når som helst via invitasjonslenken.',
exitEndedBody: '"{{name}}" er avsluttet. Håper du hadde det gøy.',
exitOk: 'OK',
},
tray: {
playPause: 'Spill / Pause',
nextTrack: 'Neste spor',
previousTrack: 'Forrige spor',
showHide: 'Vis / Skjul',
exitPsysonic: 'Avslutt Psysonic',
nothingPlaying: 'Ingenting spilles',
},
licenses: {
title: 'Åpen kildekode-lisenser',
intro: 'Psysonic er bygget på åpen kildekode-programvare. Listen nedenfor viser hver avhengighet som leveres med appen, med versjon, lisens og full lisenstekst.',
highlights: 'Sentrale avhengigheter',
searchPlaceholder: 'Søk etter navn, versjon eller lisens…',
noResults: 'Ingen treff.',
loading: 'Laster lisenser…',
loadError: 'Kunne ikke laste inn lisensdata.',
noLicenseText: 'Ingen lisenstekst inkludert for denne avhengigheten.',
viewSource: 'Vis kilde',
totalLine: '{{total}} avhengigheter — {{cargo}} cargo, {{npm}} npm',
generatedAt: 'Sist generert {{date}}',
},
};