fix(i18n): enforce complete localized coverage

This commit is contained in:
edde746
2026-07-12 17:31:14 +02:00
parent 754c54761a
commit fe8d405a56
47 changed files with 1944 additions and 2527 deletions
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Вход",
"signInWithPlex": "Вход с Plex",
"showQRCode": "Покажи QR код",
"authenticate": "Удостовери",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Епизод ${number} - ${title}",
"chapterNumber": "Глава ${number}",
"reconnect": "Свържи отново",
"exit": "Изход",
"viewAll": "Виж всички",
"checkingNetwork": "Проверка на мрежата...",
"refreshingServers": "Опресняване на сървърите...",
"loadingServers": "Зареждане на сървърите...",
"connectingToServers": "Свързване със сървърите...",
"startingOfflineMode": "Стартиране на офлайн режим...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Използвай TV карти само с изображения, с насложени имена на актьорите",
"focusGlow": "Сияние при фокус",
"focusGlowDescription": "Показвай меко сияние около фокусираната карта",
"visualEffects": "Визуални ефекти",
"visualEffectsAuto": "Автоматично",
"visualEffectsAutoDescription": "Автоматично намалявай ефектите на по-слаби устройства",
"visualEffectsFull": "Пълни",
"visualEffectsReduced": "Намалени",
"visualEffectsReducedDescription": "По-малко анимации и изображения с по-ниска резолюция",
"hideSpoilers": "Скривай спойлери за негледани епизоди",
"hideSpoilersDescription": "Замазвай миниатюри и описания за негледани епизоди",
"playerBackend": "Енджин на плеъра",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Автоматично (препоръчително)",
"bufferSizeWarning": "Налична памет ${heap}MB. Буфер ${size}MB може да повлияе на възпроизвеждането.",
"defaultQualityTitle": "Качество по подразбиране",
"defaultQualityDescription": "Използва се при стартиране на възпроизвеждане. По-ниските стойности намаляват трафика.",
"musicQualityTitle": "Качество на музиката",
"subtitleStyling": "Стил на субтитрите",
"subtitleStylingDescription": "Настройване на вида на субтитрите",
"smallSkipDuration": "Малко прескачане",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Показвай какво гледате в Discord",
"trakt": "Trakt",
"traktDescription": "Синхронизирай историята на гледане с Trakt",
"services": "Услуги",
"servicesDescription": "Свържи Trakt, MyAnimeList, Seerr и още",
"manageLibrariesDescription": "Пренареждай и скривай библиотеки",
"companionRemoteServer": "Сървър за дистанционно управление",
"companionRemoteServerDescription": "Позволи на мобилни устройства във вашата мрежа да управляват това приложение",
"autoPip": "Автоматичен режим картина в картината",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Показвай етикети в навигационната лента",
"showNavBarLabelsDescription": "Показвай текстови етикети под иконите в навигационната лента",
"startupSection": "Начален раздел",
"startupSectionDescription": "Изберете кой раздел да отваря Plezy при стартиране",
"liveTvDefaultFavorites": "По подразбиране към любими канали",
"liveTvDefaultFavoritesDescription": "Показвай само любими канали при отваряне на телевизия на живо",
"display": "Дисплей",
@@ -322,14 +323,7 @@
"player": "Плейър",
"subtitlesAndConfig": "Субтитри и конфигурация",
"seekAndTiming": "Търсене и време",
"behavior": "Поведение",
"manageLibrariesDescription": "Пренареждай и скривай библиотеки",
"visualEffects": "Визуални ефекти",
"visualEffectsAuto": "Автоматично",
"visualEffectsAutoDescription": "Автоматично намалявай ефектите на по-слаби устройства",
"visualEffectsFull": "Пълни",
"visualEffectsReduced": "Намалени",
"visualEffectsReducedDescription": "По-малко анимации и изображения с по-ниска резолюция"
"behavior": "Поведение"
},
"search": {
"hint": "Търсене на филми, сериали, музика...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Оцени",
"server": "Сървър",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Задай оценка",
"favorite": "Добави в любими",
"favorited": "Добавено в любими",
"saved": "Запазено",
"notAvailable": "Няма намерено съвпадение",
"noConnectedServices": "Свържи услуга в Настройки, за да оценяваш там.",
"favorite": "Добави в любими",
"favorited": "Добавено в любими"
"noConnectedServices": "Свържи услуга в Настройки, за да оценяваш там."
},
"accessibility": {
"mediaCardMovie": "${title}, филм",
@@ -435,7 +426,15 @@
"mediaCardWatched": "гледано",
"mediaCardPartiallyWatched": "${percent} процента изгледано",
"mediaCardUnwatched": "негледано",
"tapToPlay": "Докоснете за възпроизвеждане"
"tapToPlay": "Докоснете за възпроизвеждане",
"decrease": "Намали",
"increase": "Увеличи",
"decreaseValue": "Намали ${label}",
"increaseValue": "Увеличи ${label}",
"hue": "Нюанс",
"saturation": "Наситеност",
"brightness": "Яркост",
"hexColor": "Шестнадесетичен цвят"
},
"tooltips": {
"shufflePlay": "Разбъркано възпроизвеждане",
@@ -481,13 +480,11 @@
"settingsButton": "Настройки на възпроизвеждането",
"tracksButton": "Аудио и субтитри",
"chaptersButton": "Глави",
"versionsButton": "Видео версии",
"versionQualityButton": "Версия и качество",
"versionColumnHeader": "Версия",
"qualityColumnHeader": "Качество",
"qualityOriginal": "Оригинал",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Транскодирането не е налично — пуска се оригиналното качество",
"pipButton": "Режим картина в картината",
"aspectRatioButton": "Съотношение на страните",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Неуспешно изтегляне на субтитър",
"searchLanguages": "Търсене на езици..."
},
"userStatus": {
"admin": "Администратор",
"restricted": "Ограничен",
"protected": "Защитен",
"current": "ТЕКУЩ"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Маркирано като гледано",
"markedAsUnwatched": "Маркирано като негледано",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN защита (по желание)",
"pinExplain": "Изисква се 4-цифрен PIN за смяна на профили.",
"continueButton": "Продължи",
"pinsDontMatch": "PIN кодовете не съвпадат",
"initializeServicesFailed": "Неуспешно инициализиране на услугите за профили"
"pinsDontMatch": "PIN кодовете не съвпадат"
},
"connections": {
"sectionTitle": "Връзки",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Открий",
"switchProfile": "Смяна на профил",
"noContentAvailable": "Няма налично съдържание",
"addMediaToLibraries": "Добавете медия към библиотеките си",
"continueWatching": "Продължи гледането",
@@ -721,8 +711,6 @@
"connectionFailed": "Не може да се осъществи връзка с медиен сървър",
"failedToLoad": "Неуспешно зареждане на ${context}: ${error}",
"noClientAvailable": "Няма наличен клиент",
"authenticationFailed": "Удостоверяването е неуспешно: ${error}",
"couldNotLaunchUrl": "URL адресът за удостоверяване не може да бъде отворен",
"pleaseEnterToken": "Моля, въведете токен",
"invalidToken": "Невалиден токен",
"failedToVerifyToken": "Неуспешна проверка на токена: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Всички библиотеки са скрити",
"hiddenLibrariesCount": "Скрити библиотеки (${count})",
"thisLibraryIsEmpty": "Тази библиотека е празна",
"noItemsMatchFilters": "Няма елементи, съответстващи на активните филтри",
"resetFilters": "Нулирай филтрите",
"all": "Всички",
"clearAll": "Изчисти всички",
"scanLibraryConfirm": "Сигурни ли сте, че искате да сканирате \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Оценка от общността",
"criticRating": "Оценка от критиците",
"userRating": "Потребителска оценка",
"lastPlayed": "Последно възпроизведено",
"datePlayed": "Дата на възпроизвеждане",
"playCount": "Брой възпроизвеждания",
"productionYear": "Година на производство",
@@ -818,9 +807,7 @@
"dateShared": "Дата на споделяне",
"latestEpisodeAirDate": "Дата на излъчване на последния епизод",
"lastEpisodeDateAdded": "Дата на добавяне на последния епизод"
},
"noItemsMatchFilters": "Няма елементи, съответстващи на активните филтри",
"resetFilters": "Нулирай филтрите"
}
},
"about": {
"title": "Относно",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Виж лицензите на библиотеки на трети страни"
},
"serverSelection": {
"allServerConnectionsFailed": "Не може да се осъществи връзка с нито един сървър. Проверете мрежата.",
"noServersFoundForAccount": "Не са намерени сървъри за ${username} (${email})",
"failedToLoadServers": "Неуспешно зареждане на сървъри: ${error}"
},
@@ -893,7 +879,6 @@
"watchlistUpdateFailed": "Неуспешно обновяване на списъка за гледане",
"notInLibrary": "Не е в твоята библиотека",
"inTheseLibraries": "В тези библиотеки",
"availableOn": "Налично на ${server}",
"checkingLibrary": "Проверка на твоята библиотека...",
"emptyTitle": "Тук все още няма нищо",
"emptyMessage": "Редовете от ${source} ще се появят тук, когато има съдържание.",
@@ -907,6 +892,8 @@
"guide": "ТВ програма",
"noChannels": "Няма налични канали",
"noDvr": "Няма конфигуриран DVR на нито един сървър",
"serverUnavailable": "Сървърът за телевизия на живо не е наличен.",
"serverNotConnected": "Сървърът за телевизия на живо не е свързан.",
"noPrograms": "Няма налични програмни данни",
"liveStreamFailed": "Потокът на живо се провали",
"unknownProgram": "Неизвестна програма",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Планирани",
"recordingRules": "Правила за запис",
"noScheduledRecordings": "Няма планирани записи",
"noRecordingRules": "Все още няма правила за запис",
"manageRecording": "Управление на запис",
"cancelRecording": "Отмени запис",
"cancelRecordingTitle": "Да се отмени ли този запис?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Записът е отменен",
"recordingRuleDeleted": "Правилото за запис е изтрито",
"processRecordingRules": "Преоцени правилата",
"loadingRecordings": "Зареждане на записи...",
"recordingInProgress": "Записва се сега",
"recordingsCount": "${count} планирани",
"editRule": "Редактирай правило",
@@ -973,7 +958,6 @@
"title": "Колекции",
"collection": "Колекция",
"empty": "Колекцията е празна",
"unknownLibrarySection": "Не може да се изтрие: неизвестна секция на библиотеката",
"deleteCollection": "Изтрий колекция",
"deleteConfirm": "Да се изтрие ли \"${title}\"? Това не може да бъде отменено.",
"deleted": "Колекцията е изтрита",
@@ -1013,6 +997,7 @@
"itemAdded": "Добавено към плейлист",
"itemRemoved": "Премахнато от плейлист",
"selectPlaylist": "Избери плейлист",
"searchPlaylists": "Търсене в плейлисти...",
"errorCreating": "Неуспешно създаване на плейлист",
"errorDeleting": "Неуспешно изтриване на плейлист",
"errorLoading": "Неуспешно зареждане на плейлисти",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} продължи",
"participantSeeked": "${name} превъртя",
"participantBuffering": "${name} буферира",
"participantNeedsUpdate": "${name} е с по-стара версия на приложението — синхронизирането не е налично",
"resumingWithout": "Продължаване без ${name}",
"waitingForParticipants": "Изчакване другите да заредят...",
"waitingForName": "Изчакване на ${name}...",
"recentRooms": "Скорошни стаи",
"renameRoom": "Преименувай стая",
"removeRoom": "Премахни",
"guestSwitchUnavailable": "Превключването не е възможно — сървърът е недостъпен за синхронизация",
"guestSwitchFailed": "Превключването не е възможно — съдържанието не е намерено на този сървър",
"participantNeedsUpdate": "${name} е с по-стара версия на приложението — синхронизирането не е налично",
"resumingWithout": "Продължаване без ${name}",
"waitingForName": "Изчакване на ${name}..."
"guestSwitchFailed": "Превключването не е възможно — съдържанието не е намерено на този сървър"
},
"downloads": {
"title": "Изтегляния",
@@ -1155,7 +1140,6 @@
"customAmount": "Персонален брой...",
"includeSpecials": "Включи специалните",
"howManyEpisodes": "Колко епизода?",
"itemsQueued": "${count} елемента са добавени в опашката за изтегляне",
"keepSynced": "Поддържай синхронизирано",
"downloadOnce": "Изтегли еднократно",
"keepNUnwatched": "Пази ${count} негледани",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Непознато устройство",
"session": {
"startingServer": "Стартиране на сървър за дистанционно управление...",
"failedToCreate": "Неуспешно стартиране на сървър за дистанционно управление:",
"hostAddress": "Адрес на хоста",
"connected": "Свързан",
"serverRunning": "Сървърът за дистанционно управление е активен",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Не е намерен мрежов интерфейс",
"authenticationFailed": "Неуспешно удостоверяване",
"serverStartFailed": "Неуспешно стартиране на отдалечения сървър: ${error}",
"commandFailed": "Неуспешно изпращане на отдалечена команда: ${error}",
"joinTimedOut": "Времето за присъединяване към сесията изтече",
"failedToConnectAnyAddress": "Неуспешно свързване към който и да е адрес",
"connectionLostAfterAttempts": "Връзката е загубена след ${attempts} опита",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect е неуспешен: ${error}",
"addPlexTitle": "Вход с Plex",
"pinExpired": "PIN-ът изтече преди вход. Моля, опитайте отново.",
"duplicatePlexAccount": "Вече сте влезли в Plex. Излезте, за да смените акаунта.",
"failedToRegisterAccount": "Неуспешна регистрация на акаунт: ${error}",
"enterJellyfinUrlError": "Въведете URL адреса на вашия Jellyfin сървър",
"addConnectionTitle": "Добави връзка",
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Log ind",
"signInWithPlex": "Log ind med Plex",
"showQRCode": "Vis QR-kode",
"authenticate": "Godkend",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Episode ${number} - ${title}",
"chapterNumber": "Kapitel ${number}",
"reconnect": "Genopret forbindelse",
"exit": "Afslut",
"viewAll": "Vis alle",
"checkingNetwork": "Tjekker netværk...",
"refreshingServers": "Opdaterer servere...",
"loadingServers": "Indlæser servere...",
"connectingToServers": "Forbinder til servere...",
"startingOfflineMode": "Starter offlinetilstand...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Brug TV-kort kun med billeder og skuespillernavne ovenpå",
"focusGlow": "Fokusglød",
"focusGlowDescription": "Vis en blød glød omkring det fokuserede kort",
"visualEffects": "Visuelle effekter",
"visualEffectsAuto": "Automatisk",
"visualEffectsAutoDescription": "Reducer automatisk effekter på enheder med lav ydeevne",
"visualEffectsFull": "Fuld",
"visualEffectsReduced": "Reduceret",
"visualEffectsReducedDescription": "Færre animationer og illustrationer i lavere opløsning",
"hideSpoilers": "Skjul spoilere for usete episoder",
"hideSpoilersDescription": "Slør miniaturebilleder og beskrivelser for usete episoder",
"playerBackend": "Afspillerbackend",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Auto (Anbefalet)",
"bufferSizeWarning": "${heap}MB hukommelse tilgængelig. En buffer på ${size}MB kan påvirke afspilning.",
"defaultQualityTitle": "Standardkvalitet",
"defaultQualityDescription": "Bruges ved start af afspilning. Lavere værdier reducerer båndbredden.",
"musicQualityTitle": "Musikkvalitet",
"subtitleStyling": "Undertekststil",
"subtitleStylingDescription": "Tilpas underteksters udseende",
"smallSkipDuration": "Kort spring-varighed",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Vis hvad du ser på Discord",
"trakt": "Trakt",
"traktDescription": "Synkroniser visningshistorik med Trakt",
"services": "Tjenester",
"servicesDescription": "Forbind Trakt, MyAnimeList, Seerr og mere",
"manageLibrariesDescription": "Omarranger og skjul biblioteker",
"companionRemoteServer": "Companion Remote Server",
"companionRemoteServerDescription": "Tillad mobilenheder på dit netværk at styre denne app",
"autoPip": "Auto billede-i-billede",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Vis navigationsbarlabels",
"showNavBarLabelsDescription": "Vis tekstlabels under navigationsbarikoner",
"startupSection": "Startsektion",
"startupSectionDescription": "Vælg hvilken sektion Plezy åbner ved start",
"liveTvDefaultFavorites": "Standard til favoritkanaler",
"liveTvDefaultFavoritesDescription": "Vis kun favoritkanaler ved åbning af Live TV",
"display": "Skærm",
@@ -322,14 +323,7 @@
"player": "Afspiller",
"subtitlesAndConfig": "Undertekster og konfiguration",
"seekAndTiming": "Søgning og timing",
"behavior": "Adfærd",
"manageLibrariesDescription": "Omarranger og skjul biblioteker",
"visualEffects": "Visuelle effekter",
"visualEffectsAuto": "Automatisk",
"visualEffectsAutoDescription": "Reducer automatisk effekter på enheder med lav ydeevne",
"visualEffectsFull": "Fuld",
"visualEffectsReduced": "Reduceret",
"visualEffectsReducedDescription": "Færre animationer og illustrationer i lavere opløsning"
"behavior": "Adfærd"
},
"search": {
"hint": "Søg film, serier, musik...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Bedøm",
"server": "Server",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Angiv en score",
"favorite": "Favorit",
"favorited": "Føjet til favoritter",
"saved": "Gemt",
"notAvailable": "Intet match fundet",
"noConnectedServices": "Forbind en tjeneste i Indstillinger for at bedømme der.",
"favorite": "Favorit",
"favorited": "Føjet til favoritter"
"noConnectedServices": "Forbind en tjeneste i Indstillinger for at bedømme der."
},
"accessibility": {
"mediaCardMovie": "${title}, film",
@@ -435,7 +426,15 @@
"mediaCardWatched": "set",
"mediaCardPartiallyWatched": "${percent} procent set",
"mediaCardUnwatched": "uset",
"tapToPlay": "Tryk for at afspille"
"tapToPlay": "Tryk for at afspille",
"decrease": "Formindsk",
"increase": "Forøg",
"decreaseValue": "Formindsk ${label}",
"increaseValue": "Forøg ${label}",
"hue": "Farvetone",
"saturation": "Mætning",
"brightness": "Lysstyrke",
"hexColor": "Hexfarve"
},
"tooltips": {
"shufflePlay": "Afspil tilfældigt",
@@ -481,13 +480,11 @@
"settingsButton": "Afspilningsindstillinger",
"tracksButton": "Lyd og undertekster",
"chaptersButton": "Kapitler",
"versionsButton": "Videoversioner",
"versionQualityButton": "Version og kvalitet",
"versionColumnHeader": "Version",
"qualityColumnHeader": "Kvalitet",
"qualityOriginal": "Original",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transkodning utilgængelig — afspiller original kvalitet",
"pipButton": "Billede-i-billede-tilstand",
"aspectRatioButton": "Billedformat",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Kunne ikke downloade undertekst",
"searchLanguages": "Søg sprog..."
},
"userStatus": {
"admin": "Administrator",
"restricted": "Begrænset",
"protected": "Beskyttet",
"current": "NUVÆRENDE"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Markeret som set",
"markedAsUnwatched": "Markeret som uset",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN-beskyttelse (valgfri)",
"pinExplain": "4-cifret PIN kræves for at skifte profiler.",
"continueButton": "Fortsæt",
"pinsDontMatch": "PIN-koder matcher ikke",
"initializeServicesFailed": "Kunne ikke initialisere profiltjenester"
"pinsDontMatch": "PIN-koder matcher ikke"
},
"connections": {
"sectionTitle": "Forbindelser",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Opdag",
"switchProfile": "Skift profil",
"noContentAvailable": "Intet indhold tilgængeligt",
"addMediaToLibraries": "Tilføj medier til dine biblioteker",
"continueWatching": "Fortsæt med at se",
@@ -721,8 +711,6 @@
"connectionFailed": "Kan ikke oprette forbindelse til medieserver",
"failedToLoad": "Kunne ikke indlæse ${context}: ${error}",
"noClientAvailable": "Ingen klient tilgængelig",
"authenticationFailed": "Godkendelse mislykkedes: ${error}",
"couldNotLaunchUrl": "Kunne ikke åbne godkendelses-URL",
"pleaseEnterToken": "Indtast et token",
"invalidToken": "Ugyldigt token",
"failedToVerifyToken": "Kunne ikke verificere token: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Alle biblioteker er skjult",
"hiddenLibrariesCount": "Skjulte biblioteker (${count})",
"thisLibraryIsEmpty": "Dette bibliotek er tomt",
"noItemsMatchFilters": "Ingen elementer matcher de aktive filtre",
"resetFilters": "Nulstil filtre",
"all": "Alle",
"clearAll": "Ryd alle",
"scanLibraryConfirm": "Er du sikker på, at du vil scanne \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Fællesskabsvurdering",
"criticRating": "Kritikerbedømmelse",
"userRating": "Brugerbedømmelse",
"lastPlayed": "Sidst afspillet",
"datePlayed": "Afspilningsdato",
"playCount": "Antal afspilninger",
"productionYear": "Produktionsår",
@@ -818,9 +807,7 @@
"dateShared": "Delt dato",
"latestEpisodeAirDate": "Seneste episodes premieredato",
"lastEpisodeDateAdded": "Dato for senest tilføjede episode"
},
"noItemsMatchFilters": "Ingen elementer matcher de aktive filtre",
"resetFilters": "Nulstil filtre"
}
},
"about": {
"title": "Om",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Se licenser for tredjepartsbiblioteker"
},
"serverSelection": {
"allServerConnectionsFailed": "Kunne ikke oprette forbindelse til nogen servere. Tjek dit netværk.",
"noServersFoundForAccount": "Ingen servere fundet for ${username} (${email})",
"failedToLoadServers": "Kunne ikke indlæse servere: ${error}"
},
@@ -893,7 +879,6 @@
"watchlistUpdateFailed": "Kunne ikke opdatere ønskelisten",
"notInLibrary": "Ikke i dit bibliotek",
"inTheseLibraries": "I disse biblioteker",
"availableOn": "Tilgængelig på ${server}",
"checkingLibrary": "Tjekker dit bibliotek...",
"emptyTitle": "Der er ikke noget her endnu",
"emptyMessage": "Rækker fra ${source} vises her, når de har indhold.",
@@ -907,6 +892,8 @@
"guide": "Guide",
"noChannels": "Ingen kanaler tilgængelige",
"noDvr": "Ingen DVR konfigureret på nogen server",
"serverUnavailable": "Live-tv-serveren er ikke tilgængelig.",
"serverNotConnected": "Live-tv-serveren er ikke forbundet.",
"noPrograms": "Ingen programdata tilgængelig",
"liveStreamFailed": "Livestream mislykkedes",
"unknownProgram": "Ukendt program",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Planlagt",
"recordingRules": "Optagelsesregler",
"noScheduledRecordings": "Ingen optagelser planlagt",
"noRecordingRules": "Ingen optagelsesregler endnu",
"manageRecording": "Administrer optagelse",
"cancelRecording": "Annullér optagelse",
"cancelRecordingTitle": "Annullér denne optagelse?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Optagelse annulleret",
"recordingRuleDeleted": "Optagelsesregel slettet",
"processRecordingRules": "Genberegn regler",
"loadingRecordings": "Indlæser optagelser ...",
"recordingInProgress": "Optager nu",
"recordingsCount": "${count} planlagt",
"editRule": "Rediger regel",
@@ -973,7 +958,6 @@
"title": "Samlinger",
"collection": "Samling",
"empty": "Samlingen er tom",
"unknownLibrarySection": "Kan ikke slette: Ukendt bibliotekssektion",
"deleteCollection": "Slet samling",
"deleteConfirm": "Slet \"${title}\"? Dette kan ikke fortrydes.",
"deleted": "Samling slettet",
@@ -1013,6 +997,7 @@
"itemAdded": "Tilføjet til playliste",
"itemRemoved": "Fjernet fra playliste",
"selectPlaylist": "Vælg playliste",
"searchPlaylists": "Søg i playlister...",
"errorCreating": "Kunne ikke oprette playliste",
"errorDeleting": "Kunne ikke slette playliste",
"errorLoading": "Kunne ikke indlæse playlister",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} genoptog",
"participantSeeked": "${name} spoled",
"participantBuffering": "${name} bufferer",
"participantNeedsUpdate": "${name} bruger en ældre appversion — synkronisering er ikke tilgængelig",
"resumingWithout": "Fortsætter uden ${name}",
"waitingForParticipants": "Venter på at andre indlæser...",
"waitingForName": "Venter på ${name}...",
"recentRooms": "Seneste rum",
"renameRoom": "Omdøb rum",
"removeRoom": "Fjern",
"guestSwitchUnavailable": "Kunne ikke skifte — server ikke tilgængelig for synkronisering",
"guestSwitchFailed": "Kunne ikke skifte — indhold blev ikke fundet på denne server",
"participantNeedsUpdate": "${name} bruger en ældre appversion — synkronisering er ikke tilgængelig",
"resumingWithout": "Fortsætter uden ${name}",
"waitingForName": "Venter på ${name}..."
"guestSwitchFailed": "Kunne ikke skifte — indhold blev ikke fundet på denne server"
},
"downloads": {
"title": "Downloads",
@@ -1155,7 +1140,6 @@
"customAmount": "Angiv antal...",
"includeSpecials": "Inkludér specials",
"howManyEpisodes": "Hvor mange episoder?",
"itemsQueued": "${count} elementer sat i kø til download",
"keepSynced": "Hold synkroniseret",
"downloadOnce": "Download én gang",
"keepNUnwatched": "Behold ${count} usete",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Ukendt enhed",
"session": {
"startingServer": "Starter fjernserver...",
"failedToCreate": "Kunne ikke starte fjernserver:",
"hostAddress": "Værtsadresse",
"connected": "Forbundet",
"serverRunning": "Fjernserver aktiv",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Ingen netværksgrænseflade fundet",
"authenticationFailed": "Godkendelse mislykkedes",
"serverStartFailed": "Kunne ikke starte fjernserveren: ${error}",
"commandFailed": "Kunne ikke sende fjernkommando: ${error}",
"joinTimedOut": "Tidsgrænse for deltagelse i session overskredet",
"failedToConnectAnyAddress": "Kunne ikke oprette forbindelse til nogen adresse",
"connectionLostAfterAttempts": "Forbindelse mistet efter ${attempts} forsøg",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect mislykkedes: ${error}",
"addPlexTitle": "Log ind med Plex",
"pinExpired": "PIN udløb før login. Prøv igen.",
"duplicatePlexAccount": "Allerede logget ind på Plex. Log ud for at skifte konto.",
"failedToRegisterAccount": "Kunne ikke registrere kontoen: ${error}",
"enterJellyfinUrlError": "Angiv URL'en til din Jellyfin-server",
"addConnectionTitle": "Tilføj forbindelse",
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Anmelden",
"signInWithPlex": "Mit Plex anmelden",
"showQRCode": "QR-Code anzeigen",
"authenticate": "Authentifizieren",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Episode ${number} - ${title}",
"chapterNumber": "Kapitel ${number}",
"reconnect": "Erneut verbinden",
"exit": "Beenden",
"viewAll": "Alle anzeigen",
"checkingNetwork": "Netzwerk wird geprüft...",
"refreshingServers": "Server werden aktualisiert...",
"loadingServers": "Server werden geladen...",
"connectingToServers": "Verbindung zu Servern...",
"startingOfflineMode": "Offlinemodus wird gestartet...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "TV-Karten nur mit Bild verwenden und Darstellernamen einblenden",
"focusGlow": "Fokus-Leuchten",
"focusGlowDescription": "Sanftes Leuchten um die fokussierte Karte anzeigen",
"visualEffects": "Visuelle Effekte",
"visualEffectsAuto": "Automatisch",
"visualEffectsAutoDescription": "Effekte auf leistungsschwachen Geräten automatisch reduzieren",
"visualEffectsFull": "Vollständig",
"visualEffectsReduced": "Reduziert",
"visualEffectsReducedDescription": "Weniger Animationen und Grafiken mit niedrigerer Auflösung",
"hideSpoilers": "Spoiler für nicht gesehene Episoden verbergen",
"hideSpoilersDescription": "Vorschaubilder und Beschreibungen ungesehener Episoden verwischen",
"playerBackend": "Player-Backend",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Auto (Empfohlen)",
"bufferSizeWarning": "${heap}MB Speicher verfügbar. Ein ${size}MB-Puffer kann die Wiedergabe beeinträchtigen.",
"defaultQualityTitle": "Standardqualität",
"defaultQualityDescription": "Wird beim Starten der Wiedergabe verwendet. Niedrigere Werte reduzieren die Bandbreite.",
"musicQualityTitle": "Musikqualität",
"subtitleStyling": "Untertitel-Stil",
"subtitleStylingDescription": "Aussehen von Untertiteln anpassen",
"smallSkipDuration": "Kleine Sprungdauer",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Zeige auf Discord, was du gerade schaust",
"trakt": "Trakt",
"traktDescription": "Wiedergabeverlauf mit Trakt synchronisieren",
"services": "Dienste",
"servicesDescription": "Trakt, MyAnimeList, Seerr und mehr verbinden",
"manageLibrariesDescription": "Mediatheken neu anordnen und ausblenden",
"companionRemoteServer": "Companion Remote Server",
"companionRemoteServerDescription": "Mobilgeräten in deinem Netzwerk erlauben, diese App zu steuern",
"autoPip": "Automatisches Bild-in-Bild",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Navigationsleisten-Beschriftungen anzeigen",
"showNavBarLabelsDescription": "Textbeschriftungen unter den Symbolen der Navigationsleiste anzeigen",
"startupSection": "Startbereich",
"startupSectionDescription": "Legt fest, welchen Bereich Plezy beim Start öffnet",
"liveTvDefaultFavorites": "Standardmäßig Favoritenkanäle",
"liveTvDefaultFavoritesDescription": "Beim Öffnen von Live TV nur Favoritenkanäle anzeigen",
"display": "Anzeige",
@@ -322,14 +323,7 @@
"player": "Wiedergabe",
"subtitlesAndConfig": "Untertitel & Konfiguration",
"seekAndTiming": "Spulen & Timing",
"behavior": "Verhalten",
"manageLibrariesDescription": "Mediatheken neu anordnen und ausblenden",
"visualEffects": "Visuelle Effekte",
"visualEffectsAuto": "Automatisch",
"visualEffectsAutoDescription": "Effekte auf leistungsschwachen Geräten automatisch reduzieren",
"visualEffectsFull": "Vollständig",
"visualEffectsReduced": "Reduziert",
"visualEffectsReducedDescription": "Weniger Animationen und Grafiken mit niedrigerer Auflösung"
"behavior": "Verhalten"
},
"search": {
"hint": "Filme, Serien, Musik suchen...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Bewerten",
"server": "Server",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Eine Wertung festlegen",
"favorite": "Favorit",
"favorited": "Favorisiert",
"saved": "Gespeichert",
"notAvailable": "Keine Übereinstimmung gefunden",
"noConnectedServices": "Verbinde einen Dienst in den Einstellungen, um dort zu bewerten.",
"favorite": "Favorit",
"favorited": "Favorisiert"
"noConnectedServices": "Verbinde einen Dienst in den Einstellungen, um dort zu bewerten."
},
"accessibility": {
"mediaCardMovie": "${title}, Film",
@@ -435,7 +426,15 @@
"mediaCardWatched": "angesehen",
"mediaCardPartiallyWatched": "${percent} Prozent angesehen",
"mediaCardUnwatched": "ungeschaut",
"tapToPlay": "Zum Abspielen tippen"
"tapToPlay": "Zum Abspielen tippen",
"decrease": "Verringern",
"increase": "Erhöhen",
"decreaseValue": "${label} verringern",
"increaseValue": "${label} erhöhen",
"hue": "Farbton",
"saturation": "Sättigung",
"brightness": "Helligkeit",
"hexColor": "Hex-Farbe"
},
"tooltips": {
"shufflePlay": "Zufallswiedergabe",
@@ -481,13 +480,11 @@
"settingsButton": "Wiedergabeeinstellungen",
"tracksButton": "Audio und Untertitel",
"chaptersButton": "Kapitel",
"versionsButton": "Videoversionen",
"versionQualityButton": "Version & Qualität",
"versionColumnHeader": "Version",
"qualityColumnHeader": "Qualität",
"qualityOriginal": "Original",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transkodierung nicht verfügbar — Wiedergabe in Originalqualität",
"pipButton": "Bild-in-Bild Modus",
"aspectRatioButton": "Seitenverhältnis",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Untertitel konnte nicht heruntergeladen werden",
"searchLanguages": "Sprachen suchen..."
},
"userStatus": {
"admin": "Eigentümer",
"restricted": "Eingeschränkt",
"protected": "Geschützt",
"current": "AKTUELL"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Als gesehen markiert",
"markedAsUnwatched": "Als ungesehen markiert",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN-Schutz (optional)",
"pinExplain": "4-stellige PIN zum Profilwechsel erforderlich.",
"continueButton": "Weiter",
"pinsDontMatch": "PINs stimmen nicht überein",
"initializeServicesFailed": "Profildienste konnten nicht initialisiert werden"
"pinsDontMatch": "PINs stimmen nicht überein"
},
"connections": {
"sectionTitle": "Verbindungen",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Entdecken",
"switchProfile": "Profil wechseln",
"noContentAvailable": "Kein Inhalt verfügbar",
"addMediaToLibraries": "Medien zur Mediathek hinzufügen",
"continueWatching": "Weiterschauen",
@@ -721,8 +711,6 @@
"connectionFailed": "Keine Verbindung zum Medienserver möglich",
"failedToLoad": "Fehler beim Laden von ${context}: ${error}",
"noClientAvailable": "Kein Client verfügbar",
"authenticationFailed": "Authentifizierung fehlgeschlagen: ${error}",
"couldNotLaunchUrl": "Auth-URL konnte nicht geöffnet werden",
"pleaseEnterToken": "Bitte Token eingeben",
"invalidToken": "Ungültiges Token",
"failedToVerifyToken": "Token-Verifizierung fehlgeschlagen: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Alle Mediatheken sind ausgeblendet",
"hiddenLibrariesCount": "Ausgeblendete Mediatheken (${count})",
"thisLibraryIsEmpty": "Diese Mediathek ist leer",
"noItemsMatchFilters": "Keine Elemente entsprechen den aktiven Filtern",
"resetFilters": "Filter zurücksetzen",
"all": "Alle",
"clearAll": "Alle löschen",
"scanLibraryConfirm": "„${title}“ wirklich scannen?",
@@ -804,7 +794,6 @@
"communityRating": "Community-Bewertung",
"criticRating": "Kritikerbewertung",
"userRating": "Benutzerbewertung",
"lastPlayed": "Zuletzt abgespielt",
"datePlayed": "Wiedergabedatum",
"playCount": "Wiedergaben",
"productionYear": "Produktionsjahr",
@@ -818,9 +807,7 @@
"dateShared": "Datum geteilt",
"latestEpisodeAirDate": "Letztes Folgenausstrahlungsdatum",
"lastEpisodeDateAdded": "Datum der zuletzt hinzugefügten Folge"
},
"noItemsMatchFilters": "Keine Elemente entsprechen den aktiven Filtern",
"resetFilters": "Filter zurücksetzen"
}
},
"about": {
"title": "Über",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Lizenzen von Drittanbieter-Bibliotheken anzeigen"
},
"serverSelection": {
"allServerConnectionsFailed": "Keine Verbindung zu Servern möglich. Prüfe dein Netzwerk.",
"noServersFoundForAccount": "Keine Server gefunden für ${username} (${email})",
"failedToLoadServers": "Server konnten nicht geladen werden: ${error}"
},
@@ -893,7 +879,6 @@
"watchlistUpdateFailed": "Merkliste konnte nicht aktualisiert werden",
"notInLibrary": "Nicht in deiner Mediathek",
"inTheseLibraries": "In diesen Mediatheken",
"availableOn": "Verfügbar auf ${server}",
"checkingLibrary": "Deine Mediathek wird überprüft...",
"emptyTitle": "Hier ist noch nichts",
"emptyMessage": "Zeilen aus ${source} erscheinen hier, sobald sie Inhalte enthalten.",
@@ -907,6 +892,8 @@
"guide": "Programmführer",
"noChannels": "Keine Kanäle verfügbar",
"noDvr": "Kein DVR auf einem Server konfiguriert",
"serverUnavailable": "Der Live-TV-Server ist nicht verfügbar.",
"serverNotConnected": "Der Live-TV-Server ist nicht verbunden.",
"noPrograms": "Keine Programmdaten verfügbar",
"liveStreamFailed": "Livestream fehlgeschlagen",
"unknownProgram": "Unbekannte Sendung",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Geplant",
"recordingRules": "Aufnahmeregeln",
"noScheduledRecordings": "Keine geplanten Aufnahmen",
"noRecordingRules": "Noch keine Aufnahmeregeln",
"manageRecording": "Aufnahme verwalten",
"cancelRecording": "Aufnahme abbrechen",
"cancelRecordingTitle": "Diese Aufnahme abbrechen?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Aufnahme abgebrochen",
"recordingRuleDeleted": "Aufnahmeregel gelöscht",
"processRecordingRules": "Regeln neu bewerten",
"loadingRecordings": "Aufnahmen werden geladen ...",
"recordingInProgress": "Wird jetzt aufgenommen",
"recordingsCount": "${count} geplant",
"editRule": "Regel bearbeiten",
@@ -973,7 +958,6 @@
"title": "Sammlungen",
"collection": "Sammlung",
"empty": "Sammlung ist leer",
"unknownLibrarySection": "Löschen nicht möglich: Unbekannte Bibliothekssektion",
"deleteCollection": "Sammlung löschen",
"deleteConfirm": "\"${title}\" löschen? Dies kann nicht rückgängig gemacht werden.",
"deleted": "Sammlung gelöscht",
@@ -1013,6 +997,7 @@
"itemAdded": "Zur Wiedergabeliste hinzugefügt",
"itemRemoved": "Aus Wiedergabeliste entfernt",
"selectPlaylist": "Wiedergabeliste auswählen",
"searchPlaylists": "Wiedergabelisten durchsuchen...",
"errorCreating": "Wiedergabeliste konnte nicht erstellt werden",
"errorDeleting": "Wiedergabeliste konnte nicht gelöscht werden",
"errorLoading": "Wiedergabelisten konnten nicht geladen werden",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} hat fortgesetzt",
"participantSeeked": "${name} hat gespult",
"participantBuffering": "${name} puffert",
"participantNeedsUpdate": "${name} verwendet eine ältere Appversion — Synchronisierung nicht verfügbar",
"resumingWithout": "Fortfahren ohne ${name}",
"waitingForParticipants": "Warte auf andere zum Laden...",
"waitingForName": "Warten auf ${name}...",
"recentRooms": "Letzte Räume",
"renameRoom": "Raum umbenennen",
"removeRoom": "Entfernen",
"guestSwitchUnavailable": "Wechsel fehlgeschlagen — Server nicht für Synchronisierung verfügbar",
"guestSwitchFailed": "Wechsel fehlgeschlagen — Inhalt auf diesem Server nicht gefunden",
"participantNeedsUpdate": "${name} verwendet eine ältere Appversion — Synchronisierung nicht verfügbar",
"resumingWithout": "Fortfahren ohne ${name}",
"waitingForName": "Warten auf ${name}..."
"guestSwitchFailed": "Wechsel fehlgeschlagen — Inhalt auf diesem Server nicht gefunden"
},
"downloads": {
"title": "Downloads",
@@ -1155,7 +1140,6 @@
"customAmount": "Eigene Anzahl...",
"includeSpecials": "Specials einschließen",
"howManyEpisodes": "Wie viele Episoden?",
"itemsQueued": "${count} Elemente zum Download eingereiht",
"keepSynced": "Synchronisiert halten",
"downloadOnce": "Einmal herunterladen",
"keepNUnwatched": "${count} ungesehene behalten",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Unbekanntes Gerät",
"session": {
"startingServer": "Remote-Server wird gestartet...",
"failedToCreate": "Remote-Server konnte nicht gestartet werden:",
"hostAddress": "Host-Adresse",
"connected": "Verbunden",
"serverRunning": "Remote-Server aktiv",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Keine Netzwerkschnittstelle gefunden",
"authenticationFailed": "Authentifizierung fehlgeschlagen",
"serverStartFailed": "Remote-Server konnte nicht gestartet werden: ${error}",
"commandFailed": "Remote-Befehl konnte nicht gesendet werden: ${error}",
"joinTimedOut": "Zeitüberschreitung beim Beitreten zur Sitzung",
"failedToConnectAnyAddress": "Keine Verbindung zu einer Adresse möglich",
"connectionLostAfterAttempts": "Verbindung nach ${attempts} Versuchen verloren",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect fehlgeschlagen: ${error}",
"addPlexTitle": "Mit Plex anmelden",
"pinExpired": "PIN ist vor der Anmeldung abgelaufen. Bitte erneut versuchen.",
"duplicatePlexAccount": "Bereits bei Plex angemeldet. Melde dich ab, um Konten zu wechseln.",
"failedToRegisterAccount": "Konto konnte nicht registriert werden: ${error}",
"enterJellyfinUrlError": "Gib die URL deines Jellyfin-Servers ein",
"addConnectionTitle": "Verbindung hinzufügen",
+15 -33
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Sign in",
"signInWithPlex": "Sign in with Plex",
"showQRCode": "Show QR Code",
"authenticate": "Authenticate",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Episode ${number} - ${title}",
"chapterNumber": "Chapter ${number}",
"reconnect": "Reconnect",
"exit": "Exit",
"viewAll": "View All",
"checkingNetwork": "Checking network...",
"refreshingServers": "Refreshing servers...",
"loadingServers": "Loading servers...",
"connectingToServers": "Connecting to servers...",
"startingOfflineMode": "Starting offline mode...",
@@ -157,7 +154,6 @@
"bufferSizeAuto": "Auto (Recommended)",
"bufferSizeWarning": "${heap}MB memory available. A ${size}MB buffer may affect playback.",
"defaultQualityTitle": "Default Quality",
"defaultQualityDescription": "Used when starting playback. Lower values reduce bandwidth.",
"musicQualityTitle": "Music Quality",
"subtitleStyling": "Subtitle Styling",
"subtitleStylingDescription": "Customize subtitle appearance",
@@ -252,8 +248,6 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Show what you're watching on Discord",
"trakt": "Trakt",
"traktDescription": "Sync watch history with Trakt",
"services": "Services",
"servicesDescription": "Connect Trakt, MyAnimeList, Seerr, and more",
"manageLibrariesDescription": "Reorder and hide libraries",
@@ -319,7 +313,6 @@
"showNavBarLabels": "Show Navigation Bar Labels",
"showNavBarLabelsDescription": "Display text labels under navigation bar icons",
"startupSection": "Startup Section",
"startupSectionDescription": "Choose which section Plezy opens to when it starts",
"liveTvDefaultFavorites": "Default to Favorite Channels",
"liveTvDefaultFavoritesDescription": "Show only favorite channels when opening Live TV",
"display": "Display",
@@ -419,9 +412,6 @@
"rateSheet": {
"title": "Rate",
"server": "Server",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Set a score",
"favorite": "Favorite",
"favorited": "Favorited",
"saved": "Saved",
@@ -436,7 +426,15 @@
"mediaCardWatched": "watched",
"mediaCardPartiallyWatched": "${percent} percent watched",
"mediaCardUnwatched": "unwatched",
"tapToPlay": "Tap to play"
"tapToPlay": "Tap to play",
"decrease": "Decrease",
"increase": "Increase",
"decreaseValue": "Decrease ${label}",
"increaseValue": "Increase ${label}",
"hue": "Hue",
"saturation": "Saturation",
"brightness": "Brightness",
"hexColor": "Hex color"
},
"tooltips": {
"shufflePlay": "Shuffle play",
@@ -482,13 +480,11 @@
"settingsButton": "Playback Settings",
"tracksButton": "Audio & Subtitles",
"chaptersButton": "Chapters",
"versionsButton": "Video versions",
"versionQualityButton": "Version & Quality",
"versionColumnHeader": "Version",
"qualityColumnHeader": "Quality",
"qualityOriginal": "Original",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transcoding unavailable — playing original quality",
"pipButton": "Picture-in-Picture mode",
"aspectRatioButton": "Aspect ratio",
@@ -531,12 +527,7 @@
"subtitleDownloadFailed": "Failed to download subtitle",
"searchLanguages": "Search languages..."
},
"userStatus": {
"admin": "Admin",
"restricted": "Restricted",
"protected": "Protected",
"current": "CURRENT"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Marked as watched",
"markedAsUnwatched": "Marked as unwatched",
@@ -677,8 +668,7 @@
"pinProtectionOptional": "PIN protection (optional)",
"pinExplain": "4-digit PIN required to switch profiles.",
"continueButton": "Continue",
"pinsDontMatch": "PINs don't match",
"initializeServicesFailed": "Failed to initialize profile services"
"pinsDontMatch": "PINs don't match"
},
"connections": {
"sectionTitle": "Connections",
@@ -693,7 +683,6 @@
},
"discover": {
"title": "Discover",
"switchProfile": "Switch Profile",
"noContentAvailable": "No content available",
"addMediaToLibraries": "Add some media to your libraries",
"continueWatching": "Continue Watching",
@@ -722,8 +711,6 @@
"connectionFailed": "Unable to connect to media server",
"failedToLoad": "Failed to load ${context}: ${error}",
"noClientAvailable": "No client available",
"authenticationFailed": "Authentication failed: ${error}",
"couldNotLaunchUrl": "Could not launch auth URL",
"pleaseEnterToken": "Please enter a token",
"invalidToken": "Invalid token",
"failedToVerifyToken": "Failed to verify token: ${error}",
@@ -807,7 +794,6 @@
"communityRating": "Community Rating",
"criticRating": "Critic Rating",
"userRating": "User Rating",
"lastPlayed": "Last Played",
"datePlayed": "Date Played",
"playCount": "Play Count",
"productionYear": "Production Year",
@@ -831,7 +817,6 @@
"viewLicensesDescription": "View licenses of third-party libraries"
},
"serverSelection": {
"allServerConnectionsFailed": "Couldn't connect to any servers. Check your network.",
"noServersFoundForAccount": "No servers found for ${username} (${email})",
"failedToLoadServers": "Failed to load servers: ${error}"
},
@@ -894,7 +879,6 @@
"watchlistUpdateFailed": "Couldn't update watchlist",
"notInLibrary": "Not in your library",
"inTheseLibraries": "In these libraries",
"availableOn": "Available on ${server}",
"checkingLibrary": "Checking your library...",
"emptyTitle": "Nothing here yet",
"emptyMessage": "Rows from ${source} will appear here once they have content.",
@@ -908,6 +892,8 @@
"guide": "Guide",
"noChannels": "No channels available",
"noDvr": "No DVR configured on any server",
"serverUnavailable": "Live TV server is not available.",
"serverNotConnected": "Live TV server is not connected.",
"noPrograms": "No program data available",
"liveStreamFailed": "Live stream failed",
"unknownProgram": "Unknown Program",
@@ -943,7 +929,6 @@
"scheduledRecordings": "Scheduled",
"recordingRules": "Recording Rules",
"noScheduledRecordings": "Nothing scheduled to record",
"noRecordingRules": "No recording rules yet",
"manageRecording": "Manage recording",
"cancelRecording": "Cancel recording",
"cancelRecordingTitle": "Cancel this recording?",
@@ -960,7 +945,6 @@
"recordingCancelled": "Recording cancelled",
"recordingRuleDeleted": "Recording rule deleted",
"processRecordingRules": "Re-evaluate rules",
"loadingRecordings": "Loading recordings...",
"recordingInProgress": "Recording now",
"recordingsCount": "${count} scheduled",
"editRule": "Edit rule",
@@ -974,7 +958,6 @@
"title": "Collections",
"collection": "Collection",
"empty": "Collection is empty",
"unknownLibrarySection": "Cannot delete: Unknown library section",
"deleteCollection": "Delete Collection",
"deleteConfirm": "Delete \"${title}\"? This can't be undone.",
"deleted": "Collection deleted",
@@ -1157,7 +1140,6 @@
"customAmount": "Custom amount...",
"includeSpecials": "Include Specials",
"howManyEpisodes": "How many episodes?",
"itemsQueued": "${count} items queued for download",
"keepSynced": "Keep synced",
"downloadOnce": "Download once",
"keepNUnwatched": "Keep ${count} unwatched",
@@ -1206,7 +1188,6 @@
"unknownDevice": "Unknown Device",
"session": {
"startingServer": "Starting remote server...",
"failedToCreate": "Failed to start remote server:",
"hostAddress": "Host Address",
"connected": "Connected",
"serverRunning": "Remote server active",
@@ -1267,6 +1248,8 @@
"errors": {
"noNetworkInterface": "No network interface found",
"authenticationFailed": "Authentication failed",
"serverStartFailed": "Failed to start remote server: ${error}",
"commandFailed": "Failed to send remote command: ${error}",
"joinTimedOut": "Timed out joining session",
"failedToConnectAnyAddress": "Failed to connect to any address",
"connectionLostAfterAttempts": "Connection lost after ${attempts} attempts",
@@ -1540,7 +1523,6 @@
"quickConnectFailed": "Quick Connect failed: ${error}",
"addPlexTitle": "Sign in with Plex",
"pinExpired": "PIN expired before sign-in. Please try again.",
"duplicatePlexAccount": "Already signed in to Plex. Sign out to switch accounts.",
"failedToRegisterAccount": "Failed to register account: ${error}",
"enterJellyfinUrlError": "Enter your Jellyfin server URL",
"addConnectionTitle": "Add connection",
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Iniciar sesión",
"signInWithPlex": "Inicia sesión con Plex",
"showQRCode": "Mostrar código QR",
"authenticate": "Autenticar",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Episodio ${number} - ${title}",
"chapterNumber": "Capítulo ${number}",
"reconnect": "Reconectar",
"exit": "Salir",
"viewAll": "Ver todo",
"checkingNetwork": "Comprobando red...",
"refreshingServers": "Actualizando servidores...",
"loadingServers": "Cargando servidores...",
"connectingToServers": "Conectando a servidores...",
"startingOfflineMode": "Iniciando modo sin conexión...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Usar tarjetas TV solo con imagen y nombres de actores superpuestos",
"focusGlow": "Brillo de foco",
"focusGlowDescription": "Mostrar un brillo suave alrededor de la tarjeta con foco",
"visualEffects": "Efectos visuales",
"visualEffectsAuto": "Automático",
"visualEffectsAutoDescription": "Reduce automáticamente los efectos en dispositivos de bajo consumo",
"visualEffectsFull": "Completos",
"visualEffectsReduced": "Reducidos",
"visualEffectsReducedDescription": "Menos animaciones e ilustraciones de menor resolución",
"hideSpoilers": "Ocultar spoilers de episodios no vistos",
"hideSpoilersDescription": "Desenfocar miniaturas y descripciones de episodios no vistos",
"playerBackend": "Reproductor",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Auto (Recomendado)",
"bufferSizeWarning": "${heap}MB de memoria disponible. Un búfer de ${size}MB puede afectar la reproducción.",
"defaultQualityTitle": "Calidad predeterminada",
"defaultQualityDescription": "Se utiliza al iniciar la reproducción. Los valores más bajos reducen el ancho de banda.",
"musicQualityTitle": "Calidad de música",
"subtitleStyling": "Estilo de Subtítulos",
"subtitleStylingDescription": "Personalizar la apariencia de los subtítulos",
"smallSkipDuration": "Salto pequeño",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Presencia de Discord",
"discordRichPresenceDescription": "Mostrar lo que estás viendo en Discord",
"trakt": "Trakt",
"traktDescription": "Sincronizar historial de visualización con Trakt",
"services": "Servicios",
"servicesDescription": "Conecta Trakt, MyAnimeList, Seerr y más",
"manageLibrariesDescription": "Reordena y oculta bibliotecas",
"companionRemoteServer": "Servidor de control remoto",
"companionRemoteServerDescription": "Permitir que dispositivos móviles en tu red controlen esta aplicación",
"autoPip": "Imagen en imagen automática",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Mostrar etiquetas de la barra de navegación",
"showNavBarLabelsDescription": "Mostrar etiquetas de texto bajo los iconos de la barra de navegación",
"startupSection": "Sección de inicio",
"startupSectionDescription": "Elige qué sección abre Plezy al iniciarse",
"liveTvDefaultFavorites": "Canales favoritos por defecto",
"liveTvDefaultFavoritesDescription": "Mostrar solo canales favoritos al abrir TV en vivo",
"display": "Pantalla",
@@ -322,14 +323,7 @@
"player": "Reproductor",
"subtitlesAndConfig": "Subtítulos y configuración",
"seekAndTiming": "Búsqueda y tiempo",
"behavior": "Comportamiento",
"manageLibrariesDescription": "Reordena y oculta bibliotecas",
"visualEffects": "Efectos visuales",
"visualEffectsAuto": "Automático",
"visualEffectsAutoDescription": "Reduce automáticamente los efectos en dispositivos de bajo consumo",
"visualEffectsFull": "Completos",
"visualEffectsReduced": "Reducidos",
"visualEffectsReducedDescription": "Menos animaciones e ilustraciones de menor resolución"
"behavior": "Comportamiento"
},
"search": {
"hint": "Buscar películas, series, música...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Calificar",
"server": "Servidor",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Establecer puntuación",
"favorite": "Favorito",
"favorited": "Marcado como favorito",
"saved": "Guardado",
"notAvailable": "No se encontró coincidencia",
"noConnectedServices": "Conecta un servicio en Configuración para calificar ahí.",
"favorite": "Favorito",
"favorited": "Marcado como favorito"
"noConnectedServices": "Conecta un servicio en Configuración para calificar ahí."
},
"accessibility": {
"mediaCardMovie": "${title}, película",
@@ -435,7 +426,15 @@
"mediaCardWatched": "visto",
"mediaCardPartiallyWatched": "${percent} por ciento visto",
"mediaCardUnwatched": "no visto",
"tapToPlay": "Toca para reproducir"
"tapToPlay": "Toca para reproducir",
"decrease": "Disminuir",
"increase": "Aumentar",
"decreaseValue": "Disminuir ${label}",
"increaseValue": "Aumentar ${label}",
"hue": "Tono",
"saturation": "Saturación",
"brightness": "Brillo",
"hexColor": "Color hexadecimal"
},
"tooltips": {
"shufflePlay": "Reproducción aleatoria",
@@ -481,13 +480,11 @@
"settingsButton": "Ajustes de reproducción",
"tracksButton": "Audio y subtítulos",
"chaptersButton": "Capítulos",
"versionsButton": "Versiones de video",
"versionQualityButton": "Versión y calidad",
"versionColumnHeader": "Versión",
"qualityColumnHeader": "Calidad",
"qualityOriginal": "Original",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transcodificación no disponible — reproduciendo calidad original",
"pipButton": "Modo PiP (Imagen en Imagen)",
"aspectRatioButton": "Relación de aspecto",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Error al descargar subtítulo",
"searchLanguages": "Buscar idiomas..."
},
"userStatus": {
"admin": "Administrador",
"restricted": "Restringido",
"protected": "Protegido",
"current": "ACTUAL"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Marcado como visto",
"markedAsUnwatched": "Marcado como no visto",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "Protección con PIN (opcional)",
"pinExplain": "Se requiere PIN de 4 dígitos para cambiar de perfil.",
"continueButton": "Continuar",
"pinsDontMatch": "Los PIN no coinciden",
"initializeServicesFailed": "No se pudieron inicializar los servicios de perfil"
"pinsDontMatch": "Los PIN no coinciden"
},
"connections": {
"sectionTitle": "Conexiones",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Descubrir",
"switchProfile": "Cambiar Perfil",
"noContentAvailable": "No hay contenido disponible",
"addMediaToLibraries": "Añade contenido a tus bibliotecas",
"continueWatching": "Seguir Viendo",
@@ -721,8 +711,6 @@
"connectionFailed": "No se puede conectar al servidor multimedia",
"failedToLoad": "Error al cargar ${context}: ${error}",
"noClientAvailable": "No hay cliente disponible",
"authenticationFailed": "Error de autenticación: ${error}",
"couldNotLaunchUrl": "No se pudo abrir la URL de autenticación",
"pleaseEnterToken": "Por favor, introduce un token",
"invalidToken": "Token no válido",
"failedToVerifyToken": "Error al verificar el token: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Todas las bibliotecas están ocultas",
"hiddenLibrariesCount": "Bibliotecas ocultas (${count})",
"thisLibraryIsEmpty": "Esta biblioteca está vacía",
"noItemsMatchFilters": "Ningún elemento coincide con los filtros activos",
"resetFilters": "Restablecer filtros",
"all": "Todos",
"clearAll": "Borrar Todo",
"scanLibraryConfirm": "¿Estás seguro de que quieres escanear \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Calificación de comunidad",
"criticRating": "Calificación de crítica",
"userRating": "Calificación del usuario",
"lastPlayed": "Última reproducción",
"datePlayed": "Fecha de reproducción",
"playCount": "Reproducciones",
"productionYear": "Año de producción",
@@ -818,9 +807,7 @@
"dateShared": "Fecha de compartición",
"latestEpisodeAirDate": "Última fecha de emisión del episodio",
"lastEpisodeDateAdded": "Fecha de adición del último episodio"
},
"noItemsMatchFilters": "Ningún elemento coincide con los filtros activos",
"resetFilters": "Restablecer filtros"
}
},
"about": {
"title": "Acerca de",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Ver licencias de librerías de terceros"
},
"serverSelection": {
"allServerConnectionsFailed": "No se pudo conectar a ningún servidor. Revisa tu red.",
"noServersFoundForAccount": "No se encontraron servidores para ${username} (${email})",
"failedToLoadServers": "Error al cargar servidores: ${error}"
},
@@ -893,7 +879,6 @@
"watchlistUpdateFailed": "No se pudo actualizar la lista de seguimiento",
"notInLibrary": "No está en tu biblioteca",
"inTheseLibraries": "En estas bibliotecas",
"availableOn": "Disponible en ${server}",
"checkingLibrary": "Comprobando tu biblioteca...",
"emptyTitle": "Aquí no hay nada todavía",
"emptyMessage": "Las filas de ${source} aparecerán aquí cuando tengan contenido.",
@@ -907,6 +892,8 @@
"guide": "Guía",
"noChannels": "No hay canales disponibles",
"noDvr": "No hay DVR configurado en ningún servidor",
"serverUnavailable": "El servidor de TV en directo no está disponible.",
"serverNotConnected": "El servidor de TV en directo no está conectado.",
"noPrograms": "No hay datos de programación disponibles",
"liveStreamFailed": "Falló la transmisión en vivo",
"unknownProgram": "Programa desconocido",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Programadas",
"recordingRules": "Reglas de grabación",
"noScheduledRecordings": "No hay grabaciones programadas",
"noRecordingRules": "Aún no hay reglas de grabación",
"manageRecording": "Gestionar grabación",
"cancelRecording": "Cancelar grabación",
"cancelRecordingTitle": "¿Cancelar esta grabación?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Grabación cancelada",
"recordingRuleDeleted": "Regla de grabación eliminada",
"processRecordingRules": "Reevaluar reglas",
"loadingRecordings": "Cargando grabaciones...",
"recordingInProgress": "Grabando ahora",
"recordingsCount": "${count} programadas",
"editRule": "Editar regla",
@@ -973,7 +958,6 @@
"title": "Colecciones",
"collection": "Colección",
"empty": "La colección está vacía",
"unknownLibrarySection": "No se puede eliminar: Sección de biblioteca desconocida",
"deleteCollection": "Eliminar Colección",
"deleteConfirm": "¿Eliminar \"${title}\"? No se puede deshacer.",
"deleted": "Colección eliminada",
@@ -1013,6 +997,7 @@
"itemAdded": "Añadido a la lista",
"itemRemoved": "Eliminado de la lista",
"selectPlaylist": "Seleccionar Lista",
"searchPlaylists": "Buscar listas...",
"errorCreating": "Error al crear la lista",
"errorDeleting": "Error al eliminar la lista",
"errorLoading": "Error al cargar las listas",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} reanudó",
"participantSeeked": "${name} avanzó",
"participantBuffering": "${name} está cargando",
"participantNeedsUpdate": "${name} usa una versión anterior de la app — sincronización no disponible",
"resumingWithout": "Reanudando sin ${name}",
"waitingForParticipants": "Esperando a que otros carguen...",
"waitingForName": "Esperando a ${name}...",
"recentRooms": "Salas recientes",
"renameRoom": "Renombrar sala",
"removeRoom": "Eliminar",
"guestSwitchUnavailable": "No se pudo cambiar — servidor no disponible para sincronización",
"guestSwitchFailed": "No se pudo cambiar — contenido no encontrado en este servidor",
"participantNeedsUpdate": "${name} usa una versión anterior de la app — sincronización no disponible",
"resumingWithout": "Reanudando sin ${name}",
"waitingForName": "Esperando a ${name}..."
"guestSwitchFailed": "No se pudo cambiar — contenido no encontrado en este servidor"
},
"downloads": {
"title": "Descargas",
@@ -1155,7 +1140,6 @@
"customAmount": "Cantidad personalizada...",
"includeSpecials": "Incluir especiales",
"howManyEpisodes": "¿Cuántos episodios?",
"itemsQueued": "${count} elementos en cola de descarga",
"keepSynced": "Mantener sincronizado",
"downloadOnce": "Descargar una vez",
"keepNUnwatched": "Mantener ${count} sin ver",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Dispositivo desconocido",
"session": {
"startingServer": "Iniciando servidor remoto...",
"failedToCreate": "Error al iniciar el servidor remoto:",
"hostAddress": "Dirección del host",
"connected": "Conectado",
"serverRunning": "Servidor remoto activo",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "No se encontró ninguna interfaz de red",
"authenticationFailed": "Autenticación fallida",
"serverStartFailed": "No se pudo iniciar el servidor remoto: ${error}",
"commandFailed": "No se pudo enviar el comando remoto: ${error}",
"joinTimedOut": "Se agotó el tiempo al unirse a la sesión",
"failedToConnectAnyAddress": "No se pudo conectar a ninguna dirección",
"connectionLostAfterAttempts": "Conexión perdida tras ${attempts} intentos",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect ha fallado: ${error}",
"addPlexTitle": "Iniciar sesión con Plex",
"pinExpired": "El PIN caducó antes de iniciar sesión. Inténtalo de nuevo.",
"duplicatePlexAccount": "Ya iniciaste sesión en Plex. Cierra sesión para cambiar de cuenta.",
"failedToRegisterAccount": "No se pudo registrar la cuenta: ${error}",
"enterJellyfinUrlError": "Introduce la URL de tu servidor Jellyfin",
"addConnectionTitle": "Añadir conexión",
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Se connecter",
"signInWithPlex": "S'inscrire avec Plex",
"showQRCode": "Afficher le QR Code",
"authenticate": "S'authentifier",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Épisode ${number} - ${title}",
"chapterNumber": "Chapitre ${number}",
"reconnect": "Reconnecter",
"exit": "Quitter",
"viewAll": "Tout afficher",
"checkingNetwork": "Vérification du réseau...",
"refreshingServers": "Actualisation des serveurs...",
"loadingServers": "Chargement des serveurs...",
"connectingToServers": "Connexion aux serveurs...",
"startingOfflineMode": "Démarrage en mode hors-ligne...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Utiliser des cartes TV avec image seule et noms des acteurs superposés",
"focusGlow": "Halo de sélection",
"focusGlowDescription": "Afficher un léger halo autour de la carte sélectionnée",
"visualEffects": "Effets visuels",
"visualEffectsAuto": "Automatique",
"visualEffectsAutoDescription": "Réduire automatiquement les effets sur les appareils peu puissants",
"visualEffectsFull": "Complets",
"visualEffectsReduced": "Réduits",
"visualEffectsReducedDescription": "Moins danimations et dillustrations de plus faible résolution",
"hideSpoilers": "Masquer les spoilers des épisodes non vus",
"hideSpoilersDescription": "Flouter les miniatures et descriptions des épisodes non vus",
"playerBackend": "Moteur de lecture",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Auto (Recommandé)",
"bufferSizeWarning": "${heap}MB de mémoire disponible. Un tampon de ${size}MB peut affecter la lecture.",
"defaultQualityTitle": "Qualité par défaut",
"defaultQualityDescription": "Utilisé au démarrage de la lecture. Les valeurs plus basses réduisent la bande passante.",
"musicQualityTitle": "Qualité de la musique",
"subtitleStyling": "Stylisation des sous-titres",
"subtitleStylingDescription": "Personnaliser l'apparence des sous-titres",
"smallSkipDuration": "Durée du petit saut",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Montrez ce que vous regardez sur Discord",
"trakt": "Trakt",
"traktDescription": "Synchroniser l'historique de visionnage avec Trakt",
"services": "Services",
"servicesDescription": "Connectez Trakt, MyAnimeList, Seerr et plus",
"manageLibrariesDescription": "Réorganiser et masquer les bibliothèques",
"companionRemoteServer": "Serveur de télécommande",
"companionRemoteServerDescription": "Autoriser les appareils mobiles de votre réseau à contrôler cette application",
"autoPip": "Image dans l'image automatique",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Afficher les libellés de la barre de navigation",
"showNavBarLabelsDescription": "Afficher les libellés sous les icônes de la barre de navigation",
"startupSection": "Section de démarrage",
"startupSectionDescription": "Choisissez la section que Plezy ouvre au démarrage",
"liveTvDefaultFavorites": "Chaînes favorites par défaut",
"liveTvDefaultFavoritesDescription": "Afficher uniquement les chaînes favorites à l'ouverture de la TV en direct",
"display": "Affichage",
@@ -322,14 +323,7 @@
"player": "Lecteur",
"subtitlesAndConfig": "Sous-titres et configuration",
"seekAndTiming": "Recherche et minutage",
"behavior": "Comportement",
"manageLibrariesDescription": "Réorganiser et masquer les bibliothèques",
"visualEffects": "Effets visuels",
"visualEffectsAuto": "Automatique",
"visualEffectsAutoDescription": "Réduire automatiquement les effets sur les appareils peu puissants",
"visualEffectsFull": "Complets",
"visualEffectsReduced": "Réduits",
"visualEffectsReducedDescription": "Moins danimations et dillustrations de plus faible résolution"
"behavior": "Comportement"
},
"search": {
"hint": "Rechercher des films, des séries, de la musique...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Noter",
"server": "Serveur",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Définir une note",
"favorite": "Favori",
"favorited": "Ajouté aux favoris",
"saved": "Enregistré",
"notAvailable": "Aucune correspondance trouvée",
"noConnectedServices": "Connectez un service dans les Réglages pour noter ici.",
"favorite": "Favori",
"favorited": "Ajouté aux favoris"
"noConnectedServices": "Connectez un service dans les Réglages pour noter ici."
},
"accessibility": {
"mediaCardMovie": "${title}, film",
@@ -435,7 +426,15 @@
"mediaCardWatched": "visionné",
"mediaCardPartiallyWatched": "${percent} pourcentage visionné",
"mediaCardUnwatched": "non visionné",
"tapToPlay": "Appuyez pour lire"
"tapToPlay": "Appuyez pour lire",
"decrease": "Diminuer",
"increase": "Augmenter",
"decreaseValue": "Diminuer ${label}",
"increaseValue": "Augmenter ${label}",
"hue": "Teinte",
"saturation": "Saturation",
"brightness": "Luminosité",
"hexColor": "Couleur hexadécimale"
},
"tooltips": {
"shufflePlay": "Lecture aléatoire",
@@ -481,13 +480,11 @@
"settingsButton": "Paramètres de lecture",
"tracksButton": "Audio et sous-titres",
"chaptersButton": "Chapitres",
"versionsButton": "Versions vidéo",
"versionQualityButton": "Version et qualité",
"versionColumnHeader": "Version",
"qualityColumnHeader": "Qualité",
"qualityOriginal": "Originale",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transcodage indisponible — lecture en qualité originale",
"pipButton": "Mode PiP (Picture-in-Picture)",
"aspectRatioButton": "Format d'image",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Échec du téléchargement du sous-titre",
"searchLanguages": "Rechercher des langues..."
},
"userStatus": {
"admin": "Admin",
"restricted": "Restreint",
"protected": "Protégé",
"current": "ACTUEL"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Marqué comme vu",
"markedAsUnwatched": "Marqué comme non vu",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "Protection par PIN (optionnelle)",
"pinExplain": "PIN à 4 chiffres requis pour changer de profil.",
"continueButton": "Continuer",
"pinsDontMatch": "Les PIN ne correspondent pas",
"initializeServicesFailed": "Impossible dinitialiser les services de profil"
"pinsDontMatch": "Les PIN ne correspondent pas"
},
"connections": {
"sectionTitle": "Connexions",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Découvrez",
"switchProfile": "Changer de profil",
"noContentAvailable": "Aucun contenu disponible",
"addMediaToLibraries": "Ajoutez des médias à votre bibliothèque",
"continueWatching": "Continuer à regarder",
@@ -721,8 +711,6 @@
"connectionFailed": "Impossible de se connecter au serveur multimédia",
"failedToLoad": "Échec du chargement ${context}: ${error}",
"noClientAvailable": "Aucun client disponible",
"authenticationFailed": "Échec de l'authentification: ${error}",
"couldNotLaunchUrl": "Impossible de lancer l'URL d'authentification",
"pleaseEnterToken": "Veuillez saisir un token",
"invalidToken": "Token invalide",
"failedToVerifyToken": "Échec de la vérification du token: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Toutes les bibliothèques sont masquées",
"hiddenLibrariesCount": "Bibliothèques masquées (${count})",
"thisLibraryIsEmpty": "Cette bibliothèque est vide",
"noItemsMatchFilters": "Aucun élément ne correspond aux filtres actifs",
"resetFilters": "Réinitialiser les filtres",
"all": "Tout",
"clearAll": "Tout effacer",
"scanLibraryConfirm": "Êtes-vous sûr de vouloir lancer le scan de \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Note communautaire",
"criticRating": "Note critique",
"userRating": "Note utilisateur",
"lastPlayed": "Dernière lecture",
"datePlayed": "Date de lecture",
"playCount": "Lectures",
"productionYear": "Année de production",
@@ -818,9 +807,7 @@
"dateShared": "Date de partage",
"latestEpisodeAirDate": "Dernière date de diffusion",
"lastEpisodeDateAdded": "Date d'ajout du dernier épisode"
},
"noItemsMatchFilters": "Aucun élément ne correspond aux filtres actifs",
"resetFilters": "Réinitialiser les filtres"
}
},
"about": {
"title": "À propos",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Afficher les licences des bibliothèques tierces"
},
"serverSelection": {
"allServerConnectionsFailed": "Connexion impossible à tous les serveurs. Vérifiez votre réseau.",
"noServersFoundForAccount": "Aucun serveur trouvé pour ${username} (${email})",
"failedToLoadServers": "Échec du chargement des serveurs: ${error}"
},
@@ -893,7 +879,6 @@
"watchlistUpdateFailed": "Impossible de mettre à jour la liste de suivi",
"notInLibrary": "Absent de votre bibliothèque",
"inTheseLibraries": "Dans ces bibliothèques",
"availableOn": "Disponible sur ${server}",
"checkingLibrary": "Vérification de votre bibliothèque...",
"emptyTitle": "Rien ici pour l'instant",
"emptyMessage": "Les rangées de ${source} apparaîtront ici une fois qu'elles auront du contenu.",
@@ -907,6 +892,8 @@
"guide": "Guide",
"noChannels": "Aucune chaîne disponible",
"noDvr": "Aucun DVR configuré sur les serveurs",
"serverUnavailable": "Le serveur de TV en direct nest pas disponible.",
"serverNotConnected": "Le serveur de TV en direct nest pas connecté.",
"noPrograms": "Aucune donnée de programme disponible",
"liveStreamFailed": "Échec du direct",
"unknownProgram": "Programme inconnu",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Programmés",
"recordingRules": "Règles d'enregistrement",
"noScheduledRecordings": "Aucun enregistrement programmé",
"noRecordingRules": "Aucune règle d'enregistrement",
"manageRecording": "Gérer l'enregistrement",
"cancelRecording": "Annuler l'enregistrement",
"cancelRecordingTitle": "Annuler cet enregistrement ?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Enregistrement annulé",
"recordingRuleDeleted": "Règle d'enregistrement supprimée",
"processRecordingRules": "Réévaluer les règles",
"loadingRecordings": "Chargement des enregistrements...",
"recordingInProgress": "Enregistrement en cours",
"recordingsCount": "${count} programmés",
"editRule": "Modifier la règle",
@@ -973,7 +958,6 @@
"title": "Collections",
"collection": "Collection",
"empty": "La collection est vide",
"unknownLibrarySection": "Impossible de supprimer : section de bibliothèque inconnue",
"deleteCollection": "Supprimer la collection",
"deleteConfirm": "Supprimer \"${title}\" ? Action irréversible.",
"deleted": "Collection supprimée",
@@ -1013,6 +997,7 @@
"itemAdded": "Ajouté à la playlist",
"itemRemoved": "Retiré de la playlist",
"selectPlaylist": "Sélectionner une playlist",
"searchPlaylists": "Rechercher des playlists...",
"errorCreating": "Échec de la création de playlist",
"errorDeleting": "Échec de suppression de playlist",
"errorLoading": "Échec de chargement de playlists",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} a repris",
"participantSeeked": "${name} a avancé",
"participantBuffering": "${name} met en mémoire tampon",
"participantNeedsUpdate": "${name} utilise une ancienne version de lapp — synchronisation indisponible",
"resumingWithout": "Reprise sans ${name}",
"waitingForParticipants": "En attente du chargement des autres...",
"waitingForName": "En attente de ${name}...",
"recentRooms": "Salons récents",
"renameRoom": "Renommer le salon",
"removeRoom": "Supprimer",
"guestSwitchUnavailable": "Impossible de changer — serveur indisponible pour la synchronisation",
"guestSwitchFailed": "Impossible de changer — contenu introuvable sur ce serveur",
"participantNeedsUpdate": "${name} utilise une ancienne version de lapp — synchronisation indisponible",
"resumingWithout": "Reprise sans ${name}",
"waitingForName": "En attente de ${name}..."
"guestSwitchFailed": "Impossible de changer — contenu introuvable sur ce serveur"
},
"downloads": {
"title": "Téléchargements",
@@ -1155,7 +1140,6 @@
"customAmount": "Quantité personnalisée...",
"includeSpecials": "Inclure les spéciaux",
"howManyEpisodes": "Combien d'épisodes ?",
"itemsQueued": "${count} éléments mis en file d'attente",
"keepSynced": "Garder synchronisé",
"downloadOnce": "Télécharger une fois",
"keepNUnwatched": "Garder ${count} non vus",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Appareil inconnu",
"session": {
"startingServer": "Démarrage du serveur distant...",
"failedToCreate": "Échec du démarrage du serveur distant :",
"hostAddress": "Adresse de l'hôte",
"connected": "Connecté",
"serverRunning": "Serveur distant actif",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Aucune interface réseau trouvée",
"authenticationFailed": "Échec de lauthentification",
"serverStartFailed": "Impossible de démarrer le serveur distant : ${error}",
"commandFailed": "Impossible denvoyer la commande à distance : ${error}",
"joinTimedOut": "Délai dépassé lors de la connexion à la session",
"failedToConnectAnyAddress": "Impossible de se connecter à une adresse",
"connectionLostAfterAttempts": "Connexion perdue après ${attempts} tentatives",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Échec de Quick Connect : ${error}",
"addPlexTitle": "Se connecter avec Plex",
"pinExpired": "Le PIN a expiré avant la connexion. Veuillez réessayer.",
"duplicatePlexAccount": "Déjà connecté à Plex. Déconnectez-vous pour changer de compte.",
"failedToRegisterAccount": "Échec de l'enregistrement du compte : ${error}",
"enterJellyfinUrlError": "Saisissez l'URL de votre serveur Jellyfin",
"addConnectionTitle": "Ajouter une connexion",
+40 -56
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Accedi",
"signInWithPlex": "Accedi con Plex",
"showQRCode": "Mostra QR Code",
"authenticate": "Autenticazione",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Episodio ${number} - ${title}",
"chapterNumber": "Capitolo ${number}",
"reconnect": "Riconnetti",
"exit": "Esci",
"viewAll": "Mostra tutto",
"checkingNetwork": "Verifica rete...",
"refreshingServers": "Aggiornamento server...",
"loadingServers": "Caricamento server...",
"connectingToServers": "Connessione ai server...",
"startingOfflineMode": "Avvio modalità offline...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Usa schede TV solo immagine con i nomi degli attori sovrapposti",
"focusGlow": "Bagliore di selezione",
"focusGlowDescription": "Mostra un leggero bagliore attorno alla scheda selezionata",
"visualEffects": "Effetti visivi",
"visualEffectsAuto": "Automatico",
"visualEffectsAutoDescription": "Riduci automaticamente gli effetti sui dispositivi a basso consumo",
"visualEffectsFull": "Completi",
"visualEffectsReduced": "Ridotti",
"visualEffectsReducedDescription": "Meno animazioni e immagini a risoluzione inferiore",
"hideSpoilers": "Nascondi spoiler per episodi non visti",
"hideSpoilersDescription": "Sfoca miniature e descrizioni degli episodi non visti",
"playerBackend": "Motore di riproduzione",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Auto (Consigliato)",
"bufferSizeWarning": "${heap}MB di memoria disponibile. Un buffer di ${size}MB può influire sulla riproduzione.",
"defaultQualityTitle": "Qualità predefinita",
"defaultQualityDescription": "Utilizzato all'avvio della riproduzione. Valori più bassi riducono la larghezza di banda.",
"musicQualityTitle": "Qualità musicale",
"subtitleStyling": "Stile sottotitoli",
"subtitleStylingDescription": "Personalizza l'aspetto dei sottotitoli",
"smallSkipDuration": "Durata skip breve",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Mostra su Discord cosa stai guardando",
"trakt": "Trakt",
"traktDescription": "Sincronizza la cronologia di visione con Trakt",
"services": "Servizi",
"servicesDescription": "Connetti Trakt, MyAnimeList, Seerr e altro",
"manageLibrariesDescription": "Riordina e nascondi le librerie",
"companionRemoteServer": "Server telecomando",
"companionRemoteServerDescription": "Consenti ai dispositivi mobili nella tua rete di controllare questa app",
"autoPip": "Picture-in-Picture automatico",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Mostra etichette barra di navigazione",
"showNavBarLabelsDescription": "Mostra le etichette sotto le icone della barra di navigazione",
"startupSection": "Sezione di avvio",
"startupSectionDescription": "Scegli quale sezione apre Plezy all'avvio",
"liveTvDefaultFavorites": "Canali preferiti predefiniti",
"liveTvDefaultFavoritesDescription": "Mostra solo i canali preferiti all'apertura della TV dal vivo",
"display": "Schermo",
@@ -322,14 +323,7 @@
"player": "Lettore",
"subtitlesAndConfig": "Sottotitoli e configurazione",
"seekAndTiming": "Ricerca e tempistica",
"behavior": "Comportamento",
"manageLibrariesDescription": "Riordina e nascondi le librerie",
"visualEffects": "Effetti visivi",
"visualEffectsAuto": "Automatico",
"visualEffectsAutoDescription": "Riduci automaticamente gli effetti sui dispositivi a basso consumo",
"visualEffectsFull": "Completi",
"visualEffectsReduced": "Ridotti",
"visualEffectsReducedDescription": "Meno animazioni e immagini a risoluzione inferiore"
"behavior": "Comportamento"
},
"search": {
"hint": "Cerca film. spettacoli, musica...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Valuta",
"server": "Server",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Imposta un punteggio",
"favorite": "Preferito",
"favorited": "Aggiunto ai preferiti",
"saved": "Salvato",
"notAvailable": "Nessuna corrispondenza trovata",
"noConnectedServices": "Connetti un servizio nelle Impostazioni per valutare lì.",
"favorite": "Preferito",
"favorited": "Aggiunto ai preferiti"
"noConnectedServices": "Connetti un servizio nelle Impostazioni per valutare lì."
},
"accessibility": {
"mediaCardMovie": "${title}, film",
@@ -435,7 +426,15 @@
"mediaCardWatched": "visto",
"mediaCardPartiallyWatched": "${percent} percento visto",
"mediaCardUnwatched": "non visto",
"tapToPlay": "Tocca per riprodurre"
"tapToPlay": "Tocca per riprodurre",
"decrease": "Diminuisci",
"increase": "Aumenta",
"decreaseValue": "Diminuisci ${label}",
"increaseValue": "Aumenta ${label}",
"hue": "Tonalità",
"saturation": "Saturazione",
"brightness": "Luminosità",
"hexColor": "Colore esadecimale"
},
"tooltips": {
"shufflePlay": "Riproduzione casuale",
@@ -481,13 +480,11 @@
"settingsButton": "Impostazioni di riproduzione",
"tracksButton": "Audio e sottotitoli",
"chaptersButton": "Capitoli",
"versionsButton": "Versioni video",
"versionQualityButton": "Versione e qualità",
"versionColumnHeader": "Versione",
"qualityColumnHeader": "Qualità",
"qualityOriginal": "Originale",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transcodifica non disponibile — riproduzione in qualità originale",
"pipButton": "Modalità Picture-in-Picture",
"aspectRatioButton": "Proporzioni",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Impossibile scaricare il sottotitolo",
"searchLanguages": "Cerca lingue..."
},
"userStatus": {
"admin": "Admin",
"restricted": "Limitato",
"protected": "Protetto",
"current": "ATTUALE"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Segna come visto",
"markedAsUnwatched": "Segna come non visto",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "Protezione PIN (opzionale)",
"pinExplain": "PIN a 4 cifre richiesto per cambiare profilo.",
"continueButton": "Continua",
"pinsDontMatch": "I PIN non corrispondono",
"initializeServicesFailed": "Impossibile inizializzare i servizi profilo"
"pinsDontMatch": "I PIN non corrispondono"
},
"connections": {
"sectionTitle": "Connessioni",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Esplora",
"switchProfile": "Cambia profilo",
"noContentAvailable": "Nessun contenuto disponibile",
"addMediaToLibraries": "Aggiungi alcuni file multimediali alle tue librerie",
"continueWatching": "Continua a guardare",
@@ -721,8 +711,6 @@
"connectionFailed": "Impossibile connettersi al server multimediale",
"failedToLoad": "Impossibile caricare ${context}: ${error}",
"noClientAvailable": "Nessun client disponibile",
"authenticationFailed": "Autenticazione fallita: ${error}",
"couldNotLaunchUrl": "Impossibile avviare URL di autenticazione",
"pleaseEnterToken": "Inserisci token",
"invalidToken": "Token non valido",
"failedToVerifyToken": "Verifica token fallita: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Tutte le librerie sono nascoste",
"hiddenLibrariesCount": "Librerie nascoste (${count})",
"thisLibraryIsEmpty": "Questa libreria è vuota",
"noItemsMatchFilters": "Nessun elemento corrisponde ai filtri attivi",
"resetFilters": "Reimposta filtri",
"all": "Tutto",
"clearAll": "Cancella tutto",
"scanLibraryConfirm": "Sei sicuro di voler scansionare \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Valutazione della community",
"criticRating": "Valutazione critica",
"userRating": "Valutazione utente",
"lastPlayed": "Ultima riproduzione",
"datePlayed": "Data di riproduzione",
"playCount": "Riproduzioni",
"productionYear": "Anno di produzione",
@@ -818,9 +807,7 @@
"dateShared": "Data di condivisione",
"latestEpisodeAirDate": "Data ultima messa in onda",
"lastEpisodeDateAdded": "Data aggiunta ultimo episodio"
},
"noItemsMatchFilters": "Nessun elemento corrisponde ai filtri attivi",
"resetFilters": "Reimposta filtri"
}
},
"about": {
"title": "Informazioni",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Visualizza le licenze delle librerie di terze parti"
},
"serverSelection": {
"allServerConnectionsFailed": "Impossibile connettersi ai server. Controlla la rete.",
"noServersFoundForAccount": "Nessun server trovato per ${username} (${email})",
"failedToLoadServers": "Impossibile caricare i server: ${error}"
},
@@ -876,10 +862,6 @@
"upcomingMovies": "Film in arrivo",
"upcomingShows": "Serie TV in arrivo"
},
"searchHint": "Cerca su ${source}",
"searchEmpty": "Nessun risultato per \"${query}\"",
"searchPrompt": "Cerca film e serie TV su ${source}.",
"searchFailed": "Ricerca fallita. Controlla la connessione e riprova.",
"status": {
"airing": "In onda",
"ended": "Conclusa",
@@ -897,16 +879,21 @@
"watchlistUpdateFailed": "Impossibile aggiornare la Watchlist",
"notInLibrary": "Non è nella tua libreria",
"inTheseLibraries": "In queste librerie",
"availableOn": "Disponibile su ${server}",
"checkingLibrary": "Controllo della tua libreria...",
"emptyTitle": "Ancora niente qui",
"emptyMessage": "Le righe da ${source} appariranno qui una volta che avranno dei contenuti."
"emptyMessage": "Le righe da ${source} appariranno qui una volta che avranno dei contenuti.",
"searchHint": "Cerca su ${source}",
"searchEmpty": "Nessun risultato per \"${query}\"",
"searchPrompt": "Cerca film e serie TV su ${source}.",
"searchFailed": "Ricerca fallita. Controlla la connessione e riprova."
},
"liveTv": {
"title": "TV in diretta",
"guide": "Guida",
"noChannels": "Nessun canale disponibile",
"noDvr": "Nessun DVR configurato su nessun server",
"serverUnavailable": "Il server TV in diretta non è disponibile.",
"serverNotConnected": "Il server TV in diretta non è connesso.",
"noPrograms": "Nessun dato di programma disponibile",
"liveStreamFailed": "Streaming live non riuscito",
"unknownProgram": "Programma sconosciuto",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Programmate",
"recordingRules": "Regole di registrazione",
"noScheduledRecordings": "Nessuna registrazione programmata",
"noRecordingRules": "Nessuna regola di registrazione",
"manageRecording": "Gestisci registrazione",
"cancelRecording": "Annulla registrazione",
"cancelRecordingTitle": "Annullare questa registrazione?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Registrazione annullata",
"recordingRuleDeleted": "Regola di registrazione eliminata",
"processRecordingRules": "Rivaluta regole",
"loadingRecordings": "Caricamento registrazioni...",
"recordingInProgress": "Registrazione in corso",
"recordingsCount": "${count} programmate",
"editRule": "Modifica regola",
@@ -973,7 +958,6 @@
"title": "Raccolte",
"collection": "Raccolta",
"empty": "La raccolta è vuota",
"unknownLibrarySection": "Impossibile eliminare: sezione libreria sconosciuta",
"deleteCollection": "Elimina raccolta",
"deleteConfirm": "Eliminare \"${title}\"? Non si può annullare.",
"deleted": "Raccolta eliminata",
@@ -1013,6 +997,7 @@
"itemAdded": "Aggiunto alla playlist",
"itemRemoved": "Rimosso dalla playlist",
"selectPlaylist": "Seleziona playlist",
"searchPlaylists": "Cerca playlist...",
"errorCreating": "Errore durante la creazione della playlist",
"errorDeleting": "Errore durante l'eliminazione della playlist",
"errorLoading": "Errore durante il caricamento delle playlist",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} ha ripreso",
"participantSeeked": "${name} ha cercato",
"participantBuffering": "${name} sta caricando",
"participantNeedsUpdate": "${name} usa una versione precedente dell'app — sincronizzazione non disponibile",
"resumingWithout": "Ripresa senza ${name}",
"waitingForParticipants": "In attesa che gli altri carichino...",
"waitingForName": "In attesa di ${name}...",
"recentRooms": "Stanze recenti",
"renameRoom": "Rinomina stanza",
"removeRoom": "Rimuovi",
"guestSwitchUnavailable": "Impossibile cambiare — server non disponibile per la sincronizzazione",
"guestSwitchFailed": "Impossibile cambiare — contenuto non trovato su questo server",
"participantNeedsUpdate": "${name} usa una versione precedente dell'app — sincronizzazione non disponibile",
"resumingWithout": "Ripresa senza ${name}",
"waitingForName": "In attesa di ${name}..."
"guestSwitchFailed": "Impossibile cambiare — contenuto non trovato su questo server"
},
"downloads": {
"title": "Download",
@@ -1155,7 +1140,6 @@
"customAmount": "Quantità personalizzata...",
"includeSpecials": "Includi gli speciali",
"howManyEpisodes": "Quanti episodi?",
"itemsQueued": "${count} elementi in coda per il download",
"keepSynced": "Mantieni sincronizzato",
"downloadOnce": "Scarica una volta",
"keepNUnwatched": "Mantieni ${count} non visti",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Dispositivo sconosciuto",
"session": {
"startingServer": "Avvio del server remoto...",
"failedToCreate": "Impossibile avviare il server remoto:",
"hostAddress": "Indirizzo host",
"connected": "Connesso",
"serverRunning": "Server remoto attivo",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Nessuna interfaccia di rete trovata",
"authenticationFailed": "Autenticazione non riuscita",
"serverStartFailed": "Impossibile avviare il server remoto: ${error}",
"commandFailed": "Impossibile inviare il comando remoto: ${error}",
"joinTimedOut": "Tempo scaduto durante laccesso alla sessione",
"failedToConnectAnyAddress": "Impossibile connettersi a qualsiasi indirizzo",
"connectionLostAfterAttempts": "Connessione persa dopo ${attempts} tentativi",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect non riuscito: ${error}",
"addPlexTitle": "Accedi con Plex",
"pinExpired": "PIN scaduto prima dell'accesso. Riprova.",
"duplicatePlexAccount": "Accesso a Plex già effettuato. Esci per cambiare account.",
"failedToRegisterAccount": "Registrazione account non riuscita: ${error}",
"enterJellyfinUrlError": "Inserisci l'URL del tuo server Jellyfin",
"addConnectionTitle": "Aggiungi connessione",
+40 -56
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "サインイン",
"signInWithPlex": "Plexでサインイン",
"showQRCode": "QRコードを表示",
"authenticate": "認証",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "エピソード${number} - ${title}",
"chapterNumber": "チャプター${number}",
"reconnect": "再接続",
"exit": "終了",
"viewAll": "すべて表示",
"checkingNetwork": "ネットワークを確認中...",
"refreshingServers": "サーバーを更新中...",
"loadingServers": "サーバーを読み込み中...",
"connectingToServers": "サーバーに接続中...",
"startingOfflineMode": "オフラインモードを開始中...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "TVカードを画像のみで表示し、俳優名を重ねて表示します",
"focusGlow": "フォーカス時の光彩",
"focusGlowDescription": "フォーカス中のカードの周りに柔らかい光彩を表示します",
"visualEffects": "視覚効果",
"visualEffectsAuto": "自動",
"visualEffectsAutoDescription": "低性能なデバイスでは効果を自動的に減らします",
"visualEffectsFull": "フル",
"visualEffectsReduced": "軽減",
"visualEffectsReducedDescription": "アニメーションを減らし、低解像度のアートワークを使用します",
"hideSpoilers": "未視聴エピソードのネタバレを非表示",
"hideSpoilersDescription": "未視聴エピソードのサムネイルと説明をぼかします",
"playerBackend": "プレーヤーバックエンド",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "自動(推奨)",
"bufferSizeWarning": "${heap}MBのメモリが利用可能です。${size}MBのバッファは再生に影響する可能性があります。",
"defaultQualityTitle": "デフォルト画質",
"defaultQualityDescription": "再生開始時に使用。低い値ほど帯域幅が削減されます。",
"musicQualityTitle": "音楽の音質",
"subtitleStyling": "字幕スタイル",
"subtitleStylingDescription": "字幕の外観をカスタマイズ",
"smallSkipDuration": "短いスキップ時間",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Discordで視聴中の内容を表示",
"trakt": "Trakt",
"traktDescription": "視聴履歴を Trakt と同期",
"services": "サービス",
"servicesDescription": "Trakt、MyAnimeList、Seerr などを接続",
"manageLibrariesDescription": "ライブラリを並べ替えたり非表示にしたりできます",
"companionRemoteServer": "コンパニオンリモートサーバー",
"companionRemoteServerDescription": "ネットワーク上のモバイルデバイスからこのアプリを操作できるようにする",
"autoPip": "自動ピクチャーインピクチャー",
@@ -311,7 +313,6 @@
"showNavBarLabels": "ナビゲーションバーラベルを表示",
"showNavBarLabelsDescription": "ナビゲーションバーアイコンの下にテキストラベルを表示",
"startupSection": "起動時のセクション",
"startupSectionDescription": "起動時に Plezy が開くセクションを選択します",
"liveTvDefaultFavorites": "お気に入りチャンネルをデフォルトに",
"liveTvDefaultFavoritesDescription": "ライブTV を開いたときにお気に入りチャンネルのみ表示",
"display": "ディスプレイ",
@@ -322,14 +323,7 @@
"player": "プレーヤー",
"subtitlesAndConfig": "字幕と設定",
"seekAndTiming": "シークとタイミング",
"behavior": "動作",
"manageLibrariesDescription": "ライブラリを並べ替えたり非表示にしたりできます",
"visualEffects": "視覚効果",
"visualEffectsAuto": "自動",
"visualEffectsAutoDescription": "低性能なデバイスでは効果を自動的に減らします",
"visualEffectsFull": "フル",
"visualEffectsReduced": "軽減",
"visualEffectsReducedDescription": "アニメーションを減らし、低解像度のアートワークを使用します"
"behavior": "動作"
},
"search": {
"hint": "映画、番組、音楽を検索...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "評価",
"server": "サーバー",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "スコアを設定",
"favorite": "お気に入り",
"favorited": "お気に入りに追加済み",
"saved": "保存済み",
"notAvailable": "一致なし",
"noConnectedServices": "評価するには、設定でサービスを接続してください。",
"favorite": "お気に入り",
"favorited": "お気に入りに追加済み"
"noConnectedServices": "評価するには、設定でサービスを接続してください。"
},
"accessibility": {
"mediaCardMovie": "${title}、映画",
@@ -435,7 +426,15 @@
"mediaCardWatched": "視聴済み",
"mediaCardPartiallyWatched": "${percent}パーセント視聴済み",
"mediaCardUnwatched": "未視聴",
"tapToPlay": "タップして再生"
"tapToPlay": "タップして再生",
"decrease": "下げる",
"increase": "上げる",
"decreaseValue": "${label}を下げる",
"increaseValue": "${label}を上げる",
"hue": "色相",
"saturation": "彩度",
"brightness": "明るさ",
"hexColor": "16進カラー"
},
"tooltips": {
"shufflePlay": "シャッフル再生",
@@ -481,13 +480,11 @@
"settingsButton": "再生設定",
"tracksButton": "音声と字幕",
"chaptersButton": "チャプター",
"versionsButton": "動画バージョン",
"versionQualityButton": "バージョンと画質",
"versionColumnHeader": "バージョン",
"qualityColumnHeader": "画質",
"qualityOriginal": "オリジナル",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "トランスコードは利用できません — オリジナル画質で再生中",
"pipButton": "ピクチャーインピクチャーモード",
"aspectRatioButton": "アスペクト比",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "字幕のダウンロードに失敗しました",
"searchLanguages": "言語を検索..."
},
"userStatus": {
"admin": "管理者",
"restricted": "制限付き",
"protected": "保護済み",
"current": "現在"
},
"userStatus": {},
"messages": {
"markedAsWatched": "視聴済みにしました",
"markedAsUnwatched": "未視聴にしました",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN保護(オプション)",
"pinExplain": "プロフィール切り替えには4桁のPINが必要です。",
"continueButton": "続ける",
"pinsDontMatch": "PINが一致しません",
"initializeServicesFailed": "プロフィールサービスの初期化に失敗しました"
"pinsDontMatch": "PINが一致しません"
},
"connections": {
"sectionTitle": "接続",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "探す",
"switchProfile": "プロフィール切替",
"noContentAvailable": "コンテンツがありません",
"addMediaToLibraries": "ライブラリにメディアを追加してください",
"continueWatching": "視聴を続ける",
@@ -721,8 +711,6 @@
"connectionFailed": "メディアサーバーに接続できません",
"failedToLoad": "${context}の読み込みに失敗しました: ${error}",
"noClientAvailable": "クライアントが利用できません",
"authenticationFailed": "認証に失敗しました: ${error}",
"couldNotLaunchUrl": "認証URLを開けませんでした",
"pleaseEnterToken": "トークンを入力してください",
"invalidToken": "無効なトークン",
"failedToVerifyToken": "トークンの検証に失敗しました: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "すべてのライブラリが非表示です",
"hiddenLibrariesCount": "非表示のライブラリ (${count})",
"thisLibraryIsEmpty": "このライブラリは空です",
"noItemsMatchFilters": "有効なフィルターに一致する項目はありません",
"resetFilters": "フィルターをリセット",
"all": "すべて",
"clearAll": "すべてクリア",
"scanLibraryConfirm": "\"${title}\"をスキャンしてもよろしいですか?",
@@ -804,7 +794,6 @@
"communityRating": "コミュニティ評価",
"criticRating": "批評家評価",
"userRating": "ユーザー評価",
"lastPlayed": "最終再生",
"datePlayed": "再生日",
"playCount": "再生回数",
"productionYear": "製作年",
@@ -818,9 +807,7 @@
"dateShared": "共有日",
"latestEpisodeAirDate": "最新エピソード放送日",
"lastEpisodeDateAdded": "最新エピソード追加日"
},
"noItemsMatchFilters": "有効なフィルターに一致する項目はありません",
"resetFilters": "フィルターをリセット"
}
},
"about": {
"title": "アプリについて",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "サードパーティライブラリのライセンスを表示"
},
"serverSelection": {
"allServerConnectionsFailed": "どのサーバーにも接続できませんでした。ネットワークを確認してください。",
"noServersFoundForAccount": "${username} (${email})のサーバーが見つかりません",
"failedToLoadServers": "サーバーの読み込みに失敗しました: ${error}"
},
@@ -876,10 +862,6 @@
"upcomingMovies": "近日公開の映画",
"upcomingShows": "放送予定の番組"
},
"searchHint": "${source} で検索",
"searchEmpty": "「${query}」の結果が見つかりません",
"searchPrompt": "${source} で映画やテレビ番組を検索します。",
"searchFailed": "検索に失敗しました。接続を確認してもう一度お試しください。",
"status": {
"airing": "放送中",
"ended": "放送終了",
@@ -896,16 +878,21 @@
"watchlistUpdateFailed": "ウォッチリストを更新できませんでした",
"notInLibrary": "ライブラリにありません",
"inTheseLibraries": "これらのライブラリにあります",
"availableOn": "${server}で視聴可能",
"checkingLibrary": "ライブラリを確認中...",
"emptyTitle": "まだ何もありません",
"emptyMessage": "${source}にコンテンツが追加されると、ここに表示されます。"
"emptyMessage": "${source}にコンテンツが追加されると、ここに表示されます。",
"searchHint": "${source} で検索",
"searchEmpty": "「${query}」の結果が見つかりません",
"searchPrompt": "${source} で映画やテレビ番組を検索します。",
"searchFailed": "検索に失敗しました。接続を確認してもう一度お試しください。"
},
"liveTv": {
"title": "ライブTV",
"guide": "番組表",
"noChannels": "チャンネルがありません",
"noDvr": "どのサーバーにもDVRが設定されていません",
"serverUnavailable": "ライブTVサーバーを利用できません。",
"serverNotConnected": "ライブTVサーバーに接続されていません。",
"noPrograms": "番組データがありません",
"liveStreamFailed": "ライブストリームに失敗しました",
"unknownProgram": "不明な番組",
@@ -941,7 +928,6 @@
"scheduledRecordings": "予約",
"recordingRules": "録画ルール",
"noScheduledRecordings": "予約された録画はありません",
"noRecordingRules": "録画ルールはまだありません",
"manageRecording": "録画を管理",
"cancelRecording": "録画をキャンセル",
"cancelRecordingTitle": "この録画をキャンセルしますか?",
@@ -958,7 +944,6 @@
"recordingCancelled": "録画をキャンセルしました",
"recordingRuleDeleted": "録画ルールを削除しました",
"processRecordingRules": "ルールを再評価",
"loadingRecordings": "録画を読み込み中...",
"recordingInProgress": "録画中",
"recordingsCount": "${count} 件予約済み",
"editRule": "ルールを編集",
@@ -972,7 +957,6 @@
"title": "コレクション",
"collection": "コレクション",
"empty": "コレクションは空です",
"unknownLibrarySection": "削除できません:不明なライブラリセクション",
"deleteCollection": "コレクションを削除",
"deleteConfirm": "「${title}」を削除しますか?元に戻せません。",
"deleted": "コレクションを削除しました",
@@ -1012,6 +996,7 @@
"itemAdded": "プレイリストに追加しました",
"itemRemoved": "プレイリストから削除しました",
"selectPlaylist": "プレイリストを選択",
"searchPlaylists": "プレイリストを検索...",
"errorCreating": "プレイリストの作成に失敗しました",
"errorDeleting": "プレイリストの削除に失敗しました",
"errorLoading": "プレイリストの読み込みに失敗しました",
@@ -1100,15 +1085,15 @@
"participantResumed": "${name}が再開しました",
"participantSeeked": "${name}がシークしました",
"participantBuffering": "${name}がバッファリング中",
"participantNeedsUpdate": "${name} は古いバージョンのアプリを使用しているため、同期できません",
"resumingWithout": "${name} なしで再開",
"waitingForParticipants": "他の参加者の読み込みを待っています...",
"waitingForName": "${name}を待っています...",
"recentRooms": "最近のルーム",
"renameRoom": "ルーム名を変更",
"removeRoom": "削除",
"guestSwitchUnavailable": "切り替えできません — サーバーが同期できません",
"guestSwitchFailed": "切り替えできません — このサーバーにコンテンツが見つかりません",
"participantNeedsUpdate": "${name} は古いバージョンのアプリを使用しているため、同期できません",
"resumingWithout": "${name} なしで再開",
"waitingForName": "${name}を待っています..."
"guestSwitchFailed": "切り替えできません — このサーバーにコンテンツが見つかりません"
},
"downloads": {
"title": "ダウンロード",
@@ -1153,7 +1138,6 @@
"customAmount": "数を指定...",
"includeSpecials": "スペシャルを含める",
"howManyEpisodes": "何エピソード?",
"itemsQueued": "${count}件をダウンロードキューに追加",
"keepSynced": "同期を維持",
"downloadOnce": "一度だけダウンロード",
"keepNUnwatched": "未視聴を${count}件保持",
@@ -1202,7 +1186,6 @@
"unknownDevice": "不明なデバイス",
"session": {
"startingServer": "リモートサーバーを起動中...",
"failedToCreate": "リモートサーバーの起動に失敗しました:",
"hostAddress": "ホストアドレス",
"connected": "接続済み",
"serverRunning": "リモートサーバー稼働中",
@@ -1263,6 +1246,8 @@
"errors": {
"noNetworkInterface": "ネットワークインターフェースが見つかりません",
"authenticationFailed": "認証に失敗しました",
"serverStartFailed": "リモートサーバーを起動できませんでした: ${error}",
"commandFailed": "リモートコマンドを送信できませんでした: ${error}",
"joinTimedOut": "セッション参加がタイムアウトしました",
"failedToConnectAnyAddress": "どのアドレスにも接続できませんでした",
"connectionLostAfterAttempts": "${attempts}回試行後に接続が切断されました",
@@ -1536,7 +1521,6 @@
"quickConnectFailed": "Quick Connectに失敗しました: ${error}",
"addPlexTitle": "Plexでサインイン",
"pinExpired": "サインイン前にPINの有効期限が切れました。もう一度お試しください。",
"duplicatePlexAccount": "すでにPlexにサインインしています。アカウントを切り替えるにはサインアウトしてください。",
"failedToRegisterAccount": "アカウントの登録に失敗しました: ${error}",
"enterJellyfinUrlError": "JellyfinサーバーのURLを入力してください",
"addConnectionTitle": "接続を追加",
+22 -38
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "로그인",
"signInWithPlex": "Plex 계정으로 로그인",
"showQRCode": "QR 코드",
"authenticate": "인증",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "${number}화 - ${title}",
"chapterNumber": "챕터 ${number}",
"reconnect": "다시 연결",
"exit": "종료",
"viewAll": "모두 보기",
"checkingNetwork": "네트워크 확인 중...",
"refreshingServers": "서버 새로고침 중...",
"loadingServers": "서버 로딩 중...",
"connectingToServers": "서버 연결 중...",
"startingOfflineMode": "오프라인 모드 시작 중...",
@@ -157,7 +154,7 @@
"bufferSizeAuto": "자동 (권장)",
"bufferSizeWarning": "${heap}MB 메모리를 사용할 수 있습니다. ${size}MB 버퍼는 재생에 영향을 줄 수 있습니다.",
"defaultQualityTitle": "기본 화질",
"defaultQualityDescription": "재생 시작 시 사용됩니다. 낮은 값은 대역폭을 줄입니다.",
"musicQualityTitle": "음악 음질",
"subtitleStyling": "자막 스타일",
"subtitleStylingDescription": "자막의 외형을 사용자 설정",
"smallSkipDuration": "짧은 건너뛰기 시간",
@@ -251,8 +248,6 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Discord에서 시청 중인 콘텐츠 표시",
"trakt": "Trakt",
"traktDescription": "Trakt와 시청 기록 동기화",
"services": "서비스",
"servicesDescription": "Trakt, MyAnimeList, Seerr 등 연결",
"manageLibrariesDescription": "라이브러리 순서를 변경하거나 숨깁니다",
@@ -318,7 +313,6 @@
"showNavBarLabels": "내비게이션 바 라벨 표시",
"showNavBarLabelsDescription": "내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다",
"startupSection": "시작 섹션",
"startupSectionDescription": "Plezy 실행 시 열릴 섹션을 선택합니다",
"liveTvDefaultFavorites": "즐겨찾기 채널 기본 설정",
"liveTvDefaultFavoritesDescription": "라이브 TV를 열 때 즐겨찾기 채널만 표시",
"display": "디스플레이",
@@ -418,9 +412,6 @@
"rateSheet": {
"title": "평가",
"server": "서버",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "점수 설정",
"favorite": "즐겨찾기",
"favorited": "즐겨찾기됨",
"saved": "저장됨",
@@ -435,7 +426,15 @@
"mediaCardWatched": "시청 완료",
"mediaCardPartiallyWatched": "${percent} 퍼센트 시청 완료",
"mediaCardUnwatched": "미시청",
"tapToPlay": "터치 하여 재생"
"tapToPlay": "터치 하여 재생",
"decrease": "낮추기",
"increase": "높이기",
"decreaseValue": "${label} 낮추기",
"increaseValue": "${label} 높이기",
"hue": "색조",
"saturation": "채도",
"brightness": "밝기",
"hexColor": "16진수 색상"
},
"tooltips": {
"shufflePlay": "무작위 재생",
@@ -481,13 +480,11 @@
"settingsButton": "재생 설정",
"tracksButton": "오디오 및 자막",
"chaptersButton": "챕터",
"versionsButton": "동영상 버전",
"versionQualityButton": "버전 및 화질",
"versionColumnHeader": "버전",
"qualityColumnHeader": "화질",
"qualityOriginal": "원본",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "트랜스코딩을 사용할 수 없음 — 원본 화질로 재생",
"pipButton": "픽처 인 픽처 모드",
"aspectRatioButton": "화면비율",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "자막 다운로드에 실패했습니다",
"searchLanguages": "언어 검색..."
},
"userStatus": {
"admin": "관리자",
"restricted": "제한됨",
"protected": "보호됨",
"current": "현재"
},
"userStatus": {},
"messages": {
"markedAsWatched": "시청 완료로 표시됨",
"markedAsUnwatched": "시청 안 함으로 표시됨",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN 보호 (선택 사항)",
"pinExplain": "프로필 전환에는 4자리 PIN이 필요합니다.",
"continueButton": "계속",
"pinsDontMatch": "PIN이 일치하지 않습니다",
"initializeServicesFailed": "프로필 서비스를 초기화하지 못했습니다"
"pinsDontMatch": "PIN이 일치하지 않습니다"
},
"connections": {
"sectionTitle": "연결",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "발견",
"switchProfile": "사용자 전환",
"noContentAvailable": "사용 가능한 콘텐츠가 없습니다",
"addMediaToLibraries": "미디어 라이브러리에 미디어를 추가해 주세요",
"continueWatching": "계속 시청",
@@ -721,8 +711,6 @@
"connectionFailed": "미디어 서버에 연결할 수 없습니다",
"failedToLoad": "${context} 로드 실패: ${error}",
"noClientAvailable": "사용 가능한 클라이언트가 없습니다",
"authenticationFailed": "인증 실패: ${error}",
"couldNotLaunchUrl": "인증 URL을 열 수 없습니다",
"pleaseEnterToken": "토큰을 입력해 주세요",
"invalidToken": "토큰이 유효하지 않습니다",
"failedToVerifyToken": "토큰을 확인할 수 없습니다: ${error}",
@@ -806,7 +794,6 @@
"communityRating": "커뮤니티 평점",
"criticRating": "평론가 평점",
"userRating": "사용자 평점",
"lastPlayed": "마지막 재생",
"datePlayed": "재생일",
"playCount": "재생 횟수",
"productionYear": "제작 연도",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "타사 라이브러리 라이선스 보기"
},
"serverSelection": {
"allServerConnectionsFailed": "서버에 연결할 수 없습니다. 네트워크를 확인하세요.",
"noServersFoundForAccount": "${username} (${email})의 서버를 찾을 수 없습니다.",
"failedToLoadServers": "서버를 로드할 수 없습니다: ${error}"
},
@@ -876,10 +862,6 @@
"upcomingMovies": "개봉 예정 영화",
"upcomingShows": "방영 예정 TV 프로그램"
},
"searchHint": "${source}에서 검색",
"searchEmpty": "「${query}」에 대한 결과가 없습니다",
"searchPrompt": "${source}에서 영화와 TV 프로그램을 검색하세요.",
"searchFailed": "검색에 실패했습니다. 연결을 확인하고 다시 시도하세요.",
"status": {
"airing": "방영 중",
"ended": "종영",
@@ -896,16 +878,21 @@
"watchlistUpdateFailed": "관심 목록을 업데이트하지 못했습니다",
"notInLibrary": "라이브러리에 없음",
"inTheseLibraries": "이 라이브러리에 있음",
"availableOn": "${server}에서 이용 가능",
"checkingLibrary": "라이브러리 확인 중...",
"emptyTitle": "아직 아무것도 없습니다",
"emptyMessage": "${source}에 콘텐츠가 추가되면 여기에 표시됩니다."
"emptyMessage": "${source}에 콘텐츠가 추가되면 여기에 표시됩니다.",
"searchHint": "${source}에서 검색",
"searchEmpty": "「${query}」에 대한 결과가 없습니다",
"searchPrompt": "${source}에서 영화와 TV 프로그램을 검색하세요.",
"searchFailed": "검색에 실패했습니다. 연결을 확인하고 다시 시도하세요."
},
"liveTv": {
"title": "실시간 TV",
"guide": "편성표",
"noChannels": "사용 가능한 채널이 없습니다",
"noDvr": "서버에 DVR이 구성되어 있지 않습니다",
"serverUnavailable": "라이브 TV 서버를 사용할 수 없습니다.",
"serverNotConnected": "라이브 TV 서버에 연결되어 있지 않습니다.",
"noPrograms": "프로그램 데이터가 없습니다",
"liveStreamFailed": "라이브 스트림 실패",
"unknownProgram": "알 수 없는 프로그램",
@@ -941,7 +928,6 @@
"scheduledRecordings": "예약됨",
"recordingRules": "녹화 규칙",
"noScheduledRecordings": "예약된 녹화 없음",
"noRecordingRules": "녹화 규칙 없음",
"manageRecording": "녹화 관리",
"cancelRecording": "녹화 취소",
"cancelRecordingTitle": "이 녹화를 취소할까요?",
@@ -958,7 +944,6 @@
"recordingCancelled": "녹화 취소됨",
"recordingRuleDeleted": "녹화 규칙 삭제됨",
"processRecordingRules": "규칙 재평가",
"loadingRecordings": "녹화 불러오는 중...",
"recordingInProgress": "녹화 중",
"recordingsCount": "${count}개 예약됨",
"editRule": "규칙 편집",
@@ -972,7 +957,6 @@
"title": "컬렉션",
"collection": "컬렉션",
"empty": "컬렉션이 비어 있습니다",
"unknownLibrarySection": "삭제할 수 없습니다: 알 수 없는 미디어 라이브러리 섹션입니다",
"deleteCollection": "컬렉션 삭제",
"deleteConfirm": "\"${title}\"을(를) 삭제할까요? 되돌릴 수 없습니다.",
"deleted": "컬렉션 삭제됨",
@@ -1012,6 +996,7 @@
"itemAdded": "재생 목록에 추가 되었습니다",
"itemRemoved": "재생 목록에서 제거됨",
"selectPlaylist": "재생 목록 선택",
"searchPlaylists": "재생 목록 검색...",
"errorCreating": "재생 목록 생성 실패",
"errorDeleting": "재생 목록 삭제 실패",
"errorLoading": "재생 목록 로드 실패",
@@ -1153,7 +1138,6 @@
"customAmount": "직접 입력...",
"includeSpecials": "스페셜 포함",
"howManyEpisodes": "몇 개의 에피소드?",
"itemsQueued": "${count}개 항목이 다운로드 대기열에 추가됨",
"keepSynced": "동기화 유지",
"downloadOnce": "한 번만 다운로드",
"keepNUnwatched": "미시청 ${count}개 유지",
@@ -1202,7 +1186,6 @@
"unknownDevice": "알 수 없는 기기",
"session": {
"startingServer": "원격 서버 시작 중...",
"failedToCreate": "원격 서버를 시작하지 못했습니다:",
"hostAddress": "호스트 주소",
"connected": "연결됨",
"serverRunning": "원격 서버 활성",
@@ -1263,6 +1246,8 @@
"errors": {
"noNetworkInterface": "네트워크 인터페이스를 찾을 수 없습니다",
"authenticationFailed": "인증 실패",
"serverStartFailed": "원격 서버를 시작하지 못했습니다: ${error}",
"commandFailed": "원격 명령을 보내지 못했습니다: ${error}",
"joinTimedOut": "세션 참가 시간이 초과되었습니다",
"failedToConnectAnyAddress": "어떤 주소에도 연결하지 못했습니다",
"connectionLostAfterAttempts": "${attempts}회 시도 후 연결이 끊어졌습니다",
@@ -1536,7 +1521,6 @@
"quickConnectFailed": "Quick Connect 실패: ${error}",
"addPlexTitle": "Plex로 로그인",
"pinExpired": "로그인 전에 PIN이 만료되었습니다. 다시 시도하세요.",
"duplicatePlexAccount": "이미 Plex에 로그인되어 있습니다. 계정을 전환하려면 로그아웃하세요.",
"failedToRegisterAccount": "계정 등록 실패: ${error}",
"enterJellyfinUrlError": "Jellyfin 서버 URL을 입력하세요",
"addConnectionTitle": "연결 추가",
+40 -56
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Logg på",
"signInWithPlex": "Logg inn med Plex",
"showQRCode": "Vis QR-kode",
"authenticate": "Autentiser",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Episode ${number} - ${title}",
"chapterNumber": "Kapittel ${number}",
"reconnect": "Koble til på nytt",
"exit": "Avslutt",
"viewAll": "Vis alle",
"checkingNetwork": "Sjekker nettverk...",
"refreshingServers": "Oppdaterer servere...",
"loadingServers": "Laster servere...",
"connectingToServers": "Kobler til servere...",
"startingOfflineMode": "Starter frakoblet modus...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Bruk bildebaserte TV-kort med skuespillernavn lagt over",
"focusGlow": "Fokusglød",
"focusGlowDescription": "Vis en myk glød rundt kortet i fokus",
"visualEffects": "Visuelle effekter",
"visualEffectsAuto": "Automatisk",
"visualEffectsAutoDescription": "Reduser effekter automatisk på enheter med lavt strømforbruk",
"visualEffectsFull": "Full",
"visualEffectsReduced": "Redusert",
"visualEffectsReducedDescription": "Færre animasjoner og grafikk med lavere oppløsning",
"hideSpoilers": "Skjul spoilere for usette episoder",
"hideSpoilersDescription": "Slør miniatyrbilder og beskrivelser for usette episoder",
"playerBackend": "Spillermotor",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Auto (Anbefalt)",
"bufferSizeWarning": "${heap}MB minne tilgjengelig. En buffer på ${size}MB kan påvirke avspilling.",
"defaultQualityTitle": "Standardkvalitet",
"defaultQualityDescription": "Brukes ved start av avspilling. Lavere verdier reduserer båndbredden.",
"musicQualityTitle": "Musikkvalitet",
"subtitleStyling": "Undertekststil",
"subtitleStylingDescription": "Tilpass utseendet på undertekster",
"smallSkipDuration": "Kort hoppvarighet",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Vis hva du ser på Discord",
"trakt": "Trakt",
"traktDescription": "Synkroniser visningshistorikk med Trakt",
"services": "Tjenester",
"servicesDescription": "Koble til Trakt, MyAnimeList, Seerr og mer",
"manageLibrariesDescription": "Omorganiser og skjul biblioteker",
"companionRemoteServer": "Companion Remote-server",
"companionRemoteServerDescription": "Tillat mobilenheter på nettverket ditt å styre denne appen",
"autoPip": "Auto bilde-i-bilde",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Vis navigasjonsfeltlabeler",
"showNavBarLabelsDescription": "Vis tekstlabeler under navigasjonsfeltikoner",
"startupSection": "Oppstartsseksjon",
"startupSectionDescription": "Velg hvilken seksjon Plezy åpner ved oppstart",
"liveTvDefaultFavorites": "Standard til favorittkanaler",
"liveTvDefaultFavoritesDescription": "Vis kun favorittkanaler når du åpner Live TV",
"display": "Skjerm",
@@ -322,14 +323,7 @@
"player": "Spiller",
"subtitlesAndConfig": "Undertekster og konfigurasjon",
"seekAndTiming": "Søk og tidtaking",
"behavior": "Atferd",
"manageLibrariesDescription": "Omorganiser og skjul biblioteker",
"visualEffects": "Visuelle effekter",
"visualEffectsAuto": "Automatisk",
"visualEffectsAutoDescription": "Reduser effekter automatisk på enheter med lavt strømforbruk",
"visualEffectsFull": "Full",
"visualEffectsReduced": "Redusert",
"visualEffectsReducedDescription": "Færre animasjoner og grafikk med lavere oppløsning"
"behavior": "Atferd"
},
"search": {
"hint": "Søk i filmer, serier, musikk...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Vurder",
"server": "Server",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Sett en poengsum",
"favorite": "Favoritt",
"favorited": "Lagt til i favoritter",
"saved": "Lagret",
"notAvailable": "Ingen treff",
"noConnectedServices": "Koble til en tjeneste i Innstillinger for å vurdere her.",
"favorite": "Favoritt",
"favorited": "Lagt til i favoritter"
"noConnectedServices": "Koble til en tjeneste i Innstillinger for å vurdere her."
},
"accessibility": {
"mediaCardMovie": "${title}, film",
@@ -435,7 +426,15 @@
"mediaCardWatched": "sett",
"mediaCardPartiallyWatched": "${percent} prosent sett",
"mediaCardUnwatched": "usett",
"tapToPlay": "Trykk for å spille"
"tapToPlay": "Trykk for å spille",
"decrease": "Reduser",
"increase": "Øk",
"decreaseValue": "Reduser ${label}",
"increaseValue": "Øk ${label}",
"hue": "Fargetone",
"saturation": "Metning",
"brightness": "Lysstyrke",
"hexColor": "Heksadesimal farge"
},
"tooltips": {
"shufflePlay": "Tilfeldig avspilling",
@@ -481,13 +480,11 @@
"settingsButton": "Avspillingsinnstillinger",
"tracksButton": "Lyd og undertekster",
"chaptersButton": "Kapitler",
"versionsButton": "Videoversjoner",
"versionQualityButton": "Versjon og kvalitet",
"versionColumnHeader": "Versjon",
"qualityColumnHeader": "Kvalitet",
"qualityOriginal": "Original",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transkoding utilgjengelig — spiller av i original kvalitet",
"pipButton": "Bilde-i-bilde-modus",
"aspectRatioButton": "Sideforhold",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Kunne ikke laste ned undertekst",
"searchLanguages": "Søk etter språk..."
},
"userStatus": {
"admin": "Administrator",
"restricted": "Begrenset",
"protected": "Beskyttet",
"current": "GJELDENDE"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Merket som sett",
"markedAsUnwatched": "Merket som usett",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN-beskyttelse (valgfri)",
"pinExplain": "4-sifret PIN kreves for å bytte profiler.",
"continueButton": "Fortsett",
"pinsDontMatch": "PIN-ene samsvarer ikke",
"initializeServicesFailed": "Kunne ikke initialisere profiltjenester"
"pinsDontMatch": "PIN-ene samsvarer ikke"
},
"connections": {
"sectionTitle": "Tilkoblinger",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Oppdag",
"switchProfile": "Bytt profil",
"noContentAvailable": "Ingen innhold tilgjengelig",
"addMediaToLibraries": "Legg til medier i bibliotekene dine",
"continueWatching": "Fortsett å se",
@@ -721,8 +711,6 @@
"connectionFailed": "Kan ikke koble til medieserver",
"failedToLoad": "Kunne ikke laste ${context}: ${error}",
"noClientAvailable": "Ingen klient tilgjengelig",
"authenticationFailed": "Autentisering mislyktes: ${error}",
"couldNotLaunchUrl": "Kunne ikke åpne autentiserings-URL",
"pleaseEnterToken": "Vennligst skriv inn et token",
"invalidToken": "Ugyldig token",
"failedToVerifyToken": "Kunne ikke verifisere token: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Alle biblioteker er skjult",
"hiddenLibrariesCount": "Skjulte biblioteker (${count})",
"thisLibraryIsEmpty": "Dette biblioteket er tomt",
"noItemsMatchFilters": "Ingen elementer samsvarer med de aktive filtrene",
"resetFilters": "Tilbakestill filtre",
"all": "Alle",
"clearAll": "Tøm alle",
"scanLibraryConfirm": "Er du sikker på at du vil skanne \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Fellesskapsvurdering",
"criticRating": "Kritikervurdering",
"userRating": "Brukervurdering",
"lastPlayed": "Sist spilt",
"datePlayed": "Avspillingsdato",
"playCount": "Avspillinger",
"productionYear": "Produksjonsår",
@@ -818,9 +807,7 @@
"dateShared": "Delingsdato",
"latestEpisodeAirDate": "Siste episodes sendedato",
"lastEpisodeDateAdded": "Dato for sist lagt til episode"
},
"noItemsMatchFilters": "Ingen elementer samsvarer med de aktive filtrene",
"resetFilters": "Tilbakestill filtre"
}
},
"about": {
"title": "Om",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Vis lisenser for tredjepartsbiblioteker"
},
"serverSelection": {
"allServerConnectionsFailed": "Kunne ikke koble til noen servere. Sjekk nettverket ditt.",
"noServersFoundForAccount": "Ingen servere funnet for ${username} (${email})",
"failedToLoadServers": "Kunne ikke laste servere: ${error}"
},
@@ -876,10 +862,6 @@
"upcomingMovies": "Kommende filmer",
"upcomingShows": "Kommende serier"
},
"searchHint": "Søk i ${source}",
"searchEmpty": "Ingen treff for \"${query}\"",
"searchPrompt": "Søk etter filmer og serier på ${source}.",
"searchFailed": "Søk mislyktes. Sjekk tilkoblingen og prøv igjen.",
"status": {
"airing": "Sendes",
"ended": "Avsluttet",
@@ -897,16 +879,21 @@
"watchlistUpdateFailed": "Kunne ikke oppdatere ønskelisten",
"notInLibrary": "Ikke i biblioteket ditt",
"inTheseLibraries": "I disse bibliotekene",
"availableOn": "Tilgjengelig på ${server}",
"checkingLibrary": "Sjekker biblioteket ditt...",
"emptyTitle": "Ingenting her ennå",
"emptyMessage": "Rader fra ${source} vises her når de har innhold."
"emptyMessage": "Rader fra ${source} vises her når de har innhold.",
"searchHint": "Søk i ${source}",
"searchEmpty": "Ingen treff for \"${query}\"",
"searchPrompt": "Søk etter filmer og serier på ${source}.",
"searchFailed": "Søk mislyktes. Sjekk tilkoblingen og prøv igjen."
},
"liveTv": {
"title": "Direkte-TV",
"guide": "Programguide",
"noChannels": "Ingen kanaler tilgjengelig",
"noDvr": "Ingen DVR konfigurert på noen server",
"serverUnavailable": "Direkte-TV-serveren er ikke tilgjengelig.",
"serverNotConnected": "Direkte-TV-serveren er ikke tilkoblet.",
"noPrograms": "Ingen programdata tilgjengelig",
"liveStreamFailed": "Direktesending mislyktes",
"unknownProgram": "Ukjent program",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Planlagt",
"recordingRules": "Opptaksregler",
"noScheduledRecordings": "Ingen planlagte opptak",
"noRecordingRules": "Ingen opptaksregler ennå",
"manageRecording": "Administrer opptak",
"cancelRecording": "Avbryt opptak",
"cancelRecordingTitle": "Avbryte dette opptaket?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Opptak avbrutt",
"recordingRuleDeleted": "Opptaksregel slettet",
"processRecordingRules": "Vurder regler på nytt",
"loadingRecordings": "Laster opptak ...",
"recordingInProgress": "Tar opp nå",
"recordingsCount": "${count} planlagt",
"editRule": "Rediger regel",
@@ -973,7 +958,6 @@
"title": "Samlinger",
"collection": "Samling",
"empty": "Samlingen er tom",
"unknownLibrarySection": "Kan ikke slette: Ukjent bibliotekseksjon",
"deleteCollection": "Slett samling",
"deleteConfirm": "Slette \"${title}\"? Dette kan ikke angres.",
"deleted": "Samling slettet",
@@ -1013,6 +997,7 @@
"itemAdded": "Lagt til i spilleliste",
"itemRemoved": "Fjernet fra spilleliste",
"selectPlaylist": "Velg spilleliste",
"searchPlaylists": "Søk i spillelister...",
"errorCreating": "Kunne ikke opprette spilleliste",
"errorDeleting": "Kunne ikke slette spilleliste",
"errorLoading": "Kunne ikke laste spillelister",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} gjenopptok",
"participantSeeked": "${name} spolet",
"participantBuffering": "${name} buffrer",
"participantNeedsUpdate": "${name} bruker en eldre appversjon — synkronisering er ikke tilgjengelig",
"resumingWithout": "Fortsetter uten ${name}",
"waitingForParticipants": "Venter på at andre laster inn...",
"waitingForName": "Venter på ${name}...",
"recentRooms": "Nylige rom",
"renameRoom": "Gi nytt navn til rom",
"removeRoom": "Fjern",
"guestSwitchUnavailable": "Kunne ikke bytte — server ikke tilgjengelig for synkronisering",
"guestSwitchFailed": "Kunne ikke bytte — innhold ble ikke funnet på denne serveren",
"participantNeedsUpdate": "${name} bruker en eldre appversjon — synkronisering er ikke tilgjengelig",
"resumingWithout": "Fortsetter uten ${name}",
"waitingForName": "Venter på ${name}..."
"guestSwitchFailed": "Kunne ikke bytte — innhold ble ikke funnet på denne serveren"
},
"downloads": {
"title": "Nedlastinger",
@@ -1155,7 +1140,6 @@
"customAmount": "Egendefinert antall...",
"includeSpecials": "Inkluder spesialepisoder",
"howManyEpisodes": "Hvor mange episoder?",
"itemsQueued": "${count} elementer i nedlastingskø",
"keepSynced": "Hold synkronisert",
"downloadOnce": "Last ned én gang",
"keepNUnwatched": "Behold ${count} usette",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Ukjent enhet",
"session": {
"startingServer": "Starter fjernserver...",
"failedToCreate": "Kunne ikke starte fjernserver:",
"hostAddress": "Vertsadresse",
"connected": "Tilkoblet",
"serverRunning": "Fjernserver aktiv",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Fant ingen nettverksgrensesnitt",
"authenticationFailed": "Autentisering mislyktes",
"serverStartFailed": "Kunne ikke starte fjernserveren: ${error}",
"commandFailed": "Kunne ikke sende fjernkommando: ${error}",
"joinTimedOut": "Tidsavbrudd ved tilkobling til økt",
"failedToConnectAnyAddress": "Kunne ikke koble til noen adresse",
"connectionLostAfterAttempts": "Tilkobling mistet etter ${attempts} forsøk",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect mislyktes: ${error}",
"addPlexTitle": "Logg på med Plex",
"pinExpired": "PIN-koden gikk ut før pålogging. Prøv igjen.",
"duplicatePlexAccount": "Allerede logget inn på Plex. Logg ut for å bytte konto.",
"failedToRegisterAccount": "Kunne ikke registrere kontoen: ${error}",
"enterJellyfinUrlError": "Oppgi URL-en til Jellyfin-serveren din",
"addConnectionTitle": "Legg til tilkobling",
+40 -56
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Inloggen",
"signInWithPlex": "Inloggen met Plex",
"showQRCode": "Toon QR-code",
"authenticate": "Authenticeren",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Aflevering ${number} - ${title}",
"chapterNumber": "Hoofdstuk ${number}",
"reconnect": "Opnieuw verbinden",
"exit": "Afsluiten",
"viewAll": "Alles weergeven",
"checkingNetwork": "Netwerk controleren...",
"refreshingServers": "Servers vernieuwen...",
"loadingServers": "Servers laden...",
"connectingToServers": "Verbinden met servers...",
"startingOfflineMode": "Offlinemodus starten...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Gebruik tv-kaarten met alleen afbeeldingen en namen van acteurs als overlay",
"focusGlow": "Focusgloed",
"focusGlowDescription": "Toon een zachte gloed rond de kaart met focus",
"visualEffects": "Visuele effecten",
"visualEffectsAuto": "Automatisch",
"visualEffectsAutoDescription": "Effecten automatisch verminderen op apparaten met laag vermogen",
"visualEffectsFull": "Volledig",
"visualEffectsReduced": "Verminderd",
"visualEffectsReducedDescription": "Minder animaties en illustraties met lagere resolutie",
"hideSpoilers": "Spoilers voor ongekeken afleveringen verbergen",
"hideSpoilersDescription": "Vervaag miniaturen en beschrijvingen voor niet-bekeken afleveringen",
"playerBackend": "Speler backend",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Auto (Aanbevolen)",
"bufferSizeWarning": "${heap}MB geheugen beschikbaar. Een buffer van ${size}MB kan afspelen beïnvloeden.",
"defaultQualityTitle": "Standaardkwaliteit",
"defaultQualityDescription": "Wordt gebruikt bij het starten van de weergave. Lagere waarden verminderen de bandbreedte.",
"musicQualityTitle": "Muziekkwaliteit",
"subtitleStyling": "Ondertitel opmaak",
"subtitleStylingDescription": "Pas ondertitel uiterlijk aan",
"smallSkipDuration": "Korte skip duur",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Toon op Discord wat je aan het kijken bent",
"trakt": "Trakt",
"traktDescription": "Kijkgeschiedenis synchroniseren met Trakt",
"services": "Services",
"servicesDescription": "Verbind Trakt, MyAnimeList, Seerr en meer",
"manageLibrariesDescription": "Bibliotheken herordenen en verbergen",
"companionRemoteServer": "Companion Remote-server",
"companionRemoteServerDescription": "Sta mobiele apparaten op je netwerk toe om deze app te bedienen",
"autoPip": "Automatische beeld-in-beeld",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Navigatiebalk labels tonen",
"showNavBarLabelsDescription": "Tekstlabels onder de pictogrammen van de navigatiebalk weergeven",
"startupSection": "Opstartsectie",
"startupSectionDescription": "Kies welke sectie Plezy opent bij het opstarten",
"liveTvDefaultFavorites": "Standaard favoriete zenders",
"liveTvDefaultFavoritesDescription": "Toon alleen favoriete zenders bij het openen van Live TV",
"display": "Weergave",
@@ -322,14 +323,7 @@
"player": "Speler",
"subtitlesAndConfig": "Ondertitels en configuratie",
"seekAndTiming": "Zoeken en timing",
"behavior": "Gedrag",
"manageLibrariesDescription": "Bibliotheken herordenen en verbergen",
"visualEffects": "Visuele effecten",
"visualEffectsAuto": "Automatisch",
"visualEffectsAutoDescription": "Effecten automatisch verminderen op apparaten met laag vermogen",
"visualEffectsFull": "Volledig",
"visualEffectsReduced": "Verminderd",
"visualEffectsReducedDescription": "Minder animaties en illustraties met lagere resolutie"
"behavior": "Gedrag"
},
"search": {
"hint": "Zoek films, series, muziek...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Beoordelen",
"server": "Server",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Score instellen",
"favorite": "Favoriet",
"favorited": "Toegevoegd aan favorieten",
"saved": "Opgeslagen",
"notAvailable": "Geen match gevonden",
"noConnectedServices": "Verbind een service in Instellingen om daar te beoordelen.",
"favorite": "Favoriet",
"favorited": "Toegevoegd aan favorieten"
"noConnectedServices": "Verbind een service in Instellingen om daar te beoordelen."
},
"accessibility": {
"mediaCardMovie": "${title}, film",
@@ -435,7 +426,15 @@
"mediaCardWatched": "bekeken",
"mediaCardPartiallyWatched": "${percent} procent bekeken",
"mediaCardUnwatched": "niet bekeken",
"tapToPlay": "Tik om af te spelen"
"tapToPlay": "Tik om af te spelen",
"decrease": "Verlagen",
"increase": "Verhogen",
"decreaseValue": "${label} verlagen",
"increaseValue": "${label} verhogen",
"hue": "Tint",
"saturation": "Verzadiging",
"brightness": "Helderheid",
"hexColor": "Hexkleur"
},
"tooltips": {
"shufflePlay": "Willekeurig afspelen",
@@ -481,13 +480,11 @@
"settingsButton": "Afspeelinstellingen",
"tracksButton": "Audio en ondertitels",
"chaptersButton": "Hoofdstukken",
"versionsButton": "Videoversies",
"versionQualityButton": "Versie en kwaliteit",
"versionColumnHeader": "Versie",
"qualityColumnHeader": "Kwaliteit",
"qualityOriginal": "Origineel",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transcoderen niet beschikbaar — originele kwaliteit wordt afgespeeld",
"pipButton": "Beeld-in-beeld modus",
"aspectRatioButton": "Beeldverhouding",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Ondertitel downloaden mislukt",
"searchLanguages": "Talen zoeken..."
},
"userStatus": {
"admin": "Beheerder",
"restricted": "Beperkt",
"protected": "Beschermd",
"current": "HUIDIG"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Gemarkeerd als gekeken",
"markedAsUnwatched": "Gemarkeerd als ongekeken",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN-beveiliging (optioneel)",
"pinExplain": "4-cijferige PIN vereist om profielen te wisselen.",
"continueButton": "Doorgaan",
"pinsDontMatch": "PIN-codes komen niet overeen",
"initializeServicesFailed": "Kan profielservices niet initialiseren"
"pinsDontMatch": "PIN-codes komen niet overeen"
},
"connections": {
"sectionTitle": "Verbindingen",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Ontdekken",
"switchProfile": "Wissel van profiel",
"noContentAvailable": "Geen inhoud beschikbaar",
"addMediaToLibraries": "Voeg wat media toe aan je bibliotheken",
"continueWatching": "Verder kijken",
@@ -721,8 +711,6 @@
"connectionFailed": "Kan geen verbinding maken met mediaserver",
"failedToLoad": "Kon ${context} niet laden: ${error}",
"noClientAvailable": "Geen client beschikbaar",
"authenticationFailed": "Authenticatie mislukt: ${error}",
"couldNotLaunchUrl": "Kon auth URL niet openen",
"pleaseEnterToken": "Voer een token in",
"invalidToken": "Ongeldig token",
"failedToVerifyToken": "Kon token niet verifiëren: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Alle bibliotheken zijn verborgen",
"hiddenLibrariesCount": "Verborgen bibliotheken (${count})",
"thisLibraryIsEmpty": "Deze bibliotheek is leeg",
"noItemsMatchFilters": "Geen items komen overeen met de actieve filters",
"resetFilters": "Filters opnieuw instellen",
"all": "Alles",
"clearAll": "Alles wissen",
"scanLibraryConfirm": "Weet je zeker dat je \"${title}\" wilt scannen?",
@@ -804,7 +794,6 @@
"communityRating": "Communitybeoordeling",
"criticRating": "Criticusbeoordeling",
"userRating": "Gebruikersbeoordeling",
"lastPlayed": "Laatst afgespeeld",
"datePlayed": "Afspeeldatum",
"playCount": "Aantal afspelingen",
"productionYear": "Productiejaar",
@@ -818,9 +807,7 @@
"dateShared": "Gedeeld op",
"latestEpisodeAirDate": "Laatste afleveringsuitzending",
"lastEpisodeDateAdded": "Datum laatst toegevoegde aflevering"
},
"noItemsMatchFilters": "Geen items komen overeen met de actieve filters",
"resetFilters": "Filters opnieuw instellen"
}
},
"about": {
"title": "Over",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Bekijk licenties van third-party bibliotheken"
},
"serverSelection": {
"allServerConnectionsFailed": "Kon met geen enkele server verbinden. Controleer je netwerk.",
"noServersFoundForAccount": "Geen servers gevonden voor ${username} (${email})",
"failedToLoadServers": "Kon servers niet laden: ${error}"
},
@@ -876,10 +862,6 @@
"upcomingMovies": "Aankomende films",
"upcomingShows": "Aankomende series"
},
"searchHint": "Zoeken in ${source}",
"searchEmpty": "Geen resultaten voor \"${query}\"",
"searchPrompt": "Zoek naar films en series op ${source}.",
"searchFailed": "Zoeken mislukt. Controleer je verbinding en probeer opnieuw.",
"status": {
"airing": "Lopend",
"ended": "Afgelopen",
@@ -897,16 +879,21 @@
"watchlistUpdateFailed": "Kon kijklijst niet bijwerken",
"notInLibrary": "Niet in je bibliotheek",
"inTheseLibraries": "In deze bibliotheken",
"availableOn": "Beschikbaar op ${server}",
"checkingLibrary": "Je bibliotheek controleren...",
"emptyTitle": "Hier is nog niets",
"emptyMessage": "Rijen van ${source} verschijnen hier zodra ze inhoud hebben."
"emptyMessage": "Rijen van ${source} verschijnen hier zodra ze inhoud hebben.",
"searchHint": "Zoeken in ${source}",
"searchEmpty": "Geen resultaten voor \"${query}\"",
"searchPrompt": "Zoek naar films en series op ${source}.",
"searchFailed": "Zoeken mislukt. Controleer je verbinding en probeer opnieuw."
},
"liveTv": {
"title": "Live TV",
"guide": "Gids",
"noChannels": "Geen zenders beschikbaar",
"noDvr": "Geen DVR geconfigureerd op een server",
"serverUnavailable": "De live-tv-server is niet beschikbaar.",
"serverNotConnected": "De live-tv-server is niet verbonden.",
"noPrograms": "Geen programmagegevens beschikbaar",
"liveStreamFailed": "Livestream mislukt",
"unknownProgram": "Onbekend programma",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Gepland",
"recordingRules": "Opnameregels",
"noScheduledRecordings": "Geen geplande opnames",
"noRecordingRules": "Nog geen opnameregels",
"manageRecording": "Opname beheren",
"cancelRecording": "Opname annuleren",
"cancelRecordingTitle": "Deze opname annuleren?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Opname geannuleerd",
"recordingRuleDeleted": "Opnameregel verwijderd",
"processRecordingRules": "Regels opnieuw evalueren",
"loadingRecordings": "Opnames laden...",
"recordingInProgress": "Nu aan het opnemen",
"recordingsCount": "${count} gepland",
"editRule": "Regel bewerken",
@@ -973,7 +958,6 @@
"title": "Collecties",
"collection": "Collectie",
"empty": "Collectie is leeg",
"unknownLibrarySection": "Kan niet verwijderen: onbekende bibliotheeksectie",
"deleteCollection": "Collectie verwijderen",
"deleteConfirm": "\"${title}\" verwijderen? Dit kan niet ongedaan worden gemaakt.",
"deleted": "Collectie verwijderd",
@@ -1013,6 +997,7 @@
"itemAdded": "Toegevoegd aan afspeellijst",
"itemRemoved": "Verwijderd uit afspeellijst",
"selectPlaylist": "Selecteer afspeellijst",
"searchPlaylists": "Afspeellijsten zoeken...",
"errorCreating": "Fout bij maken afspeellijst",
"errorDeleting": "Fout bij verwijderen afspeellijst",
"errorLoading": "Fout bij laden afspeellijsten",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} heeft hervat",
"participantSeeked": "${name} heeft gespoeld",
"participantBuffering": "${name} is aan het bufferen",
"participantNeedsUpdate": "${name} gebruikt een oudere appversie — synchronisatie niet beschikbaar",
"resumingWithout": "Hervatten zonder ${name}",
"waitingForParticipants": "Wachten tot anderen geladen zijn...",
"waitingForName": "Wachten op ${name}...",
"recentRooms": "Recente kamers",
"renameRoom": "Kamer hernoemen",
"removeRoom": "Verwijderen",
"guestSwitchUnavailable": "Kon niet schakelen — server niet beschikbaar voor synchronisatie",
"guestSwitchFailed": "Kon niet schakelen — inhoud niet gevonden op deze server",
"participantNeedsUpdate": "${name} gebruikt een oudere appversie — synchronisatie niet beschikbaar",
"resumingWithout": "Hervatten zonder ${name}",
"waitingForName": "Wachten op ${name}..."
"guestSwitchFailed": "Kon niet schakelen — inhoud niet gevonden op deze server"
},
"downloads": {
"title": "Downloads",
@@ -1155,7 +1140,6 @@
"customAmount": "Aangepast aantal...",
"includeSpecials": "Specials opnemen",
"howManyEpisodes": "Hoeveel afleveringen?",
"itemsQueued": "${count} items in downloadwachtrij",
"keepSynced": "Gesynchroniseerd houden",
"downloadOnce": "Eenmalig downloaden",
"keepNUnwatched": "${count} onbekeken behouden",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Onbekend apparaat",
"session": {
"startingServer": "Externe server starten...",
"failedToCreate": "Kan externe server niet starten:",
"hostAddress": "Hostadres",
"connected": "Verbonden",
"serverRunning": "Externe server actief",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Geen netwerkinterface gevonden",
"authenticationFailed": "Authenticatie mislukt",
"serverStartFailed": "Kan de externe server niet starten: ${error}",
"commandFailed": "Kan de externe opdracht niet verzenden: ${error}",
"joinTimedOut": "Time-out bij deelnemen aan sessie",
"failedToConnectAnyAddress": "Kan met geen enkel adres verbinden",
"connectionLostAfterAttempts": "Verbinding verloren na ${attempts} pogingen",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect mislukt: ${error}",
"addPlexTitle": "Inloggen met Plex",
"pinExpired": "PIN verlopen vóór inloggen. Probeer opnieuw.",
"duplicatePlexAccount": "Al aangemeld bij Plex. Meld je af om van account te wisselen.",
"failedToRegisterAccount": "Account registreren mislukt: ${error}",
"enterJellyfinUrlError": "Voer de URL van je Jellyfin-server in",
"addConnectionTitle": "Verbinding toevoegen",
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Zaloguj się",
"signInWithPlex": "Zaloguj się przez Plex",
"showQRCode": "Pokaż kod QR",
"authenticate": "Uwierzytelnienie",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Odcinek ${number} - ${title}",
"chapterNumber": "Rozdział ${number}",
"reconnect": "Połącz ponownie",
"exit": "Wyjdź",
"viewAll": "Pokaż wszystko",
"checkingNetwork": "Sprawdzanie sieci...",
"refreshingServers": "Odświeżanie serwerów...",
"loadingServers": "Ładowanie serwerów...",
"connectingToServers": "Łączenie z serwerami...",
"startingOfflineMode": "Uruchamianie trybu offline...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Używaj kart TV tylko z obrazem i nałożonymi nazwiskami aktorów",
"focusGlow": "Poświata zaznaczenia",
"focusGlowDescription": "Wyświetlaj delikatną poświatę wokół zaznaczonej karty",
"visualEffects": "Efekty wizualne",
"visualEffectsAuto": "Automatycznie",
"visualEffectsAutoDescription": "Automatycznie ograniczaj efekty na urządzeniach o niższej wydajności",
"visualEffectsFull": "Pełne",
"visualEffectsReduced": "Ograniczone",
"visualEffectsReducedDescription": "Mniej animacji i grafiki o niższej rozdzielczości",
"hideSpoilers": "Ukryj spoilery nieobejrzanych odcinków",
"hideSpoilersDescription": "Rozmywaj miniatury i opisy nieobejrzanych odcinków",
"playerBackend": "Backend odtwarzacza",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Automatyczny (Zalecany)",
"bufferSizeWarning": "Dostępna pamięć: ${heap}MB. Bufor ${size}MB może wpłynąć na odtwarzanie.",
"defaultQualityTitle": "Domyślna jakość",
"defaultQualityDescription": "Używane podczas rozpoczynania odtwarzania. Niższe wartości zmniejszają przepustowość.",
"musicQualityTitle": "Jakość muzyki",
"subtitleStyling": "Styl napisów",
"subtitleStylingDescription": "Dostosuj wygląd napisów",
"smallSkipDuration": "Krótki skok",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Pokaż, co oglądasz na Discordzie",
"trakt": "Trakt",
"traktDescription": "Synchronizuj historię oglądania z Trakt",
"services": "Usługi",
"servicesDescription": "Połącz Trakt, MyAnimeList, Seerr i inne",
"manageLibrariesDescription": "Zmieniaj kolejność i ukrywaj biblioteki",
"companionRemoteServer": "Serwer zdalnego sterowania",
"companionRemoteServerDescription": "Pozwól urządzeniom mobilnym w sieci sterować tą aplikacją",
"autoPip": "Automatyczny obraz w obrazie",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Pokaż etykiety paska nawigacji",
"showNavBarLabelsDescription": "Wyświetl tekstowe etykiety pod ikonami paska nawigacji",
"startupSection": "Sekcja startowa",
"startupSectionDescription": "Wybierz, którą sekcję Plezy otwiera przy uruchomieniu",
"liveTvDefaultFavorites": "Domyślnie ulubione kanały",
"liveTvDefaultFavoritesDescription": "Pokaż tylko ulubione kanały po otwarciu telewizji na żywo",
"display": "Ekran",
@@ -322,14 +323,7 @@
"player": "Odtwarzacz",
"subtitlesAndConfig": "Napisy i konfiguracja",
"seekAndTiming": "Przewijanie i czas",
"behavior": "Zachowanie",
"manageLibrariesDescription": "Zmieniaj kolejność i ukrywaj biblioteki",
"visualEffects": "Efekty wizualne",
"visualEffectsAuto": "Automatycznie",
"visualEffectsAutoDescription": "Automatycznie ograniczaj efekty na urządzeniach o niższej wydajności",
"visualEffectsFull": "Pełne",
"visualEffectsReduced": "Ograniczone",
"visualEffectsReducedDescription": "Mniej animacji i grafiki o niższej rozdzielczości"
"behavior": "Zachowanie"
},
"search": {
"hint": "Szukaj filmów, seriali, muzyki...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Oceń",
"server": "Serwer",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Ustaw ocenę",
"favorite": "Dodaj do ulubionych",
"favorited": "Dodano do ulubionych",
"saved": "Zapisano",
"notAvailable": "Nie znaleziono dopasowania",
"noConnectedServices": "Połącz usługę w Ustawieniach, aby tam oceniać.",
"favorite": "Dodaj do ulubionych",
"favorited": "Dodano do ulubionych"
"noConnectedServices": "Połącz usługę w Ustawieniach, aby tam oceniać."
},
"accessibility": {
"mediaCardMovie": "${title}, film",
@@ -435,7 +426,15 @@
"mediaCardWatched": "obejrzane",
"mediaCardPartiallyWatched": "${percent} procent obejrzane",
"mediaCardUnwatched": "nieobejrzane",
"tapToPlay": "Dotknij, aby odtworzyć"
"tapToPlay": "Dotknij, aby odtworzyć",
"decrease": "Zmniejsz",
"increase": "Zwiększ",
"decreaseValue": "Zmniejsz ${label}",
"increaseValue": "Zwiększ ${label}",
"hue": "Odcień",
"saturation": "Nasycenie",
"brightness": "Jasność",
"hexColor": "Kolor szesnastkowy"
},
"tooltips": {
"shufflePlay": "Odtwarzanie losowe",
@@ -481,13 +480,11 @@
"settingsButton": "Ustawienia odtwarzania",
"tracksButton": "Audio i napisy",
"chaptersButton": "Rozdziały",
"versionsButton": "Wersje wideo",
"versionQualityButton": "Wersja i jakość",
"versionColumnHeader": "Wersja",
"qualityColumnHeader": "Jakość",
"qualityOriginal": "Oryginalna",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transkodowanie niedostępne — odtwarzanie w oryginalnej jakości",
"pipButton": "Tryb obraz w obrazie",
"aspectRatioButton": "Proporcje",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Nie udało się pobrać napisów",
"searchLanguages": "Szukaj języków..."
},
"userStatus": {
"admin": "Administrator",
"restricted": "Ograniczony",
"protected": "Chroniony",
"current": "BIEŻĄCY"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Oznaczono jako obejrzane",
"markedAsUnwatched": "Oznaczono jako nieobejrzane",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "Ochrona PIN-em (opcjonalnie)",
"pinExplain": "Do przełączania profili wymagany jest 4-cyfrowy PIN.",
"continueButton": "Kontynuuj",
"pinsDontMatch": "PIN-y nie pasują",
"initializeServicesFailed": "Nie udało się zainicjować usług profilu"
"pinsDontMatch": "PIN-y nie pasują"
},
"connections": {
"sectionTitle": "Połączenia",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Odkryj",
"switchProfile": "Zmień profil",
"noContentAvailable": "Brak dostępnych treści",
"addMediaToLibraries": "Dodaj multimedia do swoich bibliotek",
"continueWatching": "Kontynuuj oglądanie",
@@ -721,8 +711,6 @@
"connectionFailed": "Nie można połączyć się z serwerem multimediów",
"failedToLoad": "Nie udało się załadować ${context}: ${error}",
"noClientAvailable": "Brak dostępnego klienta",
"authenticationFailed": "Uwierzytelnienie nie powiodło się: ${error}",
"couldNotLaunchUrl": "Nie można otworzyć URL uwierzytelniania",
"pleaseEnterToken": "Wprowadź token",
"invalidToken": "Nieprawidłowy token",
"failedToVerifyToken": "Nie udało się zweryfikować tokena: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Wszystkie biblioteki są ukryte",
"hiddenLibrariesCount": "Ukryte biblioteki (${count})",
"thisLibraryIsEmpty": "Ta biblioteka jest pusta",
"noItemsMatchFilters": "Żadne elementy nie pasują do aktywnych filtrów",
"resetFilters": "Resetuj filtry",
"all": "Wszystkie",
"clearAll": "Wyczyść wszystko",
"scanLibraryConfirm": "Czy na pewno chcesz zeskanować \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Ocena społeczności",
"criticRating": "Ocena krytyków",
"userRating": "Ocena użytkownika",
"lastPlayed": "Ostatnio odtwarzane",
"datePlayed": "Data odtworzenia",
"playCount": "Liczba odtworzeń",
"productionYear": "Rok produkcji",
@@ -818,9 +807,7 @@
"dateShared": "Data udostępnienia",
"latestEpisodeAirDate": "Data emisji ostatniego odcinka",
"lastEpisodeDateAdded": "Data dodania ostatniego odcinka"
},
"noItemsMatchFilters": "Żadne elementy nie pasują do aktywnych filtrów",
"resetFilters": "Resetuj filtry"
}
},
"about": {
"title": "O aplikacji",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Zobacz licencje bibliotek zewnętrznych"
},
"serverSelection": {
"allServerConnectionsFailed": "Nie udało się połączyć z żadnym serwerem. Sprawdź sieć.",
"noServersFoundForAccount": "Nie znaleziono serwerów dla ${username} (${email})",
"failedToLoadServers": "Nie udało się załadować serwerów: ${error}"
},
@@ -895,7 +881,6 @@
"watchlistUpdateFailed": "Nie udało się zaktualizować listy do obejrzenia",
"notInLibrary": "Nie ma tego w Twojej bibliotece",
"inTheseLibraries": "W tych bibliotekach",
"availableOn": "Dostępne na ${server}",
"checkingLibrary": "Sprawdzanie Twojej biblioteki...",
"emptyTitle": "Jeszcze nic tu nie ma",
"emptyMessage": "Wiersze z ${source} pojawią się tutaj, gdy będą zawierać treści.",
@@ -909,6 +894,8 @@
"guide": "Przewodnik",
"noChannels": "Brak dostępnych kanałów",
"noDvr": "Brak skonfigurowanego DVR na żadnym serwerze",
"serverUnavailable": "Serwer telewizji na żywo jest niedostępny.",
"serverNotConnected": "Serwer telewizji na żywo nie jest połączony.",
"noPrograms": "Brak danych o programach",
"liveStreamFailed": "Transmisja na żywo nie powiodła się",
"unknownProgram": "Nieznany program",
@@ -944,7 +931,6 @@
"scheduledRecordings": "Zaplanowane",
"recordingRules": "Reguły nagrywania",
"noScheduledRecordings": "Brak zaplanowanych nagrań",
"noRecordingRules": "Brak reguł nagrywania",
"manageRecording": "Zarządzaj nagraniem",
"cancelRecording": "Anuluj nagrywanie",
"cancelRecordingTitle": "Anulować to nagrywanie?",
@@ -961,7 +947,6 @@
"recordingCancelled": "Nagrywanie anulowane",
"recordingRuleDeleted": "Reguła nagrywania usunięta",
"processRecordingRules": "Ponów ocenę reguł",
"loadingRecordings": "Wczytywanie nagrań...",
"recordingInProgress": "Trwa nagrywanie",
"recordingsCount": "${count} zaplanowanych",
"editRule": "Edytuj regułę",
@@ -975,7 +960,6 @@
"title": "Kolekcje",
"collection": "Kolekcja",
"empty": "Kolekcja jest pusta",
"unknownLibrarySection": "Nie można usunąć: Nieznana sekcja biblioteki",
"deleteCollection": "Usuń kolekcję",
"deleteConfirm": "Usunąć \"${title}\"? Tego nie można cofnąć.",
"deleted": "Kolekcja usunięta",
@@ -1015,6 +999,7 @@
"itemAdded": "Dodano do playlisty",
"itemRemoved": "Usunięto z playlisty",
"selectPlaylist": "Wybierz playlistę",
"searchPlaylists": "Szukaj playlist...",
"errorCreating": "Nie udało się utworzyć playlisty",
"errorDeleting": "Nie udało się usunąć playlisty",
"errorLoading": "Nie udało się załadować playlist",
@@ -1106,15 +1091,15 @@
"participantResumed": "${name} wznowił",
"participantSeeked": "${name} przewinął",
"participantBuffering": "${name} buforuje",
"participantNeedsUpdate": "${name} używa starszej wersji aplikacji — synchronizacja jest niedostępna",
"resumingWithout": "Wznawianie bez ${name}",
"waitingForParticipants": "Oczekiwanie na załadowanie u innych...",
"waitingForName": "Oczekiwanie na ${name}...",
"recentRooms": "Ostatnie pokoje",
"renameRoom": "Zmień nazwę pokoju",
"removeRoom": "Usuń",
"guestSwitchUnavailable": "Nie można przełączyć — serwer niedostępny do synchronizacji",
"guestSwitchFailed": "Nie można przełączyć — nie znaleziono treści na tym serwerze",
"participantNeedsUpdate": "${name} używa starszej wersji aplikacji — synchronizacja jest niedostępna",
"resumingWithout": "Wznawianie bez ${name}",
"waitingForName": "Oczekiwanie na ${name}..."
"guestSwitchFailed": "Nie można przełączyć — nie znaleziono treści na tym serwerze"
},
"downloads": {
"title": "Pobrania",
@@ -1159,7 +1144,6 @@
"customAmount": "Własna ilość...",
"includeSpecials": "Uwzględnij odcinki specjalne",
"howManyEpisodes": "Ile odcinków?",
"itemsQueued": "${count} elementów dodanych do kolejki pobierania",
"keepSynced": "Synchronizuj na bieżąco",
"downloadOnce": "Pobierz raz",
"keepNUnwatched": "Zachowaj ${count} nieobejrzanych",
@@ -1208,7 +1192,6 @@
"unknownDevice": "Nieznane urządzenie",
"session": {
"startingServer": "Uruchamianie serwera zdalnego...",
"failedToCreate": "Nie udało się uruchomić serwera zdalnego:",
"hostAddress": "Adres hosta",
"connected": "Połączono",
"serverRunning": "Serwer zdalny aktywny",
@@ -1269,6 +1252,8 @@
"errors": {
"noNetworkInterface": "Nie znaleziono interfejsu sieciowego",
"authenticationFailed": "Uwierzytelnianie nie powiodło się",
"serverStartFailed": "Nie udało się uruchomić serwera zdalnego: ${error}",
"commandFailed": "Nie udało się wysłać polecenia zdalnego: ${error}",
"joinTimedOut": "Upłynął limit czasu dołączania do sesji",
"failedToConnectAnyAddress": "Nie udało się połączyć z żadnym adresem",
"connectionLostAfterAttempts": "Połączenie utracone po ${attempts} próbach",
@@ -1542,7 +1527,6 @@
"quickConnectFailed": "Quick Connect nie powiodło się: ${error}",
"addPlexTitle": "Zaloguj się przez Plex",
"pinExpired": "PIN wygasł przed zalogowaniem. Spróbuj ponownie.",
"duplicatePlexAccount": "Już zalogowano do Plex. Wyloguj się, aby zmienić konto.",
"failedToRegisterAccount": "Nie udało się zarejestrować konta: ${error}",
"enterJellyfinUrlError": "Podaj URL serwera Jellyfin",
"addConnectionTitle": "Dodaj połączenie",
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Entrar",
"signInWithPlex": "Entrar com Plex",
"showQRCode": "Mostrar QR Code",
"authenticate": "Autenticar",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Episódio ${number} - ${title}",
"chapterNumber": "Capítulo ${number}",
"reconnect": "Reconectar",
"exit": "Sair",
"viewAll": "Ver Tudo",
"checkingNetwork": "Verificando rede...",
"refreshingServers": "Atualizando servidores...",
"loadingServers": "Carregando servidores...",
"connectingToServers": "Conectando aos servidores...",
"startingOfflineMode": "Iniciando modo offline...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Usar cartões de TV só com imagem e nomes dos atores sobrepostos",
"focusGlow": "Brilho de foco",
"focusGlowDescription": "Mostrar um brilho suave à volta do cartão em foco",
"visualEffects": "Efeitos visuais",
"visualEffectsAuto": "Automático",
"visualEffectsAutoDescription": "Reduza automaticamente os efeitos em dispositivos de baixo consumo",
"visualEffectsFull": "Completos",
"visualEffectsReduced": "Reduzidos",
"visualEffectsReducedDescription": "Menos animações e artes em menor resolução",
"hideSpoilers": "Ocultar Spoilers de Episódios Não Assistidos",
"hideSpoilersDescription": "Desfocar miniaturas e descrições de episódios não vistos",
"playerBackend": "Backend do Player",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Automático (Recomendado)",
"bufferSizeWarning": "${heap}MB de memória disponível. Um buffer de ${size}MB pode afetar a reprodução.",
"defaultQualityTitle": "Qualidade padrão",
"defaultQualityDescription": "Usado ao iniciar a reprodução. Valores menores reduzem a largura de banda.",
"musicQualityTitle": "Qualidade da música",
"subtitleStyling": "Estilo de Legendas",
"subtitleStylingDescription": "Personalizar aparência das legendas",
"smallSkipDuration": "Duração do Avanço Curto",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Mostrar o que você está assistindo no Discord",
"trakt": "Trakt",
"traktDescription": "Sincronizar histórico de exibição com Trakt",
"services": "Serviços",
"servicesDescription": "Conecte Trakt, MyAnimeList, Seerr e mais",
"manageLibrariesDescription": "Reordene e oculte bibliotecas",
"companionRemoteServer": "Servidor de controlo remoto",
"companionRemoteServerDescription": "Permitir que dispositivos móveis na sua rede controlem esta aplicação",
"autoPip": "Picture-in-Picture Automático",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Mostrar Rótulos da Barra de Navegação",
"showNavBarLabelsDescription": "Exibir rótulos de texto sob os ícones da barra de navegação",
"startupSection": "Seção inicial",
"startupSectionDescription": "Escolha qual seção o Plezy abre ao iniciar",
"liveTvDefaultFavorites": "Canais favoritos por padrão",
"liveTvDefaultFavoritesDescription": "Mostrar apenas canais favoritos ao abrir TV ao vivo",
"display": "Tela",
@@ -322,14 +323,7 @@
"player": "Reprodutor",
"subtitlesAndConfig": "Legendas e configuração",
"seekAndTiming": "Busca e tempo",
"behavior": "Comportamento",
"manageLibrariesDescription": "Reordene e oculte bibliotecas",
"visualEffects": "Efeitos visuais",
"visualEffectsAuto": "Automático",
"visualEffectsAutoDescription": "Reduza automaticamente os efeitos em dispositivos de baixo consumo",
"visualEffectsFull": "Completos",
"visualEffectsReduced": "Reduzidos",
"visualEffectsReducedDescription": "Menos animações e artes em menor resolução"
"behavior": "Comportamento"
},
"search": {
"hint": "Buscar filmes, séries, músicas...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Avaliar",
"server": "Servidor",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Definir pontuação",
"favorite": "Favorito",
"favorited": "Adicionado aos favoritos",
"saved": "Salvo",
"notAvailable": "Nenhuma correspondência encontrada",
"noConnectedServices": "Conecte um serviço nas Configurações para avaliar por lá.",
"favorite": "Favorito",
"favorited": "Adicionado aos favoritos"
"noConnectedServices": "Conecte um serviço nas Configurações para avaliar por lá."
},
"accessibility": {
"mediaCardMovie": "${title}, filme",
@@ -435,7 +426,15 @@
"mediaCardWatched": "assistido",
"mediaCardPartiallyWatched": "${percent} por cento assistido",
"mediaCardUnwatched": "não assistido",
"tapToPlay": "Toque para reproduzir"
"tapToPlay": "Toque para reproduzir",
"decrease": "Diminuir",
"increase": "Aumentar",
"decreaseValue": "Diminuir ${label}",
"increaseValue": "Aumentar ${label}",
"hue": "Matiz",
"saturation": "Saturação",
"brightness": "Brilho",
"hexColor": "Cor hexadecimal"
},
"tooltips": {
"shufflePlay": "Reprodução aleatória",
@@ -481,13 +480,11 @@
"settingsButton": "Configurações de Reprodução",
"tracksButton": "Áudio e Legendas",
"chaptersButton": "Capítulos",
"versionsButton": "Versões do vídeo",
"versionQualityButton": "Versão e qualidade",
"versionColumnHeader": "Versão",
"qualityColumnHeader": "Qualidade",
"qualityOriginal": "Original",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transcodificação indisponível — reproduzindo qualidade original",
"pipButton": "Modo Picture-in-Picture",
"aspectRatioButton": "Proporção",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Falha ao baixar legenda",
"searchLanguages": "Pesquisar idiomas..."
},
"userStatus": {
"admin": "Admin",
"restricted": "Restrito",
"protected": "Protegido",
"current": "ATUAL"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Marcado como assistido",
"markedAsUnwatched": "Marcado como não assistido",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "Proteção por PIN (opcional)",
"pinExplain": "PIN de 4 dígitos necessário para trocar perfis.",
"continueButton": "Continuar",
"pinsDontMatch": "Os PINs não correspondem",
"initializeServicesFailed": "Falha ao inicializar serviços de perfil"
"pinsDontMatch": "Os PINs não correspondem"
},
"connections": {
"sectionTitle": "Conexões",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Descobrir",
"switchProfile": "Trocar Perfil",
"noContentAvailable": "Nenhum conteúdo disponível",
"addMediaToLibraries": "Adicione mídias às suas bibliotecas",
"continueWatching": "Continuar Assistindo",
@@ -721,8 +711,6 @@
"connectionFailed": "Não foi possível conectar ao servidor de mídia",
"failedToLoad": "Falha ao carregar ${context}: ${error}",
"noClientAvailable": "Nenhum cliente disponível",
"authenticationFailed": "Falha na autenticação: ${error}",
"couldNotLaunchUrl": "Não foi possível abrir a URL de autenticação",
"pleaseEnterToken": "Insira um token",
"invalidToken": "Token inválido",
"failedToVerifyToken": "Falha ao verificar token: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Todas as bibliotecas estão ocultas",
"hiddenLibrariesCount": "Bibliotecas ocultas (${count})",
"thisLibraryIsEmpty": "Esta biblioteca está vazia",
"noItemsMatchFilters": "Nenhum item corresponde aos filtros ativos",
"resetFilters": "Redefinir filtros",
"all": "Todos",
"clearAll": "Limpar Tudo",
"scanLibraryConfirm": "Tem certeza que deseja escanear \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Avaliação da comunidade",
"criticRating": "Avaliação da crítica",
"userRating": "Avaliação do usuário",
"lastPlayed": "Última reprodução",
"datePlayed": "Data de reprodução",
"playCount": "Reproduções",
"productionYear": "Ano de produção",
@@ -818,9 +807,7 @@
"dateShared": "Data de compartilhamento",
"latestEpisodeAirDate": "Última data de exibição do episódio",
"lastEpisodeDateAdded": "Data de adição do último episódio"
},
"noItemsMatchFilters": "Nenhum item corresponde aos filtros ativos",
"resetFilters": "Redefinir filtros"
}
},
"about": {
"title": "Sobre",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Ver licenças de bibliotecas de terceiros"
},
"serverSelection": {
"allServerConnectionsFailed": "Não foi possível conectar a nenhum servidor. Verifique sua rede.",
"noServersFoundForAccount": "Nenhum servidor encontrado para ${username} (${email})",
"failedToLoadServers": "Falha ao carregar servidores: ${error}"
},
@@ -893,7 +879,6 @@
"watchlistUpdateFailed": "Não foi possível atualizar a lista para ver",
"notInLibrary": "Não está na sua biblioteca",
"inTheseLibraries": "Nestas bibliotecas",
"availableOn": "Disponível em ${server}",
"checkingLibrary": "Verificando a sua biblioteca...",
"emptyTitle": "Ainda não há nada aqui",
"emptyMessage": "As linhas de ${source} aparecerão aqui quando tiverem conteúdo.",
@@ -907,6 +892,8 @@
"guide": "Guia",
"noChannels": "Nenhum canal disponível",
"noDvr": "Nenhum DVR configurado em nenhum servidor",
"serverUnavailable": "O servidor de TV em direto não está disponível.",
"serverNotConnected": "O servidor de TV em direto não está ligado.",
"noPrograms": "Nenhum dado de programação disponível",
"liveStreamFailed": "Falha no stream ao vivo",
"unknownProgram": "Programa desconhecido",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Agendadas",
"recordingRules": "Regras de gravação",
"noScheduledRecordings": "Sem gravações agendadas",
"noRecordingRules": "Sem regras de gravação",
"manageRecording": "Gerenciar gravação",
"cancelRecording": "Cancelar gravação",
"cancelRecordingTitle": "Cancelar esta gravação?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Gravação cancelada",
"recordingRuleDeleted": "Regra de gravação excluída",
"processRecordingRules": "Reavaliar regras",
"loadingRecordings": "Carregando gravações...",
"recordingInProgress": "Gravando agora",
"recordingsCount": "${count} agendadas",
"editRule": "Editar regra",
@@ -973,7 +958,6 @@
"title": "Coleções",
"collection": "Coleção",
"empty": "A coleção está vazia",
"unknownLibrarySection": "Não é possível excluir: Seção de biblioteca desconhecida",
"deleteCollection": "Excluir Coleção",
"deleteConfirm": "Excluir \"${title}\"? Não pode ser desfeito.",
"deleted": "Coleção excluída",
@@ -1013,6 +997,7 @@
"itemAdded": "Adicionado à playlist",
"itemRemoved": "Removido da playlist",
"selectPlaylist": "Selecionar Playlist",
"searchPlaylists": "Pesquisar playlists...",
"errorCreating": "Falha ao criar playlist",
"errorDeleting": "Falha ao excluir playlist",
"errorLoading": "Falha ao carregar playlists",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} retomou",
"participantSeeked": "${name} avançou",
"participantBuffering": "${name} está carregando",
"participantNeedsUpdate": "${name} está em uma versão mais antiga do aplicativo — sincronização indisponível",
"resumingWithout": "Retomando sem ${name}",
"waitingForParticipants": "Aguardando outros carregarem...",
"waitingForName": "Aguardando ${name}...",
"recentRooms": "Salas recentes",
"renameRoom": "Renomear sala",
"removeRoom": "Remover",
"guestSwitchUnavailable": "Não foi possível trocar — servidor indisponível para sincronização",
"guestSwitchFailed": "Não foi possível trocar — conteúdo não encontrado neste servidor",
"participantNeedsUpdate": "${name} está em uma versão mais antiga do aplicativo — sincronização indisponível",
"resumingWithout": "Retomando sem ${name}",
"waitingForName": "Aguardando ${name}..."
"guestSwitchFailed": "Não foi possível trocar — conteúdo não encontrado neste servidor"
},
"downloads": {
"title": "Downloads",
@@ -1155,7 +1140,6 @@
"customAmount": "Quantidade personalizada...",
"includeSpecials": "Incluir especiais",
"howManyEpisodes": "Quantos episódios?",
"itemsQueued": "${count} itens na fila de download",
"keepSynced": "Manter sincronizado",
"downloadOnce": "Baixar uma vez",
"keepNUnwatched": "Manter ${count} não assistidos",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Dispositivo desconhecido",
"session": {
"startingServer": "A iniciar servidor remoto...",
"failedToCreate": "Falha ao iniciar o servidor remoto:",
"hostAddress": "Endereço do host",
"connected": "Conectado",
"serverRunning": "Servidor remoto ativo",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Nenhuma interface de rede encontrada",
"authenticationFailed": "Falha na autenticação",
"serverStartFailed": "Falha ao iniciar o servidor remoto: ${error}",
"commandFailed": "Falha ao enviar o comando remoto: ${error}",
"joinTimedOut": "Tempo esgotado ao entrar na sessão",
"failedToConnectAnyAddress": "Falha ao conectar a qualquer endereço",
"connectionLostAfterAttempts": "Conexão perdida após ${attempts} tentativas",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect falhou: ${error}",
"addPlexTitle": "Entrar com Plex",
"pinExpired": "O PIN expirou antes do login. Tente novamente.",
"duplicatePlexAccount": "Você já entrou no Plex. Saia para trocar de conta.",
"failedToRegisterAccount": "Falha ao registrar a conta: ${error}",
"enterJellyfinUrlError": "Insira a URL do seu servidor Jellyfin",
"addConnectionTitle": "Adicionar conexão",
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Войти",
"signInWithPlex": "Войти через Plex",
"showQRCode": "Показать QR-код",
"authenticate": "Аутентификация",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Эпизод ${number} - ${title}",
"chapterNumber": "Глава ${number}",
"reconnect": "Переподключить",
"exit": "Выход",
"viewAll": "Показать все",
"checkingNetwork": "Проверка сети...",
"refreshingServers": "Обновление серверов...",
"loadingServers": "Загрузка серверов...",
"connectingToServers": "Подключение к серверам...",
"startingOfflineMode": "Запуск автономного режима...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Использовать TV-карточки только с изображением и именами актёров поверх него",
"focusGlow": "Свечение при фокусе",
"focusGlowDescription": "Показывать мягкое свечение вокруг карточки в фокусе",
"visualEffects": "Визуальные эффекты",
"visualEffectsAuto": "Автоматически",
"visualEffectsAutoDescription": "Автоматически уменьшать эффекты на маломощных устройствах",
"visualEffectsFull": "Полные",
"visualEffectsReduced": "Уменьшенные",
"visualEffectsReducedDescription": "Меньше анимаций и графика с более низким разрешением",
"hideSpoilers": "Скрыть спойлеры непросмотренных эпизодов",
"hideSpoilersDescription": "Размывать миниатюры и описания непросмотренных серий",
"playerBackend": "Бэкенд плеера",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Авто (Рекомендуется)",
"bufferSizeWarning": "Доступно памяти: ${heap}MB. Буфер ${size}MB может повлиять на воспроизведение.",
"defaultQualityTitle": "Качество по умолчанию",
"defaultQualityDescription": "Используется при запуске воспроизведения. Более низкие значения снижают пропускную способность.",
"musicQualityTitle": "Качество музыки",
"subtitleStyling": "Стиль субтитров",
"subtitleStylingDescription": "Настроить внешний вид субтитров",
"smallSkipDuration": "Малая перемотка",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Показывать, что вы смотрите, в Discord",
"trakt": "Trakt",
"traktDescription": "Синхронизировать историю просмотров с Trakt",
"services": "Сервисы",
"servicesDescription": "Подключите Trakt, MyAnimeList, Seerr и другие",
"manageLibrariesDescription": "Изменять порядок и скрывать библиотеки",
"companionRemoteServer": "Сервер удалённого управления",
"companionRemoteServerDescription": "Разрешить мобильным устройствам в сети управлять этим приложением",
"autoPip": "Автоматический «картинка в картинке»",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Показывать подписи панели навигации",
"showNavBarLabelsDescription": "Отображать текстовые подписи под иконками панели навигации",
"startupSection": "Начальный раздел",
"startupSectionDescription": "Выберите, какой раздел Plezy открывает при запуске",
"liveTvDefaultFavorites": "Избранные каналы по умолчанию",
"liveTvDefaultFavoritesDescription": "Показывать только избранные каналы при открытии ТВ",
"display": "Экран",
@@ -322,14 +323,7 @@
"player": "Плеер",
"subtitlesAndConfig": "Субтитры и конфигурация",
"seekAndTiming": "Перемотка и время",
"behavior": "Поведение",
"manageLibrariesDescription": "Изменять порядок и скрывать библиотеки",
"visualEffects": "Визуальные эффекты",
"visualEffectsAuto": "Автоматически",
"visualEffectsAutoDescription": "Автоматически уменьшать эффекты на маломощных устройствах",
"visualEffectsFull": "Полные",
"visualEffectsReduced": "Уменьшенные",
"visualEffectsReducedDescription": "Меньше анимаций и графика с более низким разрешением"
"behavior": "Поведение"
},
"search": {
"hint": "Поиск фильмов, сериалов, музыки...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Оценить",
"server": "Сервер",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Установить оценку",
"favorite": "Добавить в избранное",
"favorited": "Добавлено в избранное",
"saved": "Сохранено",
"notAvailable": "Совпадений не найдено",
"noConnectedServices": "Подключите сервис в настройках, чтобы оценивать здесь.",
"favorite": "Добавить в избранное",
"favorited": "Добавлено в избранное"
"noConnectedServices": "Подключите сервис в настройках, чтобы оценивать здесь."
},
"accessibility": {
"mediaCardMovie": "${title}, фильм",
@@ -435,7 +426,15 @@
"mediaCardWatched": "просмотрено",
"mediaCardPartiallyWatched": "просмотрено ${percent} процентов",
"mediaCardUnwatched": "не просмотрено",
"tapToPlay": "Нажмите для воспроизведения"
"tapToPlay": "Нажмите для воспроизведения",
"decrease": "Уменьшить",
"increase": "Увеличить",
"decreaseValue": "Уменьшить ${label}",
"increaseValue": "Увеличить ${label}",
"hue": "Цветовой тон",
"saturation": "Насыщенность",
"brightness": "Яркость",
"hexColor": "Шестнадцатеричный цвет"
},
"tooltips": {
"shufflePlay": "Случайное воспроизведение",
@@ -481,13 +480,11 @@
"settingsButton": "Настройки воспроизведения",
"tracksButton": "Аудио и субтитры",
"chaptersButton": "Главы",
"versionsButton": "Версии видео",
"versionQualityButton": "Версия и качество",
"versionColumnHeader": "Версия",
"qualityColumnHeader": "Качество",
"qualityOriginal": "Оригинал",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Транскодирование недоступно — воспроизведение в оригинальном качестве",
"pipButton": "Режим «картинка в картинке»",
"aspectRatioButton": "Соотношение сторон",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Не удалось загрузить субтитры",
"searchLanguages": "Поиск языков..."
},
"userStatus": {
"admin": "Администратор",
"restricted": "Ограниченный",
"protected": "Защищённый",
"current": "ТЕКУЩИЙ"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Отмечено как просмотренное",
"markedAsUnwatched": "Отмечено как непросмотренное",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "Защита PIN-кодом (необязательно)",
"pinExplain": "Для переключения профилей нужен 4-значный PIN.",
"continueButton": "Продолжить",
"pinsDontMatch": "PIN-коды не совпадают",
"initializeServicesFailed": "Не удалось инициализировать службы профиля"
"pinsDontMatch": "PIN-коды не совпадают"
},
"connections": {
"sectionTitle": "Подключения",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Обзор",
"switchProfile": "Сменить профиль",
"noContentAvailable": "Контент недоступен",
"addMediaToLibraries": "Добавьте медиафайлы в ваши библиотеки",
"continueWatching": "Продолжить просмотр",
@@ -721,8 +711,6 @@
"connectionFailed": "Не удалось подключиться к медиасерверу",
"failedToLoad": "Не удалось загрузить ${context}: ${error}",
"noClientAvailable": "Клиент недоступен",
"authenticationFailed": "Ошибка аутентификации: ${error}",
"couldNotLaunchUrl": "Не удалось открыть URL аутентификации",
"pleaseEnterToken": "Введите токен",
"invalidToken": "Недействительный токен",
"failedToVerifyToken": "Не удалось проверить токен: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Все библиотеки скрыты",
"hiddenLibrariesCount": "Скрытые библиотеки (${count})",
"thisLibraryIsEmpty": "Эта библиотека пуста",
"noItemsMatchFilters": "Нет элементов, соответствующих активным фильтрам",
"resetFilters": "Сбросить фильтры",
"all": "Все",
"clearAll": "Очистить все",
"scanLibraryConfirm": "Вы уверены, что хотите сканировать \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Оценка сообщества",
"criticRating": "Оценка критиков",
"userRating": "Пользовательская оценка",
"lastPlayed": "Последний просмотр",
"datePlayed": "Дата просмотра",
"playCount": "Количество просмотров",
"productionYear": "Год производства",
@@ -818,9 +807,7 @@
"dateShared": "Дата открытия доступа",
"latestEpisodeAirDate": "Дата выхода последнего эпизода",
"lastEpisodeDateAdded": "Дата добавления последнего эпизода"
},
"noItemsMatchFilters": "Нет элементов, соответствующих активным фильтрам",
"resetFilters": "Сбросить фильтры"
}
},
"about": {
"title": "О приложении",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Просмотр лицензий сторонних библиотек"
},
"serverSelection": {
"allServerConnectionsFailed": "Не удалось подключиться ни к одному серверу. Проверьте сеть.",
"noServersFoundForAccount": "Серверы не найдены для ${username} (${email})",
"failedToLoadServers": "Не удалось загрузить серверы: ${error}"
},
@@ -895,7 +881,6 @@
"watchlistUpdateFailed": "Не удалось обновить список для просмотра",
"notInLibrary": "Нет в вашей библиотеке",
"inTheseLibraries": "В этих библиотеках",
"availableOn": "Доступно на ${server}",
"checkingLibrary": "Проверка вашей библиотеки...",
"emptyTitle": "Здесь пока ничего нет",
"emptyMessage": "Строки из ${source} появятся здесь, когда в них будет контент.",
@@ -909,6 +894,8 @@
"guide": "Программа",
"noChannels": "Нет доступных каналов",
"noDvr": "DVR не настроен ни на одном сервере",
"serverUnavailable": "Сервер прямого эфира недоступен.",
"serverNotConnected": "Сервер прямого эфира не подключён.",
"noPrograms": "Нет данных о программах",
"liveStreamFailed": "Не удалось запустить прямой эфир",
"unknownProgram": "Неизвестная программа",
@@ -944,7 +931,6 @@
"scheduledRecordings": "Запланировано",
"recordingRules": "Правила записи",
"noScheduledRecordings": "Нет запланированных записей",
"noRecordingRules": "Правил записи пока нет",
"manageRecording": "Управление записью",
"cancelRecording": "Отменить запись",
"cancelRecordingTitle": "Отменить эту запись?",
@@ -961,7 +947,6 @@
"recordingCancelled": "Запись отменена",
"recordingRuleDeleted": "Правило записи удалено",
"processRecordingRules": "Пересчитать правила",
"loadingRecordings": "Загрузка записей...",
"recordingInProgress": "Идёт запись",
"recordingsCount": "Запланировано: ${count}",
"editRule": "Изменить правило",
@@ -975,7 +960,6 @@
"title": "Коллекции",
"collection": "Коллекция",
"empty": "Коллекция пуста",
"unknownLibrarySection": "Невозможно удалить: неизвестный раздел библиотеки",
"deleteCollection": "Удалить коллекцию",
"deleteConfirm": "Удалить \"${title}\"? Это нельзя отменить.",
"deleted": "Коллекция удалена",
@@ -1015,6 +999,7 @@
"itemAdded": "Добавлено в плейлист",
"itemRemoved": "Удалено из плейлиста",
"selectPlaylist": "Выбрать плейлист",
"searchPlaylists": "Поиск плейлистов...",
"errorCreating": "Не удалось создать плейлист",
"errorDeleting": "Не удалось удалить плейлист",
"errorLoading": "Не удалось загрузить плейлисты",
@@ -1106,15 +1091,15 @@
"participantResumed": "${name} возобновил",
"participantSeeked": "${name} перемотал",
"participantBuffering": "${name} буферизует",
"participantNeedsUpdate": "${name} использует старую версию приложения — синхронизация недоступна",
"resumingWithout": "Возобновление без ${name}",
"waitingForParticipants": "Ожидание загрузки у других...",
"waitingForName": "Ожидание ${name}...",
"recentRooms": "Недавние комнаты",
"renameRoom": "Переименовать комнату",
"removeRoom": "Удалить",
"guestSwitchUnavailable": "Не удалось переключиться — сервер недоступен для синхронизации",
"guestSwitchFailed": "Не удалось переключиться — содержимое не найдено на этом сервере",
"participantNeedsUpdate": "${name} использует старую версию приложения — синхронизация недоступна",
"resumingWithout": "Возобновление без ${name}",
"waitingForName": "Ожидание ${name}..."
"guestSwitchFailed": "Не удалось переключиться — содержимое не найдено на этом сервере"
},
"downloads": {
"title": "Загрузки",
@@ -1159,7 +1144,6 @@
"customAmount": "Указать количество...",
"includeSpecials": "Включить спецвыпуски",
"howManyEpisodes": "Сколько эпизодов?",
"itemsQueued": "${count} элементов добавлено в очередь загрузки",
"keepSynced": "Синхронизировать",
"downloadOnce": "Скачать один раз",
"keepNUnwatched": "Хранить ${count} непросмотренных",
@@ -1208,7 +1192,6 @@
"unknownDevice": "Неизвестное устройство",
"session": {
"startingServer": "Запуск удалённого сервера...",
"failedToCreate": "Не удалось запустить удалённый сервер:",
"hostAddress": "Адрес хоста",
"connected": "Подключено",
"serverRunning": "Удалённый сервер активен",
@@ -1269,6 +1252,8 @@
"errors": {
"noNetworkInterface": "Сетевой интерфейс не найден",
"authenticationFailed": "Ошибка аутентификации",
"serverStartFailed": "Не удалось запустить удалённый сервер: ${error}",
"commandFailed": "Не удалось отправить удалённую команду: ${error}",
"joinTimedOut": "Время подключения к сеансу истекло",
"failedToConnectAnyAddress": "Не удалось подключиться ни к одному адресу",
"connectionLostAfterAttempts": "Соединение потеряно после ${attempts} попыток",
@@ -1542,7 +1527,6 @@
"quickConnectFailed": "Quick Connect не удался: ${error}",
"addPlexTitle": "Войти через Plex",
"pinExpired": "Срок действия PIN истёк до входа. Попробуйте снова.",
"duplicatePlexAccount": "В Plex уже выполнен вход. Выйдите, чтобы сменить аккаунт.",
"failedToRegisterAccount": "Не удалось зарегистрировать учётную запись: ${error}",
"enterJellyfinUrlError": "Введите URL вашего сервера Jellyfin",
"addConnectionTitle": "Добавить подключение",
+1 -1
View File
@@ -4,7 +4,7 @@
/// To regenerate, run: `dart run slang`
///
/// Locales: 16
/// Strings: 22708 (1419 per locale)
/// Strings: 22466 (1404 per locale)
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsBg extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityBg accessibility = _TranslationsAccessibilityBg._(_root);
@override late final _TranslationsTooltipsBg tooltips = _TranslationsTooltipsBg._(_root);
@override late final _TranslationsVideoControlsBg videoControls = _TranslationsVideoControlsBg._(_root);
@override late final _TranslationsUserStatusBg userStatus = _TranslationsUserStatusBg._(_root);
@override late final _TranslationsMessagesBg messages = _TranslationsMessagesBg._(_root);
@override late final _TranslationsSubtitlingStylingBg subtitlingStyling = _TranslationsSubtitlingStylingBg._(_root);
@override late final _TranslationsMpvConfigBg mpvConfig = _TranslationsMpvConfigBg._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthBg extends TranslationsAuthEn {
final TranslationsBg _root; // ignore: unused_field
// Translations
@override String get signIn => 'Вход';
@override String get signInWithPlex => 'Вход с Plex';
@override String get showQRCode => 'Покажи QR код';
@override String get authenticate => 'Удостовери';
@@ -167,10 +165,8 @@ class _TranslationsCommonBg extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Епизод ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Глава ${number}';
@override String get reconnect => 'Свържи отново';
@override String get exit => 'Изход';
@override String get viewAll => 'Виж всички';
@override String get checkingNetwork => 'Проверка на мрежата...';
@override String get refreshingServers => 'Опресняване на сървърите...';
@override String get loadingServers => 'Зареждане на сървърите...';
@override String get connectingToServers => 'Свързване със сървърите...';
@override String get startingOfflineMode => 'Стартиране на офлайн режим...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsBg extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Използвай TV карти само с изображения, с насложени имена на актьорите';
@override String get focusGlow => 'Сияние при фокус';
@override String get focusGlowDescription => 'Показвай меко сияние около фокусираната карта';
@override String get visualEffects => 'Визуални ефекти';
@override String get visualEffectsAuto => 'Автоматично';
@override String get visualEffectsAutoDescription => 'Автоматично намалявай ефектите на по-слаби устройства';
@override String get visualEffectsFull => 'Пълни';
@override String get visualEffectsReduced => 'Намалени';
@override String get visualEffectsReducedDescription => 'По-малко анимации и изображения с по-ниска резолюция';
@override String get hideSpoilers => 'Скривай спойлери за негледани епизоди';
@override String get hideSpoilersDescription => 'Замазвай миниатюри и описания за негледани епизоди';
@override String get playerBackend => 'Енджин на плеъра';
@@ -283,7 +285,7 @@ class _TranslationsSettingsBg extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Автоматично (препоръчително)';
@override String bufferSizeWarning({required Object heap, required Object size}) => 'Налична памет ${heap}MB. Буфер ${size}MB може да повлияе на възпроизвеждането.';
@override String get defaultQualityTitle => 'Качество по подразбиране';
@override String get defaultQualityDescription => 'Използва се при стартиране на възпроизвеждане. По-ниските стойности намаляват трафика.';
@override String get musicQualityTitle => 'Качество на музиката';
@override String get subtitleStyling => 'Стил на субтитрите';
@override String get subtitleStylingDescription => 'Настройване на вида на субтитрите';
@override String get smallSkipDuration => 'Малко прескачане';
@@ -377,10 +379,9 @@ class _TranslationsSettingsBg extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Показвай какво гледате в Discord';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Синхронизирай историята на гледане с Trakt';
@override String get services => 'Услуги';
@override String get servicesDescription => 'Свържи Trakt, MyAnimeList, Seerr и още';
@override String get manageLibrariesDescription => 'Пренареждай и скривай библиотеки';
@override String get companionRemoteServer => 'Сървър за дистанционно управление';
@override String get companionRemoteServerDescription => 'Позволи на мобилни устройства във вашата мрежа да управляват това приложение';
@override String get autoPip => 'Автоматичен режим картина в картината';
@@ -443,7 +444,6 @@ class _TranslationsSettingsBg extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Показвай етикети в навигационната лента';
@override String get showNavBarLabelsDescription => 'Показвай текстови етикети под иконите в навигационната лента';
@override String get startupSection => 'Начален раздел';
@override String get startupSectionDescription => 'Изберете кой раздел да отваря Plezy при стартиране';
@override String get liveTvDefaultFavorites => 'По подразбиране към любими канали';
@override String get liveTvDefaultFavoritesDescription => 'Показвай само любими канали при отваряне на телевизия на живо';
@override String get display => 'Дисплей';
@@ -455,13 +455,6 @@ class _TranslationsSettingsBg extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Субтитри и конфигурация';
@override String get seekAndTiming => 'Търсене и време';
@override String get behavior => 'Поведение';
@override String get manageLibrariesDescription => 'Пренареждай и скривай библиотеки';
@override String get visualEffects => 'Визуални ефекти';
@override String get visualEffectsAuto => 'Автоматично';
@override String get visualEffectsAutoDescription => 'Автоматично намалявай ефектите на по-слаби устройства';
@override String get visualEffectsFull => 'Пълни';
@override String get visualEffectsReduced => 'Намалени';
@override String get visualEffectsReducedDescription => 'По-малко анимации и изображения с по-ниска резолюция';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetBg extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Оцени';
@override String get server => 'Сървър';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Задай оценка';
@override String get favorite => 'Добави в любими';
@override String get favorited => 'Добавено в любими';
@override String get saved => 'Запазено';
@override String get notAvailable => 'Няма намерено съвпадение';
@override String get noConnectedServices => 'Свържи услуга в Настройки, за да оценяваш там.';
@override String get favorite => 'Добави в любими';
@override String get favorited => 'Добавено в любими';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityBg extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} процента изгледано';
@override String get mediaCardUnwatched => 'негледано';
@override String get tapToPlay => 'Докоснете за възпроизвеждане';
@override String get decrease => 'Намали';
@override String get increase => 'Увеличи';
@override String decreaseValue({required Object label}) => 'Намали ${label}';
@override String increaseValue({required Object label}) => 'Увеличи ${label}';
@override String get hue => 'Нюанс';
@override String get saturation => 'Наситеност';
@override String get brightness => 'Яркост';
@override String get hexColor => 'Шестнадесетичен цвят';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsBg extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Настройки на възпроизвеждането';
@override String get tracksButton => 'Аудио и субтитри';
@override String get chaptersButton => 'Глави';
@override String get versionsButton => 'Видео версии';
@override String get versionQualityButton => 'Версия и качество';
@override String get versionColumnHeader => 'Версия';
@override String get qualityColumnHeader => 'Качество';
@override String get qualityOriginal => 'Оригинал';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Транскодирането не е налично — пуска се оригиналното качество';
@override String get pipButton => 'Режим картина в картината';
@override String get aspectRatioButton => 'Съотношение на страните';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsBg extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Търсене на езици...';
}
// Path: userStatus
class _TranslationsUserStatusBg extends TranslationsUserStatusEn {
_TranslationsUserStatusBg._(TranslationsBg root) : this._root = root, super.internal(root);
final TranslationsBg _root; // ignore: unused_field
// Translations
@override String get admin => 'Администратор';
@override String get restricted => 'Ограничен';
@override String get protected => 'Защитен';
@override String get current => 'ТЕКУЩ';
}
// Path: messages
class _TranslationsMessagesBg extends TranslationsMessagesEn {
_TranslationsMessagesBg._(TranslationsBg root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesBg extends TranslationsProfilesEn {
@override String get pinExplain => 'Изисква се 4-цифрен PIN за смяна на профили.';
@override String get continueButton => 'Продължи';
@override String get pinsDontMatch => 'PIN кодовете не съвпадат';
@override String get initializeServicesFailed => 'Неуспешно инициализиране на услугите за профили';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverBg extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Открий';
@override String get switchProfile => 'Смяна на профил';
@override String get noContentAvailable => 'Няма налично съдържание';
@override String get addMediaToLibraries => 'Добавете медия към библиотеките си';
@override String get continueWatching => 'Продължи гледането';
@@ -938,8 +919,6 @@ class _TranslationsErrorsBg extends TranslationsErrorsEn {
@override String get connectionFailed => 'Не може да се осъществи връзка с медиен сървър';
@override String failedToLoad({required Object context, required Object error}) => 'Неуспешно зареждане на ${context}: ${error}';
@override String get noClientAvailable => 'Няма наличен клиент';
@override String authenticationFailed({required Object error}) => 'Удостоверяването е неуспешно: ${error}';
@override String get couldNotLaunchUrl => 'URL адресът за удостоверяване не може да бъде отворен';
@override String get pleaseEnterToken => 'Моля, въведете токен';
@override String get invalidToken => 'Невалиден токен';
@override String failedToVerifyToken({required Object error}) => 'Неуспешна проверка на токена: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesBg extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Всички библиотеки са скрити';
@override String hiddenLibrariesCount({required Object count}) => 'Скрити библиотеки (${count})';
@override String get thisLibraryIsEmpty => 'Тази библиотека е празна';
@override String get noItemsMatchFilters => 'Няма елементи, съответстващи на активните филтри';
@override String get resetFilters => 'Нулирай филтрите';
@override String get all => 'Всички';
@override String get clearAll => 'Изчисти всички';
@override String scanLibraryConfirm({required Object title}) => 'Сигурни ли сте, че искате да сканирате "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesBg extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsBg groupings = _TranslationsLibrariesGroupingsBg._(_root);
@override late final _TranslationsLibrariesFilterCategoriesBg filterCategories = _TranslationsLibrariesFilterCategoriesBg._(_root);
@override late final _TranslationsLibrariesSortLabelsBg sortLabels = _TranslationsLibrariesSortLabelsBg._(_root);
@override String get noItemsMatchFilters => 'Няма елементи, съответстващи на активните филтри';
@override String get resetFilters => 'Нулирай филтрите';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionBg extends TranslationsServerSelectionEn {
final TranslationsBg _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Не може да се осъществи връзка с нито един сървър. Проверете мрежата.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Не са намерени сървъри за ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Неуспешно зареждане на сървъри: ${error}';
}
@@ -1102,7 +1080,6 @@ class _TranslationsExploreBg extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Неуспешно обновяване на списъка за гледане';
@override String get notInLibrary => 'Не е в твоята библиотека';
@override String get inTheseLibraries => 'В тези библиотеки';
@override String availableOn({required Object server}) => 'Налично на ${server}';
@override String get checkingLibrary => 'Проверка на твоята библиотека...';
@override String get emptyTitle => 'Тук все още няма нищо';
@override String emptyMessage({required Object source}) => 'Редовете от ${source} ще се появят тук, когато има съдържание.';
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvBg extends TranslationsLiveTvEn {
@override String get guide => 'ТВ програма';
@override String get noChannels => 'Няма налични канали';
@override String get noDvr => 'Няма конфигуриран DVR на нито един сървър';
@override String get serverUnavailable => 'Сървърът за телевизия на живо не е наличен.';
@override String get serverNotConnected => 'Сървърът за телевизия на живо не е свързан.';
@override String get noPrograms => 'Няма налични програмни данни';
@override String get liveStreamFailed => 'Потокът на живо се провали';
@override String get unknownProgram => 'Неизвестна програма';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvBg extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Планирани';
@override String get recordingRules => 'Правила за запис';
@override String get noScheduledRecordings => 'Няма планирани записи';
@override String get noRecordingRules => 'Все още няма правила за запис';
@override String get manageRecording => 'Управление на запис';
@override String get cancelRecording => 'Отмени запис';
@override String get cancelRecordingTitle => 'Да се отмени ли този запис?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvBg extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Записът е отменен';
@override String get recordingRuleDeleted => 'Правилото за запис е изтрито';
@override String get processRecordingRules => 'Преоцени правилата';
@override String get loadingRecordings => 'Зареждане на записи...';
@override String get recordingInProgress => 'Записва се сега';
@override String recordingsCount({required Object count}) => '${count} планирани';
@override String get editRule => 'Редактирай правило';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsBg extends TranslationsCollectionsEn {
@override String get title => 'Колекции';
@override String get collection => 'Колекция';
@override String get empty => 'Колекцията е празна';
@override String get unknownLibrarySection => 'Не може да се изтрие: неизвестна секция на библиотеката';
@override String get deleteCollection => 'Изтрий колекция';
@override String deleteConfirm({required Object title}) => 'Да се изтрие ли "${title}"? Това не може да бъде отменено.';
@override String get deleted => 'Колекцията е изтрита';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsBg extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Добавено към плейлист';
@override String get itemRemoved => 'Премахнато от плейлист';
@override String get selectPlaylist => 'Избери плейлист';
@override String get searchPlaylists => 'Търсене в плейлисти...';
@override String get errorCreating => 'Неуспешно създаване на плейлист';
@override String get errorDeleting => 'Неуспешно изтриване на плейлист';
@override String get errorLoading => 'Неуспешно зареждане на плейлисти';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherBg extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} продължи';
@override String participantSeeked({required Object name}) => '${name} превъртя';
@override String participantBuffering({required Object name}) => '${name} буферира';
@override String participantNeedsUpdate({required Object name}) => '${name} е с по-стара версия на приложението — синхронизирането не е налично';
@override String resumingWithout({required Object name}) => 'Продължаване без ${name}';
@override String get waitingForParticipants => 'Изчакване другите да заредят...';
@override String waitingForName({required Object name}) => 'Изчакване на ${name}...';
@override String get recentRooms => 'Скорошни стаи';
@override String get renameRoom => 'Преименувай стая';
@override String get removeRoom => 'Премахни';
@override String get guestSwitchUnavailable => 'Превключването не е възможно — сървърът е недостъпен за синхронизация';
@override String get guestSwitchFailed => 'Превключването не е възможно — съдържанието не е намерено на този сървър';
@override String participantNeedsUpdate({required Object name}) => '${name} е с по-стара версия на приложението — синхронизирането не е налично';
@override String resumingWithout({required Object name}) => 'Продължаване без ${name}';
@override String waitingForName({required Object name}) => 'Изчакване на ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsBg extends TranslationsDownloadsEn {
@override String get customAmount => 'Персонален брой...';
@override String get includeSpecials => 'Включи специалните';
@override String get howManyEpisodes => 'Колко епизода?';
@override String itemsQueued({required Object count}) => '${count} елемента са добавени в опашката за изтегляне';
@override String get keepSynced => 'Поддържай синхронизирано';
@override String get downloadOnce => 'Изтегли еднократно';
@override String keepNUnwatched({required Object count}) => 'Пази ${count} негледани';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerBg extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect е неуспешен: ${error}';
@override String get addPlexTitle => 'Вход с Plex';
@override String get pinExpired => 'PIN-ът изтече преди вход. Моля, опитайте отново.';
@override String get duplicatePlexAccount => 'Вече сте влезли в Plex. Излезте, за да смените акаунта.';
@override String failedToRegisterAccount({required Object error}) => 'Неуспешна регистрация на акаунт: ${error}';
@override String get enterJellyfinUrlError => 'Въведете URL адреса на вашия Jellyfin сървър';
@override String get addConnectionTitle => 'Добави връзка';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsBg extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Оценка от общността';
@override String get criticRating => 'Оценка от критиците';
@override String get userRating => 'Потребителска оценка';
@override String get lastPlayed => 'Последно възпроизведено';
@override String get datePlayed => 'Дата на възпроизвеждане';
@override String get playCount => 'Брой възпроизвеждания';
@override String get productionYear => 'Година на производство';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionBg extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Стартиране на сървър за дистанционно управление...';
@override String get failedToCreate => 'Неуспешно стартиране на сървър за дистанционно управление:';
@override String get hostAddress => 'Адрес на хоста';
@override String get connected => 'Свързан';
@override String get serverRunning => 'Сървърът за дистанционно управление е активен';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsBg extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Не е намерен мрежов интерфейс';
@override String get authenticationFailed => 'Неуспешно удостоверяване';
@override String serverStartFailed({required Object error}) => 'Неуспешно стартиране на отдалечения сървър: ${error}';
@override String commandFailed({required Object error}) => 'Неуспешно изпращане на отдалечена команда: ${error}';
@override String get joinTimedOut => 'Времето за присъединяване към сесията изтече';
@override String get failedToConnectAnyAddress => 'Неуспешно свързване към който и да е адрес';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Връзката е загубена след ${attempts} опита';
@@ -2123,7 +2098,6 @@ extension on TranslationsBg {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Вход',
'auth.signInWithPlex' => 'Вход с Plex',
'auth.showQRCode' => 'Покажи QR код',
'auth.authenticate' => 'Удостовери',
@@ -2174,10 +2148,8 @@ extension on TranslationsBg {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Епизод ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Глава ${number}',
'common.reconnect' => 'Свържи отново',
'common.exit' => 'Изход',
'common.viewAll' => 'Виж всички',
'common.checkingNetwork' => 'Проверка на мрежата...',
'common.refreshingServers' => 'Опресняване на сървърите...',
'common.loadingServers' => 'Зареждане на сървърите...',
'common.connectingToServers' => 'Свързване със сървърите...',
'common.startingOfflineMode' => 'Стартиране на офлайн режим...',
@@ -2251,6 +2223,12 @@ extension on TranslationsBg {
'settings.tvFullCardLayoutDescription' => 'Използвай TV карти само с изображения, с насложени имена на актьорите',
'settings.focusGlow' => 'Сияние при фокус',
'settings.focusGlowDescription' => 'Показвай меко сияние около фокусираната карта',
'settings.visualEffects' => 'Визуални ефекти',
'settings.visualEffectsAuto' => 'Автоматично',
'settings.visualEffectsAutoDescription' => 'Автоматично намалявай ефектите на по-слаби устройства',
'settings.visualEffectsFull' => 'Пълни',
'settings.visualEffectsReduced' => 'Намалени',
'settings.visualEffectsReducedDescription' => 'По-малко анимации и изображения с по-ниска резолюция',
'settings.hideSpoilers' => 'Скривай спойлери за негледани епизоди',
'settings.hideSpoilersDescription' => 'Замазвай миниатюри и описания за негледани епизоди',
'settings.playerBackend' => 'Енджин на плеъра',
@@ -2263,7 +2241,7 @@ extension on TranslationsBg {
'settings.bufferSizeAuto' => 'Автоматично (препоръчително)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => 'Налична памет ${heap}MB. Буфер ${size}MB може да повлияе на възпроизвеждането.',
'settings.defaultQualityTitle' => 'Качество по подразбиране',
'settings.defaultQualityDescription' => 'Използва се при стартиране на възпроизвеждане. По-ниските стойности намаляват трафика.',
'settings.musicQualityTitle' => 'Качество на музиката',
'settings.subtitleStyling' => 'Стил на субтитрите',
'settings.subtitleStylingDescription' => 'Настройване на вида на субтитрите',
'settings.smallSkipDuration' => 'Малко прескачане',
@@ -2357,10 +2335,9 @@ extension on TranslationsBg {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Показвай какво гледате в Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Синхронизирай историята на гледане с Trakt',
'settings.services' => 'Услуги',
'settings.servicesDescription' => 'Свържи Trakt, MyAnimeList, Seerr и още',
'settings.manageLibrariesDescription' => 'Пренареждай и скривай библиотеки',
'settings.companionRemoteServer' => 'Сървър за дистанционно управление',
'settings.companionRemoteServerDescription' => 'Позволи на мобилни устройства във вашата мрежа да управляват това приложение',
'settings.autoPip' => 'Автоматичен режим картина в картината',
@@ -2423,7 +2400,6 @@ extension on TranslationsBg {
'settings.showNavBarLabels' => 'Показвай етикети в навигационната лента',
'settings.showNavBarLabelsDescription' => 'Показвай текстови етикети под иконите в навигационната лента',
'settings.startupSection' => 'Начален раздел',
'settings.startupSectionDescription' => 'Изберете кой раздел да отваря Plezy при стартиране',
'settings.liveTvDefaultFavorites' => 'По подразбиране към любими канали',
'settings.liveTvDefaultFavoritesDescription' => 'Показвай само любими канали при отваряне на телевизия на живо',
'settings.display' => 'Дисплей',
@@ -2435,13 +2411,6 @@ extension on TranslationsBg {
'settings.subtitlesAndConfig' => 'Субтитри и конфигурация',
'settings.seekAndTiming' => 'Търсене и време',
'settings.behavior' => 'Поведение',
'settings.manageLibrariesDescription' => 'Пренареждай и скривай библиотеки',
'settings.visualEffects' => 'Визуални ефекти',
'settings.visualEffectsAuto' => 'Автоматично',
'settings.visualEffectsAutoDescription' => 'Автоматично намалявай ефектите на по-слаби устройства',
'settings.visualEffectsFull' => 'Пълни',
'settings.visualEffectsReduced' => 'Намалени',
'settings.visualEffectsReducedDescription' => 'По-малко анимации и изображения с по-ниска резолюция',
'search.hint' => 'Търсене на филми, сериали, музика...',
'search.tryDifferentTerm' => 'Опитайте с различна дума за търсене',
'search.searchYourMedia' => 'Търсете във вашата медия',
@@ -2518,14 +2487,11 @@ extension on TranslationsBg {
'mediaMenu.playVersion' => 'Пусни версия...',
'rateSheet.title' => 'Оцени',
'rateSheet.server' => 'Сървър',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Задай оценка',
'rateSheet.favorite' => 'Добави в любими',
'rateSheet.favorited' => 'Добавено в любими',
'rateSheet.saved' => 'Запазено',
'rateSheet.notAvailable' => 'Няма намерено съвпадение',
'rateSheet.noConnectedServices' => 'Свържи услуга в Настройки, за да оценяваш там.',
'rateSheet.favorite' => 'Добави в любими',
'rateSheet.favorited' => 'Добавено в любими',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, филм',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, ТВ сериал',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsBg {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} процента изгледано',
'accessibility.mediaCardUnwatched' => 'негледано',
'accessibility.tapToPlay' => 'Докоснете за възпроизвеждане',
'accessibility.decrease' => 'Намали',
'accessibility.increase' => 'Увеличи',
'accessibility.decreaseValue' => ({required Object label}) => 'Намали ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Увеличи ${label}',
'accessibility.hue' => 'Нюанс',
'accessibility.saturation' => 'Наситеност',
'accessibility.brightness' => 'Яркост',
'accessibility.hexColor' => 'Шестнадесетичен цвят',
'tooltips.shufflePlay' => 'Разбъркано възпроизвеждане',
'tooltips.playTrailer' => 'Пусни трейлър',
'tooltips.markAsWatched' => 'Маркирай като гледано',
@@ -2575,13 +2549,11 @@ extension on TranslationsBg {
'videoControls.settingsButton' => 'Настройки на възпроизвеждането',
'videoControls.tracksButton' => 'Аудио и субтитри',
'videoControls.chaptersButton' => 'Глави',
'videoControls.versionsButton' => 'Видео версии',
'videoControls.versionQualityButton' => 'Версия и качество',
'videoControls.versionColumnHeader' => 'Версия',
'videoControls.qualityColumnHeader' => 'Качество',
'videoControls.qualityOriginal' => 'Оригинал',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Транскодирането не е налично — пуска се оригиналното качество',
'videoControls.pipButton' => 'Режим картина в картината',
'videoControls.aspectRatioButton' => 'Съотношение на страните',
@@ -2621,10 +2593,6 @@ extension on TranslationsBg {
'videoControls.subtitleDownloaded' => 'Субтитърът е изтеглен',
'videoControls.subtitleDownloadFailed' => 'Неуспешно изтегляне на субтитър',
'videoControls.searchLanguages' => 'Търсене на езици...',
'userStatus.admin' => 'Администратор',
'userStatus.restricted' => 'Ограничен',
'userStatus.protected' => 'Защитен',
'userStatus.current' => 'ТЕКУЩ',
'messages.markedAsWatched' => 'Маркирано като гледано',
'messages.markedAsUnwatched' => 'Маркирано като негледано',
'messages.markedAsWatchedOffline' => 'Маркирано като гледано (ще се синхронизира, когато сте онлайн)',
@@ -2634,8 +2602,6 @@ extension on TranslationsBg {
'messages.errorLoading' => ({required Object error}) => 'Грешка: ${error}',
'messages.streamInterrupted' => 'Потокът прекъсна. Натиснете „Пусни“ или превъртете, за да опитате отново.',
'messages.fileInfoNotAvailable' => 'Информацията за файла не е налична',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Грешка при зареждане на информация за файла: ${error}',
'messages.errorLoadingSeries' => 'Грешка при зареждане на сериала',
'messages.musicNotSupported' => 'Възпроизвеждането на музика все още не се поддържа',
@@ -2643,6 +2609,8 @@ extension on TranslationsBg {
'messages.noProfilesAvailable' => 'Няма налични профили',
'messages.contactAdminForProfiles' => 'Свържете се с администратора на сървъра, за да добави профили',
'messages.unableToDetermineLibrarySection' => 'Не може да се определи секцията на библиотеката за този елемент',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Логовете са изчистени',
'messages.logsCopied' => 'Логовете са копирани в клипборда',
'messages.noLogsAvailable' => 'Няма налични логове',
@@ -2759,7 +2727,6 @@ extension on TranslationsBg {
'profiles.pinExplain' => 'Изисква се 4-цифрен PIN за смяна на профили.',
'profiles.continueButton' => 'Продължи',
'profiles.pinsDontMatch' => 'PIN кодовете не съвпадат',
'profiles.initializeServicesFailed' => 'Неуспешно инициализиране на услугите за профили',
'connections.sectionTitle' => 'Връзки',
'connections.addConnection' => 'Добави връзка',
'connections.addConnectionSubtitleNoProfile' => 'Влезте с Plex или свържете Jellyfin сървър',
@@ -2770,7 +2737,6 @@ extension on TranslationsBg {
'connections.editJellyfinTitle' => 'Редактиране на Jellyfin връзка',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Добавете или премахнете URL адреси за ${serverName}. Plezy ще използва достъпния URL адрес с най-ниска латентност.',
'discover.title' => 'Открий',
'discover.switchProfile' => 'Смяна на профил',
'discover.noContentAvailable' => 'Няма налично съдържание',
'discover.addMediaToLibraries' => 'Добавете медия към библиотеките си',
'discover.continueWatching' => 'Продължи гледането',
@@ -2797,8 +2763,6 @@ extension on TranslationsBg {
'errors.connectionFailed' => 'Не може да се осъществи връзка с медиен сървър',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Неуспешно зареждане на ${context}: ${error}',
'errors.noClientAvailable' => 'Няма наличен клиент',
'errors.authenticationFailed' => ({required Object error}) => 'Удостоверяването е неуспешно: ${error}',
'errors.couldNotLaunchUrl' => 'URL адресът за удостоверяване не може да бъде отворен',
'errors.pleaseEnterToken' => 'Моля, въведете токен',
'errors.invalidToken' => 'Невалиден токен',
'errors.failedToVerifyToken' => ({required Object error}) => 'Неуспешна проверка на токена: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsBg {
'libraries.allLibrariesHidden' => 'Всички библиотеки са скрити',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Скрити библиотеки (${count})',
'libraries.thisLibraryIsEmpty' => 'Тази библиотека е празна',
'libraries.noItemsMatchFilters' => 'Няма елементи, съответстващи на активните филтри',
'libraries.resetFilters' => 'Нулирай филтрите',
'libraries.all' => 'Всички',
'libraries.clearAll' => 'Изчисти всички',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Сигурни ли сте, че искате да сканирате "${title}"?',
@@ -2871,7 +2837,6 @@ extension on TranslationsBg {
'libraries.sortLabels.communityRating' => 'Оценка от общността',
'libraries.sortLabels.criticRating' => 'Оценка от критиците',
'libraries.sortLabels.userRating' => 'Потребителска оценка',
'libraries.sortLabels.lastPlayed' => 'Последно възпроизведено',
'libraries.sortLabels.datePlayed' => 'Дата на възпроизвеждане',
'libraries.sortLabels.playCount' => 'Брой възпроизвеждания',
'libraries.sortLabels.productionYear' => 'Година на производство',
@@ -2885,14 +2850,11 @@ extension on TranslationsBg {
'libraries.sortLabels.dateShared' => 'Дата на споделяне',
'libraries.sortLabels.latestEpisodeAirDate' => 'Дата на излъчване на последния епизод',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Дата на добавяне на последния епизод',
'libraries.noItemsMatchFilters' => 'Няма елементи, съответстващи на активните филтри',
'libraries.resetFilters' => 'Нулирай филтрите',
'about.title' => 'Относно',
'about.openSourceLicenses' => 'Лицензи с отворен код',
'about.versionLabel' => ({required Object version}) => 'Версия ${version}',
'about.appDescription' => 'Красив Plex и Jellyfin клиент за Flutter',
'about.viewLicensesDescription' => 'Виж лицензите на библиотеки на трети страни',
'serverSelection.allServerConnectionsFailed' => 'Не може да се осъществи връзка с нито един сървър. Проверете мрежата.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Не са намерени сървъри за ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Неуспешно зареждане на сървъри: ${error}',
'hubDetail.title' => 'Заглавие',
@@ -2938,7 +2900,6 @@ extension on TranslationsBg {
'explore.watchlistUpdateFailed' => 'Неуспешно обновяване на списъка за гледане',
'explore.notInLibrary' => 'Не е в твоята библиотека',
'explore.inTheseLibraries' => 'В тези библиотеки',
'explore.availableOn' => ({required Object server}) => 'Налично на ${server}',
'explore.checkingLibrary' => 'Проверка на твоята библиотека...',
'explore.emptyTitle' => 'Тук все още няма нищо',
'explore.emptyMessage' => ({required Object source}) => 'Редовете от ${source} ще се появят тук, когато има съдържание.',
@@ -2950,6 +2911,8 @@ extension on TranslationsBg {
'liveTv.guide' => 'ТВ програма',
'liveTv.noChannels' => 'Няма налични канали',
'liveTv.noDvr' => 'Няма конфигуриран DVR на нито един сървър',
'liveTv.serverUnavailable' => 'Сървърът за телевизия на живо не е наличен.',
'liveTv.serverNotConnected' => 'Сървърът за телевизия на живо не е свързан.',
'liveTv.noPrograms' => 'Няма налични програмни данни',
'liveTv.liveStreamFailed' => 'Потокът на живо се провали',
'liveTv.unknownProgram' => 'Неизвестна програма',
@@ -2985,7 +2948,6 @@ extension on TranslationsBg {
'liveTv.scheduledRecordings' => 'Планирани',
'liveTv.recordingRules' => 'Правила за запис',
'liveTv.noScheduledRecordings' => 'Няма планирани записи',
'liveTv.noRecordingRules' => 'Все още няма правила за запис',
'liveTv.manageRecording' => 'Управление на запис',
'liveTv.cancelRecording' => 'Отмени запис',
'liveTv.cancelRecordingTitle' => 'Да се отмени ли този запис?',
@@ -3002,7 +2964,6 @@ extension on TranslationsBg {
'liveTv.recordingCancelled' => 'Записът е отменен',
'liveTv.recordingRuleDeleted' => 'Правилото за запис е изтрито',
'liveTv.processRecordingRules' => 'Преоцени правилата',
'liveTv.loadingRecordings' => 'Зареждане на записи...',
'liveTv.recordingInProgress' => 'Записва се сега',
'liveTv.recordingsCount' => ({required Object count}) => '${count} планирани',
'liveTv.editRule' => 'Редактирай правило',
@@ -3014,7 +2975,6 @@ extension on TranslationsBg {
'collections.title' => 'Колекции',
'collections.collection' => 'Колекция',
'collections.empty' => 'Колекцията е празна',
'collections.unknownLibrarySection' => 'Не може да се изтрие: неизвестна секция на библиотеката',
'collections.deleteCollection' => 'Изтрий колекция',
'collections.deleteConfirm' => ({required Object title}) => 'Да се изтрие ли "${title}"? Това не може да бъде отменено.',
'collections.deleted' => 'Колекцията е изтрита',
@@ -3052,6 +3012,7 @@ extension on TranslationsBg {
'playlists.itemAdded' => 'Добавено към плейлист',
'playlists.itemRemoved' => 'Премахнато от плейлист',
'playlists.selectPlaylist' => 'Избери плейлист',
'playlists.searchPlaylists' => 'Търсене в плейлисти...',
'playlists.errorCreating' => 'Неуспешно създаване на плейлист',
'playlists.errorDeleting' => 'Неуспешно изтриване на плейлист',
'playlists.errorLoading' => 'Неуспешно зареждане на плейлисти',
@@ -3134,22 +3095,20 @@ extension on TranslationsBg {
'watchTogether.participantResumed' => ({required Object name}) => '${name} продължи',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} превъртя',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} буферира',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} е с по-стара версия на приложението — синхронизирането не е налично',
'watchTogether.resumingWithout' => ({required Object name}) => 'Продължаване без ${name}',
'watchTogether.waitingForParticipants' => 'Изчакване другите да заредят...',
'watchTogether.waitingForName' => ({required Object name}) => 'Изчакване на ${name}...',
'watchTogether.recentRooms' => 'Скорошни стаи',
'watchTogether.renameRoom' => 'Преименувай стая',
'watchTogether.removeRoom' => 'Премахни',
'watchTogether.guestSwitchUnavailable' => 'Превключването не е възможно — сървърът е недостъпен за синхронизация',
'watchTogether.guestSwitchFailed' => 'Превключването не е възможно — съдържанието не е намерено на този сървър',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} е с по-стара версия на приложението — синхронизирането не е налично',
'watchTogether.resumingWithout' => ({required Object name}) => 'Продължаване без ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Изчакване на ${name}...',
'downloads.title' => 'Изтегляния',
'downloads.manage' => 'Управление',
'downloads.tvShows' => 'ТВ сериали',
'downloads.movies' => 'Филми',
'downloads.music' => 'Музика',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} песни в опашката за изтегляне',
'downloads.noDownloads' => 'Все още няма изтегляния',
'downloads.noDownloadsDescription' => 'Изтегленото съдържание ще се показва тук за офлайн гледане',
@@ -3164,6 +3123,8 @@ extension on TranslationsBg {
'downloads.deleteConfirm' => ({required Object title}) => 'Да се изтрие ли "${title}" от това устройство?',
'downloads.cancelledDownloadTitle' => 'Отменено изтегляне',
'downloads.cancelledDownloadMessage' => 'Това изтегляне беше отменено. Какво искате да направите?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Всички епизоди вече са изтеглени',
'downloads.resumeDownload' => 'Възобнови изтеглянето',
'downloads.cancelledDownload' => 'Отменено изтегляне',
@@ -3187,7 +3148,6 @@ extension on TranslationsBg {
'downloads.customAmount' => 'Персонален брой...',
'downloads.includeSpecials' => 'Включи специалните',
'downloads.howManyEpisodes' => 'Колко епизода?',
'downloads.itemsQueued' => ({required Object count}) => '${count} елемента са добавени в опашката за изтегляне',
'downloads.keepSynced' => 'Поддържай синхронизирано',
'downloads.downloadOnce' => 'Изтегли еднократно',
'downloads.keepNUnwatched' => ({required Object count}) => 'Пази ${count} негледани',
@@ -3231,7 +3191,6 @@ extension on TranslationsBg {
'companionRemote.connectedTo' => ({required Object name}) => 'Свързан към ${name}',
'companionRemote.unknownDevice' => 'Непознато устройство',
'companionRemote.session.startingServer' => 'Стартиране на сървър за дистанционно управление...',
'companionRemote.session.failedToCreate' => 'Неуспешно стартиране на сървър за дистанционно управление:',
'companionRemote.session.hostAddress' => 'Адрес на хоста',
'companionRemote.session.connected' => 'Свързан',
'companionRemote.session.serverRunning' => 'Сървърът за дистанционно управление е активен',
@@ -3286,6 +3245,8 @@ extension on TranslationsBg {
'companionRemote.remote.searchHint' => 'Търсене на настолен компютър...',
'companionRemote.errors.noNetworkInterface' => 'Не е намерен мрежов интерфейс',
'companionRemote.errors.authenticationFailed' => 'Неуспешно удостоверяване',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Неуспешно стартиране на отдалечения сървър: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Неуспешно изпращане на отдалечена команда: ${error}',
'companionRemote.errors.joinTimedOut' => 'Времето за присъединяване към сесията изтече',
'companionRemote.errors.failedToConnectAnyAddress' => 'Неуспешно свързване към който и да е адрес',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Връзката е загубена след ${attempts} опита',
@@ -3530,7 +3491,6 @@ extension on TranslationsBg {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect е неуспешен: ${error}',
'addServer.addPlexTitle' => 'Вход с Plex',
'addServer.pinExpired' => 'PIN-ът изтече преди вход. Моля, опитайте отново.',
'addServer.duplicatePlexAccount' => 'Вече сте влезли в Plex. Излезте, за да смените акаунта.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Неуспешна регистрация на акаунт: ${error}',
'addServer.enterJellyfinUrlError' => 'Въведете URL адреса на вашия Jellyfin сървър',
'addServer.addConnectionTitle' => 'Добави връзка',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsDa extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityDa accessibility = _TranslationsAccessibilityDa._(_root);
@override late final _TranslationsTooltipsDa tooltips = _TranslationsTooltipsDa._(_root);
@override late final _TranslationsVideoControlsDa videoControls = _TranslationsVideoControlsDa._(_root);
@override late final _TranslationsUserStatusDa userStatus = _TranslationsUserStatusDa._(_root);
@override late final _TranslationsMessagesDa messages = _TranslationsMessagesDa._(_root);
@override late final _TranslationsSubtitlingStylingDa subtitlingStyling = _TranslationsSubtitlingStylingDa._(_root);
@override late final _TranslationsMpvConfigDa mpvConfig = _TranslationsMpvConfigDa._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthDa extends TranslationsAuthEn {
final TranslationsDa _root; // ignore: unused_field
// Translations
@override String get signIn => 'Log ind';
@override String get signInWithPlex => 'Log ind med Plex';
@override String get showQRCode => 'Vis QR-kode';
@override String get authenticate => 'Godkend';
@@ -167,10 +165,8 @@ class _TranslationsCommonDa extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Episode ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Kapitel ${number}';
@override String get reconnect => 'Genopret forbindelse';
@override String get exit => 'Afslut';
@override String get viewAll => 'Vis alle';
@override String get checkingNetwork => 'Tjekker netværk...';
@override String get refreshingServers => 'Opdaterer servere...';
@override String get loadingServers => 'Indlæser servere...';
@override String get connectingToServers => 'Forbinder til servere...';
@override String get startingOfflineMode => 'Starter offlinetilstand...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Brug TV-kort kun med billeder og skuespillernavne ovenpå';
@override String get focusGlow => 'Fokusglød';
@override String get focusGlowDescription => 'Vis en blød glød omkring det fokuserede kort';
@override String get visualEffects => 'Visuelle effekter';
@override String get visualEffectsAuto => 'Automatisk';
@override String get visualEffectsAutoDescription => 'Reducer automatisk effekter på enheder med lav ydeevne';
@override String get visualEffectsFull => 'Fuld';
@override String get visualEffectsReduced => 'Reduceret';
@override String get visualEffectsReducedDescription => 'Færre animationer og illustrationer i lavere opløsning';
@override String get hideSpoilers => 'Skjul spoilere for usete episoder';
@override String get hideSpoilersDescription => 'Slør miniaturebilleder og beskrivelser for usete episoder';
@override String get playerBackend => 'Afspillerbackend';
@@ -283,7 +285,7 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Auto (Anbefalet)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB hukommelse tilgængelig. En buffer på ${size}MB kan påvirke afspilning.';
@override String get defaultQualityTitle => 'Standardkvalitet';
@override String get defaultQualityDescription => 'Bruges ved start af afspilning. Lavere værdier reducerer båndbredden.';
@override String get musicQualityTitle => 'Musikkvalitet';
@override String get subtitleStyling => 'Undertekststil';
@override String get subtitleStylingDescription => 'Tilpas underteksters udseende';
@override String get smallSkipDuration => 'Kort spring-varighed';
@@ -377,10 +379,9 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Vis hvad du ser på Discord';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Synkroniser visningshistorik med Trakt';
@override String get services => 'Tjenester';
@override String get servicesDescription => 'Forbind Trakt, MyAnimeList, Seerr og mere';
@override String get manageLibrariesDescription => 'Omarranger og skjul biblioteker';
@override String get companionRemoteServer => 'Companion Remote Server';
@override String get companionRemoteServerDescription => 'Tillad mobilenheder på dit netværk at styre denne app';
@override String get autoPip => 'Auto billede-i-billede';
@@ -443,7 +444,6 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Vis navigationsbarlabels';
@override String get showNavBarLabelsDescription => 'Vis tekstlabels under navigationsbarikoner';
@override String get startupSection => 'Startsektion';
@override String get startupSectionDescription => 'Vælg hvilken sektion Plezy åbner ved start';
@override String get liveTvDefaultFavorites => 'Standard til favoritkanaler';
@override String get liveTvDefaultFavoritesDescription => 'Vis kun favoritkanaler ved åbning af Live TV';
@override String get display => 'Skærm';
@@ -455,13 +455,6 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Undertekster og konfiguration';
@override String get seekAndTiming => 'Søgning og timing';
@override String get behavior => 'Adfærd';
@override String get manageLibrariesDescription => 'Omarranger og skjul biblioteker';
@override String get visualEffects => 'Visuelle effekter';
@override String get visualEffectsAuto => 'Automatisk';
@override String get visualEffectsAutoDescription => 'Reducer automatisk effekter på enheder med lav ydeevne';
@override String get visualEffectsFull => 'Fuld';
@override String get visualEffectsReduced => 'Reduceret';
@override String get visualEffectsReducedDescription => 'Færre animationer og illustrationer i lavere opløsning';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetDa extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Bedøm';
@override String get server => 'Server';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Angiv en score';
@override String get favorite => 'Favorit';
@override String get favorited => 'Føjet til favoritter';
@override String get saved => 'Gemt';
@override String get notAvailable => 'Intet match fundet';
@override String get noConnectedServices => 'Forbind en tjeneste i Indstillinger for at bedømme der.';
@override String get favorite => 'Favorit';
@override String get favorited => 'Føjet til favoritter';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityDa extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} procent set';
@override String get mediaCardUnwatched => 'uset';
@override String get tapToPlay => 'Tryk for at afspille';
@override String get decrease => 'Formindsk';
@override String get increase => 'Forøg';
@override String decreaseValue({required Object label}) => 'Formindsk ${label}';
@override String increaseValue({required Object label}) => 'Forøg ${label}';
@override String get hue => 'Farvetone';
@override String get saturation => 'Mætning';
@override String get brightness => 'Lysstyrke';
@override String get hexColor => 'Hexfarve';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsDa extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Afspilningsindstillinger';
@override String get tracksButton => 'Lyd og undertekster';
@override String get chaptersButton => 'Kapitler';
@override String get versionsButton => 'Videoversioner';
@override String get versionQualityButton => 'Version og kvalitet';
@override String get versionColumnHeader => 'Version';
@override String get qualityColumnHeader => 'Kvalitet';
@override String get qualityOriginal => 'Original';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transkodning utilgængelig — afspiller original kvalitet';
@override String get pipButton => 'Billede-i-billede-tilstand';
@override String get aspectRatioButton => 'Billedformat';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsDa extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Søg sprog...';
}
// Path: userStatus
class _TranslationsUserStatusDa extends TranslationsUserStatusEn {
_TranslationsUserStatusDa._(TranslationsDa root) : this._root = root, super.internal(root);
final TranslationsDa _root; // ignore: unused_field
// Translations
@override String get admin => 'Administrator';
@override String get restricted => 'Begrænset';
@override String get protected => 'Beskyttet';
@override String get current => 'NUVÆRENDE';
}
// Path: messages
class _TranslationsMessagesDa extends TranslationsMessagesEn {
_TranslationsMessagesDa._(TranslationsDa root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesDa extends TranslationsProfilesEn {
@override String get pinExplain => '4-cifret PIN kræves for at skifte profiler.';
@override String get continueButton => 'Fortsæt';
@override String get pinsDontMatch => 'PIN-koder matcher ikke';
@override String get initializeServicesFailed => 'Kunne ikke initialisere profiltjenester';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverDa extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Opdag';
@override String get switchProfile => 'Skift profil';
@override String get noContentAvailable => 'Intet indhold tilgængeligt';
@override String get addMediaToLibraries => 'Tilføj medier til dine biblioteker';
@override String get continueWatching => 'Fortsæt med at se';
@@ -938,8 +919,6 @@ class _TranslationsErrorsDa extends TranslationsErrorsEn {
@override String get connectionFailed => 'Kan ikke oprette forbindelse til medieserver';
@override String failedToLoad({required Object context, required Object error}) => 'Kunne ikke indlæse ${context}: ${error}';
@override String get noClientAvailable => 'Ingen klient tilgængelig';
@override String authenticationFailed({required Object error}) => 'Godkendelse mislykkedes: ${error}';
@override String get couldNotLaunchUrl => 'Kunne ikke åbne godkendelses-URL';
@override String get pleaseEnterToken => 'Indtast et token';
@override String get invalidToken => 'Ugyldigt token';
@override String failedToVerifyToken({required Object error}) => 'Kunne ikke verificere token: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesDa extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Alle biblioteker er skjult';
@override String hiddenLibrariesCount({required Object count}) => 'Skjulte biblioteker (${count})';
@override String get thisLibraryIsEmpty => 'Dette bibliotek er tomt';
@override String get noItemsMatchFilters => 'Ingen elementer matcher de aktive filtre';
@override String get resetFilters => 'Nulstil filtre';
@override String get all => 'Alle';
@override String get clearAll => 'Ryd alle';
@override String scanLibraryConfirm({required Object title}) => 'Er du sikker på, at du vil scanne "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesDa extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsDa groupings = _TranslationsLibrariesGroupingsDa._(_root);
@override late final _TranslationsLibrariesFilterCategoriesDa filterCategories = _TranslationsLibrariesFilterCategoriesDa._(_root);
@override late final _TranslationsLibrariesSortLabelsDa sortLabels = _TranslationsLibrariesSortLabelsDa._(_root);
@override String get noItemsMatchFilters => 'Ingen elementer matcher de aktive filtre';
@override String get resetFilters => 'Nulstil filtre';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionDa extends TranslationsServerSelectionEn {
final TranslationsDa _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Kunne ikke oprette forbindelse til nogen servere. Tjek dit netværk.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Ingen servere fundet for ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Kunne ikke indlæse servere: ${error}';
}
@@ -1102,7 +1080,6 @@ class _TranslationsExploreDa extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Kunne ikke opdatere ønskelisten';
@override String get notInLibrary => 'Ikke i dit bibliotek';
@override String get inTheseLibraries => 'I disse biblioteker';
@override String availableOn({required Object server}) => 'Tilgængelig på ${server}';
@override String get checkingLibrary => 'Tjekker dit bibliotek...';
@override String get emptyTitle => 'Der er ikke noget her endnu';
@override String emptyMessage({required Object source}) => 'Rækker fra ${source} vises her, når de har indhold.';
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvDa extends TranslationsLiveTvEn {
@override String get guide => 'Guide';
@override String get noChannels => 'Ingen kanaler tilgængelige';
@override String get noDvr => 'Ingen DVR konfigureret på nogen server';
@override String get serverUnavailable => 'Live-tv-serveren er ikke tilgængelig.';
@override String get serverNotConnected => 'Live-tv-serveren er ikke forbundet.';
@override String get noPrograms => 'Ingen programdata tilgængelig';
@override String get liveStreamFailed => 'Livestream mislykkedes';
@override String get unknownProgram => 'Ukendt program';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvDa extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Planlagt';
@override String get recordingRules => 'Optagelsesregler';
@override String get noScheduledRecordings => 'Ingen optagelser planlagt';
@override String get noRecordingRules => 'Ingen optagelsesregler endnu';
@override String get manageRecording => 'Administrer optagelse';
@override String get cancelRecording => 'Annullér optagelse';
@override String get cancelRecordingTitle => 'Annullér denne optagelse?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvDa extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Optagelse annulleret';
@override String get recordingRuleDeleted => 'Optagelsesregel slettet';
@override String get processRecordingRules => 'Genberegn regler';
@override String get loadingRecordings => 'Indlæser optagelser ...';
@override String get recordingInProgress => 'Optager nu';
@override String recordingsCount({required Object count}) => '${count} planlagt';
@override String get editRule => 'Rediger regel';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsDa extends TranslationsCollectionsEn {
@override String get title => 'Samlinger';
@override String get collection => 'Samling';
@override String get empty => 'Samlingen er tom';
@override String get unknownLibrarySection => 'Kan ikke slette: Ukendt bibliotekssektion';
@override String get deleteCollection => 'Slet samling';
@override String deleteConfirm({required Object title}) => 'Slet "${title}"? Dette kan ikke fortrydes.';
@override String get deleted => 'Samling slettet';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsDa extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Tilføjet til playliste';
@override String get itemRemoved => 'Fjernet fra playliste';
@override String get selectPlaylist => 'Vælg playliste';
@override String get searchPlaylists => 'Søg i playlister...';
@override String get errorCreating => 'Kunne ikke oprette playliste';
@override String get errorDeleting => 'Kunne ikke slette playliste';
@override String get errorLoading => 'Kunne ikke indlæse playlister';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherDa extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} genoptog';
@override String participantSeeked({required Object name}) => '${name} spoled';
@override String participantBuffering({required Object name}) => '${name} bufferer';
@override String participantNeedsUpdate({required Object name}) => '${name} bruger en ældre appversion — synkronisering er ikke tilgængelig';
@override String resumingWithout({required Object name}) => 'Fortsætter uden ${name}';
@override String get waitingForParticipants => 'Venter på at andre indlæser...';
@override String waitingForName({required Object name}) => 'Venter på ${name}...';
@override String get recentRooms => 'Seneste rum';
@override String get renameRoom => 'Omdøb rum';
@override String get removeRoom => 'Fjern';
@override String get guestSwitchUnavailable => 'Kunne ikke skifte — server ikke tilgængelig for synkronisering';
@override String get guestSwitchFailed => 'Kunne ikke skifte — indhold blev ikke fundet på denne server';
@override String participantNeedsUpdate({required Object name}) => '${name} bruger en ældre appversion — synkronisering er ikke tilgængelig';
@override String resumingWithout({required Object name}) => 'Fortsætter uden ${name}';
@override String waitingForName({required Object name}) => 'Venter på ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsDa extends TranslationsDownloadsEn {
@override String get customAmount => 'Angiv antal...';
@override String get includeSpecials => 'Inkludér specials';
@override String get howManyEpisodes => 'Hvor mange episoder?';
@override String itemsQueued({required Object count}) => '${count} elementer sat i kø til download';
@override String get keepSynced => 'Hold synkroniseret';
@override String get downloadOnce => 'Download én gang';
@override String keepNUnwatched({required Object count}) => 'Behold ${count} usete';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerDa extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect mislykkedes: ${error}';
@override String get addPlexTitle => 'Log ind med Plex';
@override String get pinExpired => 'PIN udløb før login. Prøv igen.';
@override String get duplicatePlexAccount => 'Allerede logget ind på Plex. Log ud for at skifte konto.';
@override String failedToRegisterAccount({required Object error}) => 'Kunne ikke registrere kontoen: ${error}';
@override String get enterJellyfinUrlError => 'Angiv URL\'en til din Jellyfin-server';
@override String get addConnectionTitle => 'Tilføj forbindelse';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsDa extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Fællesskabsvurdering';
@override String get criticRating => 'Kritikerbedømmelse';
@override String get userRating => 'Brugerbedømmelse';
@override String get lastPlayed => 'Sidst afspillet';
@override String get datePlayed => 'Afspilningsdato';
@override String get playCount => 'Antal afspilninger';
@override String get productionYear => 'Produktionsår';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionDa extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Starter fjernserver...';
@override String get failedToCreate => 'Kunne ikke starte fjernserver:';
@override String get hostAddress => 'Værtsadresse';
@override String get connected => 'Forbundet';
@override String get serverRunning => 'Fjernserver aktiv';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsDa extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Ingen netværksgrænseflade fundet';
@override String get authenticationFailed => 'Godkendelse mislykkedes';
@override String serverStartFailed({required Object error}) => 'Kunne ikke starte fjernserveren: ${error}';
@override String commandFailed({required Object error}) => 'Kunne ikke sende fjernkommando: ${error}';
@override String get joinTimedOut => 'Tidsgrænse for deltagelse i session overskredet';
@override String get failedToConnectAnyAddress => 'Kunne ikke oprette forbindelse til nogen adresse';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Forbindelse mistet efter ${attempts} forsøg';
@@ -2123,7 +2098,6 @@ extension on TranslationsDa {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Log ind',
'auth.signInWithPlex' => 'Log ind med Plex',
'auth.showQRCode' => 'Vis QR-kode',
'auth.authenticate' => 'Godkend',
@@ -2174,10 +2148,8 @@ extension on TranslationsDa {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Episode ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Kapitel ${number}',
'common.reconnect' => 'Genopret forbindelse',
'common.exit' => 'Afslut',
'common.viewAll' => 'Vis alle',
'common.checkingNetwork' => 'Tjekker netværk...',
'common.refreshingServers' => 'Opdaterer servere...',
'common.loadingServers' => 'Indlæser servere...',
'common.connectingToServers' => 'Forbinder til servere...',
'common.startingOfflineMode' => 'Starter offlinetilstand...',
@@ -2251,6 +2223,12 @@ extension on TranslationsDa {
'settings.tvFullCardLayoutDescription' => 'Brug TV-kort kun med billeder og skuespillernavne ovenpå',
'settings.focusGlow' => 'Fokusglød',
'settings.focusGlowDescription' => 'Vis en blød glød omkring det fokuserede kort',
'settings.visualEffects' => 'Visuelle effekter',
'settings.visualEffectsAuto' => 'Automatisk',
'settings.visualEffectsAutoDescription' => 'Reducer automatisk effekter på enheder med lav ydeevne',
'settings.visualEffectsFull' => 'Fuld',
'settings.visualEffectsReduced' => 'Reduceret',
'settings.visualEffectsReducedDescription' => 'Færre animationer og illustrationer i lavere opløsning',
'settings.hideSpoilers' => 'Skjul spoilere for usete episoder',
'settings.hideSpoilersDescription' => 'Slør miniaturebilleder og beskrivelser for usete episoder',
'settings.playerBackend' => 'Afspillerbackend',
@@ -2263,7 +2241,7 @@ extension on TranslationsDa {
'settings.bufferSizeAuto' => 'Auto (Anbefalet)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB hukommelse tilgængelig. En buffer på ${size}MB kan påvirke afspilning.',
'settings.defaultQualityTitle' => 'Standardkvalitet',
'settings.defaultQualityDescription' => 'Bruges ved start af afspilning. Lavere værdier reducerer båndbredden.',
'settings.musicQualityTitle' => 'Musikkvalitet',
'settings.subtitleStyling' => 'Undertekststil',
'settings.subtitleStylingDescription' => 'Tilpas underteksters udseende',
'settings.smallSkipDuration' => 'Kort spring-varighed',
@@ -2357,10 +2335,9 @@ extension on TranslationsDa {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Vis hvad du ser på Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Synkroniser visningshistorik med Trakt',
'settings.services' => 'Tjenester',
'settings.servicesDescription' => 'Forbind Trakt, MyAnimeList, Seerr og mere',
'settings.manageLibrariesDescription' => 'Omarranger og skjul biblioteker',
'settings.companionRemoteServer' => 'Companion Remote Server',
'settings.companionRemoteServerDescription' => 'Tillad mobilenheder på dit netværk at styre denne app',
'settings.autoPip' => 'Auto billede-i-billede',
@@ -2423,7 +2400,6 @@ extension on TranslationsDa {
'settings.showNavBarLabels' => 'Vis navigationsbarlabels',
'settings.showNavBarLabelsDescription' => 'Vis tekstlabels under navigationsbarikoner',
'settings.startupSection' => 'Startsektion',
'settings.startupSectionDescription' => 'Vælg hvilken sektion Plezy åbner ved start',
'settings.liveTvDefaultFavorites' => 'Standard til favoritkanaler',
'settings.liveTvDefaultFavoritesDescription' => 'Vis kun favoritkanaler ved åbning af Live TV',
'settings.display' => 'Skærm',
@@ -2435,13 +2411,6 @@ extension on TranslationsDa {
'settings.subtitlesAndConfig' => 'Undertekster og konfiguration',
'settings.seekAndTiming' => 'Søgning og timing',
'settings.behavior' => 'Adfærd',
'settings.manageLibrariesDescription' => 'Omarranger og skjul biblioteker',
'settings.visualEffects' => 'Visuelle effekter',
'settings.visualEffectsAuto' => 'Automatisk',
'settings.visualEffectsAutoDescription' => 'Reducer automatisk effekter på enheder med lav ydeevne',
'settings.visualEffectsFull' => 'Fuld',
'settings.visualEffectsReduced' => 'Reduceret',
'settings.visualEffectsReducedDescription' => 'Færre animationer og illustrationer i lavere opløsning',
'search.hint' => 'Søg film, serier, musik...',
'search.tryDifferentTerm' => 'Prøv en anden søgning',
'search.searchYourMedia' => 'Søg i dine medier',
@@ -2518,14 +2487,11 @@ extension on TranslationsDa {
'mediaMenu.playVersion' => 'Afspil version...',
'rateSheet.title' => 'Bedøm',
'rateSheet.server' => 'Server',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Angiv en score',
'rateSheet.favorite' => 'Favorit',
'rateSheet.favorited' => 'Føjet til favoritter',
'rateSheet.saved' => 'Gemt',
'rateSheet.notAvailable' => 'Intet match fundet',
'rateSheet.noConnectedServices' => 'Forbind en tjeneste i Indstillinger for at bedømme der.',
'rateSheet.favorite' => 'Favorit',
'rateSheet.favorited' => 'Føjet til favoritter',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, film',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, TV-serie',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsDa {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} procent set',
'accessibility.mediaCardUnwatched' => 'uset',
'accessibility.tapToPlay' => 'Tryk for at afspille',
'accessibility.decrease' => 'Formindsk',
'accessibility.increase' => 'Forøg',
'accessibility.decreaseValue' => ({required Object label}) => 'Formindsk ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Forøg ${label}',
'accessibility.hue' => 'Farvetone',
'accessibility.saturation' => 'Mætning',
'accessibility.brightness' => 'Lysstyrke',
'accessibility.hexColor' => 'Hexfarve',
'tooltips.shufflePlay' => 'Afspil tilfældigt',
'tooltips.playTrailer' => 'Afspil trailer',
'tooltips.markAsWatched' => 'Markér som set',
@@ -2575,13 +2549,11 @@ extension on TranslationsDa {
'videoControls.settingsButton' => 'Afspilningsindstillinger',
'videoControls.tracksButton' => 'Lyd og undertekster',
'videoControls.chaptersButton' => 'Kapitler',
'videoControls.versionsButton' => 'Videoversioner',
'videoControls.versionQualityButton' => 'Version og kvalitet',
'videoControls.versionColumnHeader' => 'Version',
'videoControls.qualityColumnHeader' => 'Kvalitet',
'videoControls.qualityOriginal' => 'Original',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transkodning utilgængelig — afspiller original kvalitet',
'videoControls.pipButton' => 'Billede-i-billede-tilstand',
'videoControls.aspectRatioButton' => 'Billedformat',
@@ -2621,10 +2593,6 @@ extension on TranslationsDa {
'videoControls.subtitleDownloaded' => 'Undertekst downloadet',
'videoControls.subtitleDownloadFailed' => 'Kunne ikke downloade undertekst',
'videoControls.searchLanguages' => 'Søg sprog...',
'userStatus.admin' => 'Administrator',
'userStatus.restricted' => 'Begrænset',
'userStatus.protected' => 'Beskyttet',
'userStatus.current' => 'NUVÆRENDE',
'messages.markedAsWatched' => 'Markeret som set',
'messages.markedAsUnwatched' => 'Markeret som uset',
'messages.markedAsWatchedOffline' => 'Markeret som set (synkroniseres online)',
@@ -2634,8 +2602,6 @@ extension on TranslationsDa {
'messages.errorLoading' => ({required Object error}) => 'Fejl: ${error}',
'messages.streamInterrupted' => 'Streamen blev afbrudt. Tryk på afspil, eller spol for at prøve igen.',
'messages.fileInfoNotAvailable' => 'Filinfo ikke tilgængelig',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Fejl ved indlæsning af filinfo: ${error}',
'messages.errorLoadingSeries' => 'Fejl ved indlæsning af serie',
'messages.musicNotSupported' => 'Musikafspilning understøttes endnu ikke',
@@ -2643,6 +2609,8 @@ extension on TranslationsDa {
'messages.noProfilesAvailable' => 'Ingen profiler tilgængelige',
'messages.contactAdminForProfiles' => 'Kontakt din serveradministrator for at tilføje profiler',
'messages.unableToDetermineLibrarySection' => 'Kan ikke bestemme biblioteksafdeling for dette element',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Logs ryddet',
'messages.logsCopied' => 'Logs kopieret til udklipsholder',
'messages.noLogsAvailable' => 'Ingen logs tilgængelige',
@@ -2759,7 +2727,6 @@ extension on TranslationsDa {
'profiles.pinExplain' => '4-cifret PIN kræves for at skifte profiler.',
'profiles.continueButton' => 'Fortsæt',
'profiles.pinsDontMatch' => 'PIN-koder matcher ikke',
'profiles.initializeServicesFailed' => 'Kunne ikke initialisere profiltjenester',
'connections.sectionTitle' => 'Forbindelser',
'connections.addConnection' => 'Tilføj forbindelse',
'connections.addConnectionSubtitleNoProfile' => 'Log ind med Plex eller forbind til en Jellyfin-server',
@@ -2770,7 +2737,6 @@ extension on TranslationsDa {
'connections.editJellyfinTitle' => 'Rediger Jellyfin-forbindelse',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Tilføj eller fjern URL\'er for ${serverName}. Plezy bruger den tilgængelige URL med lavest latenstid.',
'discover.title' => 'Opdag',
'discover.switchProfile' => 'Skift profil',
'discover.noContentAvailable' => 'Intet indhold tilgængeligt',
'discover.addMediaToLibraries' => 'Tilføj medier til dine biblioteker',
'discover.continueWatching' => 'Fortsæt med at se',
@@ -2797,8 +2763,6 @@ extension on TranslationsDa {
'errors.connectionFailed' => 'Kan ikke oprette forbindelse til medieserver',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Kunne ikke indlæse ${context}: ${error}',
'errors.noClientAvailable' => 'Ingen klient tilgængelig',
'errors.authenticationFailed' => ({required Object error}) => 'Godkendelse mislykkedes: ${error}',
'errors.couldNotLaunchUrl' => 'Kunne ikke åbne godkendelses-URL',
'errors.pleaseEnterToken' => 'Indtast et token',
'errors.invalidToken' => 'Ugyldigt token',
'errors.failedToVerifyToken' => ({required Object error}) => 'Kunne ikke verificere token: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsDa {
'libraries.allLibrariesHidden' => 'Alle biblioteker er skjult',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Skjulte biblioteker (${count})',
'libraries.thisLibraryIsEmpty' => 'Dette bibliotek er tomt',
'libraries.noItemsMatchFilters' => 'Ingen elementer matcher de aktive filtre',
'libraries.resetFilters' => 'Nulstil filtre',
'libraries.all' => 'Alle',
'libraries.clearAll' => 'Ryd alle',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Er du sikker på, at du vil scanne "${title}"?',
@@ -2871,7 +2837,6 @@ extension on TranslationsDa {
'libraries.sortLabels.communityRating' => 'Fællesskabsvurdering',
'libraries.sortLabels.criticRating' => 'Kritikerbedømmelse',
'libraries.sortLabels.userRating' => 'Brugerbedømmelse',
'libraries.sortLabels.lastPlayed' => 'Sidst afspillet',
'libraries.sortLabels.datePlayed' => 'Afspilningsdato',
'libraries.sortLabels.playCount' => 'Antal afspilninger',
'libraries.sortLabels.productionYear' => 'Produktionsår',
@@ -2885,14 +2850,11 @@ extension on TranslationsDa {
'libraries.sortLabels.dateShared' => 'Delt dato',
'libraries.sortLabels.latestEpisodeAirDate' => 'Seneste episodes premieredato',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Dato for senest tilføjede episode',
'libraries.noItemsMatchFilters' => 'Ingen elementer matcher de aktive filtre',
'libraries.resetFilters' => 'Nulstil filtre',
'about.title' => 'Om',
'about.openSourceLicenses' => 'Open source-licenser',
'about.versionLabel' => ({required Object version}) => 'Version ${version}',
'about.appDescription' => 'En smuk Plex- og Jellyfin-klient til Flutter',
'about.viewLicensesDescription' => 'Se licenser for tredjepartsbiblioteker',
'serverSelection.allServerConnectionsFailed' => 'Kunne ikke oprette forbindelse til nogen servere. Tjek dit netværk.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Ingen servere fundet for ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke indlæse servere: ${error}',
'hubDetail.title' => 'Titel',
@@ -2938,7 +2900,6 @@ extension on TranslationsDa {
'explore.watchlistUpdateFailed' => 'Kunne ikke opdatere ønskelisten',
'explore.notInLibrary' => 'Ikke i dit bibliotek',
'explore.inTheseLibraries' => 'I disse biblioteker',
'explore.availableOn' => ({required Object server}) => 'Tilgængelig på ${server}',
'explore.checkingLibrary' => 'Tjekker dit bibliotek...',
'explore.emptyTitle' => 'Der er ikke noget her endnu',
'explore.emptyMessage' => ({required Object source}) => 'Rækker fra ${source} vises her, når de har indhold.',
@@ -2950,6 +2911,8 @@ extension on TranslationsDa {
'liveTv.guide' => 'Guide',
'liveTv.noChannels' => 'Ingen kanaler tilgængelige',
'liveTv.noDvr' => 'Ingen DVR konfigureret på nogen server',
'liveTv.serverUnavailable' => 'Live-tv-serveren er ikke tilgængelig.',
'liveTv.serverNotConnected' => 'Live-tv-serveren er ikke forbundet.',
'liveTv.noPrograms' => 'Ingen programdata tilgængelig',
'liveTv.liveStreamFailed' => 'Livestream mislykkedes',
'liveTv.unknownProgram' => 'Ukendt program',
@@ -2985,7 +2948,6 @@ extension on TranslationsDa {
'liveTv.scheduledRecordings' => 'Planlagt',
'liveTv.recordingRules' => 'Optagelsesregler',
'liveTv.noScheduledRecordings' => 'Ingen optagelser planlagt',
'liveTv.noRecordingRules' => 'Ingen optagelsesregler endnu',
'liveTv.manageRecording' => 'Administrer optagelse',
'liveTv.cancelRecording' => 'Annullér optagelse',
'liveTv.cancelRecordingTitle' => 'Annullér denne optagelse?',
@@ -3002,7 +2964,6 @@ extension on TranslationsDa {
'liveTv.recordingCancelled' => 'Optagelse annulleret',
'liveTv.recordingRuleDeleted' => 'Optagelsesregel slettet',
'liveTv.processRecordingRules' => 'Genberegn regler',
'liveTv.loadingRecordings' => 'Indlæser optagelser ...',
'liveTv.recordingInProgress' => 'Optager nu',
'liveTv.recordingsCount' => ({required Object count}) => '${count} planlagt',
'liveTv.editRule' => 'Rediger regel',
@@ -3014,7 +2975,6 @@ extension on TranslationsDa {
'collections.title' => 'Samlinger',
'collections.collection' => 'Samling',
'collections.empty' => 'Samlingen er tom',
'collections.unknownLibrarySection' => 'Kan ikke slette: Ukendt bibliotekssektion',
'collections.deleteCollection' => 'Slet samling',
'collections.deleteConfirm' => ({required Object title}) => 'Slet "${title}"? Dette kan ikke fortrydes.',
'collections.deleted' => 'Samling slettet',
@@ -3052,6 +3012,7 @@ extension on TranslationsDa {
'playlists.itemAdded' => 'Tilføjet til playliste',
'playlists.itemRemoved' => 'Fjernet fra playliste',
'playlists.selectPlaylist' => 'Vælg playliste',
'playlists.searchPlaylists' => 'Søg i playlister...',
'playlists.errorCreating' => 'Kunne ikke oprette playliste',
'playlists.errorDeleting' => 'Kunne ikke slette playliste',
'playlists.errorLoading' => 'Kunne ikke indlæse playlister',
@@ -3134,22 +3095,20 @@ extension on TranslationsDa {
'watchTogether.participantResumed' => ({required Object name}) => '${name} genoptog',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} spoled',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} bufferer',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} bruger en ældre appversion — synkronisering er ikke tilgængelig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortsætter uden ${name}',
'watchTogether.waitingForParticipants' => 'Venter på at andre indlæser...',
'watchTogether.waitingForName' => ({required Object name}) => 'Venter på ${name}...',
'watchTogether.recentRooms' => 'Seneste rum',
'watchTogether.renameRoom' => 'Omdøb rum',
'watchTogether.removeRoom' => 'Fjern',
'watchTogether.guestSwitchUnavailable' => 'Kunne ikke skifte — server ikke tilgængelig for synkronisering',
'watchTogether.guestSwitchFailed' => 'Kunne ikke skifte — indhold blev ikke fundet på denne server',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} bruger en ældre appversion — synkronisering er ikke tilgængelig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortsætter uden ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Venter på ${name}...',
'downloads.title' => 'Downloads',
'downloads.manage' => 'Administrer',
'downloads.tvShows' => 'TV-serier',
'downloads.movies' => 'Film',
'downloads.music' => 'Musik',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} numre i kø til download',
'downloads.noDownloads' => 'Ingen downloads endnu',
'downloads.noDownloadsDescription' => 'Downloadet indhold vises her til offlinevisning',
@@ -3164,6 +3123,8 @@ extension on TranslationsDa {
'downloads.deleteConfirm' => ({required Object title}) => 'Slet "${title}" fra denne enhed?',
'downloads.cancelledDownloadTitle' => 'Annulleret download',
'downloads.cancelledDownloadMessage' => 'Denne download blev annulleret. Hvad vil du gøre?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Alle episoder er allerede downloadet',
'downloads.resumeDownload' => 'Genoptag download',
'downloads.cancelledDownload' => 'Annulleret download',
@@ -3187,7 +3148,6 @@ extension on TranslationsDa {
'downloads.customAmount' => 'Angiv antal...',
'downloads.includeSpecials' => 'Inkludér specials',
'downloads.howManyEpisodes' => 'Hvor mange episoder?',
'downloads.itemsQueued' => ({required Object count}) => '${count} elementer sat i kø til download',
'downloads.keepSynced' => 'Hold synkroniseret',
'downloads.downloadOnce' => 'Download én gang',
'downloads.keepNUnwatched' => ({required Object count}) => 'Behold ${count} usete',
@@ -3231,7 +3191,6 @@ extension on TranslationsDa {
'companionRemote.connectedTo' => ({required Object name}) => 'Forbundet til ${name}',
'companionRemote.unknownDevice' => 'Ukendt enhed',
'companionRemote.session.startingServer' => 'Starter fjernserver...',
'companionRemote.session.failedToCreate' => 'Kunne ikke starte fjernserver:',
'companionRemote.session.hostAddress' => 'Værtsadresse',
'companionRemote.session.connected' => 'Forbundet',
'companionRemote.session.serverRunning' => 'Fjernserver aktiv',
@@ -3286,6 +3245,8 @@ extension on TranslationsDa {
'companionRemote.remote.searchHint' => 'Søg på desktop...',
'companionRemote.errors.noNetworkInterface' => 'Ingen netværksgrænseflade fundet',
'companionRemote.errors.authenticationFailed' => 'Godkendelse mislykkedes',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Kunne ikke starte fjernserveren: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Kunne ikke sende fjernkommando: ${error}',
'companionRemote.errors.joinTimedOut' => 'Tidsgrænse for deltagelse i session overskredet',
'companionRemote.errors.failedToConnectAnyAddress' => 'Kunne ikke oprette forbindelse til nogen adresse',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Forbindelse mistet efter ${attempts} forsøg',
@@ -3530,7 +3491,6 @@ extension on TranslationsDa {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect mislykkedes: ${error}',
'addServer.addPlexTitle' => 'Log ind med Plex',
'addServer.pinExpired' => 'PIN udløb før login. Prøv igen.',
'addServer.duplicatePlexAccount' => 'Allerede logget ind på Plex. Log ud for at skifte konto.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Kunne ikke registrere kontoen: ${error}',
'addServer.enterJellyfinUrlError' => 'Angiv URL\'en til din Jellyfin-server',
'addServer.addConnectionTitle' => 'Tilføj forbindelse',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsDe extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityDe accessibility = _TranslationsAccessibilityDe._(_root);
@override late final _TranslationsTooltipsDe tooltips = _TranslationsTooltipsDe._(_root);
@override late final _TranslationsVideoControlsDe videoControls = _TranslationsVideoControlsDe._(_root);
@override late final _TranslationsUserStatusDe userStatus = _TranslationsUserStatusDe._(_root);
@override late final _TranslationsMessagesDe messages = _TranslationsMessagesDe._(_root);
@override late final _TranslationsSubtitlingStylingDe subtitlingStyling = _TranslationsSubtitlingStylingDe._(_root);
@override late final _TranslationsMpvConfigDe mpvConfig = _TranslationsMpvConfigDe._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthDe extends TranslationsAuthEn {
final TranslationsDe _root; // ignore: unused_field
// Translations
@override String get signIn => 'Anmelden';
@override String get signInWithPlex => 'Mit Plex anmelden';
@override String get showQRCode => 'QR-Code anzeigen';
@override String get authenticate => 'Authentifizieren';
@@ -167,10 +165,8 @@ class _TranslationsCommonDe extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Episode ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Kapitel ${number}';
@override String get reconnect => 'Erneut verbinden';
@override String get exit => 'Beenden';
@override String get viewAll => 'Alle anzeigen';
@override String get checkingNetwork => 'Netzwerk wird geprüft...';
@override String get refreshingServers => 'Server werden aktualisiert...';
@override String get loadingServers => 'Server werden geladen...';
@override String get connectingToServers => 'Verbindung zu Servern...';
@override String get startingOfflineMode => 'Offlinemodus wird gestartet...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'TV-Karten nur mit Bild verwenden und Darstellernamen einblenden';
@override String get focusGlow => 'Fokus-Leuchten';
@override String get focusGlowDescription => 'Sanftes Leuchten um die fokussierte Karte anzeigen';
@override String get visualEffects => 'Visuelle Effekte';
@override String get visualEffectsAuto => 'Automatisch';
@override String get visualEffectsAutoDescription => 'Effekte auf leistungsschwachen Geräten automatisch reduzieren';
@override String get visualEffectsFull => 'Vollständig';
@override String get visualEffectsReduced => 'Reduziert';
@override String get visualEffectsReducedDescription => 'Weniger Animationen und Grafiken mit niedrigerer Auflösung';
@override String get hideSpoilers => 'Spoiler für nicht gesehene Episoden verbergen';
@override String get hideSpoilersDescription => 'Vorschaubilder und Beschreibungen ungesehener Episoden verwischen';
@override String get playerBackend => 'Player-Backend';
@@ -283,7 +285,7 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Auto (Empfohlen)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB Speicher verfügbar. Ein ${size}MB-Puffer kann die Wiedergabe beeinträchtigen.';
@override String get defaultQualityTitle => 'Standardqualität';
@override String get defaultQualityDescription => 'Wird beim Starten der Wiedergabe verwendet. Niedrigere Werte reduzieren die Bandbreite.';
@override String get musicQualityTitle => 'Musikqualität';
@override String get subtitleStyling => 'Untertitel-Stil';
@override String get subtitleStylingDescription => 'Aussehen von Untertiteln anpassen';
@override String get smallSkipDuration => 'Kleine Sprungdauer';
@@ -377,10 +379,9 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Zeige auf Discord, was du gerade schaust';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Wiedergabeverlauf mit Trakt synchronisieren';
@override String get services => 'Dienste';
@override String get servicesDescription => 'Trakt, MyAnimeList, Seerr und mehr verbinden';
@override String get manageLibrariesDescription => 'Mediatheken neu anordnen und ausblenden';
@override String get companionRemoteServer => 'Companion Remote Server';
@override String get companionRemoteServerDescription => 'Mobilgeräten in deinem Netzwerk erlauben, diese App zu steuern';
@override String get autoPip => 'Automatisches Bild-in-Bild';
@@ -443,7 +444,6 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Navigationsleisten-Beschriftungen anzeigen';
@override String get showNavBarLabelsDescription => 'Textbeschriftungen unter den Symbolen der Navigationsleiste anzeigen';
@override String get startupSection => 'Startbereich';
@override String get startupSectionDescription => 'Legt fest, welchen Bereich Plezy beim Start öffnet';
@override String get liveTvDefaultFavorites => 'Standardmäßig Favoritenkanäle';
@override String get liveTvDefaultFavoritesDescription => 'Beim Öffnen von Live TV nur Favoritenkanäle anzeigen';
@override String get display => 'Anzeige';
@@ -455,13 +455,6 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Untertitel & Konfiguration';
@override String get seekAndTiming => 'Spulen & Timing';
@override String get behavior => 'Verhalten';
@override String get manageLibrariesDescription => 'Mediatheken neu anordnen und ausblenden';
@override String get visualEffects => 'Visuelle Effekte';
@override String get visualEffectsAuto => 'Automatisch';
@override String get visualEffectsAutoDescription => 'Effekte auf leistungsschwachen Geräten automatisch reduzieren';
@override String get visualEffectsFull => 'Vollständig';
@override String get visualEffectsReduced => 'Reduziert';
@override String get visualEffectsReducedDescription => 'Weniger Animationen und Grafiken mit niedrigerer Auflösung';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetDe extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Bewerten';
@override String get server => 'Server';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Eine Wertung festlegen';
@override String get favorite => 'Favorit';
@override String get favorited => 'Favorisiert';
@override String get saved => 'Gespeichert';
@override String get notAvailable => 'Keine Übereinstimmung gefunden';
@override String get noConnectedServices => 'Verbinde einen Dienst in den Einstellungen, um dort zu bewerten.';
@override String get favorite => 'Favorit';
@override String get favorited => 'Favorisiert';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityDe extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} Prozent angesehen';
@override String get mediaCardUnwatched => 'ungeschaut';
@override String get tapToPlay => 'Zum Abspielen tippen';
@override String get decrease => 'Verringern';
@override String get increase => 'Erhöhen';
@override String decreaseValue({required Object label}) => '${label} verringern';
@override String increaseValue({required Object label}) => '${label} erhöhen';
@override String get hue => 'Farbton';
@override String get saturation => 'Sättigung';
@override String get brightness => 'Helligkeit';
@override String get hexColor => 'Hex-Farbe';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsDe extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Wiedergabeeinstellungen';
@override String get tracksButton => 'Audio und Untertitel';
@override String get chaptersButton => 'Kapitel';
@override String get versionsButton => 'Videoversionen';
@override String get versionQualityButton => 'Version & Qualität';
@override String get versionColumnHeader => 'Version';
@override String get qualityColumnHeader => 'Qualität';
@override String get qualityOriginal => 'Original';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transkodierung nicht verfügbar — Wiedergabe in Originalqualität';
@override String get pipButton => 'Bild-in-Bild Modus';
@override String get aspectRatioButton => 'Seitenverhältnis';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsDe extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Sprachen suchen...';
}
// Path: userStatus
class _TranslationsUserStatusDe extends TranslationsUserStatusEn {
_TranslationsUserStatusDe._(TranslationsDe root) : this._root = root, super.internal(root);
final TranslationsDe _root; // ignore: unused_field
// Translations
@override String get admin => 'Eigentümer';
@override String get restricted => 'Eingeschränkt';
@override String get protected => 'Geschützt';
@override String get current => 'AKTUELL';
}
// Path: messages
class _TranslationsMessagesDe extends TranslationsMessagesEn {
_TranslationsMessagesDe._(TranslationsDe root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesDe extends TranslationsProfilesEn {
@override String get pinExplain => '4-stellige PIN zum Profilwechsel erforderlich.';
@override String get continueButton => 'Weiter';
@override String get pinsDontMatch => 'PINs stimmen nicht überein';
@override String get initializeServicesFailed => 'Profildienste konnten nicht initialisiert werden';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverDe extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Entdecken';
@override String get switchProfile => 'Profil wechseln';
@override String get noContentAvailable => 'Kein Inhalt verfügbar';
@override String get addMediaToLibraries => 'Medien zur Mediathek hinzufügen';
@override String get continueWatching => 'Weiterschauen';
@@ -938,8 +919,6 @@ class _TranslationsErrorsDe extends TranslationsErrorsEn {
@override String get connectionFailed => 'Keine Verbindung zum Medienserver möglich';
@override String failedToLoad({required Object context, required Object error}) => 'Fehler beim Laden von ${context}: ${error}';
@override String get noClientAvailable => 'Kein Client verfügbar';
@override String authenticationFailed({required Object error}) => 'Authentifizierung fehlgeschlagen: ${error}';
@override String get couldNotLaunchUrl => 'Auth-URL konnte nicht geöffnet werden';
@override String get pleaseEnterToken => 'Bitte Token eingeben';
@override String get invalidToken => 'Ungültiges Token';
@override String failedToVerifyToken({required Object error}) => 'Token-Verifizierung fehlgeschlagen: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesDe extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Alle Mediatheken sind ausgeblendet';
@override String hiddenLibrariesCount({required Object count}) => 'Ausgeblendete Mediatheken (${count})';
@override String get thisLibraryIsEmpty => 'Diese Mediathek ist leer';
@override String get noItemsMatchFilters => 'Keine Elemente entsprechen den aktiven Filtern';
@override String get resetFilters => 'Filter zurücksetzen';
@override String get all => 'Alle';
@override String get clearAll => 'Alle löschen';
@override String scanLibraryConfirm({required Object title}) => '${title}“ wirklich scannen?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesDe extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsDe groupings = _TranslationsLibrariesGroupingsDe._(_root);
@override late final _TranslationsLibrariesFilterCategoriesDe filterCategories = _TranslationsLibrariesFilterCategoriesDe._(_root);
@override late final _TranslationsLibrariesSortLabelsDe sortLabels = _TranslationsLibrariesSortLabelsDe._(_root);
@override String get noItemsMatchFilters => 'Keine Elemente entsprechen den aktiven Filtern';
@override String get resetFilters => 'Filter zurücksetzen';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionDe extends TranslationsServerSelectionEn {
final TranslationsDe _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Keine Verbindung zu Servern möglich. Prüfe dein Netzwerk.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Keine Server gefunden für ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Server konnten nicht geladen werden: ${error}';
}
@@ -1102,7 +1080,6 @@ class _TranslationsExploreDe extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Merkliste konnte nicht aktualisiert werden';
@override String get notInLibrary => 'Nicht in deiner Mediathek';
@override String get inTheseLibraries => 'In diesen Mediatheken';
@override String availableOn({required Object server}) => 'Verfügbar auf ${server}';
@override String get checkingLibrary => 'Deine Mediathek wird überprüft...';
@override String get emptyTitle => 'Hier ist noch nichts';
@override String emptyMessage({required Object source}) => 'Zeilen aus ${source} erscheinen hier, sobald sie Inhalte enthalten.';
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvDe extends TranslationsLiveTvEn {
@override String get guide => 'Programmführer';
@override String get noChannels => 'Keine Kanäle verfügbar';
@override String get noDvr => 'Kein DVR auf einem Server konfiguriert';
@override String get serverUnavailable => 'Der Live-TV-Server ist nicht verfügbar.';
@override String get serverNotConnected => 'Der Live-TV-Server ist nicht verbunden.';
@override String get noPrograms => 'Keine Programmdaten verfügbar';
@override String get liveStreamFailed => 'Livestream fehlgeschlagen';
@override String get unknownProgram => 'Unbekannte Sendung';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvDe extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Geplant';
@override String get recordingRules => 'Aufnahmeregeln';
@override String get noScheduledRecordings => 'Keine geplanten Aufnahmen';
@override String get noRecordingRules => 'Noch keine Aufnahmeregeln';
@override String get manageRecording => 'Aufnahme verwalten';
@override String get cancelRecording => 'Aufnahme abbrechen';
@override String get cancelRecordingTitle => 'Diese Aufnahme abbrechen?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvDe extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Aufnahme abgebrochen';
@override String get recordingRuleDeleted => 'Aufnahmeregel gelöscht';
@override String get processRecordingRules => 'Regeln neu bewerten';
@override String get loadingRecordings => 'Aufnahmen werden geladen ...';
@override String get recordingInProgress => 'Wird jetzt aufgenommen';
@override String recordingsCount({required Object count}) => '${count} geplant';
@override String get editRule => 'Regel bearbeiten';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsDe extends TranslationsCollectionsEn {
@override String get title => 'Sammlungen';
@override String get collection => 'Sammlung';
@override String get empty => 'Sammlung ist leer';
@override String get unknownLibrarySection => 'Löschen nicht möglich: Unbekannte Bibliothekssektion';
@override String get deleteCollection => 'Sammlung löschen';
@override String deleteConfirm({required Object title}) => '"${title}" löschen? Dies kann nicht rückgängig gemacht werden.';
@override String get deleted => 'Sammlung gelöscht';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsDe extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Zur Wiedergabeliste hinzugefügt';
@override String get itemRemoved => 'Aus Wiedergabeliste entfernt';
@override String get selectPlaylist => 'Wiedergabeliste auswählen';
@override String get searchPlaylists => 'Wiedergabelisten durchsuchen...';
@override String get errorCreating => 'Wiedergabeliste konnte nicht erstellt werden';
@override String get errorDeleting => 'Wiedergabeliste konnte nicht gelöscht werden';
@override String get errorLoading => 'Wiedergabelisten konnten nicht geladen werden';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherDe extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} hat fortgesetzt';
@override String participantSeeked({required Object name}) => '${name} hat gespult';
@override String participantBuffering({required Object name}) => '${name} puffert';
@override String participantNeedsUpdate({required Object name}) => '${name} verwendet eine ältere Appversion — Synchronisierung nicht verfügbar';
@override String resumingWithout({required Object name}) => 'Fortfahren ohne ${name}';
@override String get waitingForParticipants => 'Warte auf andere zum Laden...';
@override String waitingForName({required Object name}) => 'Warten auf ${name}...';
@override String get recentRooms => 'Letzte Räume';
@override String get renameRoom => 'Raum umbenennen';
@override String get removeRoom => 'Entfernen';
@override String get guestSwitchUnavailable => 'Wechsel fehlgeschlagen — Server nicht für Synchronisierung verfügbar';
@override String get guestSwitchFailed => 'Wechsel fehlgeschlagen — Inhalt auf diesem Server nicht gefunden';
@override String participantNeedsUpdate({required Object name}) => '${name} verwendet eine ältere Appversion — Synchronisierung nicht verfügbar';
@override String resumingWithout({required Object name}) => 'Fortfahren ohne ${name}';
@override String waitingForName({required Object name}) => 'Warten auf ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsDe extends TranslationsDownloadsEn {
@override String get customAmount => 'Eigene Anzahl...';
@override String get includeSpecials => 'Specials einschließen';
@override String get howManyEpisodes => 'Wie viele Episoden?';
@override String itemsQueued({required Object count}) => '${count} Elemente zum Download eingereiht';
@override String get keepSynced => 'Synchronisiert halten';
@override String get downloadOnce => 'Einmal herunterladen';
@override String keepNUnwatched({required Object count}) => '${count} ungesehene behalten';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerDe extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect fehlgeschlagen: ${error}';
@override String get addPlexTitle => 'Mit Plex anmelden';
@override String get pinExpired => 'PIN ist vor der Anmeldung abgelaufen. Bitte erneut versuchen.';
@override String get duplicatePlexAccount => 'Bereits bei Plex angemeldet. Melde dich ab, um Konten zu wechseln.';
@override String failedToRegisterAccount({required Object error}) => 'Konto konnte nicht registriert werden: ${error}';
@override String get enterJellyfinUrlError => 'Gib die URL deines Jellyfin-Servers ein';
@override String get addConnectionTitle => 'Verbindung hinzufügen';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsDe extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Community-Bewertung';
@override String get criticRating => 'Kritikerbewertung';
@override String get userRating => 'Benutzerbewertung';
@override String get lastPlayed => 'Zuletzt abgespielt';
@override String get datePlayed => 'Wiedergabedatum';
@override String get playCount => 'Wiedergaben';
@override String get productionYear => 'Produktionsjahr';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionDe extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Remote-Server wird gestartet...';
@override String get failedToCreate => 'Remote-Server konnte nicht gestartet werden:';
@override String get hostAddress => 'Host-Adresse';
@override String get connected => 'Verbunden';
@override String get serverRunning => 'Remote-Server aktiv';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsDe extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Keine Netzwerkschnittstelle gefunden';
@override String get authenticationFailed => 'Authentifizierung fehlgeschlagen';
@override String serverStartFailed({required Object error}) => 'Remote-Server konnte nicht gestartet werden: ${error}';
@override String commandFailed({required Object error}) => 'Remote-Befehl konnte nicht gesendet werden: ${error}';
@override String get joinTimedOut => 'Zeitüberschreitung beim Beitreten zur Sitzung';
@override String get failedToConnectAnyAddress => 'Keine Verbindung zu einer Adresse möglich';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Verbindung nach ${attempts} Versuchen verloren';
@@ -2123,7 +2098,6 @@ extension on TranslationsDe {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Anmelden',
'auth.signInWithPlex' => 'Mit Plex anmelden',
'auth.showQRCode' => 'QR-Code anzeigen',
'auth.authenticate' => 'Authentifizieren',
@@ -2174,10 +2148,8 @@ extension on TranslationsDe {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Episode ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Kapitel ${number}',
'common.reconnect' => 'Erneut verbinden',
'common.exit' => 'Beenden',
'common.viewAll' => 'Alle anzeigen',
'common.checkingNetwork' => 'Netzwerk wird geprüft...',
'common.refreshingServers' => 'Server werden aktualisiert...',
'common.loadingServers' => 'Server werden geladen...',
'common.connectingToServers' => 'Verbindung zu Servern...',
'common.startingOfflineMode' => 'Offlinemodus wird gestartet...',
@@ -2251,6 +2223,12 @@ extension on TranslationsDe {
'settings.tvFullCardLayoutDescription' => 'TV-Karten nur mit Bild verwenden und Darstellernamen einblenden',
'settings.focusGlow' => 'Fokus-Leuchten',
'settings.focusGlowDescription' => 'Sanftes Leuchten um die fokussierte Karte anzeigen',
'settings.visualEffects' => 'Visuelle Effekte',
'settings.visualEffectsAuto' => 'Automatisch',
'settings.visualEffectsAutoDescription' => 'Effekte auf leistungsschwachen Geräten automatisch reduzieren',
'settings.visualEffectsFull' => 'Vollständig',
'settings.visualEffectsReduced' => 'Reduziert',
'settings.visualEffectsReducedDescription' => 'Weniger Animationen und Grafiken mit niedrigerer Auflösung',
'settings.hideSpoilers' => 'Spoiler für nicht gesehene Episoden verbergen',
'settings.hideSpoilersDescription' => 'Vorschaubilder und Beschreibungen ungesehener Episoden verwischen',
'settings.playerBackend' => 'Player-Backend',
@@ -2263,7 +2241,7 @@ extension on TranslationsDe {
'settings.bufferSizeAuto' => 'Auto (Empfohlen)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB Speicher verfügbar. Ein ${size}MB-Puffer kann die Wiedergabe beeinträchtigen.',
'settings.defaultQualityTitle' => 'Standardqualität',
'settings.defaultQualityDescription' => 'Wird beim Starten der Wiedergabe verwendet. Niedrigere Werte reduzieren die Bandbreite.',
'settings.musicQualityTitle' => 'Musikqualität',
'settings.subtitleStyling' => 'Untertitel-Stil',
'settings.subtitleStylingDescription' => 'Aussehen von Untertiteln anpassen',
'settings.smallSkipDuration' => 'Kleine Sprungdauer',
@@ -2357,10 +2335,9 @@ extension on TranslationsDe {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Zeige auf Discord, was du gerade schaust',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Wiedergabeverlauf mit Trakt synchronisieren',
'settings.services' => 'Dienste',
'settings.servicesDescription' => 'Trakt, MyAnimeList, Seerr und mehr verbinden',
'settings.manageLibrariesDescription' => 'Mediatheken neu anordnen und ausblenden',
'settings.companionRemoteServer' => 'Companion Remote Server',
'settings.companionRemoteServerDescription' => 'Mobilgeräten in deinem Netzwerk erlauben, diese App zu steuern',
'settings.autoPip' => 'Automatisches Bild-in-Bild',
@@ -2423,7 +2400,6 @@ extension on TranslationsDe {
'settings.showNavBarLabels' => 'Navigationsleisten-Beschriftungen anzeigen',
'settings.showNavBarLabelsDescription' => 'Textbeschriftungen unter den Symbolen der Navigationsleiste anzeigen',
'settings.startupSection' => 'Startbereich',
'settings.startupSectionDescription' => 'Legt fest, welchen Bereich Plezy beim Start öffnet',
'settings.liveTvDefaultFavorites' => 'Standardmäßig Favoritenkanäle',
'settings.liveTvDefaultFavoritesDescription' => 'Beim Öffnen von Live TV nur Favoritenkanäle anzeigen',
'settings.display' => 'Anzeige',
@@ -2435,13 +2411,6 @@ extension on TranslationsDe {
'settings.subtitlesAndConfig' => 'Untertitel & Konfiguration',
'settings.seekAndTiming' => 'Spulen & Timing',
'settings.behavior' => 'Verhalten',
'settings.manageLibrariesDescription' => 'Mediatheken neu anordnen und ausblenden',
'settings.visualEffects' => 'Visuelle Effekte',
'settings.visualEffectsAuto' => 'Automatisch',
'settings.visualEffectsAutoDescription' => 'Effekte auf leistungsschwachen Geräten automatisch reduzieren',
'settings.visualEffectsFull' => 'Vollständig',
'settings.visualEffectsReduced' => 'Reduziert',
'settings.visualEffectsReducedDescription' => 'Weniger Animationen und Grafiken mit niedrigerer Auflösung',
'search.hint' => 'Filme, Serien, Musik suchen...',
'search.tryDifferentTerm' => 'Anderen Suchbegriff versuchen',
'search.searchYourMedia' => 'In den eigenen Medien suchen',
@@ -2518,14 +2487,11 @@ extension on TranslationsDe {
'mediaMenu.playVersion' => 'Version abspielen...',
'rateSheet.title' => 'Bewerten',
'rateSheet.server' => 'Server',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Eine Wertung festlegen',
'rateSheet.favorite' => 'Favorit',
'rateSheet.favorited' => 'Favorisiert',
'rateSheet.saved' => 'Gespeichert',
'rateSheet.notAvailable' => 'Keine Übereinstimmung gefunden',
'rateSheet.noConnectedServices' => 'Verbinde einen Dienst in den Einstellungen, um dort zu bewerten.',
'rateSheet.favorite' => 'Favorit',
'rateSheet.favorited' => 'Favorisiert',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, Film',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, Serie',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsDe {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} Prozent angesehen',
'accessibility.mediaCardUnwatched' => 'ungeschaut',
'accessibility.tapToPlay' => 'Zum Abspielen tippen',
'accessibility.decrease' => 'Verringern',
'accessibility.increase' => 'Erhöhen',
'accessibility.decreaseValue' => ({required Object label}) => '${label} verringern',
'accessibility.increaseValue' => ({required Object label}) => '${label} erhöhen',
'accessibility.hue' => 'Farbton',
'accessibility.saturation' => 'Sättigung',
'accessibility.brightness' => 'Helligkeit',
'accessibility.hexColor' => 'Hex-Farbe',
'tooltips.shufflePlay' => 'Zufallswiedergabe',
'tooltips.playTrailer' => 'Trailer abspielen',
'tooltips.markAsWatched' => 'Als gesehen markieren',
@@ -2575,13 +2549,11 @@ extension on TranslationsDe {
'videoControls.settingsButton' => 'Wiedergabeeinstellungen',
'videoControls.tracksButton' => 'Audio und Untertitel',
'videoControls.chaptersButton' => 'Kapitel',
'videoControls.versionsButton' => 'Videoversionen',
'videoControls.versionQualityButton' => 'Version & Qualität',
'videoControls.versionColumnHeader' => 'Version',
'videoControls.qualityColumnHeader' => 'Qualität',
'videoControls.qualityOriginal' => 'Original',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transkodierung nicht verfügbar — Wiedergabe in Originalqualität',
'videoControls.pipButton' => 'Bild-in-Bild Modus',
'videoControls.aspectRatioButton' => 'Seitenverhältnis',
@@ -2621,10 +2593,6 @@ extension on TranslationsDe {
'videoControls.subtitleDownloaded' => 'Untertitel heruntergeladen',
'videoControls.subtitleDownloadFailed' => 'Untertitel konnte nicht heruntergeladen werden',
'videoControls.searchLanguages' => 'Sprachen suchen...',
'userStatus.admin' => 'Eigentümer',
'userStatus.restricted' => 'Eingeschränkt',
'userStatus.protected' => 'Geschützt',
'userStatus.current' => 'AKTUELL',
'messages.markedAsWatched' => 'Als gesehen markiert',
'messages.markedAsUnwatched' => 'Als ungesehen markiert',
'messages.markedAsWatchedOffline' => 'Als gesehen markiert (wird synchronisiert, wenn online)',
@@ -2634,8 +2602,6 @@ extension on TranslationsDe {
'messages.errorLoading' => ({required Object error}) => 'Fehler: ${error}',
'messages.streamInterrupted' => 'Der Stream wurde unterbrochen. Drücke auf Wiedergabe oder spule, um es erneut zu versuchen.',
'messages.fileInfoNotAvailable' => 'Dateiinfo nicht verfügbar',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Fehler beim Laden der Dateiinfo: ${error}',
'messages.errorLoadingSeries' => 'Fehler beim Laden der Serie',
'messages.musicNotSupported' => 'Musikwiedergabe wird noch nicht unterstützt',
@@ -2643,6 +2609,8 @@ extension on TranslationsDe {
'messages.noProfilesAvailable' => 'Keine Profile verfügbar',
'messages.contactAdminForProfiles' => 'Kontaktiere deinen Serveradministrator, um Profile hinzuzufügen',
'messages.unableToDetermineLibrarySection' => 'Bibliotheksbereich für dieses Element kann nicht ermittelt werden',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Protokolle gelöscht',
'messages.logsCopied' => 'Protokolle in Zwischenablage kopiert',
'messages.noLogsAvailable' => 'Keine Protokolle verfügbar',
@@ -2759,7 +2727,6 @@ extension on TranslationsDe {
'profiles.pinExplain' => '4-stellige PIN zum Profilwechsel erforderlich.',
'profiles.continueButton' => 'Weiter',
'profiles.pinsDontMatch' => 'PINs stimmen nicht überein',
'profiles.initializeServicesFailed' => 'Profildienste konnten nicht initialisiert werden',
'connections.sectionTitle' => 'Verbindungen',
'connections.addConnection' => 'Verbindung hinzufügen',
'connections.addConnectionSubtitleNoProfile' => 'Mit Plex anmelden oder Jellyfin-Server verbinden',
@@ -2770,7 +2737,6 @@ extension on TranslationsDe {
'connections.editJellyfinTitle' => 'Jellyfin-Verbindung bearbeiten',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Füge URLs für ${serverName} hinzu oder entferne sie. Plezy verwendet die erreichbare URL mit der geringsten Latenz.',
'discover.title' => 'Entdecken',
'discover.switchProfile' => 'Profil wechseln',
'discover.noContentAvailable' => 'Kein Inhalt verfügbar',
'discover.addMediaToLibraries' => 'Medien zur Mediathek hinzufügen',
'discover.continueWatching' => 'Weiterschauen',
@@ -2797,8 +2763,6 @@ extension on TranslationsDe {
'errors.connectionFailed' => 'Keine Verbindung zum Medienserver möglich',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Fehler beim Laden von ${context}: ${error}',
'errors.noClientAvailable' => 'Kein Client verfügbar',
'errors.authenticationFailed' => ({required Object error}) => 'Authentifizierung fehlgeschlagen: ${error}',
'errors.couldNotLaunchUrl' => 'Auth-URL konnte nicht geöffnet werden',
'errors.pleaseEnterToken' => 'Bitte Token eingeben',
'errors.invalidToken' => 'Ungültiges Token',
'errors.failedToVerifyToken' => ({required Object error}) => 'Token-Verifizierung fehlgeschlagen: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsDe {
'libraries.allLibrariesHidden' => 'Alle Mediatheken sind ausgeblendet',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Ausgeblendete Mediatheken (${count})',
'libraries.thisLibraryIsEmpty' => 'Diese Mediathek ist leer',
'libraries.noItemsMatchFilters' => 'Keine Elemente entsprechen den aktiven Filtern',
'libraries.resetFilters' => 'Filter zurücksetzen',
'libraries.all' => 'Alle',
'libraries.clearAll' => 'Alle löschen',
'libraries.scanLibraryConfirm' => ({required Object title}) => '${title}“ wirklich scannen?',
@@ -2871,7 +2837,6 @@ extension on TranslationsDe {
'libraries.sortLabels.communityRating' => 'Community-Bewertung',
'libraries.sortLabels.criticRating' => 'Kritikerbewertung',
'libraries.sortLabels.userRating' => 'Benutzerbewertung',
'libraries.sortLabels.lastPlayed' => 'Zuletzt abgespielt',
'libraries.sortLabels.datePlayed' => 'Wiedergabedatum',
'libraries.sortLabels.playCount' => 'Wiedergaben',
'libraries.sortLabels.productionYear' => 'Produktionsjahr',
@@ -2885,14 +2850,11 @@ extension on TranslationsDe {
'libraries.sortLabels.dateShared' => 'Datum geteilt',
'libraries.sortLabels.latestEpisodeAirDate' => 'Letztes Folgenausstrahlungsdatum',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Datum der zuletzt hinzugefügten Folge',
'libraries.noItemsMatchFilters' => 'Keine Elemente entsprechen den aktiven Filtern',
'libraries.resetFilters' => 'Filter zurücksetzen',
'about.title' => 'Über',
'about.openSourceLicenses' => 'Open-Source-Lizenzen',
'about.versionLabel' => ({required Object version}) => 'Version ${version}',
'about.appDescription' => 'Ein schöner Plex- und Jellyfin-Client für Flutter',
'about.viewLicensesDescription' => 'Lizenzen von Drittanbieter-Bibliotheken anzeigen',
'serverSelection.allServerConnectionsFailed' => 'Keine Verbindung zu Servern möglich. Prüfe dein Netzwerk.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Keine Server gefunden für ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Server konnten nicht geladen werden: ${error}',
'hubDetail.title' => 'Titel',
@@ -2938,7 +2900,6 @@ extension on TranslationsDe {
'explore.watchlistUpdateFailed' => 'Merkliste konnte nicht aktualisiert werden',
'explore.notInLibrary' => 'Nicht in deiner Mediathek',
'explore.inTheseLibraries' => 'In diesen Mediatheken',
'explore.availableOn' => ({required Object server}) => 'Verfügbar auf ${server}',
'explore.checkingLibrary' => 'Deine Mediathek wird überprüft...',
'explore.emptyTitle' => 'Hier ist noch nichts',
'explore.emptyMessage' => ({required Object source}) => 'Zeilen aus ${source} erscheinen hier, sobald sie Inhalte enthalten.',
@@ -2950,6 +2911,8 @@ extension on TranslationsDe {
'liveTv.guide' => 'Programmführer',
'liveTv.noChannels' => 'Keine Kanäle verfügbar',
'liveTv.noDvr' => 'Kein DVR auf einem Server konfiguriert',
'liveTv.serverUnavailable' => 'Der Live-TV-Server ist nicht verfügbar.',
'liveTv.serverNotConnected' => 'Der Live-TV-Server ist nicht verbunden.',
'liveTv.noPrograms' => 'Keine Programmdaten verfügbar',
'liveTv.liveStreamFailed' => 'Livestream fehlgeschlagen',
'liveTv.unknownProgram' => 'Unbekannte Sendung',
@@ -2985,7 +2948,6 @@ extension on TranslationsDe {
'liveTv.scheduledRecordings' => 'Geplant',
'liveTv.recordingRules' => 'Aufnahmeregeln',
'liveTv.noScheduledRecordings' => 'Keine geplanten Aufnahmen',
'liveTv.noRecordingRules' => 'Noch keine Aufnahmeregeln',
'liveTv.manageRecording' => 'Aufnahme verwalten',
'liveTv.cancelRecording' => 'Aufnahme abbrechen',
'liveTv.cancelRecordingTitle' => 'Diese Aufnahme abbrechen?',
@@ -3002,7 +2964,6 @@ extension on TranslationsDe {
'liveTv.recordingCancelled' => 'Aufnahme abgebrochen',
'liveTv.recordingRuleDeleted' => 'Aufnahmeregel gelöscht',
'liveTv.processRecordingRules' => 'Regeln neu bewerten',
'liveTv.loadingRecordings' => 'Aufnahmen werden geladen ...',
'liveTv.recordingInProgress' => 'Wird jetzt aufgenommen',
'liveTv.recordingsCount' => ({required Object count}) => '${count} geplant',
'liveTv.editRule' => 'Regel bearbeiten',
@@ -3014,7 +2975,6 @@ extension on TranslationsDe {
'collections.title' => 'Sammlungen',
'collections.collection' => 'Sammlung',
'collections.empty' => 'Sammlung ist leer',
'collections.unknownLibrarySection' => 'Löschen nicht möglich: Unbekannte Bibliothekssektion',
'collections.deleteCollection' => 'Sammlung löschen',
'collections.deleteConfirm' => ({required Object title}) => '"${title}" löschen? Dies kann nicht rückgängig gemacht werden.',
'collections.deleted' => 'Sammlung gelöscht',
@@ -3052,6 +3012,7 @@ extension on TranslationsDe {
'playlists.itemAdded' => 'Zur Wiedergabeliste hinzugefügt',
'playlists.itemRemoved' => 'Aus Wiedergabeliste entfernt',
'playlists.selectPlaylist' => 'Wiedergabeliste auswählen',
'playlists.searchPlaylists' => 'Wiedergabelisten durchsuchen...',
'playlists.errorCreating' => 'Wiedergabeliste konnte nicht erstellt werden',
'playlists.errorDeleting' => 'Wiedergabeliste konnte nicht gelöscht werden',
'playlists.errorLoading' => 'Wiedergabelisten konnten nicht geladen werden',
@@ -3134,22 +3095,20 @@ extension on TranslationsDe {
'watchTogether.participantResumed' => ({required Object name}) => '${name} hat fortgesetzt',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} hat gespult',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} puffert',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} verwendet eine ältere Appversion — Synchronisierung nicht verfügbar',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortfahren ohne ${name}',
'watchTogether.waitingForParticipants' => 'Warte auf andere zum Laden...',
'watchTogether.waitingForName' => ({required Object name}) => 'Warten auf ${name}...',
'watchTogether.recentRooms' => 'Letzte Räume',
'watchTogether.renameRoom' => 'Raum umbenennen',
'watchTogether.removeRoom' => 'Entfernen',
'watchTogether.guestSwitchUnavailable' => 'Wechsel fehlgeschlagen — Server nicht für Synchronisierung verfügbar',
'watchTogether.guestSwitchFailed' => 'Wechsel fehlgeschlagen — Inhalt auf diesem Server nicht gefunden',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} verwendet eine ältere Appversion — Synchronisierung nicht verfügbar',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortfahren ohne ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Warten auf ${name}...',
'downloads.title' => 'Downloads',
'downloads.manage' => 'Verwalten',
'downloads.tvShows' => 'Serien',
'downloads.movies' => 'Filme',
'downloads.music' => 'Musik',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} Titel zum Download in Warteschlange',
'downloads.noDownloads' => 'Noch keine Downloads',
'downloads.noDownloadsDescription' => 'Heruntergeladene Inhalte werden hier für die Offline-Wiedergabe angezeigt',
@@ -3164,6 +3123,8 @@ extension on TranslationsDe {
'downloads.deleteConfirm' => ({required Object title}) => '"${title}" von diesem Gerät löschen?',
'downloads.cancelledDownloadTitle' => 'Abgebrochener Download',
'downloads.cancelledDownloadMessage' => 'Dieser Download wurde abgebrochen. Was möchtest du tun?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Alle Episoden sind bereits heruntergeladen',
'downloads.resumeDownload' => 'Download fortsetzen',
'downloads.cancelledDownload' => 'Abgebrochener Download',
@@ -3187,7 +3148,6 @@ extension on TranslationsDe {
'downloads.customAmount' => 'Eigene Anzahl...',
'downloads.includeSpecials' => 'Specials einschließen',
'downloads.howManyEpisodes' => 'Wie viele Episoden?',
'downloads.itemsQueued' => ({required Object count}) => '${count} Elemente zum Download eingereiht',
'downloads.keepSynced' => 'Synchronisiert halten',
'downloads.downloadOnce' => 'Einmal herunterladen',
'downloads.keepNUnwatched' => ({required Object count}) => '${count} ungesehene behalten',
@@ -3231,7 +3191,6 @@ extension on TranslationsDe {
'companionRemote.connectedTo' => ({required Object name}) => 'Verbunden mit ${name}',
'companionRemote.unknownDevice' => 'Unbekanntes Gerät',
'companionRemote.session.startingServer' => 'Remote-Server wird gestartet...',
'companionRemote.session.failedToCreate' => 'Remote-Server konnte nicht gestartet werden:',
'companionRemote.session.hostAddress' => 'Host-Adresse',
'companionRemote.session.connected' => 'Verbunden',
'companionRemote.session.serverRunning' => 'Remote-Server aktiv',
@@ -3286,6 +3245,8 @@ extension on TranslationsDe {
'companionRemote.remote.searchHint' => 'Auf Desktop suchen...',
'companionRemote.errors.noNetworkInterface' => 'Keine Netzwerkschnittstelle gefunden',
'companionRemote.errors.authenticationFailed' => 'Authentifizierung fehlgeschlagen',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Remote-Server konnte nicht gestartet werden: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Remote-Befehl konnte nicht gesendet werden: ${error}',
'companionRemote.errors.joinTimedOut' => 'Zeitüberschreitung beim Beitreten zur Sitzung',
'companionRemote.errors.failedToConnectAnyAddress' => 'Keine Verbindung zu einer Adresse möglich',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Verbindung nach ${attempts} Versuchen verloren',
@@ -3530,7 +3491,6 @@ extension on TranslationsDe {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect fehlgeschlagen: ${error}',
'addServer.addPlexTitle' => 'Mit Plex anmelden',
'addServer.pinExpired' => 'PIN ist vor der Anmeldung abgelaufen. Bitte erneut versuchen.',
'addServer.duplicatePlexAccount' => 'Bereits bei Plex angemeldet. Melde dich ab, um Konten zu wechseln.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Konto konnte nicht registriert werden: ${error}',
'addServer.enterJellyfinUrlError' => 'Gib die URL deines Jellyfin-Servers ein',
'addServer.addConnectionTitle' => 'Verbindung hinzufügen',
+52 -130
View File
@@ -54,7 +54,6 @@ class Translations with BaseTranslations<AppLocale, Translations> {
late final TranslationsAccessibilityEn accessibility = TranslationsAccessibilityEn.internal(_root);
late final TranslationsTooltipsEn tooltips = TranslationsTooltipsEn.internal(_root);
late final TranslationsVideoControlsEn videoControls = TranslationsVideoControlsEn.internal(_root);
late final TranslationsUserStatusEn userStatus = TranslationsUserStatusEn.internal(_root);
late final TranslationsMessagesEn messages = TranslationsMessagesEn.internal(_root);
late final TranslationsSubtitlingStylingEn subtitlingStyling = TranslationsSubtitlingStylingEn.internal(_root);
late final TranslationsMpvConfigEn mpvConfig = TranslationsMpvConfigEn.internal(_root);
@@ -111,9 +110,6 @@ class TranslationsAuthEn {
// Translations
/// en: 'Sign in'
String get signIn => 'Sign in';
/// en: 'Sign in with Plex'
String get signInWithPlex => 'Sign in with Plex';
@@ -273,18 +269,12 @@ class TranslationsCommonEn {
/// en: 'Reconnect'
String get reconnect => 'Reconnect';
/// en: 'Exit'
String get exit => 'Exit';
/// en: 'View All'
String get viewAll => 'View All';
/// en: 'Checking network...'
String get checkingNetwork => 'Checking network...';
/// en: 'Refreshing servers...'
String get refreshingServers => 'Refreshing servers...';
/// en: 'Loading servers...'
String get loadingServers => 'Loading servers...';
@@ -585,9 +575,6 @@ class TranslationsSettingsEn {
/// en: 'Default Quality'
String get defaultQualityTitle => 'Default Quality';
/// en: 'Used when starting playback. Lower values reduce bandwidth.'
String get defaultQualityDescription => 'Used when starting playback. Lower values reduce bandwidth.';
/// en: 'Music Quality'
String get musicQualityTitle => 'Music Quality';
@@ -870,12 +857,6 @@ class TranslationsSettingsEn {
/// en: 'Show what you're watching on Discord'
String get discordRichPresenceDescription => 'Show what you\'re watching on Discord';
/// en: 'Trakt'
String get trakt => 'Trakt';
/// en: 'Sync watch history with Trakt'
String get traktDescription => 'Sync watch history with Trakt';
/// en: 'Services'
String get services => 'Services';
@@ -1071,9 +1052,6 @@ class TranslationsSettingsEn {
/// en: 'Startup Section'
String get startupSection => 'Startup Section';
/// en: 'Choose which section Plezy opens to when it starts'
String get startupSectionDescription => 'Choose which section Plezy opens to when it starts';
/// en: 'Default to Favorite Channels'
String get liveTvDefaultFavorites => 'Default to Favorite Channels';
@@ -1307,15 +1285,6 @@ class TranslationsRateSheetEn {
/// en: 'Server'
String get server => 'Server';
/// en: '${rating} / 5'
String starValue({required Object rating}) => '${rating} / 5';
/// en: '${score} / 10'
String scoreValue({required Object score}) => '${score} / 10';
/// en: 'Set a score'
String get setScore => 'Set a score';
/// en: 'Favorite'
String get favorite => 'Favorite';
@@ -1363,6 +1332,30 @@ class TranslationsAccessibilityEn {
/// en: 'Tap to play'
String get tapToPlay => 'Tap to play';
/// en: 'Decrease'
String get decrease => 'Decrease';
/// en: 'Increase'
String get increase => 'Increase';
/// en: 'Decrease ${label}'
String decreaseValue({required Object label}) => 'Decrease ${label}';
/// en: 'Increase ${label}'
String increaseValue({required Object label}) => 'Increase ${label}';
/// en: 'Hue'
String get hue => 'Hue';
/// en: 'Saturation'
String get saturation => 'Saturation';
/// en: 'Brightness'
String get brightness => 'Brightness';
/// en: 'Hex color'
String get hexColor => 'Hex color';
}
// Path: tooltips
@@ -1505,9 +1498,6 @@ class TranslationsVideoControlsEn {
/// en: 'Chapters'
String get chaptersButton => 'Chapters';
/// en: 'Video versions'
String get versionsButton => 'Video versions';
/// en: 'Version & Quality'
String get versionQualityButton => 'Version & Quality';
@@ -1523,9 +1513,6 @@ class TranslationsVideoControlsEn {
/// en: '${resolution}p ${bitrate} Mbps'
String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
/// en: '~${bitrate} Mbps'
String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
/// en: 'Transcoding unavailable — playing original quality'
String get transcodeUnavailableFallback => 'Transcoding unavailable — playing original quality';
@@ -1625,27 +1612,6 @@ class TranslationsVideoControlsEn {
String get searchLanguages => 'Search languages...';
}
// Path: userStatus
class TranslationsUserStatusEn {
TranslationsUserStatusEn.internal(this._root);
final Translations _root; // ignore: unused_field
// Translations
/// en: 'Admin'
String get admin => 'Admin';
/// en: 'Restricted'
String get restricted => 'Restricted';
/// en: 'Protected'
String get protected => 'Protected';
/// en: 'CURRENT'
String get current => 'CURRENT';
}
// Path: messages
class TranslationsMessagesEn {
TranslationsMessagesEn.internal(this._root);
@@ -2085,9 +2051,6 @@ class TranslationsProfilesEn {
/// en: 'PINs don't match'
String get pinsDontMatch => 'PINs don\'t match';
/// en: 'Failed to initialize profile services'
String get initializeServicesFailed => 'Failed to initialize profile services';
}
// Path: connections
@@ -2137,9 +2100,6 @@ class TranslationsDiscoverEn {
/// en: 'Discover'
String get title => 'Discover';
/// en: 'Switch Profile'
String get switchProfile => 'Switch Profile';
/// en: 'No content available'
String get noContentAvailable => 'No content available';
@@ -2227,12 +2187,6 @@ class TranslationsErrorsEn {
/// en: 'No client available'
String get noClientAvailable => 'No client available';
/// en: 'Authentication failed: ${error}'
String authenticationFailed({required Object error}) => 'Authentication failed: ${error}';
/// en: 'Could not launch auth URL'
String get couldNotLaunchUrl => 'Could not launch auth URL';
/// en: 'Please enter a token'
String get pleaseEnterToken => 'Please enter a token';
@@ -2421,9 +2375,6 @@ class TranslationsServerSelectionEn {
// Translations
/// en: 'Couldn't connect to any servers. Check your network.'
String get allServerConnectionsFailed => 'Couldn\'t connect to any servers. Check your network.';
/// en: 'No servers found for ${username} (${email})'
String noServersFoundForAccount({required Object username, required Object email}) => 'No servers found for ${username} (${email})';
@@ -2559,9 +2510,6 @@ class TranslationsExploreEn {
/// en: 'In these libraries'
String get inTheseLibraries => 'In these libraries';
/// en: 'Available on ${server}'
String availableOn({required Object server}) => 'Available on ${server}';
/// en: 'Checking your library...'
String get checkingLibrary => 'Checking your library...';
@@ -2604,6 +2552,12 @@ class TranslationsLiveTvEn {
/// en: 'No DVR configured on any server'
String get noDvr => 'No DVR configured on any server';
/// en: 'Live TV server is not available.'
String get serverUnavailable => 'Live TV server is not available.';
/// en: 'Live TV server is not connected.'
String get serverNotConnected => 'Live TV server is not connected.';
/// en: 'No program data available'
String get noPrograms => 'No program data available';
@@ -2709,9 +2663,6 @@ class TranslationsLiveTvEn {
/// en: 'Nothing scheduled to record'
String get noScheduledRecordings => 'Nothing scheduled to record';
/// en: 'No recording rules yet'
String get noRecordingRules => 'No recording rules yet';
/// en: 'Manage recording'
String get manageRecording => 'Manage recording';
@@ -2760,9 +2711,6 @@ class TranslationsLiveTvEn {
/// en: 'Re-evaluate rules'
String get processRecordingRules => 'Re-evaluate rules';
/// en: 'Loading recordings...'
String get loadingRecordings => 'Loading recordings...';
/// en: 'Recording now'
String get recordingInProgress => 'Recording now';
@@ -2805,9 +2753,6 @@ class TranslationsCollectionsEn {
/// en: 'Collection is empty'
String get empty => 'Collection is empty';
/// en: 'Cannot delete: Unknown library section'
String get unknownLibrarySection => 'Cannot delete: Unknown library section';
/// en: 'Delete Collection'
String get deleteCollection => 'Delete Collection';
@@ -3360,9 +3305,6 @@ class TranslationsDownloadsEn {
/// en: 'How many episodes?'
String get howManyEpisodes => 'How many episodes?';
/// en: '${count} items queued for download'
String itemsQueued({required Object count}) => '${count} items queued for download';
/// en: 'Keep synced'
String get keepSynced => 'Keep synced';
@@ -4252,9 +4194,6 @@ class TranslationsAddServerEn {
/// en: 'PIN expired before sign-in. Please try again.'
String get pinExpired => 'PIN expired before sign-in. Please try again.';
/// en: 'Already signed in to Plex. Sign out to switch accounts.'
String get duplicatePlexAccount => 'Already signed in to Plex. Sign out to switch accounts.';
/// en: 'Failed to register account: ${error}'
String failedToRegisterAccount({required Object error}) => 'Failed to register account: ${error}';
@@ -4522,9 +4461,6 @@ class TranslationsLibrariesSortLabelsEn {
/// en: 'User Rating'
String get userRating => 'User Rating';
/// en: 'Last Played'
String get lastPlayed => 'Last Played';
/// en: 'Date Played'
String get datePlayed => 'Date Played';
@@ -4645,9 +4581,6 @@ class TranslationsCompanionRemoteSessionEn {
/// en: 'Starting remote server...'
String get startingServer => 'Starting remote server...';
/// en: 'Failed to start remote server:'
String get failedToCreate => 'Failed to start remote server:';
/// en: 'Host Address'
String get hostAddress => 'Host Address';
@@ -4837,6 +4770,12 @@ class TranslationsCompanionRemoteErrorsEn {
/// en: 'Authentication failed'
String get authenticationFailed => 'Authentication failed';
/// en: 'Failed to start remote server: ${error}'
String serverStartFailed({required Object error}) => 'Failed to start remote server: ${error}';
/// en: 'Failed to send remote command: ${error}'
String commandFailed({required Object error}) => 'Failed to send remote command: ${error}';
/// en: 'Timed out joining session'
String get joinTimedOut => 'Timed out joining session';
@@ -4970,7 +4909,6 @@ extension on Translations {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Sign in',
'auth.signInWithPlex' => 'Sign in with Plex',
'auth.showQRCode' => 'Show QR Code',
'auth.authenticate' => 'Authenticate',
@@ -5021,10 +4959,8 @@ extension on Translations {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Episode ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Chapter ${number}',
'common.reconnect' => 'Reconnect',
'common.exit' => 'Exit',
'common.viewAll' => 'View All',
'common.checkingNetwork' => 'Checking network...',
'common.refreshingServers' => 'Refreshing servers...',
'common.loadingServers' => 'Loading servers...',
'common.connectingToServers' => 'Connecting to servers...',
'common.startingOfflineMode' => 'Starting offline mode...',
@@ -5116,7 +5052,6 @@ extension on Translations {
'settings.bufferSizeAuto' => 'Auto (Recommended)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB memory available. A ${size}MB buffer may affect playback.',
'settings.defaultQualityTitle' => 'Default Quality',
'settings.defaultQualityDescription' => 'Used when starting playback. Lower values reduce bandwidth.',
'settings.musicQualityTitle' => 'Music Quality',
'settings.subtitleStyling' => 'Subtitle Styling',
'settings.subtitleStylingDescription' => 'Customize subtitle appearance',
@@ -5211,8 +5146,6 @@ extension on Translations {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Show what you\'re watching on Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Sync watch history with Trakt',
'settings.services' => 'Services',
'settings.servicesDescription' => 'Connect Trakt, MyAnimeList, Seerr, and more',
'settings.manageLibrariesDescription' => 'Reorder and hide libraries',
@@ -5278,7 +5211,6 @@ extension on Translations {
'settings.showNavBarLabels' => 'Show Navigation Bar Labels',
'settings.showNavBarLabelsDescription' => 'Display text labels under navigation bar icons',
'settings.startupSection' => 'Startup Section',
'settings.startupSectionDescription' => 'Choose which section Plezy opens to when it starts',
'settings.liveTvDefaultFavorites' => 'Default to Favorite Channels',
'settings.liveTvDefaultFavoritesDescription' => 'Show only favorite channels when opening Live TV',
'settings.display' => 'Display',
@@ -5366,9 +5298,6 @@ extension on Translations {
'mediaMenu.playVersion' => 'Play Version...',
'rateSheet.title' => 'Rate',
'rateSheet.server' => 'Server',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Set a score',
'rateSheet.favorite' => 'Favorite',
'rateSheet.favorited' => 'Favorited',
'rateSheet.saved' => 'Saved',
@@ -5382,6 +5311,14 @@ extension on Translations {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} percent watched',
'accessibility.mediaCardUnwatched' => 'unwatched',
'accessibility.tapToPlay' => 'Tap to play',
'accessibility.decrease' => 'Decrease',
'accessibility.increase' => 'Increase',
'accessibility.decreaseValue' => ({required Object label}) => 'Decrease ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Increase ${label}',
'accessibility.hue' => 'Hue',
'accessibility.saturation' => 'Saturation',
'accessibility.brightness' => 'Brightness',
'accessibility.hexColor' => 'Hex color',
'tooltips.shufflePlay' => 'Shuffle play',
'tooltips.playTrailer' => 'Play trailer',
'tooltips.markAsWatched' => 'Mark as watched',
@@ -5423,13 +5360,11 @@ extension on Translations {
'videoControls.settingsButton' => 'Playback Settings',
'videoControls.tracksButton' => 'Audio & Subtitles',
'videoControls.chaptersButton' => 'Chapters',
'videoControls.versionsButton' => 'Video versions',
'videoControls.versionQualityButton' => 'Version & Quality',
'videoControls.versionColumnHeader' => 'Version',
'videoControls.qualityColumnHeader' => 'Quality',
'videoControls.qualityOriginal' => 'Original',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transcoding unavailable — playing original quality',
'videoControls.pipButton' => 'Picture-in-Picture mode',
'videoControls.aspectRatioButton' => 'Aspect ratio',
@@ -5469,10 +5404,6 @@ extension on Translations {
'videoControls.subtitleDownloaded' => 'Subtitle downloaded',
'videoControls.subtitleDownloadFailed' => 'Failed to download subtitle',
'videoControls.searchLanguages' => 'Search languages...',
'userStatus.admin' => 'Admin',
'userStatus.restricted' => 'Restricted',
'userStatus.protected' => 'Protected',
'userStatus.current' => 'CURRENT',
'messages.markedAsWatched' => 'Marked as watched',
'messages.markedAsUnwatched' => 'Marked as unwatched',
'messages.markedAsWatchedOffline' => 'Marked as watched (will sync when online)',
@@ -5481,8 +5412,6 @@ extension on Translations {
'messages.removedFromContinueWatching' => 'Removed from Continue Watching',
'messages.errorLoading' => ({required Object error}) => 'Error: ${error}',
'messages.streamInterrupted' => 'The stream was interrupted. Press play or seek to retry.',
_ => null,
} ?? switch (path) {
'messages.fileInfoNotAvailable' => 'File information not available',
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Error loading file info: ${error}',
'messages.errorLoadingSeries' => 'Error loading series',
@@ -5491,6 +5420,8 @@ extension on Translations {
'messages.noProfilesAvailable' => 'No profiles available',
'messages.contactAdminForProfiles' => 'Contact your server administrator to add profiles',
'messages.unableToDetermineLibrarySection' => 'Unable to determine library section for this item',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Logs cleared',
'messages.logsCopied' => 'Logs copied to clipboard',
'messages.noLogsAvailable' => 'No logs available',
@@ -5607,7 +5538,6 @@ extension on Translations {
'profiles.pinExplain' => '4-digit PIN required to switch profiles.',
'profiles.continueButton' => 'Continue',
'profiles.pinsDontMatch' => 'PINs don\'t match',
'profiles.initializeServicesFailed' => 'Failed to initialize profile services',
'connections.sectionTitle' => 'Connections',
'connections.addConnection' => 'Add connection',
'connections.addConnectionSubtitleNoProfile' => 'Sign in with Plex or connect a Jellyfin server',
@@ -5618,7 +5548,6 @@ extension on Translations {
'connections.editJellyfinTitle' => 'Edit Jellyfin connection',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Add or remove URLs for ${serverName}. Plezy will use the reachable URL with the lowest latency.',
'discover.title' => 'Discover',
'discover.switchProfile' => 'Switch Profile',
'discover.noContentAvailable' => 'No content available',
'discover.addMediaToLibraries' => 'Add some media to your libraries',
'discover.continueWatching' => 'Continue Watching',
@@ -5645,8 +5574,6 @@ extension on Translations {
'errors.connectionFailed' => 'Unable to connect to media server',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Failed to load ${context}: ${error}',
'errors.noClientAvailable' => 'No client available',
'errors.authenticationFailed' => ({required Object error}) => 'Authentication failed: ${error}',
'errors.couldNotLaunchUrl' => 'Could not launch auth URL',
'errors.pleaseEnterToken' => 'Please enter a token',
'errors.invalidToken' => 'Invalid token',
'errors.failedToVerifyToken' => ({required Object error}) => 'Failed to verify token: ${error}',
@@ -5721,7 +5648,6 @@ extension on Translations {
'libraries.sortLabels.communityRating' => 'Community Rating',
'libraries.sortLabels.criticRating' => 'Critic Rating',
'libraries.sortLabels.userRating' => 'User Rating',
'libraries.sortLabels.lastPlayed' => 'Last Played',
'libraries.sortLabels.datePlayed' => 'Date Played',
'libraries.sortLabels.playCount' => 'Play Count',
'libraries.sortLabels.productionYear' => 'Production Year',
@@ -5740,7 +5666,6 @@ extension on Translations {
'about.versionLabel' => ({required Object version}) => 'Version ${version}',
'about.appDescription' => 'A beautiful Plex and Jellyfin client for Flutter',
'about.viewLicensesDescription' => 'View licenses of third-party libraries',
'serverSelection.allServerConnectionsFailed' => 'Couldn\'t connect to any servers. Check your network.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'No servers found for ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Failed to load servers: ${error}',
'hubDetail.title' => 'Title',
@@ -5786,7 +5711,6 @@ extension on Translations {
'explore.watchlistUpdateFailed' => 'Couldn\'t update watchlist',
'explore.notInLibrary' => 'Not in your library',
'explore.inTheseLibraries' => 'In these libraries',
'explore.availableOn' => ({required Object server}) => 'Available on ${server}',
'explore.checkingLibrary' => 'Checking your library...',
'explore.emptyTitle' => 'Nothing here yet',
'explore.emptyMessage' => ({required Object source}) => 'Rows from ${source} will appear here once they have content.',
@@ -5798,6 +5722,8 @@ extension on Translations {
'liveTv.guide' => 'Guide',
'liveTv.noChannels' => 'No channels available',
'liveTv.noDvr' => 'No DVR configured on any server',
'liveTv.serverUnavailable' => 'Live TV server is not available.',
'liveTv.serverNotConnected' => 'Live TV server is not connected.',
'liveTv.noPrograms' => 'No program data available',
'liveTv.liveStreamFailed' => 'Live stream failed',
'liveTv.unknownProgram' => 'Unknown Program',
@@ -5833,7 +5759,6 @@ extension on Translations {
'liveTv.scheduledRecordings' => 'Scheduled',
'liveTv.recordingRules' => 'Recording Rules',
'liveTv.noScheduledRecordings' => 'Nothing scheduled to record',
'liveTv.noRecordingRules' => 'No recording rules yet',
'liveTv.manageRecording' => 'Manage recording',
'liveTv.cancelRecording' => 'Cancel recording',
'liveTv.cancelRecordingTitle' => 'Cancel this recording?',
@@ -5850,7 +5775,6 @@ extension on Translations {
'liveTv.recordingCancelled' => 'Recording cancelled',
'liveTv.recordingRuleDeleted' => 'Recording rule deleted',
'liveTv.processRecordingRules' => 'Re-evaluate rules',
'liveTv.loadingRecordings' => 'Loading recordings...',
'liveTv.recordingInProgress' => 'Recording now',
'liveTv.recordingsCount' => ({required Object count}) => '${count} scheduled',
'liveTv.editRule' => 'Edit rule',
@@ -5862,7 +5786,6 @@ extension on Translations {
'collections.title' => 'Collections',
'collections.collection' => 'Collection',
'collections.empty' => 'Collection is empty',
'collections.unknownLibrarySection' => 'Cannot delete: Unknown library section',
'collections.deleteCollection' => 'Delete Collection',
'collections.deleteConfirm' => ({required Object title}) => 'Delete "${title}"? This can\'t be undone.',
'collections.deleted' => 'Collection deleted',
@@ -5995,8 +5918,6 @@ extension on Translations {
'downloads.title' => 'Downloads',
'downloads.manage' => 'Manage',
'downloads.tvShows' => 'TV Shows',
_ => null,
} ?? switch (path) {
'downloads.movies' => 'Movies',
'downloads.music' => 'Music',
'downloads.tracksQueued' => ({required Object count}) => '${count} tracks queued for download',
@@ -6013,6 +5934,8 @@ extension on Translations {
'downloads.deleteConfirm' => ({required Object title}) => 'Delete "${title}" from this device?',
'downloads.cancelledDownloadTitle' => 'Cancelled Download',
'downloads.cancelledDownloadMessage' => 'This download was cancelled. What would you like to do?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'All episodes already downloaded',
'downloads.resumeDownload' => 'Resume download',
'downloads.cancelledDownload' => 'Cancelled download',
@@ -6036,7 +5959,6 @@ extension on Translations {
'downloads.customAmount' => 'Custom amount...',
'downloads.includeSpecials' => 'Include Specials',
'downloads.howManyEpisodes' => 'How many episodes?',
'downloads.itemsQueued' => ({required Object count}) => '${count} items queued for download',
'downloads.keepSynced' => 'Keep synced',
'downloads.downloadOnce' => 'Download once',
'downloads.keepNUnwatched' => ({required Object count}) => 'Keep ${count} unwatched',
@@ -6080,7 +6002,6 @@ extension on Translations {
'companionRemote.connectedTo' => ({required Object name}) => 'Connected to ${name}',
'companionRemote.unknownDevice' => 'Unknown Device',
'companionRemote.session.startingServer' => 'Starting remote server...',
'companionRemote.session.failedToCreate' => 'Failed to start remote server:',
'companionRemote.session.hostAddress' => 'Host Address',
'companionRemote.session.connected' => 'Connected',
'companionRemote.session.serverRunning' => 'Remote server active',
@@ -6135,6 +6056,8 @@ extension on Translations {
'companionRemote.remote.searchHint' => 'Search on desktop...',
'companionRemote.errors.noNetworkInterface' => 'No network interface found',
'companionRemote.errors.authenticationFailed' => 'Authentication failed',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Failed to start remote server: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Failed to send remote command: ${error}',
'companionRemote.errors.joinTimedOut' => 'Timed out joining session',
'companionRemote.errors.failedToConnectAnyAddress' => 'Failed to connect to any address',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Connection lost after ${attempts} attempts',
@@ -6379,7 +6302,6 @@ extension on Translations {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect failed: ${error}',
'addServer.addPlexTitle' => 'Sign in with Plex',
'addServer.pinExpired' => 'PIN expired before sign-in. Please try again.',
'addServer.duplicatePlexAccount' => 'Already signed in to Plex. Sign out to switch accounts.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Failed to register account: ${error}',
'addServer.enterJellyfinUrlError' => 'Enter your Jellyfin server URL',
'addServer.addConnectionTitle' => 'Add connection',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsEs extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityEs accessibility = _TranslationsAccessibilityEs._(_root);
@override late final _TranslationsTooltipsEs tooltips = _TranslationsTooltipsEs._(_root);
@override late final _TranslationsVideoControlsEs videoControls = _TranslationsVideoControlsEs._(_root);
@override late final _TranslationsUserStatusEs userStatus = _TranslationsUserStatusEs._(_root);
@override late final _TranslationsMessagesEs messages = _TranslationsMessagesEs._(_root);
@override late final _TranslationsSubtitlingStylingEs subtitlingStyling = _TranslationsSubtitlingStylingEs._(_root);
@override late final _TranslationsMpvConfigEs mpvConfig = _TranslationsMpvConfigEs._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthEs extends TranslationsAuthEn {
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get signIn => 'Iniciar sesión';
@override String get signInWithPlex => 'Inicia sesión con Plex';
@override String get showQRCode => 'Mostrar código QR';
@override String get authenticate => 'Autenticar';
@@ -167,10 +165,8 @@ class _TranslationsCommonEs extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Episodio ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Capítulo ${number}';
@override String get reconnect => 'Reconectar';
@override String get exit => 'Salir';
@override String get viewAll => 'Ver todo';
@override String get checkingNetwork => 'Comprobando red...';
@override String get refreshingServers => 'Actualizando servidores...';
@override String get loadingServers => 'Cargando servidores...';
@override String get connectingToServers => 'Conectando a servidores...';
@override String get startingOfflineMode => 'Iniciando modo sin conexión...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Usar tarjetas TV solo con imagen y nombres de actores superpuestos';
@override String get focusGlow => 'Brillo de foco';
@override String get focusGlowDescription => 'Mostrar un brillo suave alrededor de la tarjeta con foco';
@override String get visualEffects => 'Efectos visuales';
@override String get visualEffectsAuto => 'Automático';
@override String get visualEffectsAutoDescription => 'Reduce automáticamente los efectos en dispositivos de bajo consumo';
@override String get visualEffectsFull => 'Completos';
@override String get visualEffectsReduced => 'Reducidos';
@override String get visualEffectsReducedDescription => 'Menos animaciones e ilustraciones de menor resolución';
@override String get hideSpoilers => 'Ocultar spoilers de episodios no vistos';
@override String get hideSpoilersDescription => 'Desenfocar miniaturas y descripciones de episodios no vistos';
@override String get playerBackend => 'Reproductor';
@@ -283,7 +285,7 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Auto (Recomendado)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB de memoria disponible. Un búfer de ${size}MB puede afectar la reproducción.';
@override String get defaultQualityTitle => 'Calidad predeterminada';
@override String get defaultQualityDescription => 'Se utiliza al iniciar la reproducción. Los valores más bajos reducen el ancho de banda.';
@override String get musicQualityTitle => 'Calidad de música';
@override String get subtitleStyling => 'Estilo de Subtítulos';
@override String get subtitleStylingDescription => 'Personalizar la apariencia de los subtítulos';
@override String get smallSkipDuration => 'Salto pequeño';
@@ -377,10 +379,9 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Presencia de Discord';
@override String get discordRichPresenceDescription => 'Mostrar lo que estás viendo en Discord';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Sincronizar historial de visualización con Trakt';
@override String get services => 'Servicios';
@override String get servicesDescription => 'Conecta Trakt, MyAnimeList, Seerr y más';
@override String get manageLibrariesDescription => 'Reordena y oculta bibliotecas';
@override String get companionRemoteServer => 'Servidor de control remoto';
@override String get companionRemoteServerDescription => 'Permitir que dispositivos móviles en tu red controlen esta aplicación';
@override String get autoPip => 'Imagen en imagen automática';
@@ -443,7 +444,6 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Mostrar etiquetas de la barra de navegación';
@override String get showNavBarLabelsDescription => 'Mostrar etiquetas de texto bajo los iconos de la barra de navegación';
@override String get startupSection => 'Sección de inicio';
@override String get startupSectionDescription => 'Elige qué sección abre Plezy al iniciarse';
@override String get liveTvDefaultFavorites => 'Canales favoritos por defecto';
@override String get liveTvDefaultFavoritesDescription => 'Mostrar solo canales favoritos al abrir TV en vivo';
@override String get display => 'Pantalla';
@@ -455,13 +455,6 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Subtítulos y configuración';
@override String get seekAndTiming => 'Búsqueda y tiempo';
@override String get behavior => 'Comportamiento';
@override String get manageLibrariesDescription => 'Reordena y oculta bibliotecas';
@override String get visualEffects => 'Efectos visuales';
@override String get visualEffectsAuto => 'Automático';
@override String get visualEffectsAutoDescription => 'Reduce automáticamente los efectos en dispositivos de bajo consumo';
@override String get visualEffectsFull => 'Completos';
@override String get visualEffectsReduced => 'Reducidos';
@override String get visualEffectsReducedDescription => 'Menos animaciones e ilustraciones de menor resolución';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetEs extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Calificar';
@override String get server => 'Servidor';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Establecer puntuación';
@override String get favorite => 'Favorito';
@override String get favorited => 'Marcado como favorito';
@override String get saved => 'Guardado';
@override String get notAvailable => 'No se encontró coincidencia';
@override String get noConnectedServices => 'Conecta un servicio en Configuración para calificar ahí.';
@override String get favorite => 'Favorito';
@override String get favorited => 'Marcado como favorito';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityEs extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} por ciento visto';
@override String get mediaCardUnwatched => 'no visto';
@override String get tapToPlay => 'Toca para reproducir';
@override String get decrease => 'Disminuir';
@override String get increase => 'Aumentar';
@override String decreaseValue({required Object label}) => 'Disminuir ${label}';
@override String increaseValue({required Object label}) => 'Aumentar ${label}';
@override String get hue => 'Tono';
@override String get saturation => 'Saturación';
@override String get brightness => 'Brillo';
@override String get hexColor => 'Color hexadecimal';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsEs extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Ajustes de reproducción';
@override String get tracksButton => 'Audio y subtítulos';
@override String get chaptersButton => 'Capítulos';
@override String get versionsButton => 'Versiones de video';
@override String get versionQualityButton => 'Versión y calidad';
@override String get versionColumnHeader => 'Versión';
@override String get qualityColumnHeader => 'Calidad';
@override String get qualityOriginal => 'Original';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transcodificación no disponible — reproduciendo calidad original';
@override String get pipButton => 'Modo PiP (Imagen en Imagen)';
@override String get aspectRatioButton => 'Relación de aspecto';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsEs extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Buscar idiomas...';
}
// Path: userStatus
class _TranslationsUserStatusEs extends TranslationsUserStatusEn {
_TranslationsUserStatusEs._(TranslationsEs root) : this._root = root, super.internal(root);
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get admin => 'Administrador';
@override String get restricted => 'Restringido';
@override String get protected => 'Protegido';
@override String get current => 'ACTUAL';
}
// Path: messages
class _TranslationsMessagesEs extends TranslationsMessagesEn {
_TranslationsMessagesEs._(TranslationsEs root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesEs extends TranslationsProfilesEn {
@override String get pinExplain => 'Se requiere PIN de 4 dígitos para cambiar de perfil.';
@override String get continueButton => 'Continuar';
@override String get pinsDontMatch => 'Los PIN no coinciden';
@override String get initializeServicesFailed => 'No se pudieron inicializar los servicios de perfil';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverEs extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Descubrir';
@override String get switchProfile => 'Cambiar Perfil';
@override String get noContentAvailable => 'No hay contenido disponible';
@override String get addMediaToLibraries => 'Añade contenido a tus bibliotecas';
@override String get continueWatching => 'Seguir Viendo';
@@ -938,8 +919,6 @@ class _TranslationsErrorsEs extends TranslationsErrorsEn {
@override String get connectionFailed => 'No se puede conectar al servidor multimedia';
@override String failedToLoad({required Object context, required Object error}) => 'Error al cargar ${context}: ${error}';
@override String get noClientAvailable => 'No hay cliente disponible';
@override String authenticationFailed({required Object error}) => 'Error de autenticación: ${error}';
@override String get couldNotLaunchUrl => 'No se pudo abrir la URL de autenticación';
@override String get pleaseEnterToken => 'Por favor, introduce un token';
@override String get invalidToken => 'Token no válido';
@override String failedToVerifyToken({required Object error}) => 'Error al verificar el token: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesEs extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Todas las bibliotecas están ocultas';
@override String hiddenLibrariesCount({required Object count}) => 'Bibliotecas ocultas (${count})';
@override String get thisLibraryIsEmpty => 'Esta biblioteca está vacía';
@override String get noItemsMatchFilters => 'Ningún elemento coincide con los filtros activos';
@override String get resetFilters => 'Restablecer filtros';
@override String get all => 'Todos';
@override String get clearAll => 'Borrar Todo';
@override String scanLibraryConfirm({required Object title}) => '¿Estás seguro de que quieres escanear "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesEs extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsEs groupings = _TranslationsLibrariesGroupingsEs._(_root);
@override late final _TranslationsLibrariesFilterCategoriesEs filterCategories = _TranslationsLibrariesFilterCategoriesEs._(_root);
@override late final _TranslationsLibrariesSortLabelsEs sortLabels = _TranslationsLibrariesSortLabelsEs._(_root);
@override String get noItemsMatchFilters => 'Ningún elemento coincide con los filtros activos';
@override String get resetFilters => 'Restablecer filtros';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionEs extends TranslationsServerSelectionEn {
final TranslationsEs _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'No se pudo conectar a ningún servidor. Revisa tu red.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'No se encontraron servidores para ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Error al cargar servidores: ${error}';
}
@@ -1102,7 +1080,6 @@ class _TranslationsExploreEs extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'No se pudo actualizar la lista de seguimiento';
@override String get notInLibrary => 'No está en tu biblioteca';
@override String get inTheseLibraries => 'En estas bibliotecas';
@override String availableOn({required Object server}) => 'Disponible en ${server}';
@override String get checkingLibrary => 'Comprobando tu biblioteca...';
@override String get emptyTitle => 'Aquí no hay nada todavía';
@override String emptyMessage({required Object source}) => 'Las filas de ${source} aparecerán aquí cuando tengan contenido.';
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvEs extends TranslationsLiveTvEn {
@override String get guide => 'Guía';
@override String get noChannels => 'No hay canales disponibles';
@override String get noDvr => 'No hay DVR configurado en ningún servidor';
@override String get serverUnavailable => 'El servidor de TV en directo no está disponible.';
@override String get serverNotConnected => 'El servidor de TV en directo no está conectado.';
@override String get noPrograms => 'No hay datos de programación disponibles';
@override String get liveStreamFailed => 'Falló la transmisión en vivo';
@override String get unknownProgram => 'Programa desconocido';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvEs extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Programadas';
@override String get recordingRules => 'Reglas de grabación';
@override String get noScheduledRecordings => 'No hay grabaciones programadas';
@override String get noRecordingRules => 'Aún no hay reglas de grabación';
@override String get manageRecording => 'Gestionar grabación';
@override String get cancelRecording => 'Cancelar grabación';
@override String get cancelRecordingTitle => '¿Cancelar esta grabación?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvEs extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Grabación cancelada';
@override String get recordingRuleDeleted => 'Regla de grabación eliminada';
@override String get processRecordingRules => 'Reevaluar reglas';
@override String get loadingRecordings => 'Cargando grabaciones...';
@override String get recordingInProgress => 'Grabando ahora';
@override String recordingsCount({required Object count}) => '${count} programadas';
@override String get editRule => 'Editar regla';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsEs extends TranslationsCollectionsEn {
@override String get title => 'Colecciones';
@override String get collection => 'Colección';
@override String get empty => 'La colección está vacía';
@override String get unknownLibrarySection => 'No se puede eliminar: Sección de biblioteca desconocida';
@override String get deleteCollection => 'Eliminar Colección';
@override String deleteConfirm({required Object title}) => '¿Eliminar "${title}"? No se puede deshacer.';
@override String get deleted => 'Colección eliminada';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsEs extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Añadido a la lista';
@override String get itemRemoved => 'Eliminado de la lista';
@override String get selectPlaylist => 'Seleccionar Lista';
@override String get searchPlaylists => 'Buscar listas...';
@override String get errorCreating => 'Error al crear la lista';
@override String get errorDeleting => 'Error al eliminar la lista';
@override String get errorLoading => 'Error al cargar las listas';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherEs extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} reanudó';
@override String participantSeeked({required Object name}) => '${name} avanzó';
@override String participantBuffering({required Object name}) => '${name} está cargando';
@override String participantNeedsUpdate({required Object name}) => '${name} usa una versión anterior de la app — sincronización no disponible';
@override String resumingWithout({required Object name}) => 'Reanudando sin ${name}';
@override String get waitingForParticipants => 'Esperando a que otros carguen...';
@override String waitingForName({required Object name}) => 'Esperando a ${name}...';
@override String get recentRooms => 'Salas recientes';
@override String get renameRoom => 'Renombrar sala';
@override String get removeRoom => 'Eliminar';
@override String get guestSwitchUnavailable => 'No se pudo cambiar — servidor no disponible para sincronización';
@override String get guestSwitchFailed => 'No se pudo cambiar — contenido no encontrado en este servidor';
@override String participantNeedsUpdate({required Object name}) => '${name} usa una versión anterior de la app — sincronización no disponible';
@override String resumingWithout({required Object name}) => 'Reanudando sin ${name}';
@override String waitingForName({required Object name}) => 'Esperando a ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsEs extends TranslationsDownloadsEn {
@override String get customAmount => 'Cantidad personalizada...';
@override String get includeSpecials => 'Incluir especiales';
@override String get howManyEpisodes => '¿Cuántos episodios?';
@override String itemsQueued({required Object count}) => '${count} elementos en cola de descarga';
@override String get keepSynced => 'Mantener sincronizado';
@override String get downloadOnce => 'Descargar una vez';
@override String keepNUnwatched({required Object count}) => 'Mantener ${count} sin ver';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerEs extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect ha fallado: ${error}';
@override String get addPlexTitle => 'Iniciar sesión con Plex';
@override String get pinExpired => 'El PIN caducó antes de iniciar sesión. Inténtalo de nuevo.';
@override String get duplicatePlexAccount => 'Ya iniciaste sesión en Plex. Cierra sesión para cambiar de cuenta.';
@override String failedToRegisterAccount({required Object error}) => 'No se pudo registrar la cuenta: ${error}';
@override String get enterJellyfinUrlError => 'Introduce la URL de tu servidor Jellyfin';
@override String get addConnectionTitle => 'Añadir conexión';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsEs extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Calificación de comunidad';
@override String get criticRating => 'Calificación de crítica';
@override String get userRating => 'Calificación del usuario';
@override String get lastPlayed => 'Última reproducción';
@override String get datePlayed => 'Fecha de reproducción';
@override String get playCount => 'Reproducciones';
@override String get productionYear => 'Año de producción';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionEs extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Iniciando servidor remoto...';
@override String get failedToCreate => 'Error al iniciar el servidor remoto:';
@override String get hostAddress => 'Dirección del host';
@override String get connected => 'Conectado';
@override String get serverRunning => 'Servidor remoto activo';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsEs extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'No se encontró ninguna interfaz de red';
@override String get authenticationFailed => 'Autenticación fallida';
@override String serverStartFailed({required Object error}) => 'No se pudo iniciar el servidor remoto: ${error}';
@override String commandFailed({required Object error}) => 'No se pudo enviar el comando remoto: ${error}';
@override String get joinTimedOut => 'Se agotó el tiempo al unirse a la sesión';
@override String get failedToConnectAnyAddress => 'No se pudo conectar a ninguna dirección';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Conexión perdida tras ${attempts} intentos';
@@ -2123,7 +2098,6 @@ extension on TranslationsEs {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Iniciar sesión',
'auth.signInWithPlex' => 'Inicia sesión con Plex',
'auth.showQRCode' => 'Mostrar código QR',
'auth.authenticate' => 'Autenticar',
@@ -2174,10 +2148,8 @@ extension on TranslationsEs {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Episodio ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Capítulo ${number}',
'common.reconnect' => 'Reconectar',
'common.exit' => 'Salir',
'common.viewAll' => 'Ver todo',
'common.checkingNetwork' => 'Comprobando red...',
'common.refreshingServers' => 'Actualizando servidores...',
'common.loadingServers' => 'Cargando servidores...',
'common.connectingToServers' => 'Conectando a servidores...',
'common.startingOfflineMode' => 'Iniciando modo sin conexión...',
@@ -2251,6 +2223,12 @@ extension on TranslationsEs {
'settings.tvFullCardLayoutDescription' => 'Usar tarjetas TV solo con imagen y nombres de actores superpuestos',
'settings.focusGlow' => 'Brillo de foco',
'settings.focusGlowDescription' => 'Mostrar un brillo suave alrededor de la tarjeta con foco',
'settings.visualEffects' => 'Efectos visuales',
'settings.visualEffectsAuto' => 'Automático',
'settings.visualEffectsAutoDescription' => 'Reduce automáticamente los efectos en dispositivos de bajo consumo',
'settings.visualEffectsFull' => 'Completos',
'settings.visualEffectsReduced' => 'Reducidos',
'settings.visualEffectsReducedDescription' => 'Menos animaciones e ilustraciones de menor resolución',
'settings.hideSpoilers' => 'Ocultar spoilers de episodios no vistos',
'settings.hideSpoilersDescription' => 'Desenfocar miniaturas y descripciones de episodios no vistos',
'settings.playerBackend' => 'Reproductor',
@@ -2263,7 +2241,7 @@ extension on TranslationsEs {
'settings.bufferSizeAuto' => 'Auto (Recomendado)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB de memoria disponible. Un búfer de ${size}MB puede afectar la reproducción.',
'settings.defaultQualityTitle' => 'Calidad predeterminada',
'settings.defaultQualityDescription' => 'Se utiliza al iniciar la reproducción. Los valores más bajos reducen el ancho de banda.',
'settings.musicQualityTitle' => 'Calidad de música',
'settings.subtitleStyling' => 'Estilo de Subtítulos',
'settings.subtitleStylingDescription' => 'Personalizar la apariencia de los subtítulos',
'settings.smallSkipDuration' => 'Salto pequeño',
@@ -2357,10 +2335,9 @@ extension on TranslationsEs {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Presencia de Discord',
'settings.discordRichPresenceDescription' => 'Mostrar lo que estás viendo en Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Sincronizar historial de visualización con Trakt',
'settings.services' => 'Servicios',
'settings.servicesDescription' => 'Conecta Trakt, MyAnimeList, Seerr y más',
'settings.manageLibrariesDescription' => 'Reordena y oculta bibliotecas',
'settings.companionRemoteServer' => 'Servidor de control remoto',
'settings.companionRemoteServerDescription' => 'Permitir que dispositivos móviles en tu red controlen esta aplicación',
'settings.autoPip' => 'Imagen en imagen automática',
@@ -2423,7 +2400,6 @@ extension on TranslationsEs {
'settings.showNavBarLabels' => 'Mostrar etiquetas de la barra de navegación',
'settings.showNavBarLabelsDescription' => 'Mostrar etiquetas de texto bajo los iconos de la barra de navegación',
'settings.startupSection' => 'Sección de inicio',
'settings.startupSectionDescription' => 'Elige qué sección abre Plezy al iniciarse',
'settings.liveTvDefaultFavorites' => 'Canales favoritos por defecto',
'settings.liveTvDefaultFavoritesDescription' => 'Mostrar solo canales favoritos al abrir TV en vivo',
'settings.display' => 'Pantalla',
@@ -2435,13 +2411,6 @@ extension on TranslationsEs {
'settings.subtitlesAndConfig' => 'Subtítulos y configuración',
'settings.seekAndTiming' => 'Búsqueda y tiempo',
'settings.behavior' => 'Comportamiento',
'settings.manageLibrariesDescription' => 'Reordena y oculta bibliotecas',
'settings.visualEffects' => 'Efectos visuales',
'settings.visualEffectsAuto' => 'Automático',
'settings.visualEffectsAutoDescription' => 'Reduce automáticamente los efectos en dispositivos de bajo consumo',
'settings.visualEffectsFull' => 'Completos',
'settings.visualEffectsReduced' => 'Reducidos',
'settings.visualEffectsReducedDescription' => 'Menos animaciones e ilustraciones de menor resolución',
'search.hint' => 'Buscar películas, series, música...',
'search.tryDifferentTerm' => 'Prueba con un término de búsqueda diferente',
'search.searchYourMedia' => 'Busca en tu contenido',
@@ -2518,14 +2487,11 @@ extension on TranslationsEs {
'mediaMenu.playVersion' => 'Reproducir versión...',
'rateSheet.title' => 'Calificar',
'rateSheet.server' => 'Servidor',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Establecer puntuación',
'rateSheet.favorite' => 'Favorito',
'rateSheet.favorited' => 'Marcado como favorito',
'rateSheet.saved' => 'Guardado',
'rateSheet.notAvailable' => 'No se encontró coincidencia',
'rateSheet.noConnectedServices' => 'Conecta un servicio en Configuración para calificar ahí.',
'rateSheet.favorite' => 'Favorito',
'rateSheet.favorited' => 'Marcado como favorito',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, película',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, serie de TV',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsEs {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} por ciento visto',
'accessibility.mediaCardUnwatched' => 'no visto',
'accessibility.tapToPlay' => 'Toca para reproducir',
'accessibility.decrease' => 'Disminuir',
'accessibility.increase' => 'Aumentar',
'accessibility.decreaseValue' => ({required Object label}) => 'Disminuir ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Aumentar ${label}',
'accessibility.hue' => 'Tono',
'accessibility.saturation' => 'Saturación',
'accessibility.brightness' => 'Brillo',
'accessibility.hexColor' => 'Color hexadecimal',
'tooltips.shufflePlay' => 'Reproducción aleatoria',
'tooltips.playTrailer' => 'Reproducir tráiler',
'tooltips.markAsWatched' => 'Marcar como visto',
@@ -2575,13 +2549,11 @@ extension on TranslationsEs {
'videoControls.settingsButton' => 'Ajustes de reproducción',
'videoControls.tracksButton' => 'Audio y subtítulos',
'videoControls.chaptersButton' => 'Capítulos',
'videoControls.versionsButton' => 'Versiones de video',
'videoControls.versionQualityButton' => 'Versión y calidad',
'videoControls.versionColumnHeader' => 'Versión',
'videoControls.qualityColumnHeader' => 'Calidad',
'videoControls.qualityOriginal' => 'Original',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transcodificación no disponible — reproduciendo calidad original',
'videoControls.pipButton' => 'Modo PiP (Imagen en Imagen)',
'videoControls.aspectRatioButton' => 'Relación de aspecto',
@@ -2621,10 +2593,6 @@ extension on TranslationsEs {
'videoControls.subtitleDownloaded' => 'Subtítulo descargado',
'videoControls.subtitleDownloadFailed' => 'Error al descargar subtítulo',
'videoControls.searchLanguages' => 'Buscar idiomas...',
'userStatus.admin' => 'Administrador',
'userStatus.restricted' => 'Restringido',
'userStatus.protected' => 'Protegido',
'userStatus.current' => 'ACTUAL',
'messages.markedAsWatched' => 'Marcado como visto',
'messages.markedAsUnwatched' => 'Marcado como no visto',
'messages.markedAsWatchedOffline' => 'Marcado como visto (se sincronizará al estar en línea)',
@@ -2634,8 +2602,6 @@ extension on TranslationsEs {
'messages.errorLoading' => ({required Object error}) => 'Error: ${error}',
'messages.streamInterrupted' => 'La reproducción se interrumpió. Pulsa reproducir o avanza para volver a intentarlo.',
'messages.fileInfoNotAvailable' => 'Información de archivo no disponible',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Error al cargar info de archivo: ${error}',
'messages.errorLoadingSeries' => 'Error al cargar la serie',
'messages.musicNotSupported' => 'La reproducción de música aún no está soportada',
@@ -2643,6 +2609,8 @@ extension on TranslationsEs {
'messages.noProfilesAvailable' => 'No hay perfiles disponibles',
'messages.contactAdminForProfiles' => 'Contacta a tu administrador del servidor para añadir perfiles',
'messages.unableToDetermineLibrarySection' => 'No se puede determinar la sección de biblioteca para este elemento',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Logs borrados',
'messages.logsCopied' => 'Logs copiados al portapapeles',
'messages.noLogsAvailable' => 'No hay logs disponibles',
@@ -2759,7 +2727,6 @@ extension on TranslationsEs {
'profiles.pinExplain' => 'Se requiere PIN de 4 dígitos para cambiar de perfil.',
'profiles.continueButton' => 'Continuar',
'profiles.pinsDontMatch' => 'Los PIN no coinciden',
'profiles.initializeServicesFailed' => 'No se pudieron inicializar los servicios de perfil',
'connections.sectionTitle' => 'Conexiones',
'connections.addConnection' => 'Añadir conexión',
'connections.addConnectionSubtitleNoProfile' => 'Inicia sesión con Plex o conecta un servidor de Jellyfin',
@@ -2770,7 +2737,6 @@ extension on TranslationsEs {
'connections.editJellyfinTitle' => 'Editar conexión de Jellyfin',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Añade o elimina URL para ${serverName}. Plezy usará la URL accesible con menor latencia.',
'discover.title' => 'Descubrir',
'discover.switchProfile' => 'Cambiar Perfil',
'discover.noContentAvailable' => 'No hay contenido disponible',
'discover.addMediaToLibraries' => 'Añade contenido a tus bibliotecas',
'discover.continueWatching' => 'Seguir Viendo',
@@ -2797,8 +2763,6 @@ extension on TranslationsEs {
'errors.connectionFailed' => 'No se puede conectar al servidor multimedia',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Error al cargar ${context}: ${error}',
'errors.noClientAvailable' => 'No hay cliente disponible',
'errors.authenticationFailed' => ({required Object error}) => 'Error de autenticación: ${error}',
'errors.couldNotLaunchUrl' => 'No se pudo abrir la URL de autenticación',
'errors.pleaseEnterToken' => 'Por favor, introduce un token',
'errors.invalidToken' => 'Token no válido',
'errors.failedToVerifyToken' => ({required Object error}) => 'Error al verificar el token: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsEs {
'libraries.allLibrariesHidden' => 'Todas las bibliotecas están ocultas',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Bibliotecas ocultas (${count})',
'libraries.thisLibraryIsEmpty' => 'Esta biblioteca está vacía',
'libraries.noItemsMatchFilters' => 'Ningún elemento coincide con los filtros activos',
'libraries.resetFilters' => 'Restablecer filtros',
'libraries.all' => 'Todos',
'libraries.clearAll' => 'Borrar Todo',
'libraries.scanLibraryConfirm' => ({required Object title}) => '¿Estás seguro de que quieres escanear "${title}"?',
@@ -2871,7 +2837,6 @@ extension on TranslationsEs {
'libraries.sortLabels.communityRating' => 'Calificación de comunidad',
'libraries.sortLabels.criticRating' => 'Calificación de crítica',
'libraries.sortLabels.userRating' => 'Calificación del usuario',
'libraries.sortLabels.lastPlayed' => 'Última reproducción',
'libraries.sortLabels.datePlayed' => 'Fecha de reproducción',
'libraries.sortLabels.playCount' => 'Reproducciones',
'libraries.sortLabels.productionYear' => 'Año de producción',
@@ -2885,14 +2850,11 @@ extension on TranslationsEs {
'libraries.sortLabels.dateShared' => 'Fecha de compartición',
'libraries.sortLabels.latestEpisodeAirDate' => 'Última fecha de emisión del episodio',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Fecha de adición del último episodio',
'libraries.noItemsMatchFilters' => 'Ningún elemento coincide con los filtros activos',
'libraries.resetFilters' => 'Restablecer filtros',
'about.title' => 'Acerca de',
'about.openSourceLicenses' => 'Licencias de Código Abierto',
'about.versionLabel' => ({required Object version}) => 'Versión ${version}',
'about.appDescription' => 'Un cliente de Plex y Jellyfin para Flutter',
'about.viewLicensesDescription' => 'Ver licencias de librerías de terceros',
'serverSelection.allServerConnectionsFailed' => 'No se pudo conectar a ningún servidor. Revisa tu red.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'No se encontraron servidores para ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Error al cargar servidores: ${error}',
'hubDetail.title' => 'Título',
@@ -2938,7 +2900,6 @@ extension on TranslationsEs {
'explore.watchlistUpdateFailed' => 'No se pudo actualizar la lista de seguimiento',
'explore.notInLibrary' => 'No está en tu biblioteca',
'explore.inTheseLibraries' => 'En estas bibliotecas',
'explore.availableOn' => ({required Object server}) => 'Disponible en ${server}',
'explore.checkingLibrary' => 'Comprobando tu biblioteca...',
'explore.emptyTitle' => 'Aquí no hay nada todavía',
'explore.emptyMessage' => ({required Object source}) => 'Las filas de ${source} aparecerán aquí cuando tengan contenido.',
@@ -2950,6 +2911,8 @@ extension on TranslationsEs {
'liveTv.guide' => 'Guía',
'liveTv.noChannels' => 'No hay canales disponibles',
'liveTv.noDvr' => 'No hay DVR configurado en ningún servidor',
'liveTv.serverUnavailable' => 'El servidor de TV en directo no está disponible.',
'liveTv.serverNotConnected' => 'El servidor de TV en directo no está conectado.',
'liveTv.noPrograms' => 'No hay datos de programación disponibles',
'liveTv.liveStreamFailed' => 'Falló la transmisión en vivo',
'liveTv.unknownProgram' => 'Programa desconocido',
@@ -2985,7 +2948,6 @@ extension on TranslationsEs {
'liveTv.scheduledRecordings' => 'Programadas',
'liveTv.recordingRules' => 'Reglas de grabación',
'liveTv.noScheduledRecordings' => 'No hay grabaciones programadas',
'liveTv.noRecordingRules' => 'Aún no hay reglas de grabación',
'liveTv.manageRecording' => 'Gestionar grabación',
'liveTv.cancelRecording' => 'Cancelar grabación',
'liveTv.cancelRecordingTitle' => '¿Cancelar esta grabación?',
@@ -3002,7 +2964,6 @@ extension on TranslationsEs {
'liveTv.recordingCancelled' => 'Grabación cancelada',
'liveTv.recordingRuleDeleted' => 'Regla de grabación eliminada',
'liveTv.processRecordingRules' => 'Reevaluar reglas',
'liveTv.loadingRecordings' => 'Cargando grabaciones...',
'liveTv.recordingInProgress' => 'Grabando ahora',
'liveTv.recordingsCount' => ({required Object count}) => '${count} programadas',
'liveTv.editRule' => 'Editar regla',
@@ -3014,7 +2975,6 @@ extension on TranslationsEs {
'collections.title' => 'Colecciones',
'collections.collection' => 'Colección',
'collections.empty' => 'La colección está vacía',
'collections.unknownLibrarySection' => 'No se puede eliminar: Sección de biblioteca desconocida',
'collections.deleteCollection' => 'Eliminar Colección',
'collections.deleteConfirm' => ({required Object title}) => '¿Eliminar "${title}"? No se puede deshacer.',
'collections.deleted' => 'Colección eliminada',
@@ -3052,6 +3012,7 @@ extension on TranslationsEs {
'playlists.itemAdded' => 'Añadido a la lista',
'playlists.itemRemoved' => 'Eliminado de la lista',
'playlists.selectPlaylist' => 'Seleccionar Lista',
'playlists.searchPlaylists' => 'Buscar listas...',
'playlists.errorCreating' => 'Error al crear la lista',
'playlists.errorDeleting' => 'Error al eliminar la lista',
'playlists.errorLoading' => 'Error al cargar las listas',
@@ -3134,22 +3095,20 @@ extension on TranslationsEs {
'watchTogether.participantResumed' => ({required Object name}) => '${name} reanudó',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} avanzó',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} está cargando',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} usa una versión anterior de la app — sincronización no disponible',
'watchTogether.resumingWithout' => ({required Object name}) => 'Reanudando sin ${name}',
'watchTogether.waitingForParticipants' => 'Esperando a que otros carguen...',
'watchTogether.waitingForName' => ({required Object name}) => 'Esperando a ${name}...',
'watchTogether.recentRooms' => 'Salas recientes',
'watchTogether.renameRoom' => 'Renombrar sala',
'watchTogether.removeRoom' => 'Eliminar',
'watchTogether.guestSwitchUnavailable' => 'No se pudo cambiar — servidor no disponible para sincronización',
'watchTogether.guestSwitchFailed' => 'No se pudo cambiar — contenido no encontrado en este servidor',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} usa una versión anterior de la app — sincronización no disponible',
'watchTogether.resumingWithout' => ({required Object name}) => 'Reanudando sin ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Esperando a ${name}...',
'downloads.title' => 'Descargas',
'downloads.manage' => 'Gestionar',
'downloads.tvShows' => 'Series de TV',
'downloads.movies' => 'Películas',
'downloads.music' => 'Música',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} canciones en cola para descargar',
'downloads.noDownloads' => 'No hay descargas aún',
'downloads.noDownloadsDescription' => 'El contenido descargado aparecerá aquí para verlo sin conexión',
@@ -3164,6 +3123,8 @@ extension on TranslationsEs {
'downloads.deleteConfirm' => ({required Object title}) => '¿Eliminar "${title}" de este dispositivo?',
'downloads.cancelledDownloadTitle' => 'Descarga cancelada',
'downloads.cancelledDownloadMessage' => 'Esta descarga se canceló. ¿Qué quieres hacer?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Todos los episodios ya están descargados',
'downloads.resumeDownload' => 'Reanudar descarga',
'downloads.cancelledDownload' => 'Descarga cancelada',
@@ -3187,7 +3148,6 @@ extension on TranslationsEs {
'downloads.customAmount' => 'Cantidad personalizada...',
'downloads.includeSpecials' => 'Incluir especiales',
'downloads.howManyEpisodes' => '¿Cuántos episodios?',
'downloads.itemsQueued' => ({required Object count}) => '${count} elementos en cola de descarga',
'downloads.keepSynced' => 'Mantener sincronizado',
'downloads.downloadOnce' => 'Descargar una vez',
'downloads.keepNUnwatched' => ({required Object count}) => 'Mantener ${count} sin ver',
@@ -3231,7 +3191,6 @@ extension on TranslationsEs {
'companionRemote.connectedTo' => ({required Object name}) => 'Conectado a ${name}',
'companionRemote.unknownDevice' => 'Dispositivo desconocido',
'companionRemote.session.startingServer' => 'Iniciando servidor remoto...',
'companionRemote.session.failedToCreate' => 'Error al iniciar el servidor remoto:',
'companionRemote.session.hostAddress' => 'Dirección del host',
'companionRemote.session.connected' => 'Conectado',
'companionRemote.session.serverRunning' => 'Servidor remoto activo',
@@ -3286,6 +3245,8 @@ extension on TranslationsEs {
'companionRemote.remote.searchHint' => 'Buscar en escritorio...',
'companionRemote.errors.noNetworkInterface' => 'No se encontró ninguna interfaz de red',
'companionRemote.errors.authenticationFailed' => 'Autenticación fallida',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'No se pudo iniciar el servidor remoto: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'No se pudo enviar el comando remoto: ${error}',
'companionRemote.errors.joinTimedOut' => 'Se agotó el tiempo al unirse a la sesión',
'companionRemote.errors.failedToConnectAnyAddress' => 'No se pudo conectar a ninguna dirección',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Conexión perdida tras ${attempts} intentos',
@@ -3530,7 +3491,6 @@ extension on TranslationsEs {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect ha fallado: ${error}',
'addServer.addPlexTitle' => 'Iniciar sesión con Plex',
'addServer.pinExpired' => 'El PIN caducó antes de iniciar sesión. Inténtalo de nuevo.',
'addServer.duplicatePlexAccount' => 'Ya iniciaste sesión en Plex. Cierra sesión para cambiar de cuenta.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'No se pudo registrar la cuenta: ${error}',
'addServer.enterJellyfinUrlError' => 'Introduce la URL de tu servidor Jellyfin',
'addServer.addConnectionTitle' => 'Añadir conexión',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsFr extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityFr accessibility = _TranslationsAccessibilityFr._(_root);
@override late final _TranslationsTooltipsFr tooltips = _TranslationsTooltipsFr._(_root);
@override late final _TranslationsVideoControlsFr videoControls = _TranslationsVideoControlsFr._(_root);
@override late final _TranslationsUserStatusFr userStatus = _TranslationsUserStatusFr._(_root);
@override late final _TranslationsMessagesFr messages = _TranslationsMessagesFr._(_root);
@override late final _TranslationsSubtitlingStylingFr subtitlingStyling = _TranslationsSubtitlingStylingFr._(_root);
@override late final _TranslationsMpvConfigFr mpvConfig = _TranslationsMpvConfigFr._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthFr extends TranslationsAuthEn {
final TranslationsFr _root; // ignore: unused_field
// Translations
@override String get signIn => 'Se connecter';
@override String get signInWithPlex => 'S\'inscrire avec Plex';
@override String get showQRCode => 'Afficher le QR Code';
@override String get authenticate => 'S\'authentifier';
@@ -167,10 +165,8 @@ class _TranslationsCommonFr extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Épisode ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Chapitre ${number}';
@override String get reconnect => 'Reconnecter';
@override String get exit => 'Quitter';
@override String get viewAll => 'Tout afficher';
@override String get checkingNetwork => 'Vérification du réseau...';
@override String get refreshingServers => 'Actualisation des serveurs...';
@override String get loadingServers => 'Chargement des serveurs...';
@override String get connectingToServers => 'Connexion aux serveurs...';
@override String get startingOfflineMode => 'Démarrage en mode hors-ligne...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Utiliser des cartes TV avec image seule et noms des acteurs superposés';
@override String get focusGlow => 'Halo de sélection';
@override String get focusGlowDescription => 'Afficher un léger halo autour de la carte sélectionnée';
@override String get visualEffects => 'Effets visuels';
@override String get visualEffectsAuto => 'Automatique';
@override String get visualEffectsAutoDescription => 'Réduire automatiquement les effets sur les appareils peu puissants';
@override String get visualEffectsFull => 'Complets';
@override String get visualEffectsReduced => 'Réduits';
@override String get visualEffectsReducedDescription => 'Moins danimations et dillustrations de plus faible résolution';
@override String get hideSpoilers => 'Masquer les spoilers des épisodes non vus';
@override String get hideSpoilersDescription => 'Flouter les miniatures et descriptions des épisodes non vus';
@override String get playerBackend => 'Moteur de lecture';
@@ -283,7 +285,7 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Auto (Recommandé)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB de mémoire disponible. Un tampon de ${size}MB peut affecter la lecture.';
@override String get defaultQualityTitle => 'Qualité par défaut';
@override String get defaultQualityDescription => 'Utilisé au démarrage de la lecture. Les valeurs plus basses réduisent la bande passante.';
@override String get musicQualityTitle => 'Qualité de la musique';
@override String get subtitleStyling => 'Stylisation des sous-titres';
@override String get subtitleStylingDescription => 'Personnaliser l\'apparence des sous-titres';
@override String get smallSkipDuration => 'Durée du petit saut';
@@ -377,10 +379,9 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Montrez ce que vous regardez sur Discord';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Synchroniser l\'historique de visionnage avec Trakt';
@override String get services => 'Services';
@override String get servicesDescription => 'Connectez Trakt, MyAnimeList, Seerr et plus';
@override String get manageLibrariesDescription => 'Réorganiser et masquer les bibliothèques';
@override String get companionRemoteServer => 'Serveur de télécommande';
@override String get companionRemoteServerDescription => 'Autoriser les appareils mobiles de votre réseau à contrôler cette application';
@override String get autoPip => 'Image dans l\'image automatique';
@@ -443,7 +444,6 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Afficher les libellés de la barre de navigation';
@override String get showNavBarLabelsDescription => 'Afficher les libellés sous les icônes de la barre de navigation';
@override String get startupSection => 'Section de démarrage';
@override String get startupSectionDescription => 'Choisissez la section que Plezy ouvre au démarrage';
@override String get liveTvDefaultFavorites => 'Chaînes favorites par défaut';
@override String get liveTvDefaultFavoritesDescription => 'Afficher uniquement les chaînes favorites à l\'ouverture de la TV en direct';
@override String get display => 'Affichage';
@@ -455,13 +455,6 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Sous-titres et configuration';
@override String get seekAndTiming => 'Recherche et minutage';
@override String get behavior => 'Comportement';
@override String get manageLibrariesDescription => 'Réorganiser et masquer les bibliothèques';
@override String get visualEffects => 'Effets visuels';
@override String get visualEffectsAuto => 'Automatique';
@override String get visualEffectsAutoDescription => 'Réduire automatiquement les effets sur les appareils peu puissants';
@override String get visualEffectsFull => 'Complets';
@override String get visualEffectsReduced => 'Réduits';
@override String get visualEffectsReducedDescription => 'Moins danimations et dillustrations de plus faible résolution';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetFr extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Noter';
@override String get server => 'Serveur';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Définir une note';
@override String get favorite => 'Favori';
@override String get favorited => 'Ajouté aux favoris';
@override String get saved => 'Enregistré';
@override String get notAvailable => 'Aucune correspondance trouvée';
@override String get noConnectedServices => 'Connectez un service dans les Réglages pour noter ici.';
@override String get favorite => 'Favori';
@override String get favorited => 'Ajouté aux favoris';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityFr extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} pourcentage visionné';
@override String get mediaCardUnwatched => 'non visionné';
@override String get tapToPlay => 'Appuyez pour lire';
@override String get decrease => 'Diminuer';
@override String get increase => 'Augmenter';
@override String decreaseValue({required Object label}) => 'Diminuer ${label}';
@override String increaseValue({required Object label}) => 'Augmenter ${label}';
@override String get hue => 'Teinte';
@override String get saturation => 'Saturation';
@override String get brightness => 'Luminosité';
@override String get hexColor => 'Couleur hexadécimale';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsFr extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Paramètres de lecture';
@override String get tracksButton => 'Audio et sous-titres';
@override String get chaptersButton => 'Chapitres';
@override String get versionsButton => 'Versions vidéo';
@override String get versionQualityButton => 'Version et qualité';
@override String get versionColumnHeader => 'Version';
@override String get qualityColumnHeader => 'Qualité';
@override String get qualityOriginal => 'Originale';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transcodage indisponible — lecture en qualité originale';
@override String get pipButton => 'Mode PiP (Picture-in-Picture)';
@override String get aspectRatioButton => 'Format d\'image';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsFr extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Rechercher des langues...';
}
// Path: userStatus
class _TranslationsUserStatusFr extends TranslationsUserStatusEn {
_TranslationsUserStatusFr._(TranslationsFr root) : this._root = root, super.internal(root);
final TranslationsFr _root; // ignore: unused_field
// Translations
@override String get admin => 'Admin';
@override String get restricted => 'Restreint';
@override String get protected => 'Protégé';
@override String get current => 'ACTUEL';
}
// Path: messages
class _TranslationsMessagesFr extends TranslationsMessagesEn {
_TranslationsMessagesFr._(TranslationsFr root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesFr extends TranslationsProfilesEn {
@override String get pinExplain => 'PIN à 4 chiffres requis pour changer de profil.';
@override String get continueButton => 'Continuer';
@override String get pinsDontMatch => 'Les PIN ne correspondent pas';
@override String get initializeServicesFailed => 'Impossible dinitialiser les services de profil';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverFr extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Découvrez';
@override String get switchProfile => 'Changer de profil';
@override String get noContentAvailable => 'Aucun contenu disponible';
@override String get addMediaToLibraries => 'Ajoutez des médias à votre bibliothèque';
@override String get continueWatching => 'Continuer à regarder';
@@ -938,8 +919,6 @@ class _TranslationsErrorsFr extends TranslationsErrorsEn {
@override String get connectionFailed => 'Impossible de se connecter au serveur multimédia';
@override String failedToLoad({required Object context, required Object error}) => 'Échec du chargement ${context}: ${error}';
@override String get noClientAvailable => 'Aucun client disponible';
@override String authenticationFailed({required Object error}) => 'Échec de l\'authentification: ${error}';
@override String get couldNotLaunchUrl => 'Impossible de lancer l\'URL d\'authentification';
@override String get pleaseEnterToken => 'Veuillez saisir un token';
@override String get invalidToken => 'Token invalide';
@override String failedToVerifyToken({required Object error}) => 'Échec de la vérification du token: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesFr extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Toutes les bibliothèques sont masquées';
@override String hiddenLibrariesCount({required Object count}) => 'Bibliothèques masquées (${count})';
@override String get thisLibraryIsEmpty => 'Cette bibliothèque est vide';
@override String get noItemsMatchFilters => 'Aucun élément ne correspond aux filtres actifs';
@override String get resetFilters => 'Réinitialiser les filtres';
@override String get all => 'Tout';
@override String get clearAll => 'Tout effacer';
@override String scanLibraryConfirm({required Object title}) => 'Êtes-vous sûr de vouloir lancer le scan de "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesFr extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsFr groupings = _TranslationsLibrariesGroupingsFr._(_root);
@override late final _TranslationsLibrariesFilterCategoriesFr filterCategories = _TranslationsLibrariesFilterCategoriesFr._(_root);
@override late final _TranslationsLibrariesSortLabelsFr sortLabels = _TranslationsLibrariesSortLabelsFr._(_root);
@override String get noItemsMatchFilters => 'Aucun élément ne correspond aux filtres actifs';
@override String get resetFilters => 'Réinitialiser les filtres';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionFr extends TranslationsServerSelectionEn {
final TranslationsFr _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Connexion impossible à tous les serveurs. Vérifiez votre réseau.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Aucun serveur trouvé pour ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Échec du chargement des serveurs: ${error}';
}
@@ -1102,7 +1080,6 @@ class _TranslationsExploreFr extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Impossible de mettre à jour la liste de suivi';
@override String get notInLibrary => 'Absent de votre bibliothèque';
@override String get inTheseLibraries => 'Dans ces bibliothèques';
@override String availableOn({required Object server}) => 'Disponible sur ${server}';
@override String get checkingLibrary => 'Vérification de votre bibliothèque...';
@override String get emptyTitle => 'Rien ici pour l\'instant';
@override String emptyMessage({required Object source}) => 'Les rangées de ${source} apparaîtront ici une fois qu\'elles auront du contenu.';
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvFr extends TranslationsLiveTvEn {
@override String get guide => 'Guide';
@override String get noChannels => 'Aucune chaîne disponible';
@override String get noDvr => 'Aucun DVR configuré sur les serveurs';
@override String get serverUnavailable => 'Le serveur de TV en direct nest pas disponible.';
@override String get serverNotConnected => 'Le serveur de TV en direct nest pas connecté.';
@override String get noPrograms => 'Aucune donnée de programme disponible';
@override String get liveStreamFailed => 'Échec du direct';
@override String get unknownProgram => 'Programme inconnu';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvFr extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Programmés';
@override String get recordingRules => 'Règles d\'enregistrement';
@override String get noScheduledRecordings => 'Aucun enregistrement programmé';
@override String get noRecordingRules => 'Aucune règle d\'enregistrement';
@override String get manageRecording => 'Gérer l\'enregistrement';
@override String get cancelRecording => 'Annuler l\'enregistrement';
@override String get cancelRecordingTitle => 'Annuler cet enregistrement ?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvFr extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Enregistrement annulé';
@override String get recordingRuleDeleted => 'Règle d\'enregistrement supprimée';
@override String get processRecordingRules => 'Réévaluer les règles';
@override String get loadingRecordings => 'Chargement des enregistrements...';
@override String get recordingInProgress => 'Enregistrement en cours';
@override String recordingsCount({required Object count}) => '${count} programmés';
@override String get editRule => 'Modifier la règle';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsFr extends TranslationsCollectionsEn {
@override String get title => 'Collections';
@override String get collection => 'Collection';
@override String get empty => 'La collection est vide';
@override String get unknownLibrarySection => 'Impossible de supprimer : section de bibliothèque inconnue';
@override String get deleteCollection => 'Supprimer la collection';
@override String deleteConfirm({required Object title}) => 'Supprimer "${title}" ? Action irréversible.';
@override String get deleted => 'Collection supprimée';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsFr extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Ajouté à la playlist';
@override String get itemRemoved => 'Retiré de la playlist';
@override String get selectPlaylist => 'Sélectionner une playlist';
@override String get searchPlaylists => 'Rechercher des playlists...';
@override String get errorCreating => 'Échec de la création de playlist';
@override String get errorDeleting => 'Échec de suppression de playlist';
@override String get errorLoading => 'Échec de chargement de playlists';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherFr extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} a repris';
@override String participantSeeked({required Object name}) => '${name} a avancé';
@override String participantBuffering({required Object name}) => '${name} met en mémoire tampon';
@override String participantNeedsUpdate({required Object name}) => '${name} utilise une ancienne version de lapp — synchronisation indisponible';
@override String resumingWithout({required Object name}) => 'Reprise sans ${name}';
@override String get waitingForParticipants => 'En attente du chargement des autres...';
@override String waitingForName({required Object name}) => 'En attente de ${name}...';
@override String get recentRooms => 'Salons récents';
@override String get renameRoom => 'Renommer le salon';
@override String get removeRoom => 'Supprimer';
@override String get guestSwitchUnavailable => 'Impossible de changer — serveur indisponible pour la synchronisation';
@override String get guestSwitchFailed => 'Impossible de changer — contenu introuvable sur ce serveur';
@override String participantNeedsUpdate({required Object name}) => '${name} utilise une ancienne version de lapp — synchronisation indisponible';
@override String resumingWithout({required Object name}) => 'Reprise sans ${name}';
@override String waitingForName({required Object name}) => 'En attente de ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsFr extends TranslationsDownloadsEn {
@override String get customAmount => 'Quantité personnalisée...';
@override String get includeSpecials => 'Inclure les spéciaux';
@override String get howManyEpisodes => 'Combien d\'épisodes ?';
@override String itemsQueued({required Object count}) => '${count} éléments mis en file d\'attente';
@override String get keepSynced => 'Garder synchronisé';
@override String get downloadOnce => 'Télécharger une fois';
@override String keepNUnwatched({required Object count}) => 'Garder ${count} non vus';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerFr extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Échec de Quick Connect : ${error}';
@override String get addPlexTitle => 'Se connecter avec Plex';
@override String get pinExpired => 'Le PIN a expiré avant la connexion. Veuillez réessayer.';
@override String get duplicatePlexAccount => 'Déjà connecté à Plex. Déconnectez-vous pour changer de compte.';
@override String failedToRegisterAccount({required Object error}) => 'Échec de l\'enregistrement du compte : ${error}';
@override String get enterJellyfinUrlError => 'Saisissez l\'URL de votre serveur Jellyfin';
@override String get addConnectionTitle => 'Ajouter une connexion';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsFr extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Note communautaire';
@override String get criticRating => 'Note critique';
@override String get userRating => 'Note utilisateur';
@override String get lastPlayed => 'Dernière lecture';
@override String get datePlayed => 'Date de lecture';
@override String get playCount => 'Lectures';
@override String get productionYear => 'Année de production';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionFr extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Démarrage du serveur distant...';
@override String get failedToCreate => 'Échec du démarrage du serveur distant :';
@override String get hostAddress => 'Adresse de l\'hôte';
@override String get connected => 'Connecté';
@override String get serverRunning => 'Serveur distant actif';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsFr extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Aucune interface réseau trouvée';
@override String get authenticationFailed => 'Échec de lauthentification';
@override String serverStartFailed({required Object error}) => 'Impossible de démarrer le serveur distant : ${error}';
@override String commandFailed({required Object error}) => 'Impossible denvoyer la commande à distance : ${error}';
@override String get joinTimedOut => 'Délai dépassé lors de la connexion à la session';
@override String get failedToConnectAnyAddress => 'Impossible de se connecter à une adresse';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Connexion perdue après ${attempts} tentatives';
@@ -2123,7 +2098,6 @@ extension on TranslationsFr {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Se connecter',
'auth.signInWithPlex' => 'S\'inscrire avec Plex',
'auth.showQRCode' => 'Afficher le QR Code',
'auth.authenticate' => 'S\'authentifier',
@@ -2174,10 +2148,8 @@ extension on TranslationsFr {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Épisode ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Chapitre ${number}',
'common.reconnect' => 'Reconnecter',
'common.exit' => 'Quitter',
'common.viewAll' => 'Tout afficher',
'common.checkingNetwork' => 'Vérification du réseau...',
'common.refreshingServers' => 'Actualisation des serveurs...',
'common.loadingServers' => 'Chargement des serveurs...',
'common.connectingToServers' => 'Connexion aux serveurs...',
'common.startingOfflineMode' => 'Démarrage en mode hors-ligne...',
@@ -2251,6 +2223,12 @@ extension on TranslationsFr {
'settings.tvFullCardLayoutDescription' => 'Utiliser des cartes TV avec image seule et noms des acteurs superposés',
'settings.focusGlow' => 'Halo de sélection',
'settings.focusGlowDescription' => 'Afficher un léger halo autour de la carte sélectionnée',
'settings.visualEffects' => 'Effets visuels',
'settings.visualEffectsAuto' => 'Automatique',
'settings.visualEffectsAutoDescription' => 'Réduire automatiquement les effets sur les appareils peu puissants',
'settings.visualEffectsFull' => 'Complets',
'settings.visualEffectsReduced' => 'Réduits',
'settings.visualEffectsReducedDescription' => 'Moins danimations et dillustrations de plus faible résolution',
'settings.hideSpoilers' => 'Masquer les spoilers des épisodes non vus',
'settings.hideSpoilersDescription' => 'Flouter les miniatures et descriptions des épisodes non vus',
'settings.playerBackend' => 'Moteur de lecture',
@@ -2263,7 +2241,7 @@ extension on TranslationsFr {
'settings.bufferSizeAuto' => 'Auto (Recommandé)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB de mémoire disponible. Un tampon de ${size}MB peut affecter la lecture.',
'settings.defaultQualityTitle' => 'Qualité par défaut',
'settings.defaultQualityDescription' => 'Utilisé au démarrage de la lecture. Les valeurs plus basses réduisent la bande passante.',
'settings.musicQualityTitle' => 'Qualité de la musique',
'settings.subtitleStyling' => 'Stylisation des sous-titres',
'settings.subtitleStylingDescription' => 'Personnaliser l\'apparence des sous-titres',
'settings.smallSkipDuration' => 'Durée du petit saut',
@@ -2357,10 +2335,9 @@ extension on TranslationsFr {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Montrez ce que vous regardez sur Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Synchroniser l\'historique de visionnage avec Trakt',
'settings.services' => 'Services',
'settings.servicesDescription' => 'Connectez Trakt, MyAnimeList, Seerr et plus',
'settings.manageLibrariesDescription' => 'Réorganiser et masquer les bibliothèques',
'settings.companionRemoteServer' => 'Serveur de télécommande',
'settings.companionRemoteServerDescription' => 'Autoriser les appareils mobiles de votre réseau à contrôler cette application',
'settings.autoPip' => 'Image dans l\'image automatique',
@@ -2423,7 +2400,6 @@ extension on TranslationsFr {
'settings.showNavBarLabels' => 'Afficher les libellés de la barre de navigation',
'settings.showNavBarLabelsDescription' => 'Afficher les libellés sous les icônes de la barre de navigation',
'settings.startupSection' => 'Section de démarrage',
'settings.startupSectionDescription' => 'Choisissez la section que Plezy ouvre au démarrage',
'settings.liveTvDefaultFavorites' => 'Chaînes favorites par défaut',
'settings.liveTvDefaultFavoritesDescription' => 'Afficher uniquement les chaînes favorites à l\'ouverture de la TV en direct',
'settings.display' => 'Affichage',
@@ -2435,13 +2411,6 @@ extension on TranslationsFr {
'settings.subtitlesAndConfig' => 'Sous-titres et configuration',
'settings.seekAndTiming' => 'Recherche et minutage',
'settings.behavior' => 'Comportement',
'settings.manageLibrariesDescription' => 'Réorganiser et masquer les bibliothèques',
'settings.visualEffects' => 'Effets visuels',
'settings.visualEffectsAuto' => 'Automatique',
'settings.visualEffectsAutoDescription' => 'Réduire automatiquement les effets sur les appareils peu puissants',
'settings.visualEffectsFull' => 'Complets',
'settings.visualEffectsReduced' => 'Réduits',
'settings.visualEffectsReducedDescription' => 'Moins danimations et dillustrations de plus faible résolution',
'search.hint' => 'Rechercher des films, des séries, de la musique...',
'search.tryDifferentTerm' => 'Essayez un autre terme de recherche',
'search.searchYourMedia' => 'Rechercher dans vos médias',
@@ -2518,14 +2487,11 @@ extension on TranslationsFr {
'mediaMenu.playVersion' => 'Lire la version...',
'rateSheet.title' => 'Noter',
'rateSheet.server' => 'Serveur',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Définir une note',
'rateSheet.favorite' => 'Favori',
'rateSheet.favorited' => 'Ajouté aux favoris',
'rateSheet.saved' => 'Enregistré',
'rateSheet.notAvailable' => 'Aucune correspondance trouvée',
'rateSheet.noConnectedServices' => 'Connectez un service dans les Réglages pour noter ici.',
'rateSheet.favorite' => 'Favori',
'rateSheet.favorited' => 'Ajouté aux favoris',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, film',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, show TV',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsFr {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} pourcentage visionné',
'accessibility.mediaCardUnwatched' => 'non visionné',
'accessibility.tapToPlay' => 'Appuyez pour lire',
'accessibility.decrease' => 'Diminuer',
'accessibility.increase' => 'Augmenter',
'accessibility.decreaseValue' => ({required Object label}) => 'Diminuer ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Augmenter ${label}',
'accessibility.hue' => 'Teinte',
'accessibility.saturation' => 'Saturation',
'accessibility.brightness' => 'Luminosité',
'accessibility.hexColor' => 'Couleur hexadécimale',
'tooltips.shufflePlay' => 'Lecture aléatoire',
'tooltips.playTrailer' => 'Lire la bande-annonce',
'tooltips.markAsWatched' => 'Marqué comme vu',
@@ -2575,13 +2549,11 @@ extension on TranslationsFr {
'videoControls.settingsButton' => 'Paramètres de lecture',
'videoControls.tracksButton' => 'Audio et sous-titres',
'videoControls.chaptersButton' => 'Chapitres',
'videoControls.versionsButton' => 'Versions vidéo',
'videoControls.versionQualityButton' => 'Version et qualité',
'videoControls.versionColumnHeader' => 'Version',
'videoControls.qualityColumnHeader' => 'Qualité',
'videoControls.qualityOriginal' => 'Originale',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transcodage indisponible — lecture en qualité originale',
'videoControls.pipButton' => 'Mode PiP (Picture-in-Picture)',
'videoControls.aspectRatioButton' => 'Format d\'image',
@@ -2621,10 +2593,6 @@ extension on TranslationsFr {
'videoControls.subtitleDownloaded' => 'Sous-titre téléchargé',
'videoControls.subtitleDownloadFailed' => 'Échec du téléchargement du sous-titre',
'videoControls.searchLanguages' => 'Rechercher des langues...',
'userStatus.admin' => 'Admin',
'userStatus.restricted' => 'Restreint',
'userStatus.protected' => 'Protégé',
'userStatus.current' => 'ACTUEL',
'messages.markedAsWatched' => 'Marqué comme vu',
'messages.markedAsUnwatched' => 'Marqué comme non vu',
'messages.markedAsWatchedOffline' => 'Marqué comme vu (se synchronisera lorsque vous serez en ligne)',
@@ -2634,8 +2602,6 @@ extension on TranslationsFr {
'messages.errorLoading' => ({required Object error}) => 'Erreur: ${error}',
'messages.streamInterrupted' => 'La lecture a été interrompue. Appuyez sur Lecture ou avancez pour réessayer.',
'messages.fileInfoNotAvailable' => 'Informations sur le fichier non disponibles',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Erreur lors du chargement des informations sur le fichier: ${error}',
'messages.errorLoadingSeries' => 'Erreur lors du chargement de la série',
'messages.musicNotSupported' => 'La lecture de musique n\'est pas encore prise en charge',
@@ -2643,6 +2609,8 @@ extension on TranslationsFr {
'messages.noProfilesAvailable' => 'Aucun profil disponible',
'messages.contactAdminForProfiles' => 'Contactez votre administrateur serveur pour ajouter des profils',
'messages.unableToDetermineLibrarySection' => 'Impossible de déterminer la section de la bibliothèque pour cet élément',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Logs effacés',
'messages.logsCopied' => 'Logs copiés dans le presse-papier',
'messages.noLogsAvailable' => 'Aucun log disponible',
@@ -2759,7 +2727,6 @@ extension on TranslationsFr {
'profiles.pinExplain' => 'PIN à 4 chiffres requis pour changer de profil.',
'profiles.continueButton' => 'Continuer',
'profiles.pinsDontMatch' => 'Les PIN ne correspondent pas',
'profiles.initializeServicesFailed' => 'Impossible dinitialiser les services de profil',
'connections.sectionTitle' => 'Connexions',
'connections.addConnection' => 'Ajouter une connexion',
'connections.addConnectionSubtitleNoProfile' => 'Connectez-vous avec Plex ou connectez un serveur Jellyfin',
@@ -2770,7 +2737,6 @@ extension on TranslationsFr {
'connections.editJellyfinTitle' => 'Modifier la connexion Jellyfin',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Ajoutez ou supprimez des URL pour ${serverName}. Plezy utilisera l\'URL joignable avec la latence la plus faible.',
'discover.title' => 'Découvrez',
'discover.switchProfile' => 'Changer de profil',
'discover.noContentAvailable' => 'Aucun contenu disponible',
'discover.addMediaToLibraries' => 'Ajoutez des médias à votre bibliothèque',
'discover.continueWatching' => 'Continuer à regarder',
@@ -2797,8 +2763,6 @@ extension on TranslationsFr {
'errors.connectionFailed' => 'Impossible de se connecter au serveur multimédia',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Échec du chargement ${context}: ${error}',
'errors.noClientAvailable' => 'Aucun client disponible',
'errors.authenticationFailed' => ({required Object error}) => 'Échec de l\'authentification: ${error}',
'errors.couldNotLaunchUrl' => 'Impossible de lancer l\'URL d\'authentification',
'errors.pleaseEnterToken' => 'Veuillez saisir un token',
'errors.invalidToken' => 'Token invalide',
'errors.failedToVerifyToken' => ({required Object error}) => 'Échec de la vérification du token: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsFr {
'libraries.allLibrariesHidden' => 'Toutes les bibliothèques sont masquées',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Bibliothèques masquées (${count})',
'libraries.thisLibraryIsEmpty' => 'Cette bibliothèque est vide',
'libraries.noItemsMatchFilters' => 'Aucun élément ne correspond aux filtres actifs',
'libraries.resetFilters' => 'Réinitialiser les filtres',
'libraries.all' => 'Tout',
'libraries.clearAll' => 'Tout effacer',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Êtes-vous sûr de vouloir lancer le scan de "${title}"?',
@@ -2871,7 +2837,6 @@ extension on TranslationsFr {
'libraries.sortLabels.communityRating' => 'Note communautaire',
'libraries.sortLabels.criticRating' => 'Note critique',
'libraries.sortLabels.userRating' => 'Note utilisateur',
'libraries.sortLabels.lastPlayed' => 'Dernière lecture',
'libraries.sortLabels.datePlayed' => 'Date de lecture',
'libraries.sortLabels.playCount' => 'Lectures',
'libraries.sortLabels.productionYear' => 'Année de production',
@@ -2885,14 +2850,11 @@ extension on TranslationsFr {
'libraries.sortLabels.dateShared' => 'Date de partage',
'libraries.sortLabels.latestEpisodeAirDate' => 'Dernière date de diffusion',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Date d\'ajout du dernier épisode',
'libraries.noItemsMatchFilters' => 'Aucun élément ne correspond aux filtres actifs',
'libraries.resetFilters' => 'Réinitialiser les filtres',
'about.title' => 'À propos',
'about.openSourceLicenses' => 'Licences Open Source',
'about.versionLabel' => ({required Object version}) => 'Version ${version}',
'about.appDescription' => 'Un magnifique client Plex et Jellyfin pour Flutter',
'about.viewLicensesDescription' => 'Afficher les licences des bibliothèques tierces',
'serverSelection.allServerConnectionsFailed' => 'Connexion impossible à tous les serveurs. Vérifiez votre réseau.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Aucun serveur trouvé pour ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Échec du chargement des serveurs: ${error}',
'hubDetail.title' => 'Titre',
@@ -2938,7 +2900,6 @@ extension on TranslationsFr {
'explore.watchlistUpdateFailed' => 'Impossible de mettre à jour la liste de suivi',
'explore.notInLibrary' => 'Absent de votre bibliothèque',
'explore.inTheseLibraries' => 'Dans ces bibliothèques',
'explore.availableOn' => ({required Object server}) => 'Disponible sur ${server}',
'explore.checkingLibrary' => 'Vérification de votre bibliothèque...',
'explore.emptyTitle' => 'Rien ici pour l\'instant',
'explore.emptyMessage' => ({required Object source}) => 'Les rangées de ${source} apparaîtront ici une fois qu\'elles auront du contenu.',
@@ -2950,6 +2911,8 @@ extension on TranslationsFr {
'liveTv.guide' => 'Guide',
'liveTv.noChannels' => 'Aucune chaîne disponible',
'liveTv.noDvr' => 'Aucun DVR configuré sur les serveurs',
'liveTv.serverUnavailable' => 'Le serveur de TV en direct nest pas disponible.',
'liveTv.serverNotConnected' => 'Le serveur de TV en direct nest pas connecté.',
'liveTv.noPrograms' => 'Aucune donnée de programme disponible',
'liveTv.liveStreamFailed' => 'Échec du direct',
'liveTv.unknownProgram' => 'Programme inconnu',
@@ -2985,7 +2948,6 @@ extension on TranslationsFr {
'liveTv.scheduledRecordings' => 'Programmés',
'liveTv.recordingRules' => 'Règles d\'enregistrement',
'liveTv.noScheduledRecordings' => 'Aucun enregistrement programmé',
'liveTv.noRecordingRules' => 'Aucune règle d\'enregistrement',
'liveTv.manageRecording' => 'Gérer l\'enregistrement',
'liveTv.cancelRecording' => 'Annuler l\'enregistrement',
'liveTv.cancelRecordingTitle' => 'Annuler cet enregistrement ?',
@@ -3002,7 +2964,6 @@ extension on TranslationsFr {
'liveTv.recordingCancelled' => 'Enregistrement annulé',
'liveTv.recordingRuleDeleted' => 'Règle d\'enregistrement supprimée',
'liveTv.processRecordingRules' => 'Réévaluer les règles',
'liveTv.loadingRecordings' => 'Chargement des enregistrements...',
'liveTv.recordingInProgress' => 'Enregistrement en cours',
'liveTv.recordingsCount' => ({required Object count}) => '${count} programmés',
'liveTv.editRule' => 'Modifier la règle',
@@ -3014,7 +2975,6 @@ extension on TranslationsFr {
'collections.title' => 'Collections',
'collections.collection' => 'Collection',
'collections.empty' => 'La collection est vide',
'collections.unknownLibrarySection' => 'Impossible de supprimer : section de bibliothèque inconnue',
'collections.deleteCollection' => 'Supprimer la collection',
'collections.deleteConfirm' => ({required Object title}) => 'Supprimer "${title}" ? Action irréversible.',
'collections.deleted' => 'Collection supprimée',
@@ -3052,6 +3012,7 @@ extension on TranslationsFr {
'playlists.itemAdded' => 'Ajouté à la playlist',
'playlists.itemRemoved' => 'Retiré de la playlist',
'playlists.selectPlaylist' => 'Sélectionner une playlist',
'playlists.searchPlaylists' => 'Rechercher des playlists...',
'playlists.errorCreating' => 'Échec de la création de playlist',
'playlists.errorDeleting' => 'Échec de suppression de playlist',
'playlists.errorLoading' => 'Échec de chargement de playlists',
@@ -3134,22 +3095,20 @@ extension on TranslationsFr {
'watchTogether.participantResumed' => ({required Object name}) => '${name} a repris',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} a avancé',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} met en mémoire tampon',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} utilise une ancienne version de lapp — synchronisation indisponible',
'watchTogether.resumingWithout' => ({required Object name}) => 'Reprise sans ${name}',
'watchTogether.waitingForParticipants' => 'En attente du chargement des autres...',
'watchTogether.waitingForName' => ({required Object name}) => 'En attente de ${name}...',
'watchTogether.recentRooms' => 'Salons récents',
'watchTogether.renameRoom' => 'Renommer le salon',
'watchTogether.removeRoom' => 'Supprimer',
'watchTogether.guestSwitchUnavailable' => 'Impossible de changer — serveur indisponible pour la synchronisation',
'watchTogether.guestSwitchFailed' => 'Impossible de changer — contenu introuvable sur ce serveur',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} utilise une ancienne version de lapp — synchronisation indisponible',
'watchTogether.resumingWithout' => ({required Object name}) => 'Reprise sans ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'En attente de ${name}...',
'downloads.title' => 'Téléchargements',
'downloads.manage' => 'Gérer',
'downloads.tvShows' => 'Show TV',
'downloads.movies' => 'Films',
'downloads.music' => 'Musique',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} titres en file d\'attente de téléchargement',
'downloads.noDownloads' => 'Aucun téléchargement pour le moment',
'downloads.noDownloadsDescription' => 'Le contenu téléchargé apparaîtra ici pour être consulté hors ligne.',
@@ -3164,6 +3123,8 @@ extension on TranslationsFr {
'downloads.deleteConfirm' => ({required Object title}) => 'Supprimer "${title}" de cet appareil ?',
'downloads.cancelledDownloadTitle' => 'Téléchargement annulé',
'downloads.cancelledDownloadMessage' => 'Ce téléchargement a été annulé. Que voulez-vous faire ?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Tous les épisodes sont déjà téléchargés',
'downloads.resumeDownload' => 'Reprendre le téléchargement',
'downloads.cancelledDownload' => 'Téléchargement annulé',
@@ -3187,7 +3148,6 @@ extension on TranslationsFr {
'downloads.customAmount' => 'Quantité personnalisée...',
'downloads.includeSpecials' => 'Inclure les spéciaux',
'downloads.howManyEpisodes' => 'Combien d\'épisodes ?',
'downloads.itemsQueued' => ({required Object count}) => '${count} éléments mis en file d\'attente',
'downloads.keepSynced' => 'Garder synchronisé',
'downloads.downloadOnce' => 'Télécharger une fois',
'downloads.keepNUnwatched' => ({required Object count}) => 'Garder ${count} non vus',
@@ -3231,7 +3191,6 @@ extension on TranslationsFr {
'companionRemote.connectedTo' => ({required Object name}) => 'Connecté à ${name}',
'companionRemote.unknownDevice' => 'Appareil inconnu',
'companionRemote.session.startingServer' => 'Démarrage du serveur distant...',
'companionRemote.session.failedToCreate' => 'Échec du démarrage du serveur distant :',
'companionRemote.session.hostAddress' => 'Adresse de l\'hôte',
'companionRemote.session.connected' => 'Connecté',
'companionRemote.session.serverRunning' => 'Serveur distant actif',
@@ -3286,6 +3245,8 @@ extension on TranslationsFr {
'companionRemote.remote.searchHint' => 'Rechercher sur le bureau...',
'companionRemote.errors.noNetworkInterface' => 'Aucune interface réseau trouvée',
'companionRemote.errors.authenticationFailed' => 'Échec de lauthentification',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Impossible de démarrer le serveur distant : ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Impossible denvoyer la commande à distance : ${error}',
'companionRemote.errors.joinTimedOut' => 'Délai dépassé lors de la connexion à la session',
'companionRemote.errors.failedToConnectAnyAddress' => 'Impossible de se connecter à une adresse',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Connexion perdue après ${attempts} tentatives',
@@ -3530,7 +3491,6 @@ extension on TranslationsFr {
'addServer.quickConnectFailed' => ({required Object error}) => 'Échec de Quick Connect : ${error}',
'addServer.addPlexTitle' => 'Se connecter avec Plex',
'addServer.pinExpired' => 'Le PIN a expiré avant la connexion. Veuillez réessayer.',
'addServer.duplicatePlexAccount' => 'Déjà connecté à Plex. Déconnectez-vous pour changer de compte.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Échec de l\'enregistrement du compte : ${error}',
'addServer.enterJellyfinUrlError' => 'Saisissez l\'URL de votre serveur Jellyfin',
'addServer.addConnectionTitle' => 'Ajouter une connexion',
+68 -108
View File
@@ -53,7 +53,6 @@ class TranslationsIt extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityIt accessibility = _TranslationsAccessibilityIt._(_root);
@override late final _TranslationsTooltipsIt tooltips = _TranslationsTooltipsIt._(_root);
@override late final _TranslationsVideoControlsIt videoControls = _TranslationsVideoControlsIt._(_root);
@override late final _TranslationsUserStatusIt userStatus = _TranslationsUserStatusIt._(_root);
@override late final _TranslationsMessagesIt messages = _TranslationsMessagesIt._(_root);
@override late final _TranslationsSubtitlingStylingIt subtitlingStyling = _TranslationsSubtitlingStylingIt._(_root);
@override late final _TranslationsMpvConfigIt mpvConfig = _TranslationsMpvConfigIt._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthIt extends TranslationsAuthEn {
final TranslationsIt _root; // ignore: unused_field
// Translations
@override String get signIn => 'Accedi';
@override String get signInWithPlex => 'Accedi con Plex';
@override String get showQRCode => 'Mostra QR Code';
@override String get authenticate => 'Autenticazione';
@@ -167,10 +165,8 @@ class _TranslationsCommonIt extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Episodio ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Capitolo ${number}';
@override String get reconnect => 'Riconnetti';
@override String get exit => 'Esci';
@override String get viewAll => 'Mostra tutto';
@override String get checkingNetwork => 'Verifica rete...';
@override String get refreshingServers => 'Aggiornamento server...';
@override String get loadingServers => 'Caricamento server...';
@override String get connectingToServers => 'Connessione ai server...';
@override String get startingOfflineMode => 'Avvio modalità offline...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Usa schede TV solo immagine con i nomi degli attori sovrapposti';
@override String get focusGlow => 'Bagliore di selezione';
@override String get focusGlowDescription => 'Mostra un leggero bagliore attorno alla scheda selezionata';
@override String get visualEffects => 'Effetti visivi';
@override String get visualEffectsAuto => 'Automatico';
@override String get visualEffectsAutoDescription => 'Riduci automaticamente gli effetti sui dispositivi a basso consumo';
@override String get visualEffectsFull => 'Completi';
@override String get visualEffectsReduced => 'Ridotti';
@override String get visualEffectsReducedDescription => 'Meno animazioni e immagini a risoluzione inferiore';
@override String get hideSpoilers => 'Nascondi spoiler per episodi non visti';
@override String get hideSpoilersDescription => 'Sfoca miniature e descrizioni degli episodi non visti';
@override String get playerBackend => 'Motore di riproduzione';
@@ -283,7 +285,7 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Auto (Consigliato)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB di memoria disponibile. Un buffer di ${size}MB può influire sulla riproduzione.';
@override String get defaultQualityTitle => 'Qualità predefinita';
@override String get defaultQualityDescription => 'Utilizzato all\'avvio della riproduzione. Valori più bassi riducono la larghezza di banda.';
@override String get musicQualityTitle => 'Qualità musicale';
@override String get subtitleStyling => 'Stile sottotitoli';
@override String get subtitleStylingDescription => 'Personalizza l\'aspetto dei sottotitoli';
@override String get smallSkipDuration => 'Durata skip breve';
@@ -377,10 +379,9 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Mostra su Discord cosa stai guardando';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Sincronizza la cronologia di visione con Trakt';
@override String get services => 'Servizi';
@override String get servicesDescription => 'Connetti Trakt, MyAnimeList, Seerr e altro';
@override String get manageLibrariesDescription => 'Riordina e nascondi le librerie';
@override String get companionRemoteServer => 'Server telecomando';
@override String get companionRemoteServerDescription => 'Consenti ai dispositivi mobili nella tua rete di controllare questa app';
@override String get autoPip => 'Picture-in-Picture automatico';
@@ -443,7 +444,6 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Mostra etichette barra di navigazione';
@override String get showNavBarLabelsDescription => 'Mostra le etichette sotto le icone della barra di navigazione';
@override String get startupSection => 'Sezione di avvio';
@override String get startupSectionDescription => 'Scegli quale sezione apre Plezy all\'avvio';
@override String get liveTvDefaultFavorites => 'Canali preferiti predefiniti';
@override String get liveTvDefaultFavoritesDescription => 'Mostra solo i canali preferiti all\'apertura della TV dal vivo';
@override String get display => 'Schermo';
@@ -455,13 +455,6 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Sottotitoli e configurazione';
@override String get seekAndTiming => 'Ricerca e tempistica';
@override String get behavior => 'Comportamento';
@override String get manageLibrariesDescription => 'Riordina e nascondi le librerie';
@override String get visualEffects => 'Effetti visivi';
@override String get visualEffectsAuto => 'Automatico';
@override String get visualEffectsAutoDescription => 'Riduci automaticamente gli effetti sui dispositivi a basso consumo';
@override String get visualEffectsFull => 'Completi';
@override String get visualEffectsReduced => 'Ridotti';
@override String get visualEffectsReducedDescription => 'Meno animazioni e immagini a risoluzione inferiore';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetIt extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Valuta';
@override String get server => 'Server';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Imposta un punteggio';
@override String get favorite => 'Preferito';
@override String get favorited => 'Aggiunto ai preferiti';
@override String get saved => 'Salvato';
@override String get notAvailable => 'Nessuna corrispondenza trovata';
@override String get noConnectedServices => 'Connetti un servizio nelle Impostazioni per valutare lì.';
@override String get favorite => 'Preferito';
@override String get favorited => 'Aggiunto ai preferiti';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityIt extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} percento visto';
@override String get mediaCardUnwatched => 'non visto';
@override String get tapToPlay => 'Tocca per riprodurre';
@override String get decrease => 'Diminuisci';
@override String get increase => 'Aumenta';
@override String decreaseValue({required Object label}) => 'Diminuisci ${label}';
@override String increaseValue({required Object label}) => 'Aumenta ${label}';
@override String get hue => 'Tonalità';
@override String get saturation => 'Saturazione';
@override String get brightness => 'Luminosità';
@override String get hexColor => 'Colore esadecimale';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsIt extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Impostazioni di riproduzione';
@override String get tracksButton => 'Audio e sottotitoli';
@override String get chaptersButton => 'Capitoli';
@override String get versionsButton => 'Versioni video';
@override String get versionQualityButton => 'Versione e qualità';
@override String get versionColumnHeader => 'Versione';
@override String get qualityColumnHeader => 'Qualità';
@override String get qualityOriginal => 'Originale';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transcodifica non disponibile — riproduzione in qualità originale';
@override String get pipButton => 'Modalità Picture-in-Picture';
@override String get aspectRatioButton => 'Proporzioni';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsIt extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Cerca lingue...';
}
// Path: userStatus
class _TranslationsUserStatusIt extends TranslationsUserStatusEn {
_TranslationsUserStatusIt._(TranslationsIt root) : this._root = root, super.internal(root);
final TranslationsIt _root; // ignore: unused_field
// Translations
@override String get admin => 'Admin';
@override String get restricted => 'Limitato';
@override String get protected => 'Protetto';
@override String get current => 'ATTUALE';
}
// Path: messages
class _TranslationsMessagesIt extends TranslationsMessagesEn {
_TranslationsMessagesIt._(TranslationsIt root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesIt extends TranslationsProfilesEn {
@override String get pinExplain => 'PIN a 4 cifre richiesto per cambiare profilo.';
@override String get continueButton => 'Continua';
@override String get pinsDontMatch => 'I PIN non corrispondono';
@override String get initializeServicesFailed => 'Impossibile inizializzare i servizi profilo';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverIt extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Esplora';
@override String get switchProfile => 'Cambia profilo';
@override String get noContentAvailable => 'Nessun contenuto disponibile';
@override String get addMediaToLibraries => 'Aggiungi alcuni file multimediali alle tue librerie';
@override String get continueWatching => 'Continua a guardare';
@@ -938,8 +919,6 @@ class _TranslationsErrorsIt extends TranslationsErrorsEn {
@override String get connectionFailed => 'Impossibile connettersi al server multimediale';
@override String failedToLoad({required Object context, required Object error}) => 'Impossibile caricare ${context}: ${error}';
@override String get noClientAvailable => 'Nessun client disponibile';
@override String authenticationFailed({required Object error}) => 'Autenticazione fallita: ${error}';
@override String get couldNotLaunchUrl => 'Impossibile avviare URL di autenticazione';
@override String get pleaseEnterToken => 'Inserisci token';
@override String get invalidToken => 'Token non valido';
@override String failedToVerifyToken({required Object error}) => 'Verifica token fallita: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesIt extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Tutte le librerie sono nascoste';
@override String hiddenLibrariesCount({required Object count}) => 'Librerie nascoste (${count})';
@override String get thisLibraryIsEmpty => 'Questa libreria è vuota';
@override String get noItemsMatchFilters => 'Nessun elemento corrisponde ai filtri attivi';
@override String get resetFilters => 'Reimposta filtri';
@override String get all => 'Tutto';
@override String get clearAll => 'Cancella tutto';
@override String scanLibraryConfirm({required Object title}) => 'Sei sicuro di voler scansionare "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesIt extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsIt groupings = _TranslationsLibrariesGroupingsIt._(_root);
@override late final _TranslationsLibrariesFilterCategoriesIt filterCategories = _TranslationsLibrariesFilterCategoriesIt._(_root);
@override late final _TranslationsLibrariesSortLabelsIt sortLabels = _TranslationsLibrariesSortLabelsIt._(_root);
@override String get noItemsMatchFilters => 'Nessun elemento corrisponde ai filtri attivi';
@override String get resetFilters => 'Reimposta filtri';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionIt extends TranslationsServerSelectionEn {
final TranslationsIt _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Impossibile connettersi ai server. Controlla la rete.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Nessun server trovato per ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Impossibile caricare i server: ${error}';
}
@@ -1090,10 +1068,6 @@ class _TranslationsExploreIt extends TranslationsExploreEn {
@override String get title => 'Scopri';
@override String get selectSource => 'Seleziona fonte';
@override late final _TranslationsExploreRowsIt rows = _TranslationsExploreRowsIt._(_root);
@override String searchHint({required Object source}) => 'Cerca su ${source}';
@override String searchEmpty({required Object query}) => 'Nessun risultato per "${query}"';
@override String searchPrompt({required Object source}) => 'Cerca film e serie TV su ${source}.';
@override String get searchFailed => 'Ricerca fallita. Controlla la connessione e riprova.';
@override late final _TranslationsExploreStatusIt status = _TranslationsExploreStatusIt._(_root);
@override String episodeCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('it'))(n,
one: '${n} episodio',
@@ -1106,10 +1080,13 @@ class _TranslationsExploreIt extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Impossibile aggiornare la Watchlist';
@override String get notInLibrary => 'Non è nella tua libreria';
@override String get inTheseLibraries => 'In queste librerie';
@override String availableOn({required Object server}) => 'Disponibile su ${server}';
@override String get checkingLibrary => 'Controllo della tua libreria...';
@override String get emptyTitle => 'Ancora niente qui';
@override String emptyMessage({required Object source}) => 'Le righe da ${source} appariranno qui una volta che avranno dei contenuti.';
@override String searchHint({required Object source}) => 'Cerca su ${source}';
@override String searchEmpty({required Object query}) => 'Nessun risultato per "${query}"';
@override String searchPrompt({required Object source}) => 'Cerca film e serie TV su ${source}.';
@override String get searchFailed => 'Ricerca fallita. Controlla la connessione e riprova.';
}
// Path: liveTv
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvIt extends TranslationsLiveTvEn {
@override String get guide => 'Guida';
@override String get noChannels => 'Nessun canale disponibile';
@override String get noDvr => 'Nessun DVR configurato su nessun server';
@override String get serverUnavailable => 'Il server TV in diretta non è disponibile.';
@override String get serverNotConnected => 'Il server TV in diretta non è connesso.';
@override String get noPrograms => 'Nessun dato di programma disponibile';
@override String get liveStreamFailed => 'Streaming live non riuscito';
@override String get unknownProgram => 'Programma sconosciuto';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvIt extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Programmate';
@override String get recordingRules => 'Regole di registrazione';
@override String get noScheduledRecordings => 'Nessuna registrazione programmata';
@override String get noRecordingRules => 'Nessuna regola di registrazione';
@override String get manageRecording => 'Gestisci registrazione';
@override String get cancelRecording => 'Annulla registrazione';
@override String get cancelRecordingTitle => 'Annullare questa registrazione?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvIt extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Registrazione annullata';
@override String get recordingRuleDeleted => 'Regola di registrazione eliminata';
@override String get processRecordingRules => 'Rivaluta regole';
@override String get loadingRecordings => 'Caricamento registrazioni...';
@override String get recordingInProgress => 'Registrazione in corso';
@override String recordingsCount({required Object count}) => '${count} programmate';
@override String get editRule => 'Modifica regola';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsIt extends TranslationsCollectionsEn {
@override String get title => 'Raccolte';
@override String get collection => 'Raccolta';
@override String get empty => 'La raccolta è vuota';
@override String get unknownLibrarySection => 'Impossibile eliminare: sezione libreria sconosciuta';
@override String get deleteCollection => 'Elimina raccolta';
@override String deleteConfirm({required Object title}) => 'Eliminare "${title}"? Non si può annullare.';
@override String get deleted => 'Raccolta eliminata';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsIt extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Aggiunto alla playlist';
@override String get itemRemoved => 'Rimosso dalla playlist';
@override String get selectPlaylist => 'Seleziona playlist';
@override String get searchPlaylists => 'Cerca playlist...';
@override String get errorCreating => 'Errore durante la creazione della playlist';
@override String get errorDeleting => 'Errore durante l\'eliminazione della playlist';
@override String get errorLoading => 'Errore durante il caricamento delle playlist';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherIt extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} ha ripreso';
@override String participantSeeked({required Object name}) => '${name} ha cercato';
@override String participantBuffering({required Object name}) => '${name} sta caricando';
@override String participantNeedsUpdate({required Object name}) => '${name} usa una versione precedente dell\'app — sincronizzazione non disponibile';
@override String resumingWithout({required Object name}) => 'Ripresa senza ${name}';
@override String get waitingForParticipants => 'In attesa che gli altri carichino...';
@override String waitingForName({required Object name}) => 'In attesa di ${name}...';
@override String get recentRooms => 'Stanze recenti';
@override String get renameRoom => 'Rinomina stanza';
@override String get removeRoom => 'Rimuovi';
@override String get guestSwitchUnavailable => 'Impossibile cambiare — server non disponibile per la sincronizzazione';
@override String get guestSwitchFailed => 'Impossibile cambiare — contenuto non trovato su questo server';
@override String participantNeedsUpdate({required Object name}) => '${name} usa una versione precedente dell\'app — sincronizzazione non disponibile';
@override String resumingWithout({required Object name}) => 'Ripresa senza ${name}';
@override String waitingForName({required Object name}) => 'In attesa di ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsIt extends TranslationsDownloadsEn {
@override String get customAmount => 'Quantità personalizzata...';
@override String get includeSpecials => 'Includi gli speciali';
@override String get howManyEpisodes => 'Quanti episodi?';
@override String itemsQueued({required Object count}) => '${count} elementi in coda per il download';
@override String get keepSynced => 'Mantieni sincronizzato';
@override String get downloadOnce => 'Scarica una volta';
@override String keepNUnwatched({required Object count}) => 'Mantieni ${count} non visti';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerIt extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect non riuscito: ${error}';
@override String get addPlexTitle => 'Accedi con Plex';
@override String get pinExpired => 'PIN scaduto prima dell\'accesso. Riprova.';
@override String get duplicatePlexAccount => 'Accesso a Plex già effettuato. Esci per cambiare account.';
@override String failedToRegisterAccount({required Object error}) => 'Registrazione account non riuscita: ${error}';
@override String get enterJellyfinUrlError => 'Inserisci l\'URL del tuo server Jellyfin';
@override String get addConnectionTitle => 'Aggiungi connessione';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsIt extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Valutazione della community';
@override String get criticRating => 'Valutazione critica';
@override String get userRating => 'Valutazione utente';
@override String get lastPlayed => 'Ultima riproduzione';
@override String get datePlayed => 'Data di riproduzione';
@override String get playCount => 'Riproduzioni';
@override String get productionYear => 'Anno di produzione';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionIt extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Avvio del server remoto...';
@override String get failedToCreate => 'Impossibile avviare il server remoto:';
@override String get hostAddress => 'Indirizzo host';
@override String get connected => 'Connesso';
@override String get serverRunning => 'Server remoto attivo';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsIt extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Nessuna interfaccia di rete trovata';
@override String get authenticationFailed => 'Autenticazione non riuscita';
@override String serverStartFailed({required Object error}) => 'Impossibile avviare il server remoto: ${error}';
@override String commandFailed({required Object error}) => 'Impossibile inviare il comando remoto: ${error}';
@override String get joinTimedOut => 'Tempo scaduto durante laccesso alla sessione';
@override String get failedToConnectAnyAddress => 'Impossibile connettersi a qualsiasi indirizzo';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Connessione persa dopo ${attempts} tentativi';
@@ -2123,7 +2098,6 @@ extension on TranslationsIt {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Accedi',
'auth.signInWithPlex' => 'Accedi con Plex',
'auth.showQRCode' => 'Mostra QR Code',
'auth.authenticate' => 'Autenticazione',
@@ -2174,10 +2148,8 @@ extension on TranslationsIt {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Episodio ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Capitolo ${number}',
'common.reconnect' => 'Riconnetti',
'common.exit' => 'Esci',
'common.viewAll' => 'Mostra tutto',
'common.checkingNetwork' => 'Verifica rete...',
'common.refreshingServers' => 'Aggiornamento server...',
'common.loadingServers' => 'Caricamento server...',
'common.connectingToServers' => 'Connessione ai server...',
'common.startingOfflineMode' => 'Avvio modalità offline...',
@@ -2251,6 +2223,12 @@ extension on TranslationsIt {
'settings.tvFullCardLayoutDescription' => 'Usa schede TV solo immagine con i nomi degli attori sovrapposti',
'settings.focusGlow' => 'Bagliore di selezione',
'settings.focusGlowDescription' => 'Mostra un leggero bagliore attorno alla scheda selezionata',
'settings.visualEffects' => 'Effetti visivi',
'settings.visualEffectsAuto' => 'Automatico',
'settings.visualEffectsAutoDescription' => 'Riduci automaticamente gli effetti sui dispositivi a basso consumo',
'settings.visualEffectsFull' => 'Completi',
'settings.visualEffectsReduced' => 'Ridotti',
'settings.visualEffectsReducedDescription' => 'Meno animazioni e immagini a risoluzione inferiore',
'settings.hideSpoilers' => 'Nascondi spoiler per episodi non visti',
'settings.hideSpoilersDescription' => 'Sfoca miniature e descrizioni degli episodi non visti',
'settings.playerBackend' => 'Motore di riproduzione',
@@ -2263,7 +2241,7 @@ extension on TranslationsIt {
'settings.bufferSizeAuto' => 'Auto (Consigliato)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB di memoria disponibile. Un buffer di ${size}MB può influire sulla riproduzione.',
'settings.defaultQualityTitle' => 'Qualità predefinita',
'settings.defaultQualityDescription' => 'Utilizzato all\'avvio della riproduzione. Valori più bassi riducono la larghezza di banda.',
'settings.musicQualityTitle' => 'Qualità musicale',
'settings.subtitleStyling' => 'Stile sottotitoli',
'settings.subtitleStylingDescription' => 'Personalizza l\'aspetto dei sottotitoli',
'settings.smallSkipDuration' => 'Durata skip breve',
@@ -2357,10 +2335,9 @@ extension on TranslationsIt {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Mostra su Discord cosa stai guardando',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Sincronizza la cronologia di visione con Trakt',
'settings.services' => 'Servizi',
'settings.servicesDescription' => 'Connetti Trakt, MyAnimeList, Seerr e altro',
'settings.manageLibrariesDescription' => 'Riordina e nascondi le librerie',
'settings.companionRemoteServer' => 'Server telecomando',
'settings.companionRemoteServerDescription' => 'Consenti ai dispositivi mobili nella tua rete di controllare questa app',
'settings.autoPip' => 'Picture-in-Picture automatico',
@@ -2423,7 +2400,6 @@ extension on TranslationsIt {
'settings.showNavBarLabels' => 'Mostra etichette barra di navigazione',
'settings.showNavBarLabelsDescription' => 'Mostra le etichette sotto le icone della barra di navigazione',
'settings.startupSection' => 'Sezione di avvio',
'settings.startupSectionDescription' => 'Scegli quale sezione apre Plezy all\'avvio',
'settings.liveTvDefaultFavorites' => 'Canali preferiti predefiniti',
'settings.liveTvDefaultFavoritesDescription' => 'Mostra solo i canali preferiti all\'apertura della TV dal vivo',
'settings.display' => 'Schermo',
@@ -2435,13 +2411,6 @@ extension on TranslationsIt {
'settings.subtitlesAndConfig' => 'Sottotitoli e configurazione',
'settings.seekAndTiming' => 'Ricerca e tempistica',
'settings.behavior' => 'Comportamento',
'settings.manageLibrariesDescription' => 'Riordina e nascondi le librerie',
'settings.visualEffects' => 'Effetti visivi',
'settings.visualEffectsAuto' => 'Automatico',
'settings.visualEffectsAutoDescription' => 'Riduci automaticamente gli effetti sui dispositivi a basso consumo',
'settings.visualEffectsFull' => 'Completi',
'settings.visualEffectsReduced' => 'Ridotti',
'settings.visualEffectsReducedDescription' => 'Meno animazioni e immagini a risoluzione inferiore',
'search.hint' => 'Cerca film. spettacoli, musica...',
'search.tryDifferentTerm' => 'Prova altri termini di ricerca',
'search.searchYourMedia' => 'Cerca nei tuoi media',
@@ -2518,14 +2487,11 @@ extension on TranslationsIt {
'mediaMenu.playVersion' => 'Riproduci versione...',
'rateSheet.title' => 'Valuta',
'rateSheet.server' => 'Server',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Imposta un punteggio',
'rateSheet.favorite' => 'Preferito',
'rateSheet.favorited' => 'Aggiunto ai preferiti',
'rateSheet.saved' => 'Salvato',
'rateSheet.notAvailable' => 'Nessuna corrispondenza trovata',
'rateSheet.noConnectedServices' => 'Connetti un servizio nelle Impostazioni per valutare lì.',
'rateSheet.favorite' => 'Preferito',
'rateSheet.favorited' => 'Aggiunto ai preferiti',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, film',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, serie TV',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsIt {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} percento visto',
'accessibility.mediaCardUnwatched' => 'non visto',
'accessibility.tapToPlay' => 'Tocca per riprodurre',
'accessibility.decrease' => 'Diminuisci',
'accessibility.increase' => 'Aumenta',
'accessibility.decreaseValue' => ({required Object label}) => 'Diminuisci ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Aumenta ${label}',
'accessibility.hue' => 'Tonalità',
'accessibility.saturation' => 'Saturazione',
'accessibility.brightness' => 'Luminosità',
'accessibility.hexColor' => 'Colore esadecimale',
'tooltips.shufflePlay' => 'Riproduzione casuale',
'tooltips.playTrailer' => 'Riproduci trailer',
'tooltips.markAsWatched' => 'Segna come visto',
@@ -2575,13 +2549,11 @@ extension on TranslationsIt {
'videoControls.settingsButton' => 'Impostazioni di riproduzione',
'videoControls.tracksButton' => 'Audio e sottotitoli',
'videoControls.chaptersButton' => 'Capitoli',
'videoControls.versionsButton' => 'Versioni video',
'videoControls.versionQualityButton' => 'Versione e qualità',
'videoControls.versionColumnHeader' => 'Versione',
'videoControls.qualityColumnHeader' => 'Qualità',
'videoControls.qualityOriginal' => 'Originale',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transcodifica non disponibile — riproduzione in qualità originale',
'videoControls.pipButton' => 'Modalità Picture-in-Picture',
'videoControls.aspectRatioButton' => 'Proporzioni',
@@ -2621,10 +2593,6 @@ extension on TranslationsIt {
'videoControls.subtitleDownloaded' => 'Sottotitolo scaricato',
'videoControls.subtitleDownloadFailed' => 'Impossibile scaricare il sottotitolo',
'videoControls.searchLanguages' => 'Cerca lingue...',
'userStatus.admin' => 'Admin',
'userStatus.restricted' => 'Limitato',
'userStatus.protected' => 'Protetto',
'userStatus.current' => 'ATTUALE',
'messages.markedAsWatched' => 'Segna come visto',
'messages.markedAsUnwatched' => 'Segna come non visto',
'messages.markedAsWatchedOffline' => 'Segnato come visto (sincronizzato online)',
@@ -2634,8 +2602,6 @@ extension on TranslationsIt {
'messages.errorLoading' => ({required Object error}) => 'Errore: ${error}',
'messages.streamInterrupted' => 'La riproduzione si è interrotta. Premi Riproduci o scorri per riprovare.',
'messages.fileInfoNotAvailable' => 'Informazioni sul file non disponibili',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Errore caricamento informazioni sul file: ${error}',
'messages.errorLoadingSeries' => 'Errore caricamento serie',
'messages.musicNotSupported' => 'La riproduzione musicale non è ancora supportata',
@@ -2643,6 +2609,8 @@ extension on TranslationsIt {
'messages.noProfilesAvailable' => 'Nessun profilo disponibile',
'messages.contactAdminForProfiles' => 'Contatta l\'amministratore del server per aggiungere profili',
'messages.unableToDetermineLibrarySection' => 'Impossibile determinare la sezione della libreria per questo elemento',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Log eliminati',
'messages.logsCopied' => 'Log copiati negli appunti',
'messages.noLogsAvailable' => 'Nessun log disponibile',
@@ -2759,7 +2727,6 @@ extension on TranslationsIt {
'profiles.pinExplain' => 'PIN a 4 cifre richiesto per cambiare profilo.',
'profiles.continueButton' => 'Continua',
'profiles.pinsDontMatch' => 'I PIN non corrispondono',
'profiles.initializeServicesFailed' => 'Impossibile inizializzare i servizi profilo',
'connections.sectionTitle' => 'Connessioni',
'connections.addConnection' => 'Aggiungi connessione',
'connections.addConnectionSubtitleNoProfile' => 'Accedi con Plex o collega un server Jellyfin',
@@ -2770,7 +2737,6 @@ extension on TranslationsIt {
'connections.editJellyfinTitle' => 'Modifica connessione Jellyfin',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Aggiungi o rimuovi URL per ${serverName}. Plezy userà l\'URL raggiungibile con la latenza più bassa.',
'discover.title' => 'Esplora',
'discover.switchProfile' => 'Cambia profilo',
'discover.noContentAvailable' => 'Nessun contenuto disponibile',
'discover.addMediaToLibraries' => 'Aggiungi alcuni file multimediali alle tue librerie',
'discover.continueWatching' => 'Continua a guardare',
@@ -2797,8 +2763,6 @@ extension on TranslationsIt {
'errors.connectionFailed' => 'Impossibile connettersi al server multimediale',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Impossibile caricare ${context}: ${error}',
'errors.noClientAvailable' => 'Nessun client disponibile',
'errors.authenticationFailed' => ({required Object error}) => 'Autenticazione fallita: ${error}',
'errors.couldNotLaunchUrl' => 'Impossibile avviare URL di autenticazione',
'errors.pleaseEnterToken' => 'Inserisci token',
'errors.invalidToken' => 'Token non valido',
'errors.failedToVerifyToken' => ({required Object error}) => 'Verifica token fallita: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsIt {
'libraries.allLibrariesHidden' => 'Tutte le librerie sono nascoste',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Librerie nascoste (${count})',
'libraries.thisLibraryIsEmpty' => 'Questa libreria è vuota',
'libraries.noItemsMatchFilters' => 'Nessun elemento corrisponde ai filtri attivi',
'libraries.resetFilters' => 'Reimposta filtri',
'libraries.all' => 'Tutto',
'libraries.clearAll' => 'Cancella tutto',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Sei sicuro di voler scansionare "${title}"?',
@@ -2871,7 +2837,6 @@ extension on TranslationsIt {
'libraries.sortLabels.communityRating' => 'Valutazione della community',
'libraries.sortLabels.criticRating' => 'Valutazione critica',
'libraries.sortLabels.userRating' => 'Valutazione utente',
'libraries.sortLabels.lastPlayed' => 'Ultima riproduzione',
'libraries.sortLabels.datePlayed' => 'Data di riproduzione',
'libraries.sortLabels.playCount' => 'Riproduzioni',
'libraries.sortLabels.productionYear' => 'Anno di produzione',
@@ -2885,14 +2850,11 @@ extension on TranslationsIt {
'libraries.sortLabels.dateShared' => 'Data di condivisione',
'libraries.sortLabels.latestEpisodeAirDate' => 'Data ultima messa in onda',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Data aggiunta ultimo episodio',
'libraries.noItemsMatchFilters' => 'Nessun elemento corrisponde ai filtri attivi',
'libraries.resetFilters' => 'Reimposta filtri',
'about.title' => 'Informazioni',
'about.openSourceLicenses' => 'Licenze Open Source',
'about.versionLabel' => ({required Object version}) => 'Versione ${version}',
'about.appDescription' => 'Un bellissimo client Plex e Jellyfin per Flutter',
'about.viewLicensesDescription' => 'Visualizza le licenze delle librerie di terze parti',
'serverSelection.allServerConnectionsFailed' => 'Impossibile connettersi ai server. Controlla la rete.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nessun server trovato per ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Impossibile caricare i server: ${error}',
'hubDetail.title' => 'Titolo',
@@ -2926,10 +2888,6 @@ extension on TranslationsIt {
'explore.rows.trending' => 'Di tendenza',
'explore.rows.upcomingMovies' => 'Film in arrivo',
'explore.rows.upcomingShows' => 'Serie TV in arrivo',
'explore.searchHint' => ({required Object source}) => 'Cerca su ${source}',
'explore.searchEmpty' => ({required Object query}) => 'Nessun risultato per "${query}"',
'explore.searchPrompt' => ({required Object source}) => 'Cerca film e serie TV su ${source}.',
'explore.searchFailed' => 'Ricerca fallita. Controlla la connessione e riprova.',
'explore.status.airing' => 'In onda',
'explore.status.ended' => 'Conclusa',
'explore.status.canceled' => 'Cancellata',
@@ -2942,14 +2900,19 @@ extension on TranslationsIt {
'explore.watchlistUpdateFailed' => 'Impossibile aggiornare la Watchlist',
'explore.notInLibrary' => 'Non è nella tua libreria',
'explore.inTheseLibraries' => 'In queste librerie',
'explore.availableOn' => ({required Object server}) => 'Disponibile su ${server}',
'explore.checkingLibrary' => 'Controllo della tua libreria...',
'explore.emptyTitle' => 'Ancora niente qui',
'explore.emptyMessage' => ({required Object source}) => 'Le righe da ${source} appariranno qui una volta che avranno dei contenuti.',
'explore.searchHint' => ({required Object source}) => 'Cerca su ${source}',
'explore.searchEmpty' => ({required Object query}) => 'Nessun risultato per "${query}"',
'explore.searchPrompt' => ({required Object source}) => 'Cerca film e serie TV su ${source}.',
'explore.searchFailed' => 'Ricerca fallita. Controlla la connessione e riprova.',
'liveTv.title' => 'TV in diretta',
'liveTv.guide' => 'Guida',
'liveTv.noChannels' => 'Nessun canale disponibile',
'liveTv.noDvr' => 'Nessun DVR configurato su nessun server',
'liveTv.serverUnavailable' => 'Il server TV in diretta non è disponibile.',
'liveTv.serverNotConnected' => 'Il server TV in diretta non è connesso.',
'liveTv.noPrograms' => 'Nessun dato di programma disponibile',
'liveTv.liveStreamFailed' => 'Streaming live non riuscito',
'liveTv.unknownProgram' => 'Programma sconosciuto',
@@ -2985,7 +2948,6 @@ extension on TranslationsIt {
'liveTv.scheduledRecordings' => 'Programmate',
'liveTv.recordingRules' => 'Regole di registrazione',
'liveTv.noScheduledRecordings' => 'Nessuna registrazione programmata',
'liveTv.noRecordingRules' => 'Nessuna regola di registrazione',
'liveTv.manageRecording' => 'Gestisci registrazione',
'liveTv.cancelRecording' => 'Annulla registrazione',
'liveTv.cancelRecordingTitle' => 'Annullare questa registrazione?',
@@ -3002,7 +2964,6 @@ extension on TranslationsIt {
'liveTv.recordingCancelled' => 'Registrazione annullata',
'liveTv.recordingRuleDeleted' => 'Regola di registrazione eliminata',
'liveTv.processRecordingRules' => 'Rivaluta regole',
'liveTv.loadingRecordings' => 'Caricamento registrazioni...',
'liveTv.recordingInProgress' => 'Registrazione in corso',
'liveTv.recordingsCount' => ({required Object count}) => '${count} programmate',
'liveTv.editRule' => 'Modifica regola',
@@ -3014,7 +2975,6 @@ extension on TranslationsIt {
'collections.title' => 'Raccolte',
'collections.collection' => 'Raccolta',
'collections.empty' => 'La raccolta è vuota',
'collections.unknownLibrarySection' => 'Impossibile eliminare: sezione libreria sconosciuta',
'collections.deleteCollection' => 'Elimina raccolta',
'collections.deleteConfirm' => ({required Object title}) => 'Eliminare "${title}"? Non si può annullare.',
'collections.deleted' => 'Raccolta eliminata',
@@ -3052,6 +3012,7 @@ extension on TranslationsIt {
'playlists.itemAdded' => 'Aggiunto alla playlist',
'playlists.itemRemoved' => 'Rimosso dalla playlist',
'playlists.selectPlaylist' => 'Seleziona playlist',
'playlists.searchPlaylists' => 'Cerca playlist...',
'playlists.errorCreating' => 'Errore durante la creazione della playlist',
'playlists.errorDeleting' => 'Errore durante l\'eliminazione della playlist',
'playlists.errorLoading' => 'Errore durante il caricamento delle playlist',
@@ -3134,22 +3095,20 @@ extension on TranslationsIt {
'watchTogether.participantResumed' => ({required Object name}) => '${name} ha ripreso',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} ha cercato',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} sta caricando',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} usa una versione precedente dell\'app — sincronizzazione non disponibile',
'watchTogether.resumingWithout' => ({required Object name}) => 'Ripresa senza ${name}',
'watchTogether.waitingForParticipants' => 'In attesa che gli altri carichino...',
'watchTogether.waitingForName' => ({required Object name}) => 'In attesa di ${name}...',
'watchTogether.recentRooms' => 'Stanze recenti',
'watchTogether.renameRoom' => 'Rinomina stanza',
'watchTogether.removeRoom' => 'Rimuovi',
'watchTogether.guestSwitchUnavailable' => 'Impossibile cambiare — server non disponibile per la sincronizzazione',
'watchTogether.guestSwitchFailed' => 'Impossibile cambiare — contenuto non trovato su questo server',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} usa una versione precedente dell\'app — sincronizzazione non disponibile',
'watchTogether.resumingWithout' => ({required Object name}) => 'Ripresa senza ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'In attesa di ${name}...',
'downloads.title' => 'Download',
'downloads.manage' => 'Gestisci',
'downloads.tvShows' => 'Serie TV',
'downloads.movies' => 'Film',
'downloads.music' => 'Musica',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} brani in coda per il download',
'downloads.noDownloads' => 'Nessun download',
'downloads.noDownloadsDescription' => 'I contenuti scaricati appariranno qui per la visualizzazione offline',
@@ -3164,6 +3123,8 @@ extension on TranslationsIt {
'downloads.deleteConfirm' => ({required Object title}) => 'Eliminare "${title}" da questo dispositivo?',
'downloads.cancelledDownloadTitle' => 'Download annullato',
'downloads.cancelledDownloadMessage' => 'Questo download è stato annullato. Cosa vuoi fare?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Tutti gli episodi sono già stati scaricati',
'downloads.resumeDownload' => 'Riprendi download',
'downloads.cancelledDownload' => 'Download annullato',
@@ -3187,7 +3148,6 @@ extension on TranslationsIt {
'downloads.customAmount' => 'Quantità personalizzata...',
'downloads.includeSpecials' => 'Includi gli speciali',
'downloads.howManyEpisodes' => 'Quanti episodi?',
'downloads.itemsQueued' => ({required Object count}) => '${count} elementi in coda per il download',
'downloads.keepSynced' => 'Mantieni sincronizzato',
'downloads.downloadOnce' => 'Scarica una volta',
'downloads.keepNUnwatched' => ({required Object count}) => 'Mantieni ${count} non visti',
@@ -3231,7 +3191,6 @@ extension on TranslationsIt {
'companionRemote.connectedTo' => ({required Object name}) => 'Connesso a ${name}',
'companionRemote.unknownDevice' => 'Dispositivo sconosciuto',
'companionRemote.session.startingServer' => 'Avvio del server remoto...',
'companionRemote.session.failedToCreate' => 'Impossibile avviare il server remoto:',
'companionRemote.session.hostAddress' => 'Indirizzo host',
'companionRemote.session.connected' => 'Connesso',
'companionRemote.session.serverRunning' => 'Server remoto attivo',
@@ -3286,6 +3245,8 @@ extension on TranslationsIt {
'companionRemote.remote.searchHint' => 'Cerca sul desktop...',
'companionRemote.errors.noNetworkInterface' => 'Nessuna interfaccia di rete trovata',
'companionRemote.errors.authenticationFailed' => 'Autenticazione non riuscita',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Impossibile avviare il server remoto: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Impossibile inviare il comando remoto: ${error}',
'companionRemote.errors.joinTimedOut' => 'Tempo scaduto durante laccesso alla sessione',
'companionRemote.errors.failedToConnectAnyAddress' => 'Impossibile connettersi a qualsiasi indirizzo',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Connessione persa dopo ${attempts} tentativi',
@@ -3530,7 +3491,6 @@ extension on TranslationsIt {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect non riuscito: ${error}',
'addServer.addPlexTitle' => 'Accedi con Plex',
'addServer.pinExpired' => 'PIN scaduto prima dell\'accesso. Riprova.',
'addServer.duplicatePlexAccount' => 'Accesso a Plex già effettuato. Esci per cambiare account.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Registrazione account non riuscita: ${error}',
'addServer.enterJellyfinUrlError' => 'Inserisci l\'URL del tuo server Jellyfin',
'addServer.addConnectionTitle' => 'Aggiungi connessione',
+68 -108
View File
@@ -53,7 +53,6 @@ class TranslationsJa extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityJa accessibility = _TranslationsAccessibilityJa._(_root);
@override late final _TranslationsTooltipsJa tooltips = _TranslationsTooltipsJa._(_root);
@override late final _TranslationsVideoControlsJa videoControls = _TranslationsVideoControlsJa._(_root);
@override late final _TranslationsUserStatusJa userStatus = _TranslationsUserStatusJa._(_root);
@override late final _TranslationsMessagesJa messages = _TranslationsMessagesJa._(_root);
@override late final _TranslationsSubtitlingStylingJa subtitlingStyling = _TranslationsSubtitlingStylingJa._(_root);
@override late final _TranslationsMpvConfigJa mpvConfig = _TranslationsMpvConfigJa._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthJa extends TranslationsAuthEn {
final TranslationsJa _root; // ignore: unused_field
// Translations
@override String get signIn => 'サインイン';
@override String get signInWithPlex => 'Plexでサインイン';
@override String get showQRCode => 'QRコードを表示';
@override String get authenticate => '認証';
@@ -167,10 +165,8 @@ class _TranslationsCommonJa extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'エピソード${number} - ${title}';
@override String chapterNumber({required Object number}) => 'チャプター${number}';
@override String get reconnect => '再接続';
@override String get exit => '終了';
@override String get viewAll => 'すべて表示';
@override String get checkingNetwork => 'ネットワークを確認中...';
@override String get refreshingServers => 'サーバーを更新中...';
@override String get loadingServers => 'サーバーを読み込み中...';
@override String get connectingToServers => 'サーバーに接続中...';
@override String get startingOfflineMode => 'オフラインモードを開始中...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'TVカードを画像のみで表示し、俳優名を重ねて表示します';
@override String get focusGlow => 'フォーカス時の光彩';
@override String get focusGlowDescription => 'フォーカス中のカードの周りに柔らかい光彩を表示します';
@override String get visualEffects => '視覚効果';
@override String get visualEffectsAuto => '自動';
@override String get visualEffectsAutoDescription => '低性能なデバイスでは効果を自動的に減らします';
@override String get visualEffectsFull => 'フル';
@override String get visualEffectsReduced => '軽減';
@override String get visualEffectsReducedDescription => 'アニメーションを減らし、低解像度のアートワークを使用します';
@override String get hideSpoilers => '未視聴エピソードのネタバレを非表示';
@override String get hideSpoilersDescription => '未視聴エピソードのサムネイルと説明をぼかします';
@override String get playerBackend => 'プレーヤーバックエンド';
@@ -283,7 +285,7 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
@override String get bufferSizeAuto => '自動(推奨)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MBのメモリが利用可能です。${size}MBのバッファは再生に影響する可能性があります。';
@override String get defaultQualityTitle => 'デフォルト画質';
@override String get defaultQualityDescription => '再生開始時に使用。低い値ほど帯域幅が削減されます。';
@override String get musicQualityTitle => '音楽の音質';
@override String get subtitleStyling => '字幕スタイル';
@override String get subtitleStylingDescription => '字幕の外観をカスタマイズ';
@override String get smallSkipDuration => '短いスキップ時間';
@@ -377,10 +379,9 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Discordで視聴中の内容を表示';
@override String get trakt => 'Trakt';
@override String get traktDescription => '視聴履歴を Trakt と同期';
@override String get services => 'サービス';
@override String get servicesDescription => 'Trakt、MyAnimeList、Seerr などを接続';
@override String get manageLibrariesDescription => 'ライブラリを並べ替えたり非表示にしたりできます';
@override String get companionRemoteServer => 'コンパニオンリモートサーバー';
@override String get companionRemoteServerDescription => 'ネットワーク上のモバイルデバイスからこのアプリを操作できるようにする';
@override String get autoPip => '自動ピクチャーインピクチャー';
@@ -443,7 +444,6 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'ナビゲーションバーラベルを表示';
@override String get showNavBarLabelsDescription => 'ナビゲーションバーアイコンの下にテキストラベルを表示';
@override String get startupSection => '起動時のセクション';
@override String get startupSectionDescription => '起動時に Plezy が開くセクションを選択します';
@override String get liveTvDefaultFavorites => 'お気に入りチャンネルをデフォルトに';
@override String get liveTvDefaultFavoritesDescription => 'ライブTV を開いたときにお気に入りチャンネルのみ表示';
@override String get display => 'ディスプレイ';
@@ -455,13 +455,6 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => '字幕と設定';
@override String get seekAndTiming => 'シークとタイミング';
@override String get behavior => '動作';
@override String get manageLibrariesDescription => 'ライブラリを並べ替えたり非表示にしたりできます';
@override String get visualEffects => '視覚効果';
@override String get visualEffectsAuto => '自動';
@override String get visualEffectsAutoDescription => '低性能なデバイスでは効果を自動的に減らします';
@override String get visualEffectsFull => 'フル';
@override String get visualEffectsReduced => '軽減';
@override String get visualEffectsReducedDescription => 'アニメーションを減らし、低解像度のアートワークを使用します';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetJa extends TranslationsRateSheetEn {
// Translations
@override String get title => '評価';
@override String get server => 'サーバー';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'スコアを設定';
@override String get favorite => 'お気に入り';
@override String get favorited => 'お気に入りに追加済み';
@override String get saved => '保存済み';
@override String get notAvailable => '一致なし';
@override String get noConnectedServices => '評価するには、設定でサービスを接続してください。';
@override String get favorite => 'お気に入り';
@override String get favorited => 'お気に入りに追加済み';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityJa extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent}パーセント視聴済み';
@override String get mediaCardUnwatched => '未視聴';
@override String get tapToPlay => 'タップして再生';
@override String get decrease => '下げる';
@override String get increase => '上げる';
@override String decreaseValue({required Object label}) => '${label}を下げる';
@override String increaseValue({required Object label}) => '${label}を上げる';
@override String get hue => '色相';
@override String get saturation => '彩度';
@override String get brightness => '明るさ';
@override String get hexColor => '16進カラー';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsJa extends TranslationsVideoControlsEn {
@override String get settingsButton => '再生設定';
@override String get tracksButton => '音声と字幕';
@override String get chaptersButton => 'チャプター';
@override String get versionsButton => '動画バージョン';
@override String get versionQualityButton => 'バージョンと画質';
@override String get versionColumnHeader => 'バージョン';
@override String get qualityColumnHeader => '画質';
@override String get qualityOriginal => 'オリジナル';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'トランスコードは利用できません — オリジナル画質で再生中';
@override String get pipButton => 'ピクチャーインピクチャーモード';
@override String get aspectRatioButton => 'アスペクト比';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsJa extends TranslationsVideoControlsEn {
@override String get searchLanguages => '言語を検索...';
}
// Path: userStatus
class _TranslationsUserStatusJa extends TranslationsUserStatusEn {
_TranslationsUserStatusJa._(TranslationsJa root) : this._root = root, super.internal(root);
final TranslationsJa _root; // ignore: unused_field
// Translations
@override String get admin => '管理者';
@override String get restricted => '制限付き';
@override String get protected => '保護済み';
@override String get current => '現在';
}
// Path: messages
class _TranslationsMessagesJa extends TranslationsMessagesEn {
_TranslationsMessagesJa._(TranslationsJa root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesJa extends TranslationsProfilesEn {
@override String get pinExplain => 'プロフィール切り替えには4桁のPINが必要です。';
@override String get continueButton => '続ける';
@override String get pinsDontMatch => 'PINが一致しません';
@override String get initializeServicesFailed => 'プロフィールサービスの初期化に失敗しました';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverJa extends TranslationsDiscoverEn {
// Translations
@override String get title => '探す';
@override String get switchProfile => 'プロフィール切替';
@override String get noContentAvailable => 'コンテンツがありません';
@override String get addMediaToLibraries => 'ライブラリにメディアを追加してください';
@override String get continueWatching => '視聴を続ける';
@@ -938,8 +919,6 @@ class _TranslationsErrorsJa extends TranslationsErrorsEn {
@override String get connectionFailed => 'メディアサーバーに接続できません';
@override String failedToLoad({required Object context, required Object error}) => '${context}の読み込みに失敗しました: ${error}';
@override String get noClientAvailable => 'クライアントが利用できません';
@override String authenticationFailed({required Object error}) => '認証に失敗しました: ${error}';
@override String get couldNotLaunchUrl => '認証URLを開けませんでした';
@override String get pleaseEnterToken => 'トークンを入力してください';
@override String get invalidToken => '無効なトークン';
@override String failedToVerifyToken({required Object error}) => 'トークンの検証に失敗しました: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesJa extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'すべてのライブラリが非表示です';
@override String hiddenLibrariesCount({required Object count}) => '非表示のライブラリ (${count})';
@override String get thisLibraryIsEmpty => 'このライブラリは空です';
@override String get noItemsMatchFilters => '有効なフィルターに一致する項目はありません';
@override String get resetFilters => 'フィルターをリセット';
@override String get all => 'すべて';
@override String get clearAll => 'すべてクリア';
@override String scanLibraryConfirm({required Object title}) => '"${title}"をスキャンしてもよろしいですか?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesJa extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsJa groupings = _TranslationsLibrariesGroupingsJa._(_root);
@override late final _TranslationsLibrariesFilterCategoriesJa filterCategories = _TranslationsLibrariesFilterCategoriesJa._(_root);
@override late final _TranslationsLibrariesSortLabelsJa sortLabels = _TranslationsLibrariesSortLabelsJa._(_root);
@override String get noItemsMatchFilters => '有効なフィルターに一致する項目はありません';
@override String get resetFilters => 'フィルターをリセット';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionJa extends TranslationsServerSelectionEn {
final TranslationsJa _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'どのサーバーにも接続できませんでした。ネットワークを確認してください。';
@override String noServersFoundForAccount({required Object username, required Object email}) => '${username} (${email})のサーバーが見つかりません';
@override String failedToLoadServers({required Object error}) => 'サーバーの読み込みに失敗しました: ${error}';
}
@@ -1090,10 +1068,6 @@ class _TranslationsExploreJa extends TranslationsExploreEn {
@override String get title => '探索';
@override String get selectSource => 'ソースを選択';
@override late final _TranslationsExploreRowsJa rows = _TranslationsExploreRowsJa._(_root);
@override String searchHint({required Object source}) => '${source} で検索';
@override String searchEmpty({required Object query}) => '${query}」の結果が見つかりません';
@override String searchPrompt({required Object source}) => '${source} で映画やテレビ番組を検索します。';
@override String get searchFailed => '検索に失敗しました。接続を確認してもう一度お試しください。';
@override late final _TranslationsExploreStatusJa status = _TranslationsExploreStatusJa._(_root);
@override String episodeCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ja'))(n,
other: '${n}',
@@ -1105,10 +1079,13 @@ class _TranslationsExploreJa extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'ウォッチリストを更新できませんでした';
@override String get notInLibrary => 'ライブラリにありません';
@override String get inTheseLibraries => 'これらのライブラリにあります';
@override String availableOn({required Object server}) => '${server}で視聴可能';
@override String get checkingLibrary => 'ライブラリを確認中...';
@override String get emptyTitle => 'まだ何もありません';
@override String emptyMessage({required Object source}) => '${source}にコンテンツが追加されると、ここに表示されます。';
@override String searchHint({required Object source}) => '${source} で検索';
@override String searchEmpty({required Object query}) => '${query}」の結果が見つかりません';
@override String searchPrompt({required Object source}) => '${source} で映画やテレビ番組を検索します。';
@override String get searchFailed => '検索に失敗しました。接続を確認してもう一度お試しください。';
}
// Path: liveTv
@@ -1122,6 +1099,8 @@ class _TranslationsLiveTvJa extends TranslationsLiveTvEn {
@override String get guide => '番組表';
@override String get noChannels => 'チャンネルがありません';
@override String get noDvr => 'どのサーバーにもDVRが設定されていません';
@override String get serverUnavailable => 'ライブTVサーバーを利用できません。';
@override String get serverNotConnected => 'ライブTVサーバーに接続されていません。';
@override String get noPrograms => '番組データがありません';
@override String get liveStreamFailed => 'ライブストリームに失敗しました';
@override String get unknownProgram => '不明な番組';
@@ -1157,7 +1136,6 @@ class _TranslationsLiveTvJa extends TranslationsLiveTvEn {
@override String get scheduledRecordings => '予約';
@override String get recordingRules => '録画ルール';
@override String get noScheduledRecordings => '予約された録画はありません';
@override String get noRecordingRules => '録画ルールはまだありません';
@override String get manageRecording => '録画を管理';
@override String get cancelRecording => '録画をキャンセル';
@override String get cancelRecordingTitle => 'この録画をキャンセルしますか?';
@@ -1174,7 +1152,6 @@ class _TranslationsLiveTvJa extends TranslationsLiveTvEn {
@override String get recordingCancelled => '録画をキャンセルしました';
@override String get recordingRuleDeleted => '録画ルールを削除しました';
@override String get processRecordingRules => 'ルールを再評価';
@override String get loadingRecordings => '録画を読み込み中...';
@override String get recordingInProgress => '録画中';
@override String recordingsCount({required Object count}) => '${count} 件予約済み';
@override String get editRule => 'ルールを編集';
@@ -1195,7 +1172,6 @@ class _TranslationsCollectionsJa extends TranslationsCollectionsEn {
@override String get title => 'コレクション';
@override String get collection => 'コレクション';
@override String get empty => 'コレクションは空です';
@override String get unknownLibrarySection => '削除できません:不明なライブラリセクション';
@override String get deleteCollection => 'コレクションを削除';
@override String deleteConfirm({required Object title}) => '${title}」を削除しますか?元に戻せません。';
@override String get deleted => 'コレクションを削除しました';
@@ -1242,6 +1218,7 @@ class _TranslationsPlaylistsJa extends TranslationsPlaylistsEn {
@override String get itemAdded => 'プレイリストに追加しました';
@override String get itemRemoved => 'プレイリストから削除しました';
@override String get selectPlaylist => 'プレイリストを選択';
@override String get searchPlaylists => 'プレイリストを検索...';
@override String get errorCreating => 'プレイリストの作成に失敗しました';
@override String get errorDeleting => 'プレイリストの削除に失敗しました';
@override String get errorLoading => 'プレイリストの読み込みに失敗しました';
@@ -1344,15 +1321,15 @@ class _TranslationsWatchTogetherJa extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name}が再開しました';
@override String participantSeeked({required Object name}) => '${name}がシークしました';
@override String participantBuffering({required Object name}) => '${name}がバッファリング中';
@override String participantNeedsUpdate({required Object name}) => '${name} は古いバージョンのアプリを使用しているため、同期できません';
@override String resumingWithout({required Object name}) => '${name} なしで再開';
@override String get waitingForParticipants => '他の参加者の読み込みを待っています...';
@override String waitingForName({required Object name}) => '${name}を待っています...';
@override String get recentRooms => '最近のルーム';
@override String get renameRoom => 'ルーム名を変更';
@override String get removeRoom => '削除';
@override String get guestSwitchUnavailable => '切り替えできません — サーバーが同期できません';
@override String get guestSwitchFailed => '切り替えできません — このサーバーにコンテンツが見つかりません';
@override String participantNeedsUpdate({required Object name}) => '${name} は古いバージョンのアプリを使用しているため、同期できません';
@override String resumingWithout({required Object name}) => '${name} なしで再開';
@override String waitingForName({required Object name}) => '${name}を待っています...';
}
// Path: downloads
@@ -1404,7 +1381,6 @@ class _TranslationsDownloadsJa extends TranslationsDownloadsEn {
@override String get customAmount => '数を指定...';
@override String get includeSpecials => 'スペシャルを含める';
@override String get howManyEpisodes => '何エピソード?';
@override String itemsQueued({required Object count}) => '${count}件をダウンロードキューに追加';
@override String get keepSynced => '同期を維持';
@override String get downloadOnce => '一度だけダウンロード';
@override String keepNUnwatched({required Object count}) => '未視聴を${count}件保持';
@@ -1778,7 +1754,6 @@ class _TranslationsAddServerJa extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connectに失敗しました: ${error}';
@override String get addPlexTitle => 'Plexでサインイン';
@override String get pinExpired => 'サインイン前にPINの有効期限が切れました。もう一度お試しください。';
@override String get duplicatePlexAccount => 'すでにPlexにサインインしています。アカウントを切り替えるにはサインアウトしてください。';
@override String failedToRegisterAccount({required Object error}) => 'アカウントの登録に失敗しました: ${error}';
@override String get enterJellyfinUrlError => 'JellyfinサーバーのURLを入力してください';
@override String get addConnectionTitle => '接続を追加';
@@ -1904,7 +1879,6 @@ class _TranslationsLibrariesSortLabelsJa extends TranslationsLibrariesSortLabels
@override String get communityRating => 'コミュニティ評価';
@override String get criticRating => '批評家評価';
@override String get userRating => 'ユーザー評価';
@override String get lastPlayed => '最終再生';
@override String get datePlayed => '再生日';
@override String get playCount => '再生回数';
@override String get productionYear => '製作年';
@@ -1963,7 +1937,6 @@ class _TranslationsCompanionRemoteSessionJa extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'リモートサーバーを起動中...';
@override String get failedToCreate => 'リモートサーバーの起動に失敗しました:';
@override String get hostAddress => 'ホストアドレス';
@override String get connected => '接続済み';
@override String get serverRunning => 'リモートサーバー稼働中';
@@ -2045,6 +2018,8 @@ class _TranslationsCompanionRemoteErrorsJa extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'ネットワークインターフェースが見つかりません';
@override String get authenticationFailed => '認証に失敗しました';
@override String serverStartFailed({required Object error}) => 'リモートサーバーを起動できませんでした: ${error}';
@override String commandFailed({required Object error}) => 'リモートコマンドを送信できませんでした: ${error}';
@override String get joinTimedOut => 'セッション参加がタイムアウトしました';
@override String get failedToConnectAnyAddress => 'どのアドレスにも接続できませんでした';
@override String connectionLostAfterAttempts({required Object attempts}) => '${attempts}回試行後に接続が切断されました';
@@ -2121,7 +2096,6 @@ extension on TranslationsJa {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'サインイン',
'auth.signInWithPlex' => 'Plexでサインイン',
'auth.showQRCode' => 'QRコードを表示',
'auth.authenticate' => '認証',
@@ -2172,10 +2146,8 @@ extension on TranslationsJa {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'エピソード${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'チャプター${number}',
'common.reconnect' => '再接続',
'common.exit' => '終了',
'common.viewAll' => 'すべて表示',
'common.checkingNetwork' => 'ネットワークを確認中...',
'common.refreshingServers' => 'サーバーを更新中...',
'common.loadingServers' => 'サーバーを読み込み中...',
'common.connectingToServers' => 'サーバーに接続中...',
'common.startingOfflineMode' => 'オフラインモードを開始中...',
@@ -2249,6 +2221,12 @@ extension on TranslationsJa {
'settings.tvFullCardLayoutDescription' => 'TVカードを画像のみで表示し、俳優名を重ねて表示します',
'settings.focusGlow' => 'フォーカス時の光彩',
'settings.focusGlowDescription' => 'フォーカス中のカードの周りに柔らかい光彩を表示します',
'settings.visualEffects' => '視覚効果',
'settings.visualEffectsAuto' => '自動',
'settings.visualEffectsAutoDescription' => '低性能なデバイスでは効果を自動的に減らします',
'settings.visualEffectsFull' => 'フル',
'settings.visualEffectsReduced' => '軽減',
'settings.visualEffectsReducedDescription' => 'アニメーションを減らし、低解像度のアートワークを使用します',
'settings.hideSpoilers' => '未視聴エピソードのネタバレを非表示',
'settings.hideSpoilersDescription' => '未視聴エピソードのサムネイルと説明をぼかします',
'settings.playerBackend' => 'プレーヤーバックエンド',
@@ -2261,7 +2239,7 @@ extension on TranslationsJa {
'settings.bufferSizeAuto' => '自動(推奨)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MBのメモリが利用可能です。${size}MBのバッファは再生に影響する可能性があります。',
'settings.defaultQualityTitle' => 'デフォルト画質',
'settings.defaultQualityDescription' => '再生開始時に使用。低い値ほど帯域幅が削減されます。',
'settings.musicQualityTitle' => '音楽の音質',
'settings.subtitleStyling' => '字幕スタイル',
'settings.subtitleStylingDescription' => '字幕の外観をカスタマイズ',
'settings.smallSkipDuration' => '短いスキップ時間',
@@ -2355,10 +2333,9 @@ extension on TranslationsJa {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Discordで視聴中の内容を表示',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => '視聴履歴を Trakt と同期',
'settings.services' => 'サービス',
'settings.servicesDescription' => 'Trakt、MyAnimeList、Seerr などを接続',
'settings.manageLibrariesDescription' => 'ライブラリを並べ替えたり非表示にしたりできます',
'settings.companionRemoteServer' => 'コンパニオンリモートサーバー',
'settings.companionRemoteServerDescription' => 'ネットワーク上のモバイルデバイスからこのアプリを操作できるようにする',
'settings.autoPip' => '自動ピクチャーインピクチャー',
@@ -2421,7 +2398,6 @@ extension on TranslationsJa {
'settings.showNavBarLabels' => 'ナビゲーションバーラベルを表示',
'settings.showNavBarLabelsDescription' => 'ナビゲーションバーアイコンの下にテキストラベルを表示',
'settings.startupSection' => '起動時のセクション',
'settings.startupSectionDescription' => '起動時に Plezy が開くセクションを選択します',
'settings.liveTvDefaultFavorites' => 'お気に入りチャンネルをデフォルトに',
'settings.liveTvDefaultFavoritesDescription' => 'ライブTV を開いたときにお気に入りチャンネルのみ表示',
'settings.display' => 'ディスプレイ',
@@ -2433,13 +2409,6 @@ extension on TranslationsJa {
'settings.subtitlesAndConfig' => '字幕と設定',
'settings.seekAndTiming' => 'シークとタイミング',
'settings.behavior' => '動作',
'settings.manageLibrariesDescription' => 'ライブラリを並べ替えたり非表示にしたりできます',
'settings.visualEffects' => '視覚効果',
'settings.visualEffectsAuto' => '自動',
'settings.visualEffectsAutoDescription' => '低性能なデバイスでは効果を自動的に減らします',
'settings.visualEffectsFull' => 'フル',
'settings.visualEffectsReduced' => '軽減',
'settings.visualEffectsReducedDescription' => 'アニメーションを減らし、低解像度のアートワークを使用します',
'search.hint' => '映画、番組、音楽を検索...',
'search.tryDifferentTerm' => '別の検索語をお試しください',
'search.searchYourMedia' => 'メディアを検索',
@@ -2516,14 +2485,11 @@ extension on TranslationsJa {
'mediaMenu.playVersion' => 'バージョンを再生...',
'rateSheet.title' => '評価',
'rateSheet.server' => 'サーバー',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'スコアを設定',
'rateSheet.favorite' => 'お気に入り',
'rateSheet.favorited' => 'お気に入りに追加済み',
'rateSheet.saved' => '保存済み',
'rateSheet.notAvailable' => '一致なし',
'rateSheet.noConnectedServices' => '評価するには、設定でサービスを接続してください。',
'rateSheet.favorite' => 'お気に入り',
'rateSheet.favorited' => 'お気に入りに追加済み',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}、映画',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}、テレビ番組',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}${episodeInfo}',
@@ -2532,6 +2498,14 @@ extension on TranslationsJa {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent}パーセント視聴済み',
'accessibility.mediaCardUnwatched' => '未視聴',
'accessibility.tapToPlay' => 'タップして再生',
'accessibility.decrease' => '下げる',
'accessibility.increase' => '上げる',
'accessibility.decreaseValue' => ({required Object label}) => '${label}を下げる',
'accessibility.increaseValue' => ({required Object label}) => '${label}を上げる',
'accessibility.hue' => '色相',
'accessibility.saturation' => '彩度',
'accessibility.brightness' => '明るさ',
'accessibility.hexColor' => '16進カラー',
'tooltips.shufflePlay' => 'シャッフル再生',
'tooltips.playTrailer' => '予告編を再生',
'tooltips.markAsWatched' => '視聴済みにする',
@@ -2573,13 +2547,11 @@ extension on TranslationsJa {
'videoControls.settingsButton' => '再生設定',
'videoControls.tracksButton' => '音声と字幕',
'videoControls.chaptersButton' => 'チャプター',
'videoControls.versionsButton' => '動画バージョン',
'videoControls.versionQualityButton' => 'バージョンと画質',
'videoControls.versionColumnHeader' => 'バージョン',
'videoControls.qualityColumnHeader' => '画質',
'videoControls.qualityOriginal' => 'オリジナル',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'トランスコードは利用できません — オリジナル画質で再生中',
'videoControls.pipButton' => 'ピクチャーインピクチャーモード',
'videoControls.aspectRatioButton' => 'アスペクト比',
@@ -2619,10 +2591,6 @@ extension on TranslationsJa {
'videoControls.subtitleDownloaded' => '字幕をダウンロードしました',
'videoControls.subtitleDownloadFailed' => '字幕のダウンロードに失敗しました',
'videoControls.searchLanguages' => '言語を検索...',
'userStatus.admin' => '管理者',
'userStatus.restricted' => '制限付き',
'userStatus.protected' => '保護済み',
'userStatus.current' => '現在',
'messages.markedAsWatched' => '視聴済みにしました',
'messages.markedAsUnwatched' => '未視聴にしました',
'messages.markedAsWatchedOffline' => '視聴済みにしました(オンライン時に同期)',
@@ -2632,8 +2600,6 @@ extension on TranslationsJa {
'messages.errorLoading' => ({required Object error}) => 'エラー: ${error}',
'messages.streamInterrupted' => 'ストリームが中断されました。再生を押すかシークして再試行してください。',
'messages.fileInfoNotAvailable' => 'ファイル情報が利用できません',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'ファイル情報の読み込みエラー: ${error}',
'messages.errorLoadingSeries' => 'シリーズの読み込みエラー',
'messages.musicNotSupported' => '音楽の再生はまだサポートされていません',
@@ -2641,6 +2607,8 @@ extension on TranslationsJa {
'messages.noProfilesAvailable' => '利用可能なプロフィールがありません',
'messages.contactAdminForProfiles' => 'プロファイルを追加するにはサーバー管理者に連絡してください',
'messages.unableToDetermineLibrarySection' => 'このアイテムのライブラリセクションを判別できません',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'ログをクリアしました',
'messages.logsCopied' => 'ログをクリップボードにコピーしました',
'messages.noLogsAvailable' => 'ログがありません',
@@ -2757,7 +2725,6 @@ extension on TranslationsJa {
'profiles.pinExplain' => 'プロフィール切り替えには4桁のPINが必要です。',
'profiles.continueButton' => '続ける',
'profiles.pinsDontMatch' => 'PINが一致しません',
'profiles.initializeServicesFailed' => 'プロフィールサービスの初期化に失敗しました',
'connections.sectionTitle' => '接続',
'connections.addConnection' => '接続を追加',
'connections.addConnectionSubtitleNoProfile' => 'Plexでサインインするか、Jellyfinサーバーに接続',
@@ -2768,7 +2735,6 @@ extension on TranslationsJa {
'connections.editJellyfinTitle' => 'Jellyfin接続を編集',
'connections.editJellyfinIntro' => ({required Object serverName}) => '${serverName} のURLを追加または削除します。Plezyは到達可能なURLのうち最も低遅延のものを使用します。',
'discover.title' => '探す',
'discover.switchProfile' => 'プロフィール切替',
'discover.noContentAvailable' => 'コンテンツがありません',
'discover.addMediaToLibraries' => 'ライブラリにメディアを追加してください',
'discover.continueWatching' => '視聴を続ける',
@@ -2795,8 +2761,6 @@ extension on TranslationsJa {
'errors.connectionFailed' => 'メディアサーバーに接続できません',
'errors.failedToLoad' => ({required Object context, required Object error}) => '${context}の読み込みに失敗しました: ${error}',
'errors.noClientAvailable' => 'クライアントが利用できません',
'errors.authenticationFailed' => ({required Object error}) => '認証に失敗しました: ${error}',
'errors.couldNotLaunchUrl' => '認証URLを開けませんでした',
'errors.pleaseEnterToken' => 'トークンを入力してください',
'errors.invalidToken' => '無効なトークン',
'errors.failedToVerifyToken' => ({required Object error}) => 'トークンの検証に失敗しました: ${error}',
@@ -2821,6 +2785,8 @@ extension on TranslationsJa {
'libraries.allLibrariesHidden' => 'すべてのライブラリが非表示です',
'libraries.hiddenLibrariesCount' => ({required Object count}) => '非表示のライブラリ (${count})',
'libraries.thisLibraryIsEmpty' => 'このライブラリは空です',
'libraries.noItemsMatchFilters' => '有効なフィルターに一致する項目はありません',
'libraries.resetFilters' => 'フィルターをリセット',
'libraries.all' => 'すべて',
'libraries.clearAll' => 'すべてクリア',
'libraries.scanLibraryConfirm' => ({required Object title}) => '"${title}"をスキャンしてもよろしいですか?',
@@ -2869,7 +2835,6 @@ extension on TranslationsJa {
'libraries.sortLabels.communityRating' => 'コミュニティ評価',
'libraries.sortLabels.criticRating' => '批評家評価',
'libraries.sortLabels.userRating' => 'ユーザー評価',
'libraries.sortLabels.lastPlayed' => '最終再生',
'libraries.sortLabels.datePlayed' => '再生日',
'libraries.sortLabels.playCount' => '再生回数',
'libraries.sortLabels.productionYear' => '製作年',
@@ -2883,14 +2848,11 @@ extension on TranslationsJa {
'libraries.sortLabels.dateShared' => '共有日',
'libraries.sortLabels.latestEpisodeAirDate' => '最新エピソード放送日',
'libraries.sortLabels.lastEpisodeDateAdded' => '最新エピソード追加日',
'libraries.noItemsMatchFilters' => '有効なフィルターに一致する項目はありません',
'libraries.resetFilters' => 'フィルターをリセット',
'about.title' => 'アプリについて',
'about.openSourceLicenses' => 'オープンソースライセンス',
'about.versionLabel' => ({required Object version}) => 'バージョン ${version}',
'about.appDescription' => 'Flutter製の美しいPlex・Jellyfinクライアント',
'about.viewLicensesDescription' => 'サードパーティライブラリのライセンスを表示',
'serverSelection.allServerConnectionsFailed' => 'どのサーバーにも接続できませんでした。ネットワークを確認してください。',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})のサーバーが見つかりません',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'サーバーの読み込みに失敗しました: ${error}',
'hubDetail.title' => 'タイトル',
@@ -2924,10 +2886,6 @@ extension on TranslationsJa {
'explore.rows.trending' => 'トレンド',
'explore.rows.upcomingMovies' => '近日公開の映画',
'explore.rows.upcomingShows' => '放送予定の番組',
'explore.searchHint' => ({required Object source}) => '${source} で検索',
'explore.searchEmpty' => ({required Object query}) => '${query}」の結果が見つかりません',
'explore.searchPrompt' => ({required Object source}) => '${source} で映画やテレビ番組を検索します。',
'explore.searchFailed' => '検索に失敗しました。接続を確認してもう一度お試しください。',
'explore.status.airing' => '放送中',
'explore.status.ended' => '放送終了',
'explore.status.canceled' => '打ち切り',
@@ -2940,14 +2898,19 @@ extension on TranslationsJa {
'explore.watchlistUpdateFailed' => 'ウォッチリストを更新できませんでした',
'explore.notInLibrary' => 'ライブラリにありません',
'explore.inTheseLibraries' => 'これらのライブラリにあります',
'explore.availableOn' => ({required Object server}) => '${server}で視聴可能',
'explore.checkingLibrary' => 'ライブラリを確認中...',
'explore.emptyTitle' => 'まだ何もありません',
'explore.emptyMessage' => ({required Object source}) => '${source}にコンテンツが追加されると、ここに表示されます。',
'explore.searchHint' => ({required Object source}) => '${source} で検索',
'explore.searchEmpty' => ({required Object query}) => '${query}」の結果が見つかりません',
'explore.searchPrompt' => ({required Object source}) => '${source} で映画やテレビ番組を検索します。',
'explore.searchFailed' => '検索に失敗しました。接続を確認してもう一度お試しください。',
'liveTv.title' => 'ライブTV',
'liveTv.guide' => '番組表',
'liveTv.noChannels' => 'チャンネルがありません',
'liveTv.noDvr' => 'どのサーバーにもDVRが設定されていません',
'liveTv.serverUnavailable' => 'ライブTVサーバーを利用できません。',
'liveTv.serverNotConnected' => 'ライブTVサーバーに接続されていません。',
'liveTv.noPrograms' => '番組データがありません',
'liveTv.liveStreamFailed' => 'ライブストリームに失敗しました',
'liveTv.unknownProgram' => '不明な番組',
@@ -2983,7 +2946,6 @@ extension on TranslationsJa {
'liveTv.scheduledRecordings' => '予約',
'liveTv.recordingRules' => '録画ルール',
'liveTv.noScheduledRecordings' => '予約された録画はありません',
'liveTv.noRecordingRules' => '録画ルールはまだありません',
'liveTv.manageRecording' => '録画を管理',
'liveTv.cancelRecording' => '録画をキャンセル',
'liveTv.cancelRecordingTitle' => 'この録画をキャンセルしますか?',
@@ -3000,7 +2962,6 @@ extension on TranslationsJa {
'liveTv.recordingCancelled' => '録画をキャンセルしました',
'liveTv.recordingRuleDeleted' => '録画ルールを削除しました',
'liveTv.processRecordingRules' => 'ルールを再評価',
'liveTv.loadingRecordings' => '録画を読み込み中...',
'liveTv.recordingInProgress' => '録画中',
'liveTv.recordingsCount' => ({required Object count}) => '${count} 件予約済み',
'liveTv.editRule' => 'ルールを編集',
@@ -3012,7 +2973,6 @@ extension on TranslationsJa {
'collections.title' => 'コレクション',
'collections.collection' => 'コレクション',
'collections.empty' => 'コレクションは空です',
'collections.unknownLibrarySection' => '削除できません:不明なライブラリセクション',
'collections.deleteCollection' => 'コレクションを削除',
'collections.deleteConfirm' => ({required Object title}) => '${title}」を削除しますか?元に戻せません。',
'collections.deleted' => 'コレクションを削除しました',
@@ -3050,6 +3010,7 @@ extension on TranslationsJa {
'playlists.itemAdded' => 'プレイリストに追加しました',
'playlists.itemRemoved' => 'プレイリストから削除しました',
'playlists.selectPlaylist' => 'プレイリストを選択',
'playlists.searchPlaylists' => 'プレイリストを検索...',
'playlists.errorCreating' => 'プレイリストの作成に失敗しました',
'playlists.errorDeleting' => 'プレイリストの削除に失敗しました',
'playlists.errorLoading' => 'プレイリストの読み込みに失敗しました',
@@ -3132,22 +3093,20 @@ extension on TranslationsJa {
'watchTogether.participantResumed' => ({required Object name}) => '${name}が再開しました',
'watchTogether.participantSeeked' => ({required Object name}) => '${name}がシークしました',
'watchTogether.participantBuffering' => ({required Object name}) => '${name}がバッファリング中',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} は古いバージョンのアプリを使用しているため、同期できません',
'watchTogether.resumingWithout' => ({required Object name}) => '${name} なしで再開',
'watchTogether.waitingForParticipants' => '他の参加者の読み込みを待っています...',
'watchTogether.waitingForName' => ({required Object name}) => '${name}を待っています...',
'watchTogether.recentRooms' => '最近のルーム',
'watchTogether.renameRoom' => 'ルーム名を変更',
'watchTogether.removeRoom' => '削除',
'watchTogether.guestSwitchUnavailable' => '切り替えできません — サーバーが同期できません',
'watchTogether.guestSwitchFailed' => '切り替えできません — このサーバーにコンテンツが見つかりません',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} は古いバージョンのアプリを使用しているため、同期できません',
'watchTogether.resumingWithout' => ({required Object name}) => '${name} なしで再開',
'watchTogether.waitingForName' => ({required Object name}) => '${name}を待っています...',
'downloads.title' => 'ダウンロード',
'downloads.manage' => '管理',
'downloads.tvShows' => 'テレビ番組',
'downloads.movies' => '映画',
'downloads.music' => '音楽',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} 曲をダウンロード待機中',
'downloads.noDownloads' => 'ダウンロードなし',
'downloads.noDownloadsDescription' => 'ダウンロードしたコンテンツはここに表示され、オフラインで視聴できます',
@@ -3162,6 +3121,8 @@ extension on TranslationsJa {
'downloads.deleteConfirm' => ({required Object title}) => 'このデバイスから「${title}」を削除しますか?',
'downloads.cancelledDownloadTitle' => 'キャンセルされたダウンロード',
'downloads.cancelledDownloadMessage' => 'このダウンロードはキャンセルされました。どうしますか?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'すべてのエピソードはすでにダウンロード済みです',
'downloads.resumeDownload' => 'ダウンロードを再開',
'downloads.cancelledDownload' => 'キャンセルされたダウンロード',
@@ -3185,7 +3146,6 @@ extension on TranslationsJa {
'downloads.customAmount' => '数を指定...',
'downloads.includeSpecials' => 'スペシャルを含める',
'downloads.howManyEpisodes' => '何エピソード?',
'downloads.itemsQueued' => ({required Object count}) => '${count}件をダウンロードキューに追加',
'downloads.keepSynced' => '同期を維持',
'downloads.downloadOnce' => '一度だけダウンロード',
'downloads.keepNUnwatched' => ({required Object count}) => '未視聴を${count}件保持',
@@ -3229,7 +3189,6 @@ extension on TranslationsJa {
'companionRemote.connectedTo' => ({required Object name}) => '${name}に接続中',
'companionRemote.unknownDevice' => '不明なデバイス',
'companionRemote.session.startingServer' => 'リモートサーバーを起動中...',
'companionRemote.session.failedToCreate' => 'リモートサーバーの起動に失敗しました:',
'companionRemote.session.hostAddress' => 'ホストアドレス',
'companionRemote.session.connected' => '接続済み',
'companionRemote.session.serverRunning' => 'リモートサーバー稼働中',
@@ -3284,6 +3243,8 @@ extension on TranslationsJa {
'companionRemote.remote.searchHint' => 'デスクトップで検索...',
'companionRemote.errors.noNetworkInterface' => 'ネットワークインターフェースが見つかりません',
'companionRemote.errors.authenticationFailed' => '認証に失敗しました',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'リモートサーバーを起動できませんでした: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'リモートコマンドを送信できませんでした: ${error}',
'companionRemote.errors.joinTimedOut' => 'セッション参加がタイムアウトしました',
'companionRemote.errors.failedToConnectAnyAddress' => 'どのアドレスにも接続できませんでした',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => '${attempts}回試行後に接続が切断されました',
@@ -3528,7 +3489,6 @@ extension on TranslationsJa {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connectに失敗しました: ${error}',
'addServer.addPlexTitle' => 'Plexでサインイン',
'addServer.pinExpired' => 'サインイン前にPINの有効期限が切れました。もう一度お試しください。',
'addServer.duplicatePlexAccount' => 'すでにPlexにサインインしています。アカウントを切り替えるにはサインアウトしてください。',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'アカウントの登録に失敗しました: ${error}',
'addServer.enterJellyfinUrlError' => 'JellyfinサーバーのURLを入力してください',
'addServer.addConnectionTitle' => '接続を追加',
+40 -80
View File
@@ -53,7 +53,6 @@ class TranslationsKo extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityKo accessibility = _TranslationsAccessibilityKo._(_root);
@override late final _TranslationsTooltipsKo tooltips = _TranslationsTooltipsKo._(_root);
@override late final _TranslationsVideoControlsKo videoControls = _TranslationsVideoControlsKo._(_root);
@override late final _TranslationsUserStatusKo userStatus = _TranslationsUserStatusKo._(_root);
@override late final _TranslationsMessagesKo messages = _TranslationsMessagesKo._(_root);
@override late final _TranslationsSubtitlingStylingKo subtitlingStyling = _TranslationsSubtitlingStylingKo._(_root);
@override late final _TranslationsMpvConfigKo mpvConfig = _TranslationsMpvConfigKo._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthKo extends TranslationsAuthEn {
final TranslationsKo _root; // ignore: unused_field
// Translations
@override String get signIn => '로그인';
@override String get signInWithPlex => 'Plex 계정으로 로그인';
@override String get showQRCode => 'QR 코드';
@override String get authenticate => '인증';
@@ -167,10 +165,8 @@ class _TranslationsCommonKo extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => '${number}화 - ${title}';
@override String chapterNumber({required Object number}) => '챕터 ${number}';
@override String get reconnect => '다시 연결';
@override String get exit => '종료';
@override String get viewAll => '모두 보기';
@override String get checkingNetwork => '네트워크 확인 중...';
@override String get refreshingServers => '서버 새로고침 중...';
@override String get loadingServers => '서버 로딩 중...';
@override String get connectingToServers => '서버 연결 중...';
@override String get startingOfflineMode => '오프라인 모드 시작 중...';
@@ -289,7 +285,7 @@ class _TranslationsSettingsKo extends TranslationsSettingsEn {
@override String get bufferSizeAuto => '자동 (권장)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB 메모리를 사용할 수 있습니다. ${size}MB 버퍼는 재생에 영향을 줄 수 있습니다.';
@override String get defaultQualityTitle => '기본 화질';
@override String get defaultQualityDescription => '재생 시작 시 사용됩니다. 낮은 값은 대역폭을 줄입니다.';
@override String get musicQualityTitle => '음악 음질';
@override String get subtitleStyling => '자막 스타일';
@override String get subtitleStylingDescription => '자막의 외형을 사용자 설정';
@override String get smallSkipDuration => '짧은 건너뛰기 시간';
@@ -383,8 +379,6 @@ class _TranslationsSettingsKo extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Discord에서 시청 중인 콘텐츠 표시';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Trakt와 시청 기록 동기화';
@override String get services => '서비스';
@override String get servicesDescription => 'Trakt, MyAnimeList, Seerr 등 연결';
@override String get manageLibrariesDescription => '라이브러리 순서를 변경하거나 숨깁니다';
@@ -450,7 +444,6 @@ class _TranslationsSettingsKo extends TranslationsSettingsEn {
@override String get showNavBarLabels => '내비게이션 바 라벨 표시';
@override String get showNavBarLabelsDescription => '내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다';
@override String get startupSection => '시작 섹션';
@override String get startupSectionDescription => 'Plezy 실행 시 열릴 섹션을 선택합니다';
@override String get liveTvDefaultFavorites => '즐겨찾기 채널 기본 설정';
@override String get liveTvDefaultFavoritesDescription => '라이브 TV를 열 때 즐겨찾기 채널만 표시';
@override String get display => '디스플레이';
@@ -559,9 +552,6 @@ class _TranslationsRateSheetKo extends TranslationsRateSheetEn {
// Translations
@override String get title => '평가';
@override String get server => '서버';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => '점수 설정';
@override String get favorite => '즐겨찾기';
@override String get favorited => '즐겨찾기됨';
@override String get saved => '저장됨';
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityKo extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} 퍼센트 시청 완료';
@override String get mediaCardUnwatched => '미시청';
@override String get tapToPlay => '터치 하여 재생';
@override String get decrease => '낮추기';
@override String get increase => '높이기';
@override String decreaseValue({required Object label}) => '${label} 낮추기';
@override String increaseValue({required Object label}) => '${label} 높이기';
@override String get hue => '색조';
@override String get saturation => '채도';
@override String get brightness => '밝기';
@override String get hexColor => '16진수 색상';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsKo extends TranslationsVideoControlsEn {
@override String get settingsButton => '재생 설정';
@override String get tracksButton => '오디오 및 자막';
@override String get chaptersButton => '챕터';
@override String get versionsButton => '동영상 버전';
@override String get versionQualityButton => '버전 및 화질';
@override String get versionColumnHeader => '버전';
@override String get qualityColumnHeader => '화질';
@override String get qualityOriginal => '원본';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => '트랜스코딩을 사용할 수 없음 — 원본 화질로 재생';
@override String get pipButton => '픽처 인 픽처 모드';
@override String get aspectRatioButton => '화면비율';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsKo extends TranslationsVideoControlsEn {
@override String get searchLanguages => '언어 검색...';
}
// Path: userStatus
class _TranslationsUserStatusKo extends TranslationsUserStatusEn {
_TranslationsUserStatusKo._(TranslationsKo root) : this._root = root, super.internal(root);
final TranslationsKo _root; // ignore: unused_field
// Translations
@override String get admin => '관리자';
@override String get restricted => '제한됨';
@override String get protected => '보호됨';
@override String get current => '현재';
}
// Path: messages
class _TranslationsMessagesKo extends TranslationsMessagesEn {
_TranslationsMessagesKo._(TranslationsKo root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesKo extends TranslationsProfilesEn {
@override String get pinExplain => '프로필 전환에는 4자리 PIN이 필요합니다.';
@override String get continueButton => '계속';
@override String get pinsDontMatch => 'PIN이 일치하지 않습니다';
@override String get initializeServicesFailed => '프로필 서비스를 초기화하지 못했습니다';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverKo extends TranslationsDiscoverEn {
// Translations
@override String get title => '발견';
@override String get switchProfile => '사용자 전환';
@override String get noContentAvailable => '사용 가능한 콘텐츠가 없습니다';
@override String get addMediaToLibraries => '미디어 라이브러리에 미디어를 추가해 주세요';
@override String get continueWatching => '계속 시청';
@@ -938,8 +919,6 @@ class _TranslationsErrorsKo extends TranslationsErrorsEn {
@override String get connectionFailed => '미디어 서버에 연결할 수 없습니다';
@override String failedToLoad({required Object context, required Object error}) => '${context} 로드 실패: ${error}';
@override String get noClientAvailable => '사용 가능한 클라이언트가 없습니다';
@override String authenticationFailed({required Object error}) => '인증 실패: ${error}';
@override String get couldNotLaunchUrl => '인증 URL을 열 수 없습니다';
@override String get pleaseEnterToken => '토큰을 입력해 주세요';
@override String get invalidToken => '토큰이 유효하지 않습니다';
@override String failedToVerifyToken({required Object error}) => '토큰을 확인할 수 없습니다: ${error}';
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionKo extends TranslationsServerSelectionEn {
final TranslationsKo _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => '서버에 연결할 수 없습니다. 네트워크를 확인하세요.';
@override String noServersFoundForAccount({required Object username, required Object email}) => '${username} (${email})의 서버를 찾을 수 없습니다.';
@override String failedToLoadServers({required Object error}) => '서버를 로드할 수 없습니다: ${error}';
}
@@ -1090,10 +1068,6 @@ class _TranslationsExploreKo extends TranslationsExploreEn {
@override String get title => '탐색';
@override String get selectSource => '소스 선택';
@override late final _TranslationsExploreRowsKo rows = _TranslationsExploreRowsKo._(_root);
@override String searchHint({required Object source}) => '${source}에서 검색';
@override String searchEmpty({required Object query}) => '${query}」에 대한 결과가 없습니다';
@override String searchPrompt({required Object source}) => '${source}에서 영화와 TV 프로그램을 검색하세요.';
@override String get searchFailed => '검색에 실패했습니다. 연결을 확인하고 다시 시도하세요.';
@override late final _TranslationsExploreStatusKo status = _TranslationsExploreStatusKo._(_root);
@override String episodeCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n,
other: '${n}',
@@ -1105,10 +1079,13 @@ class _TranslationsExploreKo extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => '관심 목록을 업데이트하지 못했습니다';
@override String get notInLibrary => '라이브러리에 없음';
@override String get inTheseLibraries => '이 라이브러리에 있음';
@override String availableOn({required Object server}) => '${server}에서 이용 가능';
@override String get checkingLibrary => '라이브러리 확인 중...';
@override String get emptyTitle => '아직 아무것도 없습니다';
@override String emptyMessage({required Object source}) => '${source}에 콘텐츠가 추가되면 여기에 표시됩니다.';
@override String searchHint({required Object source}) => '${source}에서 검색';
@override String searchEmpty({required Object query}) => '${query}」에 대한 결과가 없습니다';
@override String searchPrompt({required Object source}) => '${source}에서 영화와 TV 프로그램을 검색하세요.';
@override String get searchFailed => '검색에 실패했습니다. 연결을 확인하고 다시 시도하세요.';
}
// Path: liveTv
@@ -1122,6 +1099,8 @@ class _TranslationsLiveTvKo extends TranslationsLiveTvEn {
@override String get guide => '편성표';
@override String get noChannels => '사용 가능한 채널이 없습니다';
@override String get noDvr => '서버에 DVR이 구성되어 있지 않습니다';
@override String get serverUnavailable => '라이브 TV 서버를 사용할 수 없습니다.';
@override String get serverNotConnected => '라이브 TV 서버에 연결되어 있지 않습니다.';
@override String get noPrograms => '프로그램 데이터가 없습니다';
@override String get liveStreamFailed => '라이브 스트림 실패';
@override String get unknownProgram => '알 수 없는 프로그램';
@@ -1157,7 +1136,6 @@ class _TranslationsLiveTvKo extends TranslationsLiveTvEn {
@override String get scheduledRecordings => '예약됨';
@override String get recordingRules => '녹화 규칙';
@override String get noScheduledRecordings => '예약된 녹화 없음';
@override String get noRecordingRules => '녹화 규칙 없음';
@override String get manageRecording => '녹화 관리';
@override String get cancelRecording => '녹화 취소';
@override String get cancelRecordingTitle => '이 녹화를 취소할까요?';
@@ -1174,7 +1152,6 @@ class _TranslationsLiveTvKo extends TranslationsLiveTvEn {
@override String get recordingCancelled => '녹화 취소됨';
@override String get recordingRuleDeleted => '녹화 규칙 삭제됨';
@override String get processRecordingRules => '규칙 재평가';
@override String get loadingRecordings => '녹화 불러오는 중...';
@override String get recordingInProgress => '녹화 중';
@override String recordingsCount({required Object count}) => '${count}개 예약됨';
@override String get editRule => '규칙 편집';
@@ -1195,7 +1172,6 @@ class _TranslationsCollectionsKo extends TranslationsCollectionsEn {
@override String get title => '컬렉션';
@override String get collection => '컬렉션';
@override String get empty => '컬렉션이 비어 있습니다';
@override String get unknownLibrarySection => '삭제할 수 없습니다: 알 수 없는 미디어 라이브러리 섹션입니다';
@override String get deleteCollection => '컬렉션 삭제';
@override String deleteConfirm({required Object title}) => '"${title}"을(를) 삭제할까요? 되돌릴 수 없습니다.';
@override String get deleted => '컬렉션 삭제됨';
@@ -1242,6 +1218,7 @@ class _TranslationsPlaylistsKo extends TranslationsPlaylistsEn {
@override String get itemAdded => '재생 목록에 추가 되었습니다';
@override String get itemRemoved => '재생 목록에서 제거됨';
@override String get selectPlaylist => '재생 목록 선택';
@override String get searchPlaylists => '재생 목록 검색...';
@override String get errorCreating => '재생 목록 생성 실패';
@override String get errorDeleting => '재생 목록 삭제 실패';
@override String get errorLoading => '재생 목록 로드 실패';
@@ -1404,7 +1381,6 @@ class _TranslationsDownloadsKo extends TranslationsDownloadsEn {
@override String get customAmount => '직접 입력...';
@override String get includeSpecials => '스페셜 포함';
@override String get howManyEpisodes => '몇 개의 에피소드?';
@override String itemsQueued({required Object count}) => '${count}개 항목이 다운로드 대기열에 추가됨';
@override String get keepSynced => '동기화 유지';
@override String get downloadOnce => '한 번만 다운로드';
@override String keepNUnwatched({required Object count}) => '미시청 ${count}개 유지';
@@ -1778,7 +1754,6 @@ class _TranslationsAddServerKo extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect 실패: ${error}';
@override String get addPlexTitle => 'Plex로 로그인';
@override String get pinExpired => '로그인 전에 PIN이 만료되었습니다. 다시 시도하세요.';
@override String get duplicatePlexAccount => '이미 Plex에 로그인되어 있습니다. 계정을 전환하려면 로그아웃하세요.';
@override String failedToRegisterAccount({required Object error}) => '계정 등록 실패: ${error}';
@override String get enterJellyfinUrlError => 'Jellyfin 서버 URL을 입력하세요';
@override String get addConnectionTitle => '연결 추가';
@@ -1904,7 +1879,6 @@ class _TranslationsLibrariesSortLabelsKo extends TranslationsLibrariesSortLabels
@override String get communityRating => '커뮤니티 평점';
@override String get criticRating => '평론가 평점';
@override String get userRating => '사용자 평점';
@override String get lastPlayed => '마지막 재생';
@override String get datePlayed => '재생일';
@override String get playCount => '재생 횟수';
@override String get productionYear => '제작 연도';
@@ -1963,7 +1937,6 @@ class _TranslationsCompanionRemoteSessionKo extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => '원격 서버 시작 중...';
@override String get failedToCreate => '원격 서버를 시작하지 못했습니다:';
@override String get hostAddress => '호스트 주소';
@override String get connected => '연결됨';
@override String get serverRunning => '원격 서버 활성';
@@ -2045,6 +2018,8 @@ class _TranslationsCompanionRemoteErrorsKo extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => '네트워크 인터페이스를 찾을 수 없습니다';
@override String get authenticationFailed => '인증 실패';
@override String serverStartFailed({required Object error}) => '원격 서버를 시작하지 못했습니다: ${error}';
@override String commandFailed({required Object error}) => '원격 명령을 보내지 못했습니다: ${error}';
@override String get joinTimedOut => '세션 참가 시간이 초과되었습니다';
@override String get failedToConnectAnyAddress => '어떤 주소에도 연결하지 못했습니다';
@override String connectionLostAfterAttempts({required Object attempts}) => '${attempts}회 시도 후 연결이 끊어졌습니다';
@@ -2121,7 +2096,6 @@ extension on TranslationsKo {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => '로그인',
'auth.signInWithPlex' => 'Plex 계정으로 로그인',
'auth.showQRCode' => 'QR 코드',
'auth.authenticate' => '인증',
@@ -2172,10 +2146,8 @@ extension on TranslationsKo {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => '${number}화 - ${title}',
'common.chapterNumber' => ({required Object number}) => '챕터 ${number}',
'common.reconnect' => '다시 연결',
'common.exit' => '종료',
'common.viewAll' => '모두 보기',
'common.checkingNetwork' => '네트워크 확인 중...',
'common.refreshingServers' => '서버 새로고침 중...',
'common.loadingServers' => '서버 로딩 중...',
'common.connectingToServers' => '서버 연결 중...',
'common.startingOfflineMode' => '오프라인 모드 시작 중...',
@@ -2267,7 +2239,7 @@ extension on TranslationsKo {
'settings.bufferSizeAuto' => '자동 (권장)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB 메모리를 사용할 수 있습니다. ${size}MB 버퍼는 재생에 영향을 줄 수 있습니다.',
'settings.defaultQualityTitle' => '기본 화질',
'settings.defaultQualityDescription' => '재생 시작 시 사용됩니다. 낮은 값은 대역폭을 줄입니다.',
'settings.musicQualityTitle' => '음악 음질',
'settings.subtitleStyling' => '자막 스타일',
'settings.subtitleStylingDescription' => '자막의 외형을 사용자 설정',
'settings.smallSkipDuration' => '짧은 건너뛰기 시간',
@@ -2361,8 +2333,6 @@ extension on TranslationsKo {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Discord에서 시청 중인 콘텐츠 표시',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Trakt와 시청 기록 동기화',
'settings.services' => '서비스',
'settings.servicesDescription' => 'Trakt, MyAnimeList, Seerr 등 연결',
'settings.manageLibrariesDescription' => '라이브러리 순서를 변경하거나 숨깁니다',
@@ -2428,7 +2398,6 @@ extension on TranslationsKo {
'settings.showNavBarLabels' => '내비게이션 바 라벨 표시',
'settings.showNavBarLabelsDescription' => '내비게이션 바 아이콘 아래에 텍스트 라벨을 표시합니다',
'settings.startupSection' => '시작 섹션',
'settings.startupSectionDescription' => 'Plezy 실행 시 열릴 섹션을 선택합니다',
'settings.liveTvDefaultFavorites' => '즐겨찾기 채널 기본 설정',
'settings.liveTvDefaultFavoritesDescription' => '라이브 TV를 열 때 즐겨찾기 채널만 표시',
'settings.display' => '디스플레이',
@@ -2516,9 +2485,6 @@ extension on TranslationsKo {
'mediaMenu.playVersion' => '버전 재생...',
'rateSheet.title' => '평가',
'rateSheet.server' => '서버',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => '점수 설정',
'rateSheet.favorite' => '즐겨찾기',
'rateSheet.favorited' => '즐겨찾기됨',
'rateSheet.saved' => '저장됨',
@@ -2532,6 +2498,14 @@ extension on TranslationsKo {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} 퍼센트 시청 완료',
'accessibility.mediaCardUnwatched' => '미시청',
'accessibility.tapToPlay' => '터치 하여 재생',
'accessibility.decrease' => '낮추기',
'accessibility.increase' => '높이기',
'accessibility.decreaseValue' => ({required Object label}) => '${label} 낮추기',
'accessibility.increaseValue' => ({required Object label}) => '${label} 높이기',
'accessibility.hue' => '색조',
'accessibility.saturation' => '채도',
'accessibility.brightness' => '밝기',
'accessibility.hexColor' => '16진수 색상',
'tooltips.shufflePlay' => '무작위 재생',
'tooltips.playTrailer' => '예고편 재생',
'tooltips.markAsWatched' => '시청 완료로 표시',
@@ -2573,13 +2547,11 @@ extension on TranslationsKo {
'videoControls.settingsButton' => '재생 설정',
'videoControls.tracksButton' => '오디오 및 자막',
'videoControls.chaptersButton' => '챕터',
'videoControls.versionsButton' => '동영상 버전',
'videoControls.versionQualityButton' => '버전 및 화질',
'videoControls.versionColumnHeader' => '버전',
'videoControls.qualityColumnHeader' => '화질',
'videoControls.qualityOriginal' => '원본',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => '트랜스코딩을 사용할 수 없음 — 원본 화질로 재생',
'videoControls.pipButton' => '픽처 인 픽처 모드',
'videoControls.aspectRatioButton' => '화면비율',
@@ -2619,10 +2591,6 @@ extension on TranslationsKo {
'videoControls.subtitleDownloaded' => '자막이 다운로드되었습니다',
'videoControls.subtitleDownloadFailed' => '자막 다운로드에 실패했습니다',
'videoControls.searchLanguages' => '언어 검색...',
'userStatus.admin' => '관리자',
'userStatus.restricted' => '제한됨',
'userStatus.protected' => '보호됨',
'userStatus.current' => '현재',
'messages.markedAsWatched' => '시청 완료로 표시됨',
'messages.markedAsUnwatched' => '시청 안 함으로 표시됨',
'messages.markedAsWatchedOffline' => '시청 완료로 표시됨 (연결 시 동기화됨)',
@@ -2632,8 +2600,6 @@ extension on TranslationsKo {
'messages.errorLoading' => ({required Object error}) => '오류: ${error}',
'messages.streamInterrupted' => '스트림이 중단되었습니다. 재생을 누르거나 탐색하여 다시 시도하세요.',
'messages.fileInfoNotAvailable' => '파일 정보가 없습니다',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => '파일 정보 로딩 중 오류: ${error}',
'messages.errorLoadingSeries' => '시리즈 로딩 중 오류',
'messages.musicNotSupported' => '음악 재생 미지원',
@@ -2641,6 +2607,8 @@ extension on TranslationsKo {
'messages.noProfilesAvailable' => '사용 가능한 프로필이 없습니다',
'messages.contactAdminForProfiles' => '프로필을 추가하려면 서버 관리자에게 문의하세요',
'messages.unableToDetermineLibrarySection' => '이 항목의 라이브러리 섹션을 확인할 수 없습니다',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => '로그가 삭제 되었습니다',
'messages.logsCopied' => '로그가 클립보드에 복사 되었습니다',
'messages.noLogsAvailable' => '사용 가능한 로그가 없습니다',
@@ -2757,7 +2725,6 @@ extension on TranslationsKo {
'profiles.pinExplain' => '프로필 전환에는 4자리 PIN이 필요합니다.',
'profiles.continueButton' => '계속',
'profiles.pinsDontMatch' => 'PIN이 일치하지 않습니다',
'profiles.initializeServicesFailed' => '프로필 서비스를 초기화하지 못했습니다',
'connections.sectionTitle' => '연결',
'connections.addConnection' => '연결 추가',
'connections.addConnectionSubtitleNoProfile' => 'Plex로 로그인하거나 Jellyfin 서버에 연결',
@@ -2768,7 +2735,6 @@ extension on TranslationsKo {
'connections.editJellyfinTitle' => 'Jellyfin 연결 편집',
'connections.editJellyfinIntro' => ({required Object serverName}) => '${serverName}의 URL을 추가하거나 제거하세요. Plezy는 연결 가능한 URL 중 지연 시간이 가장 낮은 URL을 사용합니다.',
'discover.title' => '발견',
'discover.switchProfile' => '사용자 전환',
'discover.noContentAvailable' => '사용 가능한 콘텐츠가 없습니다',
'discover.addMediaToLibraries' => '미디어 라이브러리에 미디어를 추가해 주세요',
'discover.continueWatching' => '계속 시청',
@@ -2795,8 +2761,6 @@ extension on TranslationsKo {
'errors.connectionFailed' => '미디어 서버에 연결할 수 없습니다',
'errors.failedToLoad' => ({required Object context, required Object error}) => '${context} 로드 실패: ${error}',
'errors.noClientAvailable' => '사용 가능한 클라이언트가 없습니다',
'errors.authenticationFailed' => ({required Object error}) => '인증 실패: ${error}',
'errors.couldNotLaunchUrl' => '인증 URL을 열 수 없습니다',
'errors.pleaseEnterToken' => '토큰을 입력해 주세요',
'errors.invalidToken' => '토큰이 유효하지 않습니다',
'errors.failedToVerifyToken' => ({required Object error}) => '토큰을 확인할 수 없습니다: ${error}',
@@ -2871,7 +2835,6 @@ extension on TranslationsKo {
'libraries.sortLabels.communityRating' => '커뮤니티 평점',
'libraries.sortLabels.criticRating' => '평론가 평점',
'libraries.sortLabels.userRating' => '사용자 평점',
'libraries.sortLabels.lastPlayed' => '마지막 재생',
'libraries.sortLabels.datePlayed' => '재생일',
'libraries.sortLabels.playCount' => '재생 횟수',
'libraries.sortLabels.productionYear' => '제작 연도',
@@ -2890,7 +2853,6 @@ extension on TranslationsKo {
'about.versionLabel' => ({required Object version}) => '버전 ${version}',
'about.appDescription' => '아름다운 Flutter용 Plex 및 Jellyfin 클라이언트',
'about.viewLicensesDescription' => '타사 라이브러리 라이선스 보기',
'serverSelection.allServerConnectionsFailed' => '서버에 연결할 수 없습니다. 네트워크를 확인하세요.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '${username} (${email})의 서버를 찾을 수 없습니다.',
'serverSelection.failedToLoadServers' => ({required Object error}) => '서버를 로드할 수 없습니다: ${error}',
'hubDetail.title' => '제목',
@@ -2924,10 +2886,6 @@ extension on TranslationsKo {
'explore.rows.trending' => '지금 뜨는 콘텐츠',
'explore.rows.upcomingMovies' => '개봉 예정 영화',
'explore.rows.upcomingShows' => '방영 예정 TV 프로그램',
'explore.searchHint' => ({required Object source}) => '${source}에서 검색',
'explore.searchEmpty' => ({required Object query}) => '${query}」에 대한 결과가 없습니다',
'explore.searchPrompt' => ({required Object source}) => '${source}에서 영화와 TV 프로그램을 검색하세요.',
'explore.searchFailed' => '검색에 실패했습니다. 연결을 확인하고 다시 시도하세요.',
'explore.status.airing' => '방영 중',
'explore.status.ended' => '종영',
'explore.status.canceled' => '취소됨',
@@ -2940,14 +2898,19 @@ extension on TranslationsKo {
'explore.watchlistUpdateFailed' => '관심 목록을 업데이트하지 못했습니다',
'explore.notInLibrary' => '라이브러리에 없음',
'explore.inTheseLibraries' => '이 라이브러리에 있음',
'explore.availableOn' => ({required Object server}) => '${server}에서 이용 가능',
'explore.checkingLibrary' => '라이브러리 확인 중...',
'explore.emptyTitle' => '아직 아무것도 없습니다',
'explore.emptyMessage' => ({required Object source}) => '${source}에 콘텐츠가 추가되면 여기에 표시됩니다.',
'explore.searchHint' => ({required Object source}) => '${source}에서 검색',
'explore.searchEmpty' => ({required Object query}) => '${query}」에 대한 결과가 없습니다',
'explore.searchPrompt' => ({required Object source}) => '${source}에서 영화와 TV 프로그램을 검색하세요.',
'explore.searchFailed' => '검색에 실패했습니다. 연결을 확인하고 다시 시도하세요.',
'liveTv.title' => '실시간 TV',
'liveTv.guide' => '편성표',
'liveTv.noChannels' => '사용 가능한 채널이 없습니다',
'liveTv.noDvr' => '서버에 DVR이 구성되어 있지 않습니다',
'liveTv.serverUnavailable' => '라이브 TV 서버를 사용할 수 없습니다.',
'liveTv.serverNotConnected' => '라이브 TV 서버에 연결되어 있지 않습니다.',
'liveTv.noPrograms' => '프로그램 데이터가 없습니다',
'liveTv.liveStreamFailed' => '라이브 스트림 실패',
'liveTv.unknownProgram' => '알 수 없는 프로그램',
@@ -2983,7 +2946,6 @@ extension on TranslationsKo {
'liveTv.scheduledRecordings' => '예약됨',
'liveTv.recordingRules' => '녹화 규칙',
'liveTv.noScheduledRecordings' => '예약된 녹화 없음',
'liveTv.noRecordingRules' => '녹화 규칙 없음',
'liveTv.manageRecording' => '녹화 관리',
'liveTv.cancelRecording' => '녹화 취소',
'liveTv.cancelRecordingTitle' => '이 녹화를 취소할까요?',
@@ -3000,7 +2962,6 @@ extension on TranslationsKo {
'liveTv.recordingCancelled' => '녹화 취소됨',
'liveTv.recordingRuleDeleted' => '녹화 규칙 삭제됨',
'liveTv.processRecordingRules' => '규칙 재평가',
'liveTv.loadingRecordings' => '녹화 불러오는 중...',
'liveTv.recordingInProgress' => '녹화 중',
'liveTv.recordingsCount' => ({required Object count}) => '${count}개 예약됨',
'liveTv.editRule' => '규칙 편집',
@@ -3012,7 +2973,6 @@ extension on TranslationsKo {
'collections.title' => '컬렉션',
'collections.collection' => '컬렉션',
'collections.empty' => '컬렉션이 비어 있습니다',
'collections.unknownLibrarySection' => '삭제할 수 없습니다: 알 수 없는 미디어 라이브러리 섹션입니다',
'collections.deleteCollection' => '컬렉션 삭제',
'collections.deleteConfirm' => ({required Object title}) => '"${title}"을(를) 삭제할까요? 되돌릴 수 없습니다.',
'collections.deleted' => '컬렉션 삭제됨',
@@ -3050,6 +3010,7 @@ extension on TranslationsKo {
'playlists.itemAdded' => '재생 목록에 추가 되었습니다',
'playlists.itemRemoved' => '재생 목록에서 제거됨',
'playlists.selectPlaylist' => '재생 목록 선택',
'playlists.searchPlaylists' => '재생 목록 검색...',
'playlists.errorCreating' => '재생 목록 생성 실패',
'playlists.errorDeleting' => '재생 목록 삭제 실패',
'playlists.errorLoading' => '재생 목록 로드 실패',
@@ -3146,8 +3107,6 @@ extension on TranslationsKo {
'downloads.tvShows' => 'TV 프로그램',
'downloads.movies' => '영화',
'downloads.music' => '음악',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count}곡 다운로드 대기 중',
'downloads.noDownloads' => '다운로드 없음',
'downloads.noDownloadsDescription' => '다운로드한 콘텐츠는 오프라인 시청을 위해 여기에 표시됩니다',
@@ -3162,6 +3121,8 @@ extension on TranslationsKo {
'downloads.deleteConfirm' => ({required Object title}) => '이 기기에서 "${title}"을(를) 삭제할까요?',
'downloads.cancelledDownloadTitle' => '취소된 다운로드',
'downloads.cancelledDownloadMessage' => '이 다운로드가 취소되었습니다. 어떻게 하시겠습니까?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => '모든 에피소드가 이미 다운로드되었습니다',
'downloads.resumeDownload' => '다운로드 재개',
'downloads.cancelledDownload' => '취소된 다운로드',
@@ -3185,7 +3146,6 @@ extension on TranslationsKo {
'downloads.customAmount' => '직접 입력...',
'downloads.includeSpecials' => '스페셜 포함',
'downloads.howManyEpisodes' => '몇 개의 에피소드?',
'downloads.itemsQueued' => ({required Object count}) => '${count}개 항목이 다운로드 대기열에 추가됨',
'downloads.keepSynced' => '동기화 유지',
'downloads.downloadOnce' => '한 번만 다운로드',
'downloads.keepNUnwatched' => ({required Object count}) => '미시청 ${count}개 유지',
@@ -3229,7 +3189,6 @@ extension on TranslationsKo {
'companionRemote.connectedTo' => ({required Object name}) => '${name}에 연결됨',
'companionRemote.unknownDevice' => '알 수 없는 기기',
'companionRemote.session.startingServer' => '원격 서버 시작 중...',
'companionRemote.session.failedToCreate' => '원격 서버를 시작하지 못했습니다:',
'companionRemote.session.hostAddress' => '호스트 주소',
'companionRemote.session.connected' => '연결됨',
'companionRemote.session.serverRunning' => '원격 서버 활성',
@@ -3284,6 +3243,8 @@ extension on TranslationsKo {
'companionRemote.remote.searchHint' => '데스크톱에서 검색...',
'companionRemote.errors.noNetworkInterface' => '네트워크 인터페이스를 찾을 수 없습니다',
'companionRemote.errors.authenticationFailed' => '인증 실패',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => '원격 서버를 시작하지 못했습니다: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => '원격 명령을 보내지 못했습니다: ${error}',
'companionRemote.errors.joinTimedOut' => '세션 참가 시간이 초과되었습니다',
'companionRemote.errors.failedToConnectAnyAddress' => '어떤 주소에도 연결하지 못했습니다',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => '${attempts}회 시도 후 연결이 끊어졌습니다',
@@ -3528,7 +3489,6 @@ extension on TranslationsKo {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect 실패: ${error}',
'addServer.addPlexTitle' => 'Plex로 로그인',
'addServer.pinExpired' => '로그인 전에 PIN이 만료되었습니다. 다시 시도하세요.',
'addServer.duplicatePlexAccount' => '이미 Plex에 로그인되어 있습니다. 계정을 전환하려면 로그아웃하세요.',
'addServer.failedToRegisterAccount' => ({required Object error}) => '계정 등록 실패: ${error}',
'addServer.enterJellyfinUrlError' => 'Jellyfin 서버 URL을 입력하세요',
'addServer.addConnectionTitle' => '연결 추가',
+68 -108
View File
@@ -53,7 +53,6 @@ class TranslationsNb extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityNb accessibility = _TranslationsAccessibilityNb._(_root);
@override late final _TranslationsTooltipsNb tooltips = _TranslationsTooltipsNb._(_root);
@override late final _TranslationsVideoControlsNb videoControls = _TranslationsVideoControlsNb._(_root);
@override late final _TranslationsUserStatusNb userStatus = _TranslationsUserStatusNb._(_root);
@override late final _TranslationsMessagesNb messages = _TranslationsMessagesNb._(_root);
@override late final _TranslationsSubtitlingStylingNb subtitlingStyling = _TranslationsSubtitlingStylingNb._(_root);
@override late final _TranslationsMpvConfigNb mpvConfig = _TranslationsMpvConfigNb._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthNb extends TranslationsAuthEn {
final TranslationsNb _root; // ignore: unused_field
// Translations
@override String get signIn => 'Logg på';
@override String get signInWithPlex => 'Logg inn med Plex';
@override String get showQRCode => 'Vis QR-kode';
@override String get authenticate => 'Autentiser';
@@ -167,10 +165,8 @@ class _TranslationsCommonNb extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Episode ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Kapittel ${number}';
@override String get reconnect => 'Koble til på nytt';
@override String get exit => 'Avslutt';
@override String get viewAll => 'Vis alle';
@override String get checkingNetwork => 'Sjekker nettverk...';
@override String get refreshingServers => 'Oppdaterer servere...';
@override String get loadingServers => 'Laster servere...';
@override String get connectingToServers => 'Kobler til servere...';
@override String get startingOfflineMode => 'Starter frakoblet modus...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Bruk bildebaserte TV-kort med skuespillernavn lagt over';
@override String get focusGlow => 'Fokusglød';
@override String get focusGlowDescription => 'Vis en myk glød rundt kortet i fokus';
@override String get visualEffects => 'Visuelle effekter';
@override String get visualEffectsAuto => 'Automatisk';
@override String get visualEffectsAutoDescription => 'Reduser effekter automatisk på enheter med lavt strømforbruk';
@override String get visualEffectsFull => 'Full';
@override String get visualEffectsReduced => 'Redusert';
@override String get visualEffectsReducedDescription => 'Færre animasjoner og grafikk med lavere oppløsning';
@override String get hideSpoilers => 'Skjul spoilere for usette episoder';
@override String get hideSpoilersDescription => 'Slør miniatyrbilder og beskrivelser for usette episoder';
@override String get playerBackend => 'Spillermotor';
@@ -283,7 +285,7 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Auto (Anbefalt)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB minne tilgjengelig. En buffer på ${size}MB kan påvirke avspilling.';
@override String get defaultQualityTitle => 'Standardkvalitet';
@override String get defaultQualityDescription => 'Brukes ved start av avspilling. Lavere verdier reduserer båndbredden.';
@override String get musicQualityTitle => 'Musikkvalitet';
@override String get subtitleStyling => 'Undertekststil';
@override String get subtitleStylingDescription => 'Tilpass utseendet på undertekster';
@override String get smallSkipDuration => 'Kort hoppvarighet';
@@ -377,10 +379,9 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Vis hva du ser på Discord';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Synkroniser visningshistorikk med Trakt';
@override String get services => 'Tjenester';
@override String get servicesDescription => 'Koble til Trakt, MyAnimeList, Seerr og mer';
@override String get manageLibrariesDescription => 'Omorganiser og skjul biblioteker';
@override String get companionRemoteServer => 'Companion Remote-server';
@override String get companionRemoteServerDescription => 'Tillat mobilenheter på nettverket ditt å styre denne appen';
@override String get autoPip => 'Auto bilde-i-bilde';
@@ -443,7 +444,6 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Vis navigasjonsfeltlabeler';
@override String get showNavBarLabelsDescription => 'Vis tekstlabeler under navigasjonsfeltikoner';
@override String get startupSection => 'Oppstartsseksjon';
@override String get startupSectionDescription => 'Velg hvilken seksjon Plezy åpner ved oppstart';
@override String get liveTvDefaultFavorites => 'Standard til favorittkanaler';
@override String get liveTvDefaultFavoritesDescription => 'Vis kun favorittkanaler når du åpner Live TV';
@override String get display => 'Skjerm';
@@ -455,13 +455,6 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Undertekster og konfigurasjon';
@override String get seekAndTiming => 'Søk og tidtaking';
@override String get behavior => 'Atferd';
@override String get manageLibrariesDescription => 'Omorganiser og skjul biblioteker';
@override String get visualEffects => 'Visuelle effekter';
@override String get visualEffectsAuto => 'Automatisk';
@override String get visualEffectsAutoDescription => 'Reduser effekter automatisk på enheter med lavt strømforbruk';
@override String get visualEffectsFull => 'Full';
@override String get visualEffectsReduced => 'Redusert';
@override String get visualEffectsReducedDescription => 'Færre animasjoner og grafikk med lavere oppløsning';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetNb extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Vurder';
@override String get server => 'Server';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Sett en poengsum';
@override String get favorite => 'Favoritt';
@override String get favorited => 'Lagt til i favoritter';
@override String get saved => 'Lagret';
@override String get notAvailable => 'Ingen treff';
@override String get noConnectedServices => 'Koble til en tjeneste i Innstillinger for å vurdere her.';
@override String get favorite => 'Favoritt';
@override String get favorited => 'Lagt til i favoritter';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityNb extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} prosent sett';
@override String get mediaCardUnwatched => 'usett';
@override String get tapToPlay => 'Trykk for å spille';
@override String get decrease => 'Reduser';
@override String get increase => 'Øk';
@override String decreaseValue({required Object label}) => 'Reduser ${label}';
@override String increaseValue({required Object label}) => 'Øk ${label}';
@override String get hue => 'Fargetone';
@override String get saturation => 'Metning';
@override String get brightness => 'Lysstyrke';
@override String get hexColor => 'Heksadesimal farge';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsNb extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Avspillingsinnstillinger';
@override String get tracksButton => 'Lyd og undertekster';
@override String get chaptersButton => 'Kapitler';
@override String get versionsButton => 'Videoversjoner';
@override String get versionQualityButton => 'Versjon og kvalitet';
@override String get versionColumnHeader => 'Versjon';
@override String get qualityColumnHeader => 'Kvalitet';
@override String get qualityOriginal => 'Original';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transkoding utilgjengelig — spiller av i original kvalitet';
@override String get pipButton => 'Bilde-i-bilde-modus';
@override String get aspectRatioButton => 'Sideforhold';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsNb extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Søk etter språk...';
}
// Path: userStatus
class _TranslationsUserStatusNb extends TranslationsUserStatusEn {
_TranslationsUserStatusNb._(TranslationsNb root) : this._root = root, super.internal(root);
final TranslationsNb _root; // ignore: unused_field
// Translations
@override String get admin => 'Administrator';
@override String get restricted => 'Begrenset';
@override String get protected => 'Beskyttet';
@override String get current => 'GJELDENDE';
}
// Path: messages
class _TranslationsMessagesNb extends TranslationsMessagesEn {
_TranslationsMessagesNb._(TranslationsNb root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesNb extends TranslationsProfilesEn {
@override String get pinExplain => '4-sifret PIN kreves for å bytte profiler.';
@override String get continueButton => 'Fortsett';
@override String get pinsDontMatch => 'PIN-ene samsvarer ikke';
@override String get initializeServicesFailed => 'Kunne ikke initialisere profiltjenester';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverNb extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Oppdag';
@override String get switchProfile => 'Bytt profil';
@override String get noContentAvailable => 'Ingen innhold tilgjengelig';
@override String get addMediaToLibraries => 'Legg til medier i bibliotekene dine';
@override String get continueWatching => 'Fortsett å se';
@@ -938,8 +919,6 @@ class _TranslationsErrorsNb extends TranslationsErrorsEn {
@override String get connectionFailed => 'Kan ikke koble til medieserver';
@override String failedToLoad({required Object context, required Object error}) => 'Kunne ikke laste ${context}: ${error}';
@override String get noClientAvailable => 'Ingen klient tilgjengelig';
@override String authenticationFailed({required Object error}) => 'Autentisering mislyktes: ${error}';
@override String get couldNotLaunchUrl => 'Kunne ikke åpne autentiserings-URL';
@override String get pleaseEnterToken => 'Vennligst skriv inn et token';
@override String get invalidToken => 'Ugyldig token';
@override String failedToVerifyToken({required Object error}) => 'Kunne ikke verifisere token: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesNb extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Alle biblioteker er skjult';
@override String hiddenLibrariesCount({required Object count}) => 'Skjulte biblioteker (${count})';
@override String get thisLibraryIsEmpty => 'Dette biblioteket er tomt';
@override String get noItemsMatchFilters => 'Ingen elementer samsvarer med de aktive filtrene';
@override String get resetFilters => 'Tilbakestill filtre';
@override String get all => 'Alle';
@override String get clearAll => 'Tøm alle';
@override String scanLibraryConfirm({required Object title}) => 'Er du sikker på at du vil skanne "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesNb extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsNb groupings = _TranslationsLibrariesGroupingsNb._(_root);
@override late final _TranslationsLibrariesFilterCategoriesNb filterCategories = _TranslationsLibrariesFilterCategoriesNb._(_root);
@override late final _TranslationsLibrariesSortLabelsNb sortLabels = _TranslationsLibrariesSortLabelsNb._(_root);
@override String get noItemsMatchFilters => 'Ingen elementer samsvarer med de aktive filtrene';
@override String get resetFilters => 'Tilbakestill filtre';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionNb extends TranslationsServerSelectionEn {
final TranslationsNb _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Kunne ikke koble til noen servere. Sjekk nettverket ditt.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Ingen servere funnet for ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Kunne ikke laste servere: ${error}';
}
@@ -1090,10 +1068,6 @@ class _TranslationsExploreNb extends TranslationsExploreEn {
@override String get title => 'Utforsk';
@override String get selectSource => 'Velg kilde';
@override late final _TranslationsExploreRowsNb rows = _TranslationsExploreRowsNb._(_root);
@override String searchHint({required Object source}) => 'Søk i ${source}';
@override String searchEmpty({required Object query}) => 'Ingen treff for "${query}"';
@override String searchPrompt({required Object source}) => 'Søk etter filmer og serier på ${source}.';
@override String get searchFailed => 'Søk mislyktes. Sjekk tilkoblingen og prøv igjen.';
@override late final _TranslationsExploreStatusNb status = _TranslationsExploreStatusNb._(_root);
@override String episodeCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nb'))(n,
one: '${n} episode',
@@ -1106,10 +1080,13 @@ class _TranslationsExploreNb extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Kunne ikke oppdatere ønskelisten';
@override String get notInLibrary => 'Ikke i biblioteket ditt';
@override String get inTheseLibraries => 'I disse bibliotekene';
@override String availableOn({required Object server}) => 'Tilgjengelig på ${server}';
@override String get checkingLibrary => 'Sjekker biblioteket ditt...';
@override String get emptyTitle => 'Ingenting her ennå';
@override String emptyMessage({required Object source}) => 'Rader fra ${source} vises her når de har innhold.';
@override String searchHint({required Object source}) => 'Søk i ${source}';
@override String searchEmpty({required Object query}) => 'Ingen treff for "${query}"';
@override String searchPrompt({required Object source}) => 'Søk etter filmer og serier på ${source}.';
@override String get searchFailed => 'Søk mislyktes. Sjekk tilkoblingen og prøv igjen.';
}
// Path: liveTv
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvNb extends TranslationsLiveTvEn {
@override String get guide => 'Programguide';
@override String get noChannels => 'Ingen kanaler tilgjengelig';
@override String get noDvr => 'Ingen DVR konfigurert på noen server';
@override String get serverUnavailable => 'Direkte-TV-serveren er ikke tilgjengelig.';
@override String get serverNotConnected => 'Direkte-TV-serveren er ikke tilkoblet.';
@override String get noPrograms => 'Ingen programdata tilgjengelig';
@override String get liveStreamFailed => 'Direktesending mislyktes';
@override String get unknownProgram => 'Ukjent program';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvNb extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Planlagt';
@override String get recordingRules => 'Opptaksregler';
@override String get noScheduledRecordings => 'Ingen planlagte opptak';
@override String get noRecordingRules => 'Ingen opptaksregler ennå';
@override String get manageRecording => 'Administrer opptak';
@override String get cancelRecording => 'Avbryt opptak';
@override String get cancelRecordingTitle => 'Avbryte dette opptaket?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvNb extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Opptak avbrutt';
@override String get recordingRuleDeleted => 'Opptaksregel slettet';
@override String get processRecordingRules => 'Vurder regler på nytt';
@override String get loadingRecordings => 'Laster opptak ...';
@override String get recordingInProgress => 'Tar opp nå';
@override String recordingsCount({required Object count}) => '${count} planlagt';
@override String get editRule => 'Rediger regel';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsNb extends TranslationsCollectionsEn {
@override String get title => 'Samlinger';
@override String get collection => 'Samling';
@override String get empty => 'Samlingen er tom';
@override String get unknownLibrarySection => 'Kan ikke slette: Ukjent bibliotekseksjon';
@override String get deleteCollection => 'Slett samling';
@override String deleteConfirm({required Object title}) => 'Slette "${title}"? Dette kan ikke angres.';
@override String get deleted => 'Samling slettet';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsNb extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Lagt til i spilleliste';
@override String get itemRemoved => 'Fjernet fra spilleliste';
@override String get selectPlaylist => 'Velg spilleliste';
@override String get searchPlaylists => 'Søk i spillelister...';
@override String get errorCreating => 'Kunne ikke opprette spilleliste';
@override String get errorDeleting => 'Kunne ikke slette spilleliste';
@override String get errorLoading => 'Kunne ikke laste spillelister';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherNb extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} gjenopptok';
@override String participantSeeked({required Object name}) => '${name} spolet';
@override String participantBuffering({required Object name}) => '${name} buffrer';
@override String participantNeedsUpdate({required Object name}) => '${name} bruker en eldre appversjon — synkronisering er ikke tilgjengelig';
@override String resumingWithout({required Object name}) => 'Fortsetter uten ${name}';
@override String get waitingForParticipants => 'Venter på at andre laster inn...';
@override String waitingForName({required Object name}) => 'Venter på ${name}...';
@override String get recentRooms => 'Nylige rom';
@override String get renameRoom => 'Gi nytt navn til rom';
@override String get removeRoom => 'Fjern';
@override String get guestSwitchUnavailable => 'Kunne ikke bytte — server ikke tilgjengelig for synkronisering';
@override String get guestSwitchFailed => 'Kunne ikke bytte — innhold ble ikke funnet på denne serveren';
@override String participantNeedsUpdate({required Object name}) => '${name} bruker en eldre appversjon — synkronisering er ikke tilgjengelig';
@override String resumingWithout({required Object name}) => 'Fortsetter uten ${name}';
@override String waitingForName({required Object name}) => 'Venter på ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsNb extends TranslationsDownloadsEn {
@override String get customAmount => 'Egendefinert antall...';
@override String get includeSpecials => 'Inkluder spesialepisoder';
@override String get howManyEpisodes => 'Hvor mange episoder?';
@override String itemsQueued({required Object count}) => '${count} elementer i nedlastingskø';
@override String get keepSynced => 'Hold synkronisert';
@override String get downloadOnce => 'Last ned én gang';
@override String keepNUnwatched({required Object count}) => 'Behold ${count} usette';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerNb extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect mislyktes: ${error}';
@override String get addPlexTitle => 'Logg på med Plex';
@override String get pinExpired => 'PIN-koden gikk ut før pålogging. Prøv igjen.';
@override String get duplicatePlexAccount => 'Allerede logget inn på Plex. Logg ut for å bytte konto.';
@override String failedToRegisterAccount({required Object error}) => 'Kunne ikke registrere kontoen: ${error}';
@override String get enterJellyfinUrlError => 'Oppgi URL-en til Jellyfin-serveren din';
@override String get addConnectionTitle => 'Legg til tilkobling';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsNb extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Fellesskapsvurdering';
@override String get criticRating => 'Kritikervurdering';
@override String get userRating => 'Brukervurdering';
@override String get lastPlayed => 'Sist spilt';
@override String get datePlayed => 'Avspillingsdato';
@override String get playCount => 'Avspillinger';
@override String get productionYear => 'Produksjonsår';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionNb extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Starter fjernserver...';
@override String get failedToCreate => 'Kunne ikke starte fjernserver:';
@override String get hostAddress => 'Vertsadresse';
@override String get connected => 'Tilkoblet';
@override String get serverRunning => 'Fjernserver aktiv';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsNb extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Fant ingen nettverksgrensesnitt';
@override String get authenticationFailed => 'Autentisering mislyktes';
@override String serverStartFailed({required Object error}) => 'Kunne ikke starte fjernserveren: ${error}';
@override String commandFailed({required Object error}) => 'Kunne ikke sende fjernkommando: ${error}';
@override String get joinTimedOut => 'Tidsavbrudd ved tilkobling til økt';
@override String get failedToConnectAnyAddress => 'Kunne ikke koble til noen adresse';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Tilkobling mistet etter ${attempts} forsøk';
@@ -2123,7 +2098,6 @@ extension on TranslationsNb {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Logg på',
'auth.signInWithPlex' => 'Logg inn med Plex',
'auth.showQRCode' => 'Vis QR-kode',
'auth.authenticate' => 'Autentiser',
@@ -2174,10 +2148,8 @@ extension on TranslationsNb {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Episode ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Kapittel ${number}',
'common.reconnect' => 'Koble til på nytt',
'common.exit' => 'Avslutt',
'common.viewAll' => 'Vis alle',
'common.checkingNetwork' => 'Sjekker nettverk...',
'common.refreshingServers' => 'Oppdaterer servere...',
'common.loadingServers' => 'Laster servere...',
'common.connectingToServers' => 'Kobler til servere...',
'common.startingOfflineMode' => 'Starter frakoblet modus...',
@@ -2251,6 +2223,12 @@ extension on TranslationsNb {
'settings.tvFullCardLayoutDescription' => 'Bruk bildebaserte TV-kort med skuespillernavn lagt over',
'settings.focusGlow' => 'Fokusglød',
'settings.focusGlowDescription' => 'Vis en myk glød rundt kortet i fokus',
'settings.visualEffects' => 'Visuelle effekter',
'settings.visualEffectsAuto' => 'Automatisk',
'settings.visualEffectsAutoDescription' => 'Reduser effekter automatisk på enheter med lavt strømforbruk',
'settings.visualEffectsFull' => 'Full',
'settings.visualEffectsReduced' => 'Redusert',
'settings.visualEffectsReducedDescription' => 'Færre animasjoner og grafikk med lavere oppløsning',
'settings.hideSpoilers' => 'Skjul spoilere for usette episoder',
'settings.hideSpoilersDescription' => 'Slør miniatyrbilder og beskrivelser for usette episoder',
'settings.playerBackend' => 'Spillermotor',
@@ -2263,7 +2241,7 @@ extension on TranslationsNb {
'settings.bufferSizeAuto' => 'Auto (Anbefalt)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB minne tilgjengelig. En buffer på ${size}MB kan påvirke avspilling.',
'settings.defaultQualityTitle' => 'Standardkvalitet',
'settings.defaultQualityDescription' => 'Brukes ved start av avspilling. Lavere verdier reduserer båndbredden.',
'settings.musicQualityTitle' => 'Musikkvalitet',
'settings.subtitleStyling' => 'Undertekststil',
'settings.subtitleStylingDescription' => 'Tilpass utseendet på undertekster',
'settings.smallSkipDuration' => 'Kort hoppvarighet',
@@ -2357,10 +2335,9 @@ extension on TranslationsNb {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Vis hva du ser på Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Synkroniser visningshistorikk med Trakt',
'settings.services' => 'Tjenester',
'settings.servicesDescription' => 'Koble til Trakt, MyAnimeList, Seerr og mer',
'settings.manageLibrariesDescription' => 'Omorganiser og skjul biblioteker',
'settings.companionRemoteServer' => 'Companion Remote-server',
'settings.companionRemoteServerDescription' => 'Tillat mobilenheter på nettverket ditt å styre denne appen',
'settings.autoPip' => 'Auto bilde-i-bilde',
@@ -2423,7 +2400,6 @@ extension on TranslationsNb {
'settings.showNavBarLabels' => 'Vis navigasjonsfeltlabeler',
'settings.showNavBarLabelsDescription' => 'Vis tekstlabeler under navigasjonsfeltikoner',
'settings.startupSection' => 'Oppstartsseksjon',
'settings.startupSectionDescription' => 'Velg hvilken seksjon Plezy åpner ved oppstart',
'settings.liveTvDefaultFavorites' => 'Standard til favorittkanaler',
'settings.liveTvDefaultFavoritesDescription' => 'Vis kun favorittkanaler når du åpner Live TV',
'settings.display' => 'Skjerm',
@@ -2435,13 +2411,6 @@ extension on TranslationsNb {
'settings.subtitlesAndConfig' => 'Undertekster og konfigurasjon',
'settings.seekAndTiming' => 'Søk og tidtaking',
'settings.behavior' => 'Atferd',
'settings.manageLibrariesDescription' => 'Omorganiser og skjul biblioteker',
'settings.visualEffects' => 'Visuelle effekter',
'settings.visualEffectsAuto' => 'Automatisk',
'settings.visualEffectsAutoDescription' => 'Reduser effekter automatisk på enheter med lavt strømforbruk',
'settings.visualEffectsFull' => 'Full',
'settings.visualEffectsReduced' => 'Redusert',
'settings.visualEffectsReducedDescription' => 'Færre animasjoner og grafikk med lavere oppløsning',
'search.hint' => 'Søk i filmer, serier, musikk...',
'search.tryDifferentTerm' => 'Prøv et annet søkeord',
'search.searchYourMedia' => 'Søk i mediene dine',
@@ -2518,14 +2487,11 @@ extension on TranslationsNb {
'mediaMenu.playVersion' => 'Spill av versjon...',
'rateSheet.title' => 'Vurder',
'rateSheet.server' => 'Server',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Sett en poengsum',
'rateSheet.favorite' => 'Favoritt',
'rateSheet.favorited' => 'Lagt til i favoritter',
'rateSheet.saved' => 'Lagret',
'rateSheet.notAvailable' => 'Ingen treff',
'rateSheet.noConnectedServices' => 'Koble til en tjeneste i Innstillinger for å vurdere her.',
'rateSheet.favorite' => 'Favoritt',
'rateSheet.favorited' => 'Lagt til i favoritter',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, film',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, TV-serie',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsNb {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} prosent sett',
'accessibility.mediaCardUnwatched' => 'usett',
'accessibility.tapToPlay' => 'Trykk for å spille',
'accessibility.decrease' => 'Reduser',
'accessibility.increase' => 'Øk',
'accessibility.decreaseValue' => ({required Object label}) => 'Reduser ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Øk ${label}',
'accessibility.hue' => 'Fargetone',
'accessibility.saturation' => 'Metning',
'accessibility.brightness' => 'Lysstyrke',
'accessibility.hexColor' => 'Heksadesimal farge',
'tooltips.shufflePlay' => 'Tilfeldig avspilling',
'tooltips.playTrailer' => 'Spill trailer',
'tooltips.markAsWatched' => 'Merk som sett',
@@ -2575,13 +2549,11 @@ extension on TranslationsNb {
'videoControls.settingsButton' => 'Avspillingsinnstillinger',
'videoControls.tracksButton' => 'Lyd og undertekster',
'videoControls.chaptersButton' => 'Kapitler',
'videoControls.versionsButton' => 'Videoversjoner',
'videoControls.versionQualityButton' => 'Versjon og kvalitet',
'videoControls.versionColumnHeader' => 'Versjon',
'videoControls.qualityColumnHeader' => 'Kvalitet',
'videoControls.qualityOriginal' => 'Original',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transkoding utilgjengelig — spiller av i original kvalitet',
'videoControls.pipButton' => 'Bilde-i-bilde-modus',
'videoControls.aspectRatioButton' => 'Sideforhold',
@@ -2621,10 +2593,6 @@ extension on TranslationsNb {
'videoControls.subtitleDownloaded' => 'Undertekst lastet ned',
'videoControls.subtitleDownloadFailed' => 'Kunne ikke laste ned undertekst',
'videoControls.searchLanguages' => 'Søk etter språk...',
'userStatus.admin' => 'Administrator',
'userStatus.restricted' => 'Begrenset',
'userStatus.protected' => 'Beskyttet',
'userStatus.current' => 'GJELDENDE',
'messages.markedAsWatched' => 'Merket som sett',
'messages.markedAsUnwatched' => 'Merket som usett',
'messages.markedAsWatchedOffline' => 'Merket som sett (synkroniseres når tilkoblet)',
@@ -2634,8 +2602,6 @@ extension on TranslationsNb {
'messages.errorLoading' => ({required Object error}) => 'Feil: ${error}',
'messages.streamInterrupted' => 'Avspillingen ble avbrutt. Trykk på Spill av eller spol for å prøve på nytt.',
'messages.fileInfoNotAvailable' => 'Filinformasjon ikke tilgjengelig',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Feil ved lasting av filinformasjon: ${error}',
'messages.errorLoadingSeries' => 'Feil ved lasting av serie',
'messages.musicNotSupported' => 'Musikkavspilling støttes ikke ennå',
@@ -2643,6 +2609,8 @@ extension on TranslationsNb {
'messages.noProfilesAvailable' => 'Ingen profiler tilgjengelige',
'messages.contactAdminForProfiles' => 'Kontakt serveradministratoren din for å legge til profiler',
'messages.unableToDetermineLibrarySection' => 'Kan ikke fastslå bibliotekseksjonen for dette elementet',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Logger tømt',
'messages.logsCopied' => 'Logger kopiert til utklippstavle',
'messages.noLogsAvailable' => 'Ingen logger tilgjengelig',
@@ -2759,7 +2727,6 @@ extension on TranslationsNb {
'profiles.pinExplain' => '4-sifret PIN kreves for å bytte profiler.',
'profiles.continueButton' => 'Fortsett',
'profiles.pinsDontMatch' => 'PIN-ene samsvarer ikke',
'profiles.initializeServicesFailed' => 'Kunne ikke initialisere profiltjenester',
'connections.sectionTitle' => 'Tilkoblinger',
'connections.addConnection' => 'Legg til tilkobling',
'connections.addConnectionSubtitleNoProfile' => 'Logg inn med Plex eller koble til en Jellyfin-server',
@@ -2770,7 +2737,6 @@ extension on TranslationsNb {
'connections.editJellyfinTitle' => 'Rediger Jellyfin-tilkobling',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Legg til eller fjern URL-er for ${serverName}. Plezy bruker den tilgjengelige URL-en med lavest forsinkelse.',
'discover.title' => 'Oppdag',
'discover.switchProfile' => 'Bytt profil',
'discover.noContentAvailable' => 'Ingen innhold tilgjengelig',
'discover.addMediaToLibraries' => 'Legg til medier i bibliotekene dine',
'discover.continueWatching' => 'Fortsett å se',
@@ -2797,8 +2763,6 @@ extension on TranslationsNb {
'errors.connectionFailed' => 'Kan ikke koble til medieserver',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Kunne ikke laste ${context}: ${error}',
'errors.noClientAvailable' => 'Ingen klient tilgjengelig',
'errors.authenticationFailed' => ({required Object error}) => 'Autentisering mislyktes: ${error}',
'errors.couldNotLaunchUrl' => 'Kunne ikke åpne autentiserings-URL',
'errors.pleaseEnterToken' => 'Vennligst skriv inn et token',
'errors.invalidToken' => 'Ugyldig token',
'errors.failedToVerifyToken' => ({required Object error}) => 'Kunne ikke verifisere token: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsNb {
'libraries.allLibrariesHidden' => 'Alle biblioteker er skjult',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Skjulte biblioteker (${count})',
'libraries.thisLibraryIsEmpty' => 'Dette biblioteket er tomt',
'libraries.noItemsMatchFilters' => 'Ingen elementer samsvarer med de aktive filtrene',
'libraries.resetFilters' => 'Tilbakestill filtre',
'libraries.all' => 'Alle',
'libraries.clearAll' => 'Tøm alle',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Er du sikker på at du vil skanne "${title}"?',
@@ -2871,7 +2837,6 @@ extension on TranslationsNb {
'libraries.sortLabels.communityRating' => 'Fellesskapsvurdering',
'libraries.sortLabels.criticRating' => 'Kritikervurdering',
'libraries.sortLabels.userRating' => 'Brukervurdering',
'libraries.sortLabels.lastPlayed' => 'Sist spilt',
'libraries.sortLabels.datePlayed' => 'Avspillingsdato',
'libraries.sortLabels.playCount' => 'Avspillinger',
'libraries.sortLabels.productionYear' => 'Produksjonsår',
@@ -2885,14 +2850,11 @@ extension on TranslationsNb {
'libraries.sortLabels.dateShared' => 'Delingsdato',
'libraries.sortLabels.latestEpisodeAirDate' => 'Siste episodes sendedato',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Dato for sist lagt til episode',
'libraries.noItemsMatchFilters' => 'Ingen elementer samsvarer med de aktive filtrene',
'libraries.resetFilters' => 'Tilbakestill filtre',
'about.title' => 'Om',
'about.openSourceLicenses' => 'Åpen kildekode-lisenser',
'about.versionLabel' => ({required Object version}) => 'Versjon ${version}',
'about.appDescription' => 'En vakker Plex- og Jellyfin-klient for Flutter',
'about.viewLicensesDescription' => 'Vis lisenser for tredjepartsbiblioteker',
'serverSelection.allServerConnectionsFailed' => 'Kunne ikke koble til noen servere. Sjekk nettverket ditt.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Ingen servere funnet for ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kunne ikke laste servere: ${error}',
'hubDetail.title' => 'Tittel',
@@ -2926,10 +2888,6 @@ extension on TranslationsNb {
'explore.rows.trending' => 'Trending',
'explore.rows.upcomingMovies' => 'Kommende filmer',
'explore.rows.upcomingShows' => 'Kommende serier',
'explore.searchHint' => ({required Object source}) => 'Søk i ${source}',
'explore.searchEmpty' => ({required Object query}) => 'Ingen treff for "${query}"',
'explore.searchPrompt' => ({required Object source}) => 'Søk etter filmer og serier på ${source}.',
'explore.searchFailed' => 'Søk mislyktes. Sjekk tilkoblingen og prøv igjen.',
'explore.status.airing' => 'Sendes',
'explore.status.ended' => 'Avsluttet',
'explore.status.canceled' => 'Avlyst',
@@ -2942,14 +2900,19 @@ extension on TranslationsNb {
'explore.watchlistUpdateFailed' => 'Kunne ikke oppdatere ønskelisten',
'explore.notInLibrary' => 'Ikke i biblioteket ditt',
'explore.inTheseLibraries' => 'I disse bibliotekene',
'explore.availableOn' => ({required Object server}) => 'Tilgjengelig på ${server}',
'explore.checkingLibrary' => 'Sjekker biblioteket ditt...',
'explore.emptyTitle' => 'Ingenting her ennå',
'explore.emptyMessage' => ({required Object source}) => 'Rader fra ${source} vises her når de har innhold.',
'explore.searchHint' => ({required Object source}) => 'Søk i ${source}',
'explore.searchEmpty' => ({required Object query}) => 'Ingen treff for "${query}"',
'explore.searchPrompt' => ({required Object source}) => 'Søk etter filmer og serier på ${source}.',
'explore.searchFailed' => 'Søk mislyktes. Sjekk tilkoblingen og prøv igjen.',
'liveTv.title' => 'Direkte-TV',
'liveTv.guide' => 'Programguide',
'liveTv.noChannels' => 'Ingen kanaler tilgjengelig',
'liveTv.noDvr' => 'Ingen DVR konfigurert på noen server',
'liveTv.serverUnavailable' => 'Direkte-TV-serveren er ikke tilgjengelig.',
'liveTv.serverNotConnected' => 'Direkte-TV-serveren er ikke tilkoblet.',
'liveTv.noPrograms' => 'Ingen programdata tilgjengelig',
'liveTv.liveStreamFailed' => 'Direktesending mislyktes',
'liveTv.unknownProgram' => 'Ukjent program',
@@ -2985,7 +2948,6 @@ extension on TranslationsNb {
'liveTv.scheduledRecordings' => 'Planlagt',
'liveTv.recordingRules' => 'Opptaksregler',
'liveTv.noScheduledRecordings' => 'Ingen planlagte opptak',
'liveTv.noRecordingRules' => 'Ingen opptaksregler ennå',
'liveTv.manageRecording' => 'Administrer opptak',
'liveTv.cancelRecording' => 'Avbryt opptak',
'liveTv.cancelRecordingTitle' => 'Avbryte dette opptaket?',
@@ -3002,7 +2964,6 @@ extension on TranslationsNb {
'liveTv.recordingCancelled' => 'Opptak avbrutt',
'liveTv.recordingRuleDeleted' => 'Opptaksregel slettet',
'liveTv.processRecordingRules' => 'Vurder regler på nytt',
'liveTv.loadingRecordings' => 'Laster opptak ...',
'liveTv.recordingInProgress' => 'Tar opp nå',
'liveTv.recordingsCount' => ({required Object count}) => '${count} planlagt',
'liveTv.editRule' => 'Rediger regel',
@@ -3014,7 +2975,6 @@ extension on TranslationsNb {
'collections.title' => 'Samlinger',
'collections.collection' => 'Samling',
'collections.empty' => 'Samlingen er tom',
'collections.unknownLibrarySection' => 'Kan ikke slette: Ukjent bibliotekseksjon',
'collections.deleteCollection' => 'Slett samling',
'collections.deleteConfirm' => ({required Object title}) => 'Slette "${title}"? Dette kan ikke angres.',
'collections.deleted' => 'Samling slettet',
@@ -3052,6 +3012,7 @@ extension on TranslationsNb {
'playlists.itemAdded' => 'Lagt til i spilleliste',
'playlists.itemRemoved' => 'Fjernet fra spilleliste',
'playlists.selectPlaylist' => 'Velg spilleliste',
'playlists.searchPlaylists' => 'Søk i spillelister...',
'playlists.errorCreating' => 'Kunne ikke opprette spilleliste',
'playlists.errorDeleting' => 'Kunne ikke slette spilleliste',
'playlists.errorLoading' => 'Kunne ikke laste spillelister',
@@ -3134,22 +3095,20 @@ extension on TranslationsNb {
'watchTogether.participantResumed' => ({required Object name}) => '${name} gjenopptok',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} spolet',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} buffrer',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} bruker en eldre appversjon — synkronisering er ikke tilgjengelig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortsetter uten ${name}',
'watchTogether.waitingForParticipants' => 'Venter på at andre laster inn...',
'watchTogether.waitingForName' => ({required Object name}) => 'Venter på ${name}...',
'watchTogether.recentRooms' => 'Nylige rom',
'watchTogether.renameRoom' => 'Gi nytt navn til rom',
'watchTogether.removeRoom' => 'Fjern',
'watchTogether.guestSwitchUnavailable' => 'Kunne ikke bytte — server ikke tilgjengelig for synkronisering',
'watchTogether.guestSwitchFailed' => 'Kunne ikke bytte — innhold ble ikke funnet på denne serveren',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} bruker en eldre appversjon — synkronisering er ikke tilgjengelig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortsetter uten ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Venter på ${name}...',
'downloads.title' => 'Nedlastinger',
'downloads.manage' => 'Administrer',
'downloads.tvShows' => 'TV-serier',
'downloads.movies' => 'Filmer',
'downloads.music' => 'Musikk',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} spor i nedlastingskø',
'downloads.noDownloads' => 'Ingen nedlastinger ennå',
'downloads.noDownloadsDescription' => 'Nedlastet innhold vil vises her for frakoblet visning',
@@ -3164,6 +3123,8 @@ extension on TranslationsNb {
'downloads.deleteConfirm' => ({required Object title}) => 'Slette "${title}" fra denne enheten?',
'downloads.cancelledDownloadTitle' => 'Avbrutt nedlasting',
'downloads.cancelledDownloadMessage' => 'Denne nedlastingen ble avbrutt. Hva vil du gjøre?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Alle episoder er allerede lastet ned',
'downloads.resumeDownload' => 'Gjenoppta nedlasting',
'downloads.cancelledDownload' => 'Avbrutt nedlasting',
@@ -3187,7 +3148,6 @@ extension on TranslationsNb {
'downloads.customAmount' => 'Egendefinert antall...',
'downloads.includeSpecials' => 'Inkluder spesialepisoder',
'downloads.howManyEpisodes' => 'Hvor mange episoder?',
'downloads.itemsQueued' => ({required Object count}) => '${count} elementer i nedlastingskø',
'downloads.keepSynced' => 'Hold synkronisert',
'downloads.downloadOnce' => 'Last ned én gang',
'downloads.keepNUnwatched' => ({required Object count}) => 'Behold ${count} usette',
@@ -3231,7 +3191,6 @@ extension on TranslationsNb {
'companionRemote.connectedTo' => ({required Object name}) => 'Tilkoblet ${name}',
'companionRemote.unknownDevice' => 'Ukjent enhet',
'companionRemote.session.startingServer' => 'Starter fjernserver...',
'companionRemote.session.failedToCreate' => 'Kunne ikke starte fjernserver:',
'companionRemote.session.hostAddress' => 'Vertsadresse',
'companionRemote.session.connected' => 'Tilkoblet',
'companionRemote.session.serverRunning' => 'Fjernserver aktiv',
@@ -3286,6 +3245,8 @@ extension on TranslationsNb {
'companionRemote.remote.searchHint' => 'Søk på stasjonær...',
'companionRemote.errors.noNetworkInterface' => 'Fant ingen nettverksgrensesnitt',
'companionRemote.errors.authenticationFailed' => 'Autentisering mislyktes',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Kunne ikke starte fjernserveren: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Kunne ikke sende fjernkommando: ${error}',
'companionRemote.errors.joinTimedOut' => 'Tidsavbrudd ved tilkobling til økt',
'companionRemote.errors.failedToConnectAnyAddress' => 'Kunne ikke koble til noen adresse',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Tilkobling mistet etter ${attempts} forsøk',
@@ -3530,7 +3491,6 @@ extension on TranslationsNb {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect mislyktes: ${error}',
'addServer.addPlexTitle' => 'Logg på med Plex',
'addServer.pinExpired' => 'PIN-koden gikk ut før pålogging. Prøv igjen.',
'addServer.duplicatePlexAccount' => 'Allerede logget inn på Plex. Logg ut for å bytte konto.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Kunne ikke registrere kontoen: ${error}',
'addServer.enterJellyfinUrlError' => 'Oppgi URL-en til Jellyfin-serveren din',
'addServer.addConnectionTitle' => 'Legg til tilkobling',
+68 -108
View File
@@ -53,7 +53,6 @@ class TranslationsNl extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityNl accessibility = _TranslationsAccessibilityNl._(_root);
@override late final _TranslationsTooltipsNl tooltips = _TranslationsTooltipsNl._(_root);
@override late final _TranslationsVideoControlsNl videoControls = _TranslationsVideoControlsNl._(_root);
@override late final _TranslationsUserStatusNl userStatus = _TranslationsUserStatusNl._(_root);
@override late final _TranslationsMessagesNl messages = _TranslationsMessagesNl._(_root);
@override late final _TranslationsSubtitlingStylingNl subtitlingStyling = _TranslationsSubtitlingStylingNl._(_root);
@override late final _TranslationsMpvConfigNl mpvConfig = _TranslationsMpvConfigNl._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthNl extends TranslationsAuthEn {
final TranslationsNl _root; // ignore: unused_field
// Translations
@override String get signIn => 'Inloggen';
@override String get signInWithPlex => 'Inloggen met Plex';
@override String get showQRCode => 'Toon QR-code';
@override String get authenticate => 'Authenticeren';
@@ -167,10 +165,8 @@ class _TranslationsCommonNl extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Aflevering ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Hoofdstuk ${number}';
@override String get reconnect => 'Opnieuw verbinden';
@override String get exit => 'Afsluiten';
@override String get viewAll => 'Alles weergeven';
@override String get checkingNetwork => 'Netwerk controleren...';
@override String get refreshingServers => 'Servers vernieuwen...';
@override String get loadingServers => 'Servers laden...';
@override String get connectingToServers => 'Verbinden met servers...';
@override String get startingOfflineMode => 'Offlinemodus starten...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Gebruik tv-kaarten met alleen afbeeldingen en namen van acteurs als overlay';
@override String get focusGlow => 'Focusgloed';
@override String get focusGlowDescription => 'Toon een zachte gloed rond de kaart met focus';
@override String get visualEffects => 'Visuele effecten';
@override String get visualEffectsAuto => 'Automatisch';
@override String get visualEffectsAutoDescription => 'Effecten automatisch verminderen op apparaten met laag vermogen';
@override String get visualEffectsFull => 'Volledig';
@override String get visualEffectsReduced => 'Verminderd';
@override String get visualEffectsReducedDescription => 'Minder animaties en illustraties met lagere resolutie';
@override String get hideSpoilers => 'Spoilers voor ongekeken afleveringen verbergen';
@override String get hideSpoilersDescription => 'Vervaag miniaturen en beschrijvingen voor niet-bekeken afleveringen';
@override String get playerBackend => 'Speler backend';
@@ -283,7 +285,7 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Auto (Aanbevolen)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB geheugen beschikbaar. Een buffer van ${size}MB kan afspelen beïnvloeden.';
@override String get defaultQualityTitle => 'Standaardkwaliteit';
@override String get defaultQualityDescription => 'Wordt gebruikt bij het starten van de weergave. Lagere waarden verminderen de bandbreedte.';
@override String get musicQualityTitle => 'Muziekkwaliteit';
@override String get subtitleStyling => 'Ondertitel opmaak';
@override String get subtitleStylingDescription => 'Pas ondertitel uiterlijk aan';
@override String get smallSkipDuration => 'Korte skip duur';
@@ -377,10 +379,9 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Toon op Discord wat je aan het kijken bent';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Kijkgeschiedenis synchroniseren met Trakt';
@override String get services => 'Services';
@override String get servicesDescription => 'Verbind Trakt, MyAnimeList, Seerr en meer';
@override String get manageLibrariesDescription => 'Bibliotheken herordenen en verbergen';
@override String get companionRemoteServer => 'Companion Remote-server';
@override String get companionRemoteServerDescription => 'Sta mobiele apparaten op je netwerk toe om deze app te bedienen';
@override String get autoPip => 'Automatische beeld-in-beeld';
@@ -443,7 +444,6 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Navigatiebalk labels tonen';
@override String get showNavBarLabelsDescription => 'Tekstlabels onder de pictogrammen van de navigatiebalk weergeven';
@override String get startupSection => 'Opstartsectie';
@override String get startupSectionDescription => 'Kies welke sectie Plezy opent bij het opstarten';
@override String get liveTvDefaultFavorites => 'Standaard favoriete zenders';
@override String get liveTvDefaultFavoritesDescription => 'Toon alleen favoriete zenders bij het openen van Live TV';
@override String get display => 'Weergave';
@@ -455,13 +455,6 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Ondertitels en configuratie';
@override String get seekAndTiming => 'Zoeken en timing';
@override String get behavior => 'Gedrag';
@override String get manageLibrariesDescription => 'Bibliotheken herordenen en verbergen';
@override String get visualEffects => 'Visuele effecten';
@override String get visualEffectsAuto => 'Automatisch';
@override String get visualEffectsAutoDescription => 'Effecten automatisch verminderen op apparaten met laag vermogen';
@override String get visualEffectsFull => 'Volledig';
@override String get visualEffectsReduced => 'Verminderd';
@override String get visualEffectsReducedDescription => 'Minder animaties en illustraties met lagere resolutie';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetNl extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Beoordelen';
@override String get server => 'Server';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Score instellen';
@override String get favorite => 'Favoriet';
@override String get favorited => 'Toegevoegd aan favorieten';
@override String get saved => 'Opgeslagen';
@override String get notAvailable => 'Geen match gevonden';
@override String get noConnectedServices => 'Verbind een service in Instellingen om daar te beoordelen.';
@override String get favorite => 'Favoriet';
@override String get favorited => 'Toegevoegd aan favorieten';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityNl extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} procent bekeken';
@override String get mediaCardUnwatched => 'niet bekeken';
@override String get tapToPlay => 'Tik om af te spelen';
@override String get decrease => 'Verlagen';
@override String get increase => 'Verhogen';
@override String decreaseValue({required Object label}) => '${label} verlagen';
@override String increaseValue({required Object label}) => '${label} verhogen';
@override String get hue => 'Tint';
@override String get saturation => 'Verzadiging';
@override String get brightness => 'Helderheid';
@override String get hexColor => 'Hexkleur';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsNl extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Afspeelinstellingen';
@override String get tracksButton => 'Audio en ondertitels';
@override String get chaptersButton => 'Hoofdstukken';
@override String get versionsButton => 'Videoversies';
@override String get versionQualityButton => 'Versie en kwaliteit';
@override String get versionColumnHeader => 'Versie';
@override String get qualityColumnHeader => 'Kwaliteit';
@override String get qualityOriginal => 'Origineel';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transcoderen niet beschikbaar — originele kwaliteit wordt afgespeeld';
@override String get pipButton => 'Beeld-in-beeld modus';
@override String get aspectRatioButton => 'Beeldverhouding';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsNl extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Talen zoeken...';
}
// Path: userStatus
class _TranslationsUserStatusNl extends TranslationsUserStatusEn {
_TranslationsUserStatusNl._(TranslationsNl root) : this._root = root, super.internal(root);
final TranslationsNl _root; // ignore: unused_field
// Translations
@override String get admin => 'Beheerder';
@override String get restricted => 'Beperkt';
@override String get protected => 'Beschermd';
@override String get current => 'HUIDIG';
}
// Path: messages
class _TranslationsMessagesNl extends TranslationsMessagesEn {
_TranslationsMessagesNl._(TranslationsNl root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesNl extends TranslationsProfilesEn {
@override String get pinExplain => '4-cijferige PIN vereist om profielen te wisselen.';
@override String get continueButton => 'Doorgaan';
@override String get pinsDontMatch => 'PIN-codes komen niet overeen';
@override String get initializeServicesFailed => 'Kan profielservices niet initialiseren';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverNl extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Ontdekken';
@override String get switchProfile => 'Wissel van profiel';
@override String get noContentAvailable => 'Geen inhoud beschikbaar';
@override String get addMediaToLibraries => 'Voeg wat media toe aan je bibliotheken';
@override String get continueWatching => 'Verder kijken';
@@ -938,8 +919,6 @@ class _TranslationsErrorsNl extends TranslationsErrorsEn {
@override String get connectionFailed => 'Kan geen verbinding maken met mediaserver';
@override String failedToLoad({required Object context, required Object error}) => 'Kon ${context} niet laden: ${error}';
@override String get noClientAvailable => 'Geen client beschikbaar';
@override String authenticationFailed({required Object error}) => 'Authenticatie mislukt: ${error}';
@override String get couldNotLaunchUrl => 'Kon auth URL niet openen';
@override String get pleaseEnterToken => 'Voer een token in';
@override String get invalidToken => 'Ongeldig token';
@override String failedToVerifyToken({required Object error}) => 'Kon token niet verifiëren: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesNl extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Alle bibliotheken zijn verborgen';
@override String hiddenLibrariesCount({required Object count}) => 'Verborgen bibliotheken (${count})';
@override String get thisLibraryIsEmpty => 'Deze bibliotheek is leeg';
@override String get noItemsMatchFilters => 'Geen items komen overeen met de actieve filters';
@override String get resetFilters => 'Filters opnieuw instellen';
@override String get all => 'Alles';
@override String get clearAll => 'Alles wissen';
@override String scanLibraryConfirm({required Object title}) => 'Weet je zeker dat je "${title}" wilt scannen?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesNl extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsNl groupings = _TranslationsLibrariesGroupingsNl._(_root);
@override late final _TranslationsLibrariesFilterCategoriesNl filterCategories = _TranslationsLibrariesFilterCategoriesNl._(_root);
@override late final _TranslationsLibrariesSortLabelsNl sortLabels = _TranslationsLibrariesSortLabelsNl._(_root);
@override String get noItemsMatchFilters => 'Geen items komen overeen met de actieve filters';
@override String get resetFilters => 'Filters opnieuw instellen';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionNl extends TranslationsServerSelectionEn {
final TranslationsNl _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Kon met geen enkele server verbinden. Controleer je netwerk.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Geen servers gevonden voor ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Kon servers niet laden: ${error}';
}
@@ -1090,10 +1068,6 @@ class _TranslationsExploreNl extends TranslationsExploreEn {
@override String get title => 'Verkennen';
@override String get selectSource => 'Bron kiezen';
@override late final _TranslationsExploreRowsNl rows = _TranslationsExploreRowsNl._(_root);
@override String searchHint({required Object source}) => 'Zoeken in ${source}';
@override String searchEmpty({required Object query}) => 'Geen resultaten voor "${query}"';
@override String searchPrompt({required Object source}) => 'Zoek naar films en series op ${source}.';
@override String get searchFailed => 'Zoeken mislukt. Controleer je verbinding en probeer opnieuw.';
@override late final _TranslationsExploreStatusNl status = _TranslationsExploreStatusNl._(_root);
@override String episodeCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nl'))(n,
one: '${n} aflevering',
@@ -1106,10 +1080,13 @@ class _TranslationsExploreNl extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Kon kijklijst niet bijwerken';
@override String get notInLibrary => 'Niet in je bibliotheek';
@override String get inTheseLibraries => 'In deze bibliotheken';
@override String availableOn({required Object server}) => 'Beschikbaar op ${server}';
@override String get checkingLibrary => 'Je bibliotheek controleren...';
@override String get emptyTitle => 'Hier is nog niets';
@override String emptyMessage({required Object source}) => 'Rijen van ${source} verschijnen hier zodra ze inhoud hebben.';
@override String searchHint({required Object source}) => 'Zoeken in ${source}';
@override String searchEmpty({required Object query}) => 'Geen resultaten voor "${query}"';
@override String searchPrompt({required Object source}) => 'Zoek naar films en series op ${source}.';
@override String get searchFailed => 'Zoeken mislukt. Controleer je verbinding en probeer opnieuw.';
}
// Path: liveTv
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvNl extends TranslationsLiveTvEn {
@override String get guide => 'Gids';
@override String get noChannels => 'Geen zenders beschikbaar';
@override String get noDvr => 'Geen DVR geconfigureerd op een server';
@override String get serverUnavailable => 'De live-tv-server is niet beschikbaar.';
@override String get serverNotConnected => 'De live-tv-server is niet verbonden.';
@override String get noPrograms => 'Geen programmagegevens beschikbaar';
@override String get liveStreamFailed => 'Livestream mislukt';
@override String get unknownProgram => 'Onbekend programma';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvNl extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Gepland';
@override String get recordingRules => 'Opnameregels';
@override String get noScheduledRecordings => 'Geen geplande opnames';
@override String get noRecordingRules => 'Nog geen opnameregels';
@override String get manageRecording => 'Opname beheren';
@override String get cancelRecording => 'Opname annuleren';
@override String get cancelRecordingTitle => 'Deze opname annuleren?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvNl extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Opname geannuleerd';
@override String get recordingRuleDeleted => 'Opnameregel verwijderd';
@override String get processRecordingRules => 'Regels opnieuw evalueren';
@override String get loadingRecordings => 'Opnames laden...';
@override String get recordingInProgress => 'Nu aan het opnemen';
@override String recordingsCount({required Object count}) => '${count} gepland';
@override String get editRule => 'Regel bewerken';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsNl extends TranslationsCollectionsEn {
@override String get title => 'Collecties';
@override String get collection => 'Collectie';
@override String get empty => 'Collectie is leeg';
@override String get unknownLibrarySection => 'Kan niet verwijderen: onbekende bibliotheeksectie';
@override String get deleteCollection => 'Collectie verwijderen';
@override String deleteConfirm({required Object title}) => '"${title}" verwijderen? Dit kan niet ongedaan worden gemaakt.';
@override String get deleted => 'Collectie verwijderd';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsNl extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Toegevoegd aan afspeellijst';
@override String get itemRemoved => 'Verwijderd uit afspeellijst';
@override String get selectPlaylist => 'Selecteer afspeellijst';
@override String get searchPlaylists => 'Afspeellijsten zoeken...';
@override String get errorCreating => 'Fout bij maken afspeellijst';
@override String get errorDeleting => 'Fout bij verwijderen afspeellijst';
@override String get errorLoading => 'Fout bij laden afspeellijsten';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherNl extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} heeft hervat';
@override String participantSeeked({required Object name}) => '${name} heeft gespoeld';
@override String participantBuffering({required Object name}) => '${name} is aan het bufferen';
@override String participantNeedsUpdate({required Object name}) => '${name} gebruikt een oudere appversie — synchronisatie niet beschikbaar';
@override String resumingWithout({required Object name}) => 'Hervatten zonder ${name}';
@override String get waitingForParticipants => 'Wachten tot anderen geladen zijn...';
@override String waitingForName({required Object name}) => 'Wachten op ${name}...';
@override String get recentRooms => 'Recente kamers';
@override String get renameRoom => 'Kamer hernoemen';
@override String get removeRoom => 'Verwijderen';
@override String get guestSwitchUnavailable => 'Kon niet schakelen — server niet beschikbaar voor synchronisatie';
@override String get guestSwitchFailed => 'Kon niet schakelen — inhoud niet gevonden op deze server';
@override String participantNeedsUpdate({required Object name}) => '${name} gebruikt een oudere appversie — synchronisatie niet beschikbaar';
@override String resumingWithout({required Object name}) => 'Hervatten zonder ${name}';
@override String waitingForName({required Object name}) => 'Wachten op ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsNl extends TranslationsDownloadsEn {
@override String get customAmount => 'Aangepast aantal...';
@override String get includeSpecials => 'Specials opnemen';
@override String get howManyEpisodes => 'Hoeveel afleveringen?';
@override String itemsQueued({required Object count}) => '${count} items in downloadwachtrij';
@override String get keepSynced => 'Gesynchroniseerd houden';
@override String get downloadOnce => 'Eenmalig downloaden';
@override String keepNUnwatched({required Object count}) => '${count} onbekeken behouden';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerNl extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect mislukt: ${error}';
@override String get addPlexTitle => 'Inloggen met Plex';
@override String get pinExpired => 'PIN verlopen vóór inloggen. Probeer opnieuw.';
@override String get duplicatePlexAccount => 'Al aangemeld bij Plex. Meld je af om van account te wisselen.';
@override String failedToRegisterAccount({required Object error}) => 'Account registreren mislukt: ${error}';
@override String get enterJellyfinUrlError => 'Voer de URL van je Jellyfin-server in';
@override String get addConnectionTitle => 'Verbinding toevoegen';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsNl extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Communitybeoordeling';
@override String get criticRating => 'Criticusbeoordeling';
@override String get userRating => 'Gebruikersbeoordeling';
@override String get lastPlayed => 'Laatst afgespeeld';
@override String get datePlayed => 'Afspeeldatum';
@override String get playCount => 'Aantal afspelingen';
@override String get productionYear => 'Productiejaar';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionNl extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Externe server starten...';
@override String get failedToCreate => 'Kan externe server niet starten:';
@override String get hostAddress => 'Hostadres';
@override String get connected => 'Verbonden';
@override String get serverRunning => 'Externe server actief';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsNl extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Geen netwerkinterface gevonden';
@override String get authenticationFailed => 'Authenticatie mislukt';
@override String serverStartFailed({required Object error}) => 'Kan de externe server niet starten: ${error}';
@override String commandFailed({required Object error}) => 'Kan de externe opdracht niet verzenden: ${error}';
@override String get joinTimedOut => 'Time-out bij deelnemen aan sessie';
@override String get failedToConnectAnyAddress => 'Kan met geen enkel adres verbinden';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Verbinding verloren na ${attempts} pogingen';
@@ -2123,7 +2098,6 @@ extension on TranslationsNl {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Inloggen',
'auth.signInWithPlex' => 'Inloggen met Plex',
'auth.showQRCode' => 'Toon QR-code',
'auth.authenticate' => 'Authenticeren',
@@ -2174,10 +2148,8 @@ extension on TranslationsNl {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Aflevering ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Hoofdstuk ${number}',
'common.reconnect' => 'Opnieuw verbinden',
'common.exit' => 'Afsluiten',
'common.viewAll' => 'Alles weergeven',
'common.checkingNetwork' => 'Netwerk controleren...',
'common.refreshingServers' => 'Servers vernieuwen...',
'common.loadingServers' => 'Servers laden...',
'common.connectingToServers' => 'Verbinden met servers...',
'common.startingOfflineMode' => 'Offlinemodus starten...',
@@ -2251,6 +2223,12 @@ extension on TranslationsNl {
'settings.tvFullCardLayoutDescription' => 'Gebruik tv-kaarten met alleen afbeeldingen en namen van acteurs als overlay',
'settings.focusGlow' => 'Focusgloed',
'settings.focusGlowDescription' => 'Toon een zachte gloed rond de kaart met focus',
'settings.visualEffects' => 'Visuele effecten',
'settings.visualEffectsAuto' => 'Automatisch',
'settings.visualEffectsAutoDescription' => 'Effecten automatisch verminderen op apparaten met laag vermogen',
'settings.visualEffectsFull' => 'Volledig',
'settings.visualEffectsReduced' => 'Verminderd',
'settings.visualEffectsReducedDescription' => 'Minder animaties en illustraties met lagere resolutie',
'settings.hideSpoilers' => 'Spoilers voor ongekeken afleveringen verbergen',
'settings.hideSpoilersDescription' => 'Vervaag miniaturen en beschrijvingen voor niet-bekeken afleveringen',
'settings.playerBackend' => 'Speler backend',
@@ -2263,7 +2241,7 @@ extension on TranslationsNl {
'settings.bufferSizeAuto' => 'Auto (Aanbevolen)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB geheugen beschikbaar. Een buffer van ${size}MB kan afspelen beïnvloeden.',
'settings.defaultQualityTitle' => 'Standaardkwaliteit',
'settings.defaultQualityDescription' => 'Wordt gebruikt bij het starten van de weergave. Lagere waarden verminderen de bandbreedte.',
'settings.musicQualityTitle' => 'Muziekkwaliteit',
'settings.subtitleStyling' => 'Ondertitel opmaak',
'settings.subtitleStylingDescription' => 'Pas ondertitel uiterlijk aan',
'settings.smallSkipDuration' => 'Korte skip duur',
@@ -2357,10 +2335,9 @@ extension on TranslationsNl {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Toon op Discord wat je aan het kijken bent',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Kijkgeschiedenis synchroniseren met Trakt',
'settings.services' => 'Services',
'settings.servicesDescription' => 'Verbind Trakt, MyAnimeList, Seerr en meer',
'settings.manageLibrariesDescription' => 'Bibliotheken herordenen en verbergen',
'settings.companionRemoteServer' => 'Companion Remote-server',
'settings.companionRemoteServerDescription' => 'Sta mobiele apparaten op je netwerk toe om deze app te bedienen',
'settings.autoPip' => 'Automatische beeld-in-beeld',
@@ -2423,7 +2400,6 @@ extension on TranslationsNl {
'settings.showNavBarLabels' => 'Navigatiebalk labels tonen',
'settings.showNavBarLabelsDescription' => 'Tekstlabels onder de pictogrammen van de navigatiebalk weergeven',
'settings.startupSection' => 'Opstartsectie',
'settings.startupSectionDescription' => 'Kies welke sectie Plezy opent bij het opstarten',
'settings.liveTvDefaultFavorites' => 'Standaard favoriete zenders',
'settings.liveTvDefaultFavoritesDescription' => 'Toon alleen favoriete zenders bij het openen van Live TV',
'settings.display' => 'Weergave',
@@ -2435,13 +2411,6 @@ extension on TranslationsNl {
'settings.subtitlesAndConfig' => 'Ondertitels en configuratie',
'settings.seekAndTiming' => 'Zoeken en timing',
'settings.behavior' => 'Gedrag',
'settings.manageLibrariesDescription' => 'Bibliotheken herordenen en verbergen',
'settings.visualEffects' => 'Visuele effecten',
'settings.visualEffectsAuto' => 'Automatisch',
'settings.visualEffectsAutoDescription' => 'Effecten automatisch verminderen op apparaten met laag vermogen',
'settings.visualEffectsFull' => 'Volledig',
'settings.visualEffectsReduced' => 'Verminderd',
'settings.visualEffectsReducedDescription' => 'Minder animaties en illustraties met lagere resolutie',
'search.hint' => 'Zoek films, series, muziek...',
'search.tryDifferentTerm' => 'Probeer een andere zoekterm',
'search.searchYourMedia' => 'Zoek in je media',
@@ -2518,14 +2487,11 @@ extension on TranslationsNl {
'mediaMenu.playVersion' => 'Versie afspelen...',
'rateSheet.title' => 'Beoordelen',
'rateSheet.server' => 'Server',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Score instellen',
'rateSheet.favorite' => 'Favoriet',
'rateSheet.favorited' => 'Toegevoegd aan favorieten',
'rateSheet.saved' => 'Opgeslagen',
'rateSheet.notAvailable' => 'Geen match gevonden',
'rateSheet.noConnectedServices' => 'Verbind een service in Instellingen om daar te beoordelen.',
'rateSheet.favorite' => 'Favoriet',
'rateSheet.favorited' => 'Toegevoegd aan favorieten',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, film',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, TV-serie',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsNl {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} procent bekeken',
'accessibility.mediaCardUnwatched' => 'niet bekeken',
'accessibility.tapToPlay' => 'Tik om af te spelen',
'accessibility.decrease' => 'Verlagen',
'accessibility.increase' => 'Verhogen',
'accessibility.decreaseValue' => ({required Object label}) => '${label} verlagen',
'accessibility.increaseValue' => ({required Object label}) => '${label} verhogen',
'accessibility.hue' => 'Tint',
'accessibility.saturation' => 'Verzadiging',
'accessibility.brightness' => 'Helderheid',
'accessibility.hexColor' => 'Hexkleur',
'tooltips.shufflePlay' => 'Willekeurig afspelen',
'tooltips.playTrailer' => 'Trailer afspelen',
'tooltips.markAsWatched' => 'Markeer als gekeken',
@@ -2575,13 +2549,11 @@ extension on TranslationsNl {
'videoControls.settingsButton' => 'Afspeelinstellingen',
'videoControls.tracksButton' => 'Audio en ondertitels',
'videoControls.chaptersButton' => 'Hoofdstukken',
'videoControls.versionsButton' => 'Videoversies',
'videoControls.versionQualityButton' => 'Versie en kwaliteit',
'videoControls.versionColumnHeader' => 'Versie',
'videoControls.qualityColumnHeader' => 'Kwaliteit',
'videoControls.qualityOriginal' => 'Origineel',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transcoderen niet beschikbaar — originele kwaliteit wordt afgespeeld',
'videoControls.pipButton' => 'Beeld-in-beeld modus',
'videoControls.aspectRatioButton' => 'Beeldverhouding',
@@ -2621,10 +2593,6 @@ extension on TranslationsNl {
'videoControls.subtitleDownloaded' => 'Ondertitel gedownload',
'videoControls.subtitleDownloadFailed' => 'Ondertitel downloaden mislukt',
'videoControls.searchLanguages' => 'Talen zoeken...',
'userStatus.admin' => 'Beheerder',
'userStatus.restricted' => 'Beperkt',
'userStatus.protected' => 'Beschermd',
'userStatus.current' => 'HUIDIG',
'messages.markedAsWatched' => 'Gemarkeerd als gekeken',
'messages.markedAsUnwatched' => 'Gemarkeerd als ongekeken',
'messages.markedAsWatchedOffline' => 'Gemarkeerd als gekeken (sync wanneer online)',
@@ -2634,8 +2602,6 @@ extension on TranslationsNl {
'messages.errorLoading' => ({required Object error}) => 'Fout: ${error}',
'messages.streamInterrupted' => 'De stream is onderbroken. Druk op afspelen of spoel om het opnieuw te proberen.',
'messages.fileInfoNotAvailable' => 'Bestand informatie niet beschikbaar',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Fout bij laden bestand info: ${error}',
'messages.errorLoadingSeries' => 'Fout bij laden serie',
'messages.musicNotSupported' => 'Muziek afspelen wordt nog niet ondersteund',
@@ -2643,6 +2609,8 @@ extension on TranslationsNl {
'messages.noProfilesAvailable' => 'Geen profielen beschikbaar',
'messages.contactAdminForProfiles' => 'Neem contact op met je serverbeheerder om profielen toe te voegen',
'messages.unableToDetermineLibrarySection' => 'Kan bibliotheeksectie voor dit item niet bepalen',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Logs gewist',
'messages.logsCopied' => 'Logs gekopieerd naar klembord',
'messages.noLogsAvailable' => 'Geen logs beschikbaar',
@@ -2759,7 +2727,6 @@ extension on TranslationsNl {
'profiles.pinExplain' => '4-cijferige PIN vereist om profielen te wisselen.',
'profiles.continueButton' => 'Doorgaan',
'profiles.pinsDontMatch' => 'PIN-codes komen niet overeen',
'profiles.initializeServicesFailed' => 'Kan profielservices niet initialiseren',
'connections.sectionTitle' => 'Verbindingen',
'connections.addConnection' => 'Verbinding toevoegen',
'connections.addConnectionSubtitleNoProfile' => 'Meld je aan met Plex of verbind een Jellyfin-server',
@@ -2770,7 +2737,6 @@ extension on TranslationsNl {
'connections.editJellyfinTitle' => 'Jellyfin-verbinding bewerken',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Voeg URL\'s voor ${serverName} toe of verwijder ze. Plezy gebruikt de bereikbare URL met de laagste latentie.',
'discover.title' => 'Ontdekken',
'discover.switchProfile' => 'Wissel van profiel',
'discover.noContentAvailable' => 'Geen inhoud beschikbaar',
'discover.addMediaToLibraries' => 'Voeg wat media toe aan je bibliotheken',
'discover.continueWatching' => 'Verder kijken',
@@ -2797,8 +2763,6 @@ extension on TranslationsNl {
'errors.connectionFailed' => 'Kan geen verbinding maken met mediaserver',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Kon ${context} niet laden: ${error}',
'errors.noClientAvailable' => 'Geen client beschikbaar',
'errors.authenticationFailed' => ({required Object error}) => 'Authenticatie mislukt: ${error}',
'errors.couldNotLaunchUrl' => 'Kon auth URL niet openen',
'errors.pleaseEnterToken' => 'Voer een token in',
'errors.invalidToken' => 'Ongeldig token',
'errors.failedToVerifyToken' => ({required Object error}) => 'Kon token niet verifiëren: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsNl {
'libraries.allLibrariesHidden' => 'Alle bibliotheken zijn verborgen',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Verborgen bibliotheken (${count})',
'libraries.thisLibraryIsEmpty' => 'Deze bibliotheek is leeg',
'libraries.noItemsMatchFilters' => 'Geen items komen overeen met de actieve filters',
'libraries.resetFilters' => 'Filters opnieuw instellen',
'libraries.all' => 'Alles',
'libraries.clearAll' => 'Alles wissen',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Weet je zeker dat je "${title}" wilt scannen?',
@@ -2871,7 +2837,6 @@ extension on TranslationsNl {
'libraries.sortLabels.communityRating' => 'Communitybeoordeling',
'libraries.sortLabels.criticRating' => 'Criticusbeoordeling',
'libraries.sortLabels.userRating' => 'Gebruikersbeoordeling',
'libraries.sortLabels.lastPlayed' => 'Laatst afgespeeld',
'libraries.sortLabels.datePlayed' => 'Afspeeldatum',
'libraries.sortLabels.playCount' => 'Aantal afspelingen',
'libraries.sortLabels.productionYear' => 'Productiejaar',
@@ -2885,14 +2850,11 @@ extension on TranslationsNl {
'libraries.sortLabels.dateShared' => 'Gedeeld op',
'libraries.sortLabels.latestEpisodeAirDate' => 'Laatste afleveringsuitzending',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Datum laatst toegevoegde aflevering',
'libraries.noItemsMatchFilters' => 'Geen items komen overeen met de actieve filters',
'libraries.resetFilters' => 'Filters opnieuw instellen',
'about.title' => 'Over',
'about.openSourceLicenses' => 'Open Source licenties',
'about.versionLabel' => ({required Object version}) => 'Versie ${version}',
'about.appDescription' => 'Een mooie Plex- en Jellyfin-client voor Flutter',
'about.viewLicensesDescription' => 'Bekijk licenties van third-party bibliotheken',
'serverSelection.allServerConnectionsFailed' => 'Kon met geen enkele server verbinden. Controleer je netwerk.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Geen servers gevonden voor ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Kon servers niet laden: ${error}',
'hubDetail.title' => 'Titel',
@@ -2926,10 +2888,6 @@ extension on TranslationsNl {
'explore.rows.trending' => 'Trending',
'explore.rows.upcomingMovies' => 'Aankomende films',
'explore.rows.upcomingShows' => 'Aankomende series',
'explore.searchHint' => ({required Object source}) => 'Zoeken in ${source}',
'explore.searchEmpty' => ({required Object query}) => 'Geen resultaten voor "${query}"',
'explore.searchPrompt' => ({required Object source}) => 'Zoek naar films en series op ${source}.',
'explore.searchFailed' => 'Zoeken mislukt. Controleer je verbinding en probeer opnieuw.',
'explore.status.airing' => 'Lopend',
'explore.status.ended' => 'Afgelopen',
'explore.status.canceled' => 'Geannuleerd',
@@ -2942,14 +2900,19 @@ extension on TranslationsNl {
'explore.watchlistUpdateFailed' => 'Kon kijklijst niet bijwerken',
'explore.notInLibrary' => 'Niet in je bibliotheek',
'explore.inTheseLibraries' => 'In deze bibliotheken',
'explore.availableOn' => ({required Object server}) => 'Beschikbaar op ${server}',
'explore.checkingLibrary' => 'Je bibliotheek controleren...',
'explore.emptyTitle' => 'Hier is nog niets',
'explore.emptyMessage' => ({required Object source}) => 'Rijen van ${source} verschijnen hier zodra ze inhoud hebben.',
'explore.searchHint' => ({required Object source}) => 'Zoeken in ${source}',
'explore.searchEmpty' => ({required Object query}) => 'Geen resultaten voor "${query}"',
'explore.searchPrompt' => ({required Object source}) => 'Zoek naar films en series op ${source}.',
'explore.searchFailed' => 'Zoeken mislukt. Controleer je verbinding en probeer opnieuw.',
'liveTv.title' => 'Live TV',
'liveTv.guide' => 'Gids',
'liveTv.noChannels' => 'Geen zenders beschikbaar',
'liveTv.noDvr' => 'Geen DVR geconfigureerd op een server',
'liveTv.serverUnavailable' => 'De live-tv-server is niet beschikbaar.',
'liveTv.serverNotConnected' => 'De live-tv-server is niet verbonden.',
'liveTv.noPrograms' => 'Geen programmagegevens beschikbaar',
'liveTv.liveStreamFailed' => 'Livestream mislukt',
'liveTv.unknownProgram' => 'Onbekend programma',
@@ -2985,7 +2948,6 @@ extension on TranslationsNl {
'liveTv.scheduledRecordings' => 'Gepland',
'liveTv.recordingRules' => 'Opnameregels',
'liveTv.noScheduledRecordings' => 'Geen geplande opnames',
'liveTv.noRecordingRules' => 'Nog geen opnameregels',
'liveTv.manageRecording' => 'Opname beheren',
'liveTv.cancelRecording' => 'Opname annuleren',
'liveTv.cancelRecordingTitle' => 'Deze opname annuleren?',
@@ -3002,7 +2964,6 @@ extension on TranslationsNl {
'liveTv.recordingCancelled' => 'Opname geannuleerd',
'liveTv.recordingRuleDeleted' => 'Opnameregel verwijderd',
'liveTv.processRecordingRules' => 'Regels opnieuw evalueren',
'liveTv.loadingRecordings' => 'Opnames laden...',
'liveTv.recordingInProgress' => 'Nu aan het opnemen',
'liveTv.recordingsCount' => ({required Object count}) => '${count} gepland',
'liveTv.editRule' => 'Regel bewerken',
@@ -3014,7 +2975,6 @@ extension on TranslationsNl {
'collections.title' => 'Collecties',
'collections.collection' => 'Collectie',
'collections.empty' => 'Collectie is leeg',
'collections.unknownLibrarySection' => 'Kan niet verwijderen: onbekende bibliotheeksectie',
'collections.deleteCollection' => 'Collectie verwijderen',
'collections.deleteConfirm' => ({required Object title}) => '"${title}" verwijderen? Dit kan niet ongedaan worden gemaakt.',
'collections.deleted' => 'Collectie verwijderd',
@@ -3052,6 +3012,7 @@ extension on TranslationsNl {
'playlists.itemAdded' => 'Toegevoegd aan afspeellijst',
'playlists.itemRemoved' => 'Verwijderd uit afspeellijst',
'playlists.selectPlaylist' => 'Selecteer afspeellijst',
'playlists.searchPlaylists' => 'Afspeellijsten zoeken...',
'playlists.errorCreating' => 'Fout bij maken afspeellijst',
'playlists.errorDeleting' => 'Fout bij verwijderen afspeellijst',
'playlists.errorLoading' => 'Fout bij laden afspeellijsten',
@@ -3134,22 +3095,20 @@ extension on TranslationsNl {
'watchTogether.participantResumed' => ({required Object name}) => '${name} heeft hervat',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} heeft gespoeld',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} is aan het bufferen',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} gebruikt een oudere appversie — synchronisatie niet beschikbaar',
'watchTogether.resumingWithout' => ({required Object name}) => 'Hervatten zonder ${name}',
'watchTogether.waitingForParticipants' => 'Wachten tot anderen geladen zijn...',
'watchTogether.waitingForName' => ({required Object name}) => 'Wachten op ${name}...',
'watchTogether.recentRooms' => 'Recente kamers',
'watchTogether.renameRoom' => 'Kamer hernoemen',
'watchTogether.removeRoom' => 'Verwijderen',
'watchTogether.guestSwitchUnavailable' => 'Kon niet schakelen — server niet beschikbaar voor synchronisatie',
'watchTogether.guestSwitchFailed' => 'Kon niet schakelen — inhoud niet gevonden op deze server',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} gebruikt een oudere appversie — synchronisatie niet beschikbaar',
'watchTogether.resumingWithout' => ({required Object name}) => 'Hervatten zonder ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Wachten op ${name}...',
'downloads.title' => 'Downloads',
'downloads.manage' => 'Beheren',
'downloads.tvShows' => 'Series',
'downloads.movies' => 'Films',
'downloads.music' => 'Muziek',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} nummers in wachtrij voor download',
'downloads.noDownloads' => 'Nog geen downloads',
'downloads.noDownloadsDescription' => 'Gedownloade content verschijnt hier voor offline weergave',
@@ -3164,6 +3123,8 @@ extension on TranslationsNl {
'downloads.deleteConfirm' => ({required Object title}) => '"${title}" van dit apparaat verwijderen?',
'downloads.cancelledDownloadTitle' => 'Geannuleerde download',
'downloads.cancelledDownloadMessage' => 'Deze download is geannuleerd. Wat wil je doen?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Alle afleveringen zijn al gedownload',
'downloads.resumeDownload' => 'Download hervatten',
'downloads.cancelledDownload' => 'Geannuleerde download',
@@ -3187,7 +3148,6 @@ extension on TranslationsNl {
'downloads.customAmount' => 'Aangepast aantal...',
'downloads.includeSpecials' => 'Specials opnemen',
'downloads.howManyEpisodes' => 'Hoeveel afleveringen?',
'downloads.itemsQueued' => ({required Object count}) => '${count} items in downloadwachtrij',
'downloads.keepSynced' => 'Gesynchroniseerd houden',
'downloads.downloadOnce' => 'Eenmalig downloaden',
'downloads.keepNUnwatched' => ({required Object count}) => '${count} onbekeken behouden',
@@ -3231,7 +3191,6 @@ extension on TranslationsNl {
'companionRemote.connectedTo' => ({required Object name}) => 'Verbonden met ${name}',
'companionRemote.unknownDevice' => 'Onbekend apparaat',
'companionRemote.session.startingServer' => 'Externe server starten...',
'companionRemote.session.failedToCreate' => 'Kan externe server niet starten:',
'companionRemote.session.hostAddress' => 'Hostadres',
'companionRemote.session.connected' => 'Verbonden',
'companionRemote.session.serverRunning' => 'Externe server actief',
@@ -3286,6 +3245,8 @@ extension on TranslationsNl {
'companionRemote.remote.searchHint' => 'Zoeken op desktop...',
'companionRemote.errors.noNetworkInterface' => 'Geen netwerkinterface gevonden',
'companionRemote.errors.authenticationFailed' => 'Authenticatie mislukt',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Kan de externe server niet starten: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Kan de externe opdracht niet verzenden: ${error}',
'companionRemote.errors.joinTimedOut' => 'Time-out bij deelnemen aan sessie',
'companionRemote.errors.failedToConnectAnyAddress' => 'Kan met geen enkel adres verbinden',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Verbinding verloren na ${attempts} pogingen',
@@ -3530,7 +3491,6 @@ extension on TranslationsNl {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect mislukt: ${error}',
'addServer.addPlexTitle' => 'Inloggen met Plex',
'addServer.pinExpired' => 'PIN verlopen vóór inloggen. Probeer opnieuw.',
'addServer.duplicatePlexAccount' => 'Al aangemeld bij Plex. Meld je af om van account te wisselen.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Account registreren mislukt: ${error}',
'addServer.enterJellyfinUrlError' => 'Voer de URL van je Jellyfin-server in',
'addServer.addConnectionTitle' => 'Verbinding toevoegen',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsPl extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityPl accessibility = _TranslationsAccessibilityPl._(_root);
@override late final _TranslationsTooltipsPl tooltips = _TranslationsTooltipsPl._(_root);
@override late final _TranslationsVideoControlsPl videoControls = _TranslationsVideoControlsPl._(_root);
@override late final _TranslationsUserStatusPl userStatus = _TranslationsUserStatusPl._(_root);
@override late final _TranslationsMessagesPl messages = _TranslationsMessagesPl._(_root);
@override late final _TranslationsSubtitlingStylingPl subtitlingStyling = _TranslationsSubtitlingStylingPl._(_root);
@override late final _TranslationsMpvConfigPl mpvConfig = _TranslationsMpvConfigPl._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthPl extends TranslationsAuthEn {
final TranslationsPl _root; // ignore: unused_field
// Translations
@override String get signIn => 'Zaloguj się';
@override String get signInWithPlex => 'Zaloguj się przez Plex';
@override String get showQRCode => 'Pokaż kod QR';
@override String get authenticate => 'Uwierzytelnienie';
@@ -167,10 +165,8 @@ class _TranslationsCommonPl extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Odcinek ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Rozdział ${number}';
@override String get reconnect => 'Połącz ponownie';
@override String get exit => 'Wyjdź';
@override String get viewAll => 'Pokaż wszystko';
@override String get checkingNetwork => 'Sprawdzanie sieci...';
@override String get refreshingServers => 'Odświeżanie serwerów...';
@override String get loadingServers => 'Ładowanie serwerów...';
@override String get connectingToServers => 'Łączenie z serwerami...';
@override String get startingOfflineMode => 'Uruchamianie trybu offline...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Używaj kart TV tylko z obrazem i nałożonymi nazwiskami aktorów';
@override String get focusGlow => 'Poświata zaznaczenia';
@override String get focusGlowDescription => 'Wyświetlaj delikatną poświatę wokół zaznaczonej karty';
@override String get visualEffects => 'Efekty wizualne';
@override String get visualEffectsAuto => 'Automatycznie';
@override String get visualEffectsAutoDescription => 'Automatycznie ograniczaj efekty na urządzeniach o niższej wydajności';
@override String get visualEffectsFull => 'Pełne';
@override String get visualEffectsReduced => 'Ograniczone';
@override String get visualEffectsReducedDescription => 'Mniej animacji i grafiki o niższej rozdzielczości';
@override String get hideSpoilers => 'Ukryj spoilery nieobejrzanych odcinków';
@override String get hideSpoilersDescription => 'Rozmywaj miniatury i opisy nieobejrzanych odcinków';
@override String get playerBackend => 'Backend odtwarzacza';
@@ -283,7 +285,7 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Automatyczny (Zalecany)';
@override String bufferSizeWarning({required Object heap, required Object size}) => 'Dostępna pamięć: ${heap}MB. Bufor ${size}MB może wpłynąć na odtwarzanie.';
@override String get defaultQualityTitle => 'Domyślna jakość';
@override String get defaultQualityDescription => 'Używane podczas rozpoczynania odtwarzania. Niższe wartości zmniejszają przepustowość.';
@override String get musicQualityTitle => 'Jakość muzyki';
@override String get subtitleStyling => 'Styl napisów';
@override String get subtitleStylingDescription => 'Dostosuj wygląd napisów';
@override String get smallSkipDuration => 'Krótki skok';
@@ -377,10 +379,9 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Pokaż, co oglądasz na Discordzie';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Synchronizuj historię oglądania z Trakt';
@override String get services => 'Usługi';
@override String get servicesDescription => 'Połącz Trakt, MyAnimeList, Seerr i inne';
@override String get manageLibrariesDescription => 'Zmieniaj kolejność i ukrywaj biblioteki';
@override String get companionRemoteServer => 'Serwer zdalnego sterowania';
@override String get companionRemoteServerDescription => 'Pozwól urządzeniom mobilnym w sieci sterować tą aplikacją';
@override String get autoPip => 'Automatyczny obraz w obrazie';
@@ -443,7 +444,6 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Pokaż etykiety paska nawigacji';
@override String get showNavBarLabelsDescription => 'Wyświetl tekstowe etykiety pod ikonami paska nawigacji';
@override String get startupSection => 'Sekcja startowa';
@override String get startupSectionDescription => 'Wybierz, którą sekcję Plezy otwiera przy uruchomieniu';
@override String get liveTvDefaultFavorites => 'Domyślnie ulubione kanały';
@override String get liveTvDefaultFavoritesDescription => 'Pokaż tylko ulubione kanały po otwarciu telewizji na żywo';
@override String get display => 'Ekran';
@@ -455,13 +455,6 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Napisy i konfiguracja';
@override String get seekAndTiming => 'Przewijanie i czas';
@override String get behavior => 'Zachowanie';
@override String get manageLibrariesDescription => 'Zmieniaj kolejność i ukrywaj biblioteki';
@override String get visualEffects => 'Efekty wizualne';
@override String get visualEffectsAuto => 'Automatycznie';
@override String get visualEffectsAutoDescription => 'Automatycznie ograniczaj efekty na urządzeniach o niższej wydajności';
@override String get visualEffectsFull => 'Pełne';
@override String get visualEffectsReduced => 'Ograniczone';
@override String get visualEffectsReducedDescription => 'Mniej animacji i grafiki o niższej rozdzielczości';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetPl extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Oceń';
@override String get server => 'Serwer';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Ustaw ocenę';
@override String get favorite => 'Dodaj do ulubionych';
@override String get favorited => 'Dodano do ulubionych';
@override String get saved => 'Zapisano';
@override String get notAvailable => 'Nie znaleziono dopasowania';
@override String get noConnectedServices => 'Połącz usługę w Ustawieniach, aby tam oceniać.';
@override String get favorite => 'Dodaj do ulubionych';
@override String get favorited => 'Dodano do ulubionych';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityPl extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} procent obejrzane';
@override String get mediaCardUnwatched => 'nieobejrzane';
@override String get tapToPlay => 'Dotknij, aby odtworzyć';
@override String get decrease => 'Zmniejsz';
@override String get increase => 'Zwiększ';
@override String decreaseValue({required Object label}) => 'Zmniejsz ${label}';
@override String increaseValue({required Object label}) => 'Zwiększ ${label}';
@override String get hue => 'Odcień';
@override String get saturation => 'Nasycenie';
@override String get brightness => 'Jasność';
@override String get hexColor => 'Kolor szesnastkowy';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsPl extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Ustawienia odtwarzania';
@override String get tracksButton => 'Audio i napisy';
@override String get chaptersButton => 'Rozdziały';
@override String get versionsButton => 'Wersje wideo';
@override String get versionQualityButton => 'Wersja i jakość';
@override String get versionColumnHeader => 'Wersja';
@override String get qualityColumnHeader => 'Jakość';
@override String get qualityOriginal => 'Oryginalna';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transkodowanie niedostępne — odtwarzanie w oryginalnej jakości';
@override String get pipButton => 'Tryb obraz w obrazie';
@override String get aspectRatioButton => 'Proporcje';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsPl extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Szukaj języków...';
}
// Path: userStatus
class _TranslationsUserStatusPl extends TranslationsUserStatusEn {
_TranslationsUserStatusPl._(TranslationsPl root) : this._root = root, super.internal(root);
final TranslationsPl _root; // ignore: unused_field
// Translations
@override String get admin => 'Administrator';
@override String get restricted => 'Ograniczony';
@override String get protected => 'Chroniony';
@override String get current => 'BIEŻĄCY';
}
// Path: messages
class _TranslationsMessagesPl extends TranslationsMessagesEn {
_TranslationsMessagesPl._(TranslationsPl root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesPl extends TranslationsProfilesEn {
@override String get pinExplain => 'Do przełączania profili wymagany jest 4-cyfrowy PIN.';
@override String get continueButton => 'Kontynuuj';
@override String get pinsDontMatch => 'PIN-y nie pasują';
@override String get initializeServicesFailed => 'Nie udało się zainicjować usług profilu';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverPl extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Odkryj';
@override String get switchProfile => 'Zmień profil';
@override String get noContentAvailable => 'Brak dostępnych treści';
@override String get addMediaToLibraries => 'Dodaj multimedia do swoich bibliotek';
@override String get continueWatching => 'Kontynuuj oglądanie';
@@ -938,8 +919,6 @@ class _TranslationsErrorsPl extends TranslationsErrorsEn {
@override String get connectionFailed => 'Nie można połączyć się z serwerem multimediów';
@override String failedToLoad({required Object context, required Object error}) => 'Nie udało się załadować ${context}: ${error}';
@override String get noClientAvailable => 'Brak dostępnego klienta';
@override String authenticationFailed({required Object error}) => 'Uwierzytelnienie nie powiodło się: ${error}';
@override String get couldNotLaunchUrl => 'Nie można otworzyć URL uwierzytelniania';
@override String get pleaseEnterToken => 'Wprowadź token';
@override String get invalidToken => 'Nieprawidłowy token';
@override String failedToVerifyToken({required Object error}) => 'Nie udało się zweryfikować tokena: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesPl extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Wszystkie biblioteki są ukryte';
@override String hiddenLibrariesCount({required Object count}) => 'Ukryte biblioteki (${count})';
@override String get thisLibraryIsEmpty => 'Ta biblioteka jest pusta';
@override String get noItemsMatchFilters => 'Żadne elementy nie pasują do aktywnych filtrów';
@override String get resetFilters => 'Resetuj filtry';
@override String get all => 'Wszystkie';
@override String get clearAll => 'Wyczyść wszystko';
@override String scanLibraryConfirm({required Object title}) => 'Czy na pewno chcesz zeskanować "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesPl extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsPl groupings = _TranslationsLibrariesGroupingsPl._(_root);
@override late final _TranslationsLibrariesFilterCategoriesPl filterCategories = _TranslationsLibrariesFilterCategoriesPl._(_root);
@override late final _TranslationsLibrariesSortLabelsPl sortLabels = _TranslationsLibrariesSortLabelsPl._(_root);
@override String get noItemsMatchFilters => 'Żadne elementy nie pasują do aktywnych filtrów';
@override String get resetFilters => 'Resetuj filtry';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionPl extends TranslationsServerSelectionEn {
final TranslationsPl _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Nie udało się połączyć z żadnym serwerem. Sprawdź sieć.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Nie znaleziono serwerów dla ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Nie udało się załadować serwerów: ${error}';
}
@@ -1104,7 +1082,6 @@ class _TranslationsExplorePl extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Nie udało się zaktualizować listy do obejrzenia';
@override String get notInLibrary => 'Nie ma tego w Twojej bibliotece';
@override String get inTheseLibraries => 'W tych bibliotekach';
@override String availableOn({required Object server}) => 'Dostępne na ${server}';
@override String get checkingLibrary => 'Sprawdzanie Twojej biblioteki...';
@override String get emptyTitle => 'Jeszcze nic tu nie ma';
@override String emptyMessage({required Object source}) => 'Wiersze z ${source} pojawią się tutaj, gdy będą zawierać treści.';
@@ -1125,6 +1102,8 @@ class _TranslationsLiveTvPl extends TranslationsLiveTvEn {
@override String get guide => 'Przewodnik';
@override String get noChannels => 'Brak dostępnych kanałów';
@override String get noDvr => 'Brak skonfigurowanego DVR na żadnym serwerze';
@override String get serverUnavailable => 'Serwer telewizji na żywo jest niedostępny.';
@override String get serverNotConnected => 'Serwer telewizji na żywo nie jest połączony.';
@override String get noPrograms => 'Brak danych o programach';
@override String get liveStreamFailed => 'Transmisja na żywo nie powiodła się';
@override String get unknownProgram => 'Nieznany program';
@@ -1160,7 +1139,6 @@ class _TranslationsLiveTvPl extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Zaplanowane';
@override String get recordingRules => 'Reguły nagrywania';
@override String get noScheduledRecordings => 'Brak zaplanowanych nagrań';
@override String get noRecordingRules => 'Brak reguł nagrywania';
@override String get manageRecording => 'Zarządzaj nagraniem';
@override String get cancelRecording => 'Anuluj nagrywanie';
@override String get cancelRecordingTitle => 'Anulować to nagrywanie?';
@@ -1177,7 +1155,6 @@ class _TranslationsLiveTvPl extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Nagrywanie anulowane';
@override String get recordingRuleDeleted => 'Reguła nagrywania usunięta';
@override String get processRecordingRules => 'Ponów ocenę reguł';
@override String get loadingRecordings => 'Wczytywanie nagrań...';
@override String get recordingInProgress => 'Trwa nagrywanie';
@override String recordingsCount({required Object count}) => '${count} zaplanowanych';
@override String get editRule => 'Edytuj regułę';
@@ -1198,7 +1175,6 @@ class _TranslationsCollectionsPl extends TranslationsCollectionsEn {
@override String get title => 'Kolekcje';
@override String get collection => 'Kolekcja';
@override String get empty => 'Kolekcja jest pusta';
@override String get unknownLibrarySection => 'Nie można usunąć: Nieznana sekcja biblioteki';
@override String get deleteCollection => 'Usuń kolekcję';
@override String deleteConfirm({required Object title}) => 'Usunąć "${title}"? Tego nie można cofnąć.';
@override String get deleted => 'Kolekcja usunięta';
@@ -1245,6 +1221,7 @@ class _TranslationsPlaylistsPl extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Dodano do playlisty';
@override String get itemRemoved => 'Usunięto z playlisty';
@override String get selectPlaylist => 'Wybierz playlistę';
@override String get searchPlaylists => 'Szukaj playlist...';
@override String get errorCreating => 'Nie udało się utworzyć playlisty';
@override String get errorDeleting => 'Nie udało się usunąć playlisty';
@override String get errorLoading => 'Nie udało się załadować playlist';
@@ -1350,15 +1327,15 @@ class _TranslationsWatchTogetherPl extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} wznowił';
@override String participantSeeked({required Object name}) => '${name} przewinął';
@override String participantBuffering({required Object name}) => '${name} buforuje';
@override String participantNeedsUpdate({required Object name}) => '${name} używa starszej wersji aplikacji — synchronizacja jest niedostępna';
@override String resumingWithout({required Object name}) => 'Wznawianie bez ${name}';
@override String get waitingForParticipants => 'Oczekiwanie na załadowanie u innych...';
@override String waitingForName({required Object name}) => 'Oczekiwanie na ${name}...';
@override String get recentRooms => 'Ostatnie pokoje';
@override String get renameRoom => 'Zmień nazwę pokoju';
@override String get removeRoom => 'Usuń';
@override String get guestSwitchUnavailable => 'Nie można przełączyć — serwer niedostępny do synchronizacji';
@override String get guestSwitchFailed => 'Nie można przełączyć — nie znaleziono treści na tym serwerze';
@override String participantNeedsUpdate({required Object name}) => '${name} używa starszej wersji aplikacji — synchronizacja jest niedostępna';
@override String resumingWithout({required Object name}) => 'Wznawianie bez ${name}';
@override String waitingForName({required Object name}) => 'Oczekiwanie na ${name}...';
}
// Path: downloads
@@ -1410,7 +1387,6 @@ class _TranslationsDownloadsPl extends TranslationsDownloadsEn {
@override String get customAmount => 'Własna ilość...';
@override String get includeSpecials => 'Uwzględnij odcinki specjalne';
@override String get howManyEpisodes => 'Ile odcinków?';
@override String itemsQueued({required Object count}) => '${count} elementów dodanych do kolejki pobierania';
@override String get keepSynced => 'Synchronizuj na bieżąco';
@override String get downloadOnce => 'Pobierz raz';
@override String keepNUnwatched({required Object count}) => 'Zachowaj ${count} nieobejrzanych';
@@ -1784,7 +1760,6 @@ class _TranslationsAddServerPl extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect nie powiodło się: ${error}';
@override String get addPlexTitle => 'Zaloguj się przez Plex';
@override String get pinExpired => 'PIN wygasł przed zalogowaniem. Spróbuj ponownie.';
@override String get duplicatePlexAccount => 'Już zalogowano do Plex. Wyloguj się, aby zmienić konto.';
@override String failedToRegisterAccount({required Object error}) => 'Nie udało się zarejestrować konta: ${error}';
@override String get enterJellyfinUrlError => 'Podaj URL serwera Jellyfin';
@override String get addConnectionTitle => 'Dodaj połączenie';
@@ -1910,7 +1885,6 @@ class _TranslationsLibrariesSortLabelsPl extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Ocena społeczności';
@override String get criticRating => 'Ocena krytyków';
@override String get userRating => 'Ocena użytkownika';
@override String get lastPlayed => 'Ostatnio odtwarzane';
@override String get datePlayed => 'Data odtworzenia';
@override String get playCount => 'Liczba odtworzeń';
@override String get productionYear => 'Rok produkcji';
@@ -1969,7 +1943,6 @@ class _TranslationsCompanionRemoteSessionPl extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Uruchamianie serwera zdalnego...';
@override String get failedToCreate => 'Nie udało się uruchomić serwera zdalnego:';
@override String get hostAddress => 'Adres hosta';
@override String get connected => 'Połączono';
@override String get serverRunning => 'Serwer zdalny aktywny';
@@ -2051,6 +2024,8 @@ class _TranslationsCompanionRemoteErrorsPl extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Nie znaleziono interfejsu sieciowego';
@override String get authenticationFailed => 'Uwierzytelnianie nie powiodło się';
@override String serverStartFailed({required Object error}) => 'Nie udało się uruchomić serwera zdalnego: ${error}';
@override String commandFailed({required Object error}) => 'Nie udało się wysłać polecenia zdalnego: ${error}';
@override String get joinTimedOut => 'Upłynął limit czasu dołączania do sesji';
@override String get failedToConnectAnyAddress => 'Nie udało się połączyć z żadnym adresem';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Połączenie utracone po ${attempts} próbach';
@@ -2127,7 +2102,6 @@ extension on TranslationsPl {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Zaloguj się',
'auth.signInWithPlex' => 'Zaloguj się przez Plex',
'auth.showQRCode' => 'Pokaż kod QR',
'auth.authenticate' => 'Uwierzytelnienie',
@@ -2178,10 +2152,8 @@ extension on TranslationsPl {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Odcinek ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Rozdział ${number}',
'common.reconnect' => 'Połącz ponownie',
'common.exit' => 'Wyjdź',
'common.viewAll' => 'Pokaż wszystko',
'common.checkingNetwork' => 'Sprawdzanie sieci...',
'common.refreshingServers' => 'Odświeżanie serwerów...',
'common.loadingServers' => 'Ładowanie serwerów...',
'common.connectingToServers' => 'Łączenie z serwerami...',
'common.startingOfflineMode' => 'Uruchamianie trybu offline...',
@@ -2255,6 +2227,12 @@ extension on TranslationsPl {
'settings.tvFullCardLayoutDescription' => 'Używaj kart TV tylko z obrazem i nałożonymi nazwiskami aktorów',
'settings.focusGlow' => 'Poświata zaznaczenia',
'settings.focusGlowDescription' => 'Wyświetlaj delikatną poświatę wokół zaznaczonej karty',
'settings.visualEffects' => 'Efekty wizualne',
'settings.visualEffectsAuto' => 'Automatycznie',
'settings.visualEffectsAutoDescription' => 'Automatycznie ograniczaj efekty na urządzeniach o niższej wydajności',
'settings.visualEffectsFull' => 'Pełne',
'settings.visualEffectsReduced' => 'Ograniczone',
'settings.visualEffectsReducedDescription' => 'Mniej animacji i grafiki o niższej rozdzielczości',
'settings.hideSpoilers' => 'Ukryj spoilery nieobejrzanych odcinków',
'settings.hideSpoilersDescription' => 'Rozmywaj miniatury i opisy nieobejrzanych odcinków',
'settings.playerBackend' => 'Backend odtwarzacza',
@@ -2267,7 +2245,7 @@ extension on TranslationsPl {
'settings.bufferSizeAuto' => 'Automatyczny (Zalecany)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => 'Dostępna pamięć: ${heap}MB. Bufor ${size}MB może wpłynąć na odtwarzanie.',
'settings.defaultQualityTitle' => 'Domyślna jakość',
'settings.defaultQualityDescription' => 'Używane podczas rozpoczynania odtwarzania. Niższe wartości zmniejszają przepustowość.',
'settings.musicQualityTitle' => 'Jakość muzyki',
'settings.subtitleStyling' => 'Styl napisów',
'settings.subtitleStylingDescription' => 'Dostosuj wygląd napisów',
'settings.smallSkipDuration' => 'Krótki skok',
@@ -2361,10 +2339,9 @@ extension on TranslationsPl {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Pokaż, co oglądasz na Discordzie',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Synchronizuj historię oglądania z Trakt',
'settings.services' => 'Usługi',
'settings.servicesDescription' => 'Połącz Trakt, MyAnimeList, Seerr i inne',
'settings.manageLibrariesDescription' => 'Zmieniaj kolejność i ukrywaj biblioteki',
'settings.companionRemoteServer' => 'Serwer zdalnego sterowania',
'settings.companionRemoteServerDescription' => 'Pozwól urządzeniom mobilnym w sieci sterować tą aplikacją',
'settings.autoPip' => 'Automatyczny obraz w obrazie',
@@ -2427,7 +2404,6 @@ extension on TranslationsPl {
'settings.showNavBarLabels' => 'Pokaż etykiety paska nawigacji',
'settings.showNavBarLabelsDescription' => 'Wyświetl tekstowe etykiety pod ikonami paska nawigacji',
'settings.startupSection' => 'Sekcja startowa',
'settings.startupSectionDescription' => 'Wybierz, którą sekcję Plezy otwiera przy uruchomieniu',
'settings.liveTvDefaultFavorites' => 'Domyślnie ulubione kanały',
'settings.liveTvDefaultFavoritesDescription' => 'Pokaż tylko ulubione kanały po otwarciu telewizji na żywo',
'settings.display' => 'Ekran',
@@ -2439,13 +2415,6 @@ extension on TranslationsPl {
'settings.subtitlesAndConfig' => 'Napisy i konfiguracja',
'settings.seekAndTiming' => 'Przewijanie i czas',
'settings.behavior' => 'Zachowanie',
'settings.manageLibrariesDescription' => 'Zmieniaj kolejność i ukrywaj biblioteki',
'settings.visualEffects' => 'Efekty wizualne',
'settings.visualEffectsAuto' => 'Automatycznie',
'settings.visualEffectsAutoDescription' => 'Automatycznie ograniczaj efekty na urządzeniach o niższej wydajności',
'settings.visualEffectsFull' => 'Pełne',
'settings.visualEffectsReduced' => 'Ograniczone',
'settings.visualEffectsReducedDescription' => 'Mniej animacji i grafiki o niższej rozdzielczości',
'search.hint' => 'Szukaj filmów, seriali, muzyki...',
'search.tryDifferentTerm' => 'Spróbuj innego wyszukiwania',
'search.searchYourMedia' => 'Przeszukaj swoje media',
@@ -2522,14 +2491,11 @@ extension on TranslationsPl {
'mediaMenu.playVersion' => 'Odtwórz wersję...',
'rateSheet.title' => 'Oceń',
'rateSheet.server' => 'Serwer',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Ustaw ocenę',
'rateSheet.favorite' => 'Dodaj do ulubionych',
'rateSheet.favorited' => 'Dodano do ulubionych',
'rateSheet.saved' => 'Zapisano',
'rateSheet.notAvailable' => 'Nie znaleziono dopasowania',
'rateSheet.noConnectedServices' => 'Połącz usługę w Ustawieniach, aby tam oceniać.',
'rateSheet.favorite' => 'Dodaj do ulubionych',
'rateSheet.favorited' => 'Dodano do ulubionych',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, film',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, serial TV',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2538,6 +2504,14 @@ extension on TranslationsPl {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} procent obejrzane',
'accessibility.mediaCardUnwatched' => 'nieobejrzane',
'accessibility.tapToPlay' => 'Dotknij, aby odtworzyć',
'accessibility.decrease' => 'Zmniejsz',
'accessibility.increase' => 'Zwiększ',
'accessibility.decreaseValue' => ({required Object label}) => 'Zmniejsz ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Zwiększ ${label}',
'accessibility.hue' => 'Odcień',
'accessibility.saturation' => 'Nasycenie',
'accessibility.brightness' => 'Jasność',
'accessibility.hexColor' => 'Kolor szesnastkowy',
'tooltips.shufflePlay' => 'Odtwarzanie losowe',
'tooltips.playTrailer' => 'Odtwórz zwiastun',
'tooltips.markAsWatched' => 'Oznacz jako obejrzane',
@@ -2579,13 +2553,11 @@ extension on TranslationsPl {
'videoControls.settingsButton' => 'Ustawienia odtwarzania',
'videoControls.tracksButton' => 'Audio i napisy',
'videoControls.chaptersButton' => 'Rozdziały',
'videoControls.versionsButton' => 'Wersje wideo',
'videoControls.versionQualityButton' => 'Wersja i jakość',
'videoControls.versionColumnHeader' => 'Wersja',
'videoControls.qualityColumnHeader' => 'Jakość',
'videoControls.qualityOriginal' => 'Oryginalna',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transkodowanie niedostępne — odtwarzanie w oryginalnej jakości',
'videoControls.pipButton' => 'Tryb obraz w obrazie',
'videoControls.aspectRatioButton' => 'Proporcje',
@@ -2625,10 +2597,6 @@ extension on TranslationsPl {
'videoControls.subtitleDownloaded' => 'Napisy pobrane',
'videoControls.subtitleDownloadFailed' => 'Nie udało się pobrać napisów',
'videoControls.searchLanguages' => 'Szukaj języków...',
'userStatus.admin' => 'Administrator',
'userStatus.restricted' => 'Ograniczony',
'userStatus.protected' => 'Chroniony',
'userStatus.current' => 'BIEŻĄCY',
'messages.markedAsWatched' => 'Oznaczono jako obejrzane',
'messages.markedAsUnwatched' => 'Oznaczono jako nieobejrzane',
'messages.markedAsWatchedOffline' => 'Oznaczono jako obejrzane (zsynchronizuje się po połączeniu)',
@@ -2638,8 +2606,6 @@ extension on TranslationsPl {
'messages.errorLoading' => ({required Object error}) => 'Błąd: ${error}',
'messages.streamInterrupted' => 'Strumień został przerwany. Naciśnij odtwarzanie lub przewiń, aby spróbować ponownie.',
'messages.fileInfoNotAvailable' => 'Informacje o pliku niedostępne',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Błąd ładowania informacji o pliku: ${error}',
'messages.errorLoadingSeries' => 'Błąd ładowania serialu',
'messages.musicNotSupported' => 'Odtwarzanie muzyki nie jest jeszcze obsługiwane',
@@ -2647,6 +2613,8 @@ extension on TranslationsPl {
'messages.noProfilesAvailable' => 'Brak dostępnych profili',
'messages.contactAdminForProfiles' => 'Skontaktuj się z administratorem serwera, aby dodać profile',
'messages.unableToDetermineLibrarySection' => 'Nie można określić sekcji biblioteki dla tego elementu',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Logi wyczyszczone',
'messages.logsCopied' => 'Logi skopiowane do schowka',
'messages.noLogsAvailable' => 'Brak dostępnych logów',
@@ -2763,7 +2731,6 @@ extension on TranslationsPl {
'profiles.pinExplain' => 'Do przełączania profili wymagany jest 4-cyfrowy PIN.',
'profiles.continueButton' => 'Kontynuuj',
'profiles.pinsDontMatch' => 'PIN-y nie pasują',
'profiles.initializeServicesFailed' => 'Nie udało się zainicjować usług profilu',
'connections.sectionTitle' => 'Połączenia',
'connections.addConnection' => 'Dodaj połączenie',
'connections.addConnectionSubtitleNoProfile' => 'Zaloguj się przez Plex lub połącz serwer Jellyfin',
@@ -2774,7 +2741,6 @@ extension on TranslationsPl {
'connections.editJellyfinTitle' => 'Edytuj połączenie Jellyfin',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Dodaj lub usuń adresy URL dla ${serverName}. Plezy użyje osiągalnego URL-a o najniższym opóźnieniu.',
'discover.title' => 'Odkryj',
'discover.switchProfile' => 'Zmień profil',
'discover.noContentAvailable' => 'Brak dostępnych treści',
'discover.addMediaToLibraries' => 'Dodaj multimedia do swoich bibliotek',
'discover.continueWatching' => 'Kontynuuj oglądanie',
@@ -2801,8 +2767,6 @@ extension on TranslationsPl {
'errors.connectionFailed' => 'Nie można połączyć się z serwerem multimediów',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Nie udało się załadować ${context}: ${error}',
'errors.noClientAvailable' => 'Brak dostępnego klienta',
'errors.authenticationFailed' => ({required Object error}) => 'Uwierzytelnienie nie powiodło się: ${error}',
'errors.couldNotLaunchUrl' => 'Nie można otworzyć URL uwierzytelniania',
'errors.pleaseEnterToken' => 'Wprowadź token',
'errors.invalidToken' => 'Nieprawidłowy token',
'errors.failedToVerifyToken' => ({required Object error}) => 'Nie udało się zweryfikować tokena: ${error}',
@@ -2827,6 +2791,8 @@ extension on TranslationsPl {
'libraries.allLibrariesHidden' => 'Wszystkie biblioteki są ukryte',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Ukryte biblioteki (${count})',
'libraries.thisLibraryIsEmpty' => 'Ta biblioteka jest pusta',
'libraries.noItemsMatchFilters' => 'Żadne elementy nie pasują do aktywnych filtrów',
'libraries.resetFilters' => 'Resetuj filtry',
'libraries.all' => 'Wszystkie',
'libraries.clearAll' => 'Wyczyść wszystko',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Czy na pewno chcesz zeskanować "${title}"?',
@@ -2875,7 +2841,6 @@ extension on TranslationsPl {
'libraries.sortLabels.communityRating' => 'Ocena społeczności',
'libraries.sortLabels.criticRating' => 'Ocena krytyków',
'libraries.sortLabels.userRating' => 'Ocena użytkownika',
'libraries.sortLabels.lastPlayed' => 'Ostatnio odtwarzane',
'libraries.sortLabels.datePlayed' => 'Data odtworzenia',
'libraries.sortLabels.playCount' => 'Liczba odtworzeń',
'libraries.sortLabels.productionYear' => 'Rok produkcji',
@@ -2889,14 +2854,11 @@ extension on TranslationsPl {
'libraries.sortLabels.dateShared' => 'Data udostępnienia',
'libraries.sortLabels.latestEpisodeAirDate' => 'Data emisji ostatniego odcinka',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Data dodania ostatniego odcinka',
'libraries.noItemsMatchFilters' => 'Żadne elementy nie pasują do aktywnych filtrów',
'libraries.resetFilters' => 'Resetuj filtry',
'about.title' => 'O aplikacji',
'about.openSourceLicenses' => 'Licencje open source',
'about.versionLabel' => ({required Object version}) => 'Wersja ${version}',
'about.appDescription' => 'Piękny klient Plex i Jellyfin na Flutter',
'about.viewLicensesDescription' => 'Zobacz licencje bibliotek zewnętrznych',
'serverSelection.allServerConnectionsFailed' => 'Nie udało się połączyć z żadnym serwerem. Sprawdź sieć.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nie znaleziono serwerów dla ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Nie udało się załadować serwerów: ${error}',
'hubDetail.title' => 'Tytuł',
@@ -2942,7 +2904,6 @@ extension on TranslationsPl {
'explore.watchlistUpdateFailed' => 'Nie udało się zaktualizować listy do obejrzenia',
'explore.notInLibrary' => 'Nie ma tego w Twojej bibliotece',
'explore.inTheseLibraries' => 'W tych bibliotekach',
'explore.availableOn' => ({required Object server}) => 'Dostępne na ${server}',
'explore.checkingLibrary' => 'Sprawdzanie Twojej biblioteki...',
'explore.emptyTitle' => 'Jeszcze nic tu nie ma',
'explore.emptyMessage' => ({required Object source}) => 'Wiersze z ${source} pojawią się tutaj, gdy będą zawierać treści.',
@@ -2954,6 +2915,8 @@ extension on TranslationsPl {
'liveTv.guide' => 'Przewodnik',
'liveTv.noChannels' => 'Brak dostępnych kanałów',
'liveTv.noDvr' => 'Brak skonfigurowanego DVR na żadnym serwerze',
'liveTv.serverUnavailable' => 'Serwer telewizji na żywo jest niedostępny.',
'liveTv.serverNotConnected' => 'Serwer telewizji na żywo nie jest połączony.',
'liveTv.noPrograms' => 'Brak danych o programach',
'liveTv.liveStreamFailed' => 'Transmisja na żywo nie powiodła się',
'liveTv.unknownProgram' => 'Nieznany program',
@@ -2989,7 +2952,6 @@ extension on TranslationsPl {
'liveTv.scheduledRecordings' => 'Zaplanowane',
'liveTv.recordingRules' => 'Reguły nagrywania',
'liveTv.noScheduledRecordings' => 'Brak zaplanowanych nagrań',
'liveTv.noRecordingRules' => 'Brak reguł nagrywania',
'liveTv.manageRecording' => 'Zarządzaj nagraniem',
'liveTv.cancelRecording' => 'Anuluj nagrywanie',
'liveTv.cancelRecordingTitle' => 'Anulować to nagrywanie?',
@@ -3006,7 +2968,6 @@ extension on TranslationsPl {
'liveTv.recordingCancelled' => 'Nagrywanie anulowane',
'liveTv.recordingRuleDeleted' => 'Reguła nagrywania usunięta',
'liveTv.processRecordingRules' => 'Ponów ocenę reguł',
'liveTv.loadingRecordings' => 'Wczytywanie nagrań...',
'liveTv.recordingInProgress' => 'Trwa nagrywanie',
'liveTv.recordingsCount' => ({required Object count}) => '${count} zaplanowanych',
'liveTv.editRule' => 'Edytuj regułę',
@@ -3018,7 +2979,6 @@ extension on TranslationsPl {
'collections.title' => 'Kolekcje',
'collections.collection' => 'Kolekcja',
'collections.empty' => 'Kolekcja jest pusta',
'collections.unknownLibrarySection' => 'Nie można usunąć: Nieznana sekcja biblioteki',
'collections.deleteCollection' => 'Usuń kolekcję',
'collections.deleteConfirm' => ({required Object title}) => 'Usunąć "${title}"? Tego nie można cofnąć.',
'collections.deleted' => 'Kolekcja usunięta',
@@ -3056,6 +3016,7 @@ extension on TranslationsPl {
'playlists.itemAdded' => 'Dodano do playlisty',
'playlists.itemRemoved' => 'Usunięto z playlisty',
'playlists.selectPlaylist' => 'Wybierz playlistę',
'playlists.searchPlaylists' => 'Szukaj playlist...',
'playlists.errorCreating' => 'Nie udało się utworzyć playlisty',
'playlists.errorDeleting' => 'Nie udało się usunąć playlisty',
'playlists.errorLoading' => 'Nie udało się załadować playlist',
@@ -3138,22 +3099,20 @@ extension on TranslationsPl {
'watchTogether.participantResumed' => ({required Object name}) => '${name} wznowił',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} przewinął',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} buforuje',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} używa starszej wersji aplikacji — synchronizacja jest niedostępna',
'watchTogether.resumingWithout' => ({required Object name}) => 'Wznawianie bez ${name}',
'watchTogether.waitingForParticipants' => 'Oczekiwanie na załadowanie u innych...',
'watchTogether.waitingForName' => ({required Object name}) => 'Oczekiwanie na ${name}...',
'watchTogether.recentRooms' => 'Ostatnie pokoje',
'watchTogether.renameRoom' => 'Zmień nazwę pokoju',
'watchTogether.removeRoom' => 'Usuń',
'watchTogether.guestSwitchUnavailable' => 'Nie można przełączyć — serwer niedostępny do synchronizacji',
'watchTogether.guestSwitchFailed' => 'Nie można przełączyć — nie znaleziono treści na tym serwerze',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} używa starszej wersji aplikacji — synchronizacja jest niedostępna',
'watchTogether.resumingWithout' => ({required Object name}) => 'Wznawianie bez ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Oczekiwanie na ${name}...',
'downloads.title' => 'Pobrania',
'downloads.manage' => 'Zarządzaj',
'downloads.tvShows' => 'Seriale TV',
'downloads.movies' => 'Filmy',
'downloads.music' => 'Muzyka',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} utworów w kolejce do pobrania',
'downloads.noDownloads' => 'Brak pobrań',
'downloads.noDownloadsDescription' => 'Pobrane treści pojawią się tutaj do oglądania offline',
@@ -3168,6 +3127,8 @@ extension on TranslationsPl {
'downloads.deleteConfirm' => ({required Object title}) => 'Usunąć "${title}" z tego urządzenia?',
'downloads.cancelledDownloadTitle' => 'Anulowane pobieranie',
'downloads.cancelledDownloadMessage' => 'To pobieranie zostało anulowane. Co chcesz zrobić?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Wszystkie odcinki są już pobrane',
'downloads.resumeDownload' => 'Wznów pobieranie',
'downloads.cancelledDownload' => 'Anulowane pobieranie',
@@ -3191,7 +3152,6 @@ extension on TranslationsPl {
'downloads.customAmount' => 'Własna ilość...',
'downloads.includeSpecials' => 'Uwzględnij odcinki specjalne',
'downloads.howManyEpisodes' => 'Ile odcinków?',
'downloads.itemsQueued' => ({required Object count}) => '${count} elementów dodanych do kolejki pobierania',
'downloads.keepSynced' => 'Synchronizuj na bieżąco',
'downloads.downloadOnce' => 'Pobierz raz',
'downloads.keepNUnwatched' => ({required Object count}) => 'Zachowaj ${count} nieobejrzanych',
@@ -3235,7 +3195,6 @@ extension on TranslationsPl {
'companionRemote.connectedTo' => ({required Object name}) => 'Połączono z ${name}',
'companionRemote.unknownDevice' => 'Nieznane urządzenie',
'companionRemote.session.startingServer' => 'Uruchamianie serwera zdalnego...',
'companionRemote.session.failedToCreate' => 'Nie udało się uruchomić serwera zdalnego:',
'companionRemote.session.hostAddress' => 'Adres hosta',
'companionRemote.session.connected' => 'Połączono',
'companionRemote.session.serverRunning' => 'Serwer zdalny aktywny',
@@ -3290,6 +3249,8 @@ extension on TranslationsPl {
'companionRemote.remote.searchHint' => 'Szukaj na komputerze...',
'companionRemote.errors.noNetworkInterface' => 'Nie znaleziono interfejsu sieciowego',
'companionRemote.errors.authenticationFailed' => 'Uwierzytelnianie nie powiodło się',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Nie udało się uruchomić serwera zdalnego: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Nie udało się wysłać polecenia zdalnego: ${error}',
'companionRemote.errors.joinTimedOut' => 'Upłynął limit czasu dołączania do sesji',
'companionRemote.errors.failedToConnectAnyAddress' => 'Nie udało się połączyć z żadnym adresem',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Połączenie utracone po ${attempts} próbach',
@@ -3534,7 +3495,6 @@ extension on TranslationsPl {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect nie powiodło się: ${error}',
'addServer.addPlexTitle' => 'Zaloguj się przez Plex',
'addServer.pinExpired' => 'PIN wygasł przed zalogowaniem. Spróbuj ponownie.',
'addServer.duplicatePlexAccount' => 'Już zalogowano do Plex. Wyloguj się, aby zmienić konto.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Nie udało się zarejestrować konta: ${error}',
'addServer.enterJellyfinUrlError' => 'Podaj URL serwera Jellyfin',
'addServer.addConnectionTitle' => 'Dodaj połączenie',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsPt extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityPt accessibility = _TranslationsAccessibilityPt._(_root);
@override late final _TranslationsTooltipsPt tooltips = _TranslationsTooltipsPt._(_root);
@override late final _TranslationsVideoControlsPt videoControls = _TranslationsVideoControlsPt._(_root);
@override late final _TranslationsUserStatusPt userStatus = _TranslationsUserStatusPt._(_root);
@override late final _TranslationsMessagesPt messages = _TranslationsMessagesPt._(_root);
@override late final _TranslationsSubtitlingStylingPt subtitlingStyling = _TranslationsSubtitlingStylingPt._(_root);
@override late final _TranslationsMpvConfigPt mpvConfig = _TranslationsMpvConfigPt._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthPt extends TranslationsAuthEn {
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get signIn => 'Entrar';
@override String get signInWithPlex => 'Entrar com Plex';
@override String get showQRCode => 'Mostrar QR Code';
@override String get authenticate => 'Autenticar';
@@ -167,10 +165,8 @@ class _TranslationsCommonPt extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Episódio ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Capítulo ${number}';
@override String get reconnect => 'Reconectar';
@override String get exit => 'Sair';
@override String get viewAll => 'Ver Tudo';
@override String get checkingNetwork => 'Verificando rede...';
@override String get refreshingServers => 'Atualizando servidores...';
@override String get loadingServers => 'Carregando servidores...';
@override String get connectingToServers => 'Conectando aos servidores...';
@override String get startingOfflineMode => 'Iniciando modo offline...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Usar cartões de TV só com imagem e nomes dos atores sobrepostos';
@override String get focusGlow => 'Brilho de foco';
@override String get focusGlowDescription => 'Mostrar um brilho suave à volta do cartão em foco';
@override String get visualEffects => 'Efeitos visuais';
@override String get visualEffectsAuto => 'Automático';
@override String get visualEffectsAutoDescription => 'Reduza automaticamente os efeitos em dispositivos de baixo consumo';
@override String get visualEffectsFull => 'Completos';
@override String get visualEffectsReduced => 'Reduzidos';
@override String get visualEffectsReducedDescription => 'Menos animações e artes em menor resolução';
@override String get hideSpoilers => 'Ocultar Spoilers de Episódios Não Assistidos';
@override String get hideSpoilersDescription => 'Desfocar miniaturas e descrições de episódios não vistos';
@override String get playerBackend => 'Backend do Player';
@@ -283,7 +285,7 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Automático (Recomendado)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB de memória disponível. Um buffer de ${size}MB pode afetar a reprodução.';
@override String get defaultQualityTitle => 'Qualidade padrão';
@override String get defaultQualityDescription => 'Usado ao iniciar a reprodução. Valores menores reduzem a largura de banda.';
@override String get musicQualityTitle => 'Qualidade da música';
@override String get subtitleStyling => 'Estilo de Legendas';
@override String get subtitleStylingDescription => 'Personalizar aparência das legendas';
@override String get smallSkipDuration => 'Duração do Avanço Curto';
@@ -377,10 +379,9 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Mostrar o que você está assistindo no Discord';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Sincronizar histórico de exibição com Trakt';
@override String get services => 'Serviços';
@override String get servicesDescription => 'Conecte Trakt, MyAnimeList, Seerr e mais';
@override String get manageLibrariesDescription => 'Reordene e oculte bibliotecas';
@override String get companionRemoteServer => 'Servidor de controlo remoto';
@override String get companionRemoteServerDescription => 'Permitir que dispositivos móveis na sua rede controlem esta aplicação';
@override String get autoPip => 'Picture-in-Picture Automático';
@@ -443,7 +444,6 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Mostrar Rótulos da Barra de Navegação';
@override String get showNavBarLabelsDescription => 'Exibir rótulos de texto sob os ícones da barra de navegação';
@override String get startupSection => 'Seção inicial';
@override String get startupSectionDescription => 'Escolha qual seção o Plezy abre ao iniciar';
@override String get liveTvDefaultFavorites => 'Canais favoritos por padrão';
@override String get liveTvDefaultFavoritesDescription => 'Mostrar apenas canais favoritos ao abrir TV ao vivo';
@override String get display => 'Tela';
@@ -455,13 +455,6 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Legendas e configuração';
@override String get seekAndTiming => 'Busca e tempo';
@override String get behavior => 'Comportamento';
@override String get manageLibrariesDescription => 'Reordene e oculte bibliotecas';
@override String get visualEffects => 'Efeitos visuais';
@override String get visualEffectsAuto => 'Automático';
@override String get visualEffectsAutoDescription => 'Reduza automaticamente os efeitos em dispositivos de baixo consumo';
@override String get visualEffectsFull => 'Completos';
@override String get visualEffectsReduced => 'Reduzidos';
@override String get visualEffectsReducedDescription => 'Menos animações e artes em menor resolução';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetPt extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Avaliar';
@override String get server => 'Servidor';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Definir pontuação';
@override String get favorite => 'Favorito';
@override String get favorited => 'Adicionado aos favoritos';
@override String get saved => 'Salvo';
@override String get notAvailable => 'Nenhuma correspondência encontrada';
@override String get noConnectedServices => 'Conecte um serviço nas Configurações para avaliar por lá.';
@override String get favorite => 'Favorito';
@override String get favorited => 'Adicionado aos favoritos';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityPt extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} por cento assistido';
@override String get mediaCardUnwatched => 'não assistido';
@override String get tapToPlay => 'Toque para reproduzir';
@override String get decrease => 'Diminuir';
@override String get increase => 'Aumentar';
@override String decreaseValue({required Object label}) => 'Diminuir ${label}';
@override String increaseValue({required Object label}) => 'Aumentar ${label}';
@override String get hue => 'Matiz';
@override String get saturation => 'Saturação';
@override String get brightness => 'Brilho';
@override String get hexColor => 'Cor hexadecimal';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsPt extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Configurações de Reprodução';
@override String get tracksButton => 'Áudio e Legendas';
@override String get chaptersButton => 'Capítulos';
@override String get versionsButton => 'Versões do vídeo';
@override String get versionQualityButton => 'Versão e qualidade';
@override String get versionColumnHeader => 'Versão';
@override String get qualityColumnHeader => 'Qualidade';
@override String get qualityOriginal => 'Original';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transcodificação indisponível — reproduzindo qualidade original';
@override String get pipButton => 'Modo Picture-in-Picture';
@override String get aspectRatioButton => 'Proporção';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsPt extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Pesquisar idiomas...';
}
// Path: userStatus
class _TranslationsUserStatusPt extends TranslationsUserStatusEn {
_TranslationsUserStatusPt._(TranslationsPt root) : this._root = root, super.internal(root);
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get admin => 'Admin';
@override String get restricted => 'Restrito';
@override String get protected => 'Protegido';
@override String get current => 'ATUAL';
}
// Path: messages
class _TranslationsMessagesPt extends TranslationsMessagesEn {
_TranslationsMessagesPt._(TranslationsPt root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesPt extends TranslationsProfilesEn {
@override String get pinExplain => 'PIN de 4 dígitos necessário para trocar perfis.';
@override String get continueButton => 'Continuar';
@override String get pinsDontMatch => 'Os PINs não correspondem';
@override String get initializeServicesFailed => 'Falha ao inicializar serviços de perfil';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverPt extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Descobrir';
@override String get switchProfile => 'Trocar Perfil';
@override String get noContentAvailable => 'Nenhum conteúdo disponível';
@override String get addMediaToLibraries => 'Adicione mídias às suas bibliotecas';
@override String get continueWatching => 'Continuar Assistindo';
@@ -938,8 +919,6 @@ class _TranslationsErrorsPt extends TranslationsErrorsEn {
@override String get connectionFailed => 'Não foi possível conectar ao servidor de mídia';
@override String failedToLoad({required Object context, required Object error}) => 'Falha ao carregar ${context}: ${error}';
@override String get noClientAvailable => 'Nenhum cliente disponível';
@override String authenticationFailed({required Object error}) => 'Falha na autenticação: ${error}';
@override String get couldNotLaunchUrl => 'Não foi possível abrir a URL de autenticação';
@override String get pleaseEnterToken => 'Insira um token';
@override String get invalidToken => 'Token inválido';
@override String failedToVerifyToken({required Object error}) => 'Falha ao verificar token: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesPt extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Todas as bibliotecas estão ocultas';
@override String hiddenLibrariesCount({required Object count}) => 'Bibliotecas ocultas (${count})';
@override String get thisLibraryIsEmpty => 'Esta biblioteca está vazia';
@override String get noItemsMatchFilters => 'Nenhum item corresponde aos filtros ativos';
@override String get resetFilters => 'Redefinir filtros';
@override String get all => 'Todos';
@override String get clearAll => 'Limpar Tudo';
@override String scanLibraryConfirm({required Object title}) => 'Tem certeza que deseja escanear "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesPt extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsPt groupings = _TranslationsLibrariesGroupingsPt._(_root);
@override late final _TranslationsLibrariesFilterCategoriesPt filterCategories = _TranslationsLibrariesFilterCategoriesPt._(_root);
@override late final _TranslationsLibrariesSortLabelsPt sortLabels = _TranslationsLibrariesSortLabelsPt._(_root);
@override String get noItemsMatchFilters => 'Nenhum item corresponde aos filtros ativos';
@override String get resetFilters => 'Redefinir filtros';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionPt extends TranslationsServerSelectionEn {
final TranslationsPt _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Não foi possível conectar a nenhum servidor. Verifique sua rede.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Nenhum servidor encontrado para ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Falha ao carregar servidores: ${error}';
}
@@ -1102,7 +1080,6 @@ class _TranslationsExplorePt extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Não foi possível atualizar a lista para ver';
@override String get notInLibrary => 'Não está na sua biblioteca';
@override String get inTheseLibraries => 'Nestas bibliotecas';
@override String availableOn({required Object server}) => 'Disponível em ${server}';
@override String get checkingLibrary => 'Verificando a sua biblioteca...';
@override String get emptyTitle => 'Ainda não há nada aqui';
@override String emptyMessage({required Object source}) => 'As linhas de ${source} aparecerão aqui quando tiverem conteúdo.';
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvPt extends TranslationsLiveTvEn {
@override String get guide => 'Guia';
@override String get noChannels => 'Nenhum canal disponível';
@override String get noDvr => 'Nenhum DVR configurado em nenhum servidor';
@override String get serverUnavailable => 'O servidor de TV em direto não está disponível.';
@override String get serverNotConnected => 'O servidor de TV em direto não está ligado.';
@override String get noPrograms => 'Nenhum dado de programação disponível';
@override String get liveStreamFailed => 'Falha no stream ao vivo';
@override String get unknownProgram => 'Programa desconhecido';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvPt extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Agendadas';
@override String get recordingRules => 'Regras de gravação';
@override String get noScheduledRecordings => 'Sem gravações agendadas';
@override String get noRecordingRules => 'Sem regras de gravação';
@override String get manageRecording => 'Gerenciar gravação';
@override String get cancelRecording => 'Cancelar gravação';
@override String get cancelRecordingTitle => 'Cancelar esta gravação?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvPt extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Gravação cancelada';
@override String get recordingRuleDeleted => 'Regra de gravação excluída';
@override String get processRecordingRules => 'Reavaliar regras';
@override String get loadingRecordings => 'Carregando gravações...';
@override String get recordingInProgress => 'Gravando agora';
@override String recordingsCount({required Object count}) => '${count} agendadas';
@override String get editRule => 'Editar regra';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsPt extends TranslationsCollectionsEn {
@override String get title => 'Coleções';
@override String get collection => 'Coleção';
@override String get empty => 'A coleção está vazia';
@override String get unknownLibrarySection => 'Não é possível excluir: Seção de biblioteca desconhecida';
@override String get deleteCollection => 'Excluir Coleção';
@override String deleteConfirm({required Object title}) => 'Excluir "${title}"? Não pode ser desfeito.';
@override String get deleted => 'Coleção excluída';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsPt extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Adicionado à playlist';
@override String get itemRemoved => 'Removido da playlist';
@override String get selectPlaylist => 'Selecionar Playlist';
@override String get searchPlaylists => 'Pesquisar playlists...';
@override String get errorCreating => 'Falha ao criar playlist';
@override String get errorDeleting => 'Falha ao excluir playlist';
@override String get errorLoading => 'Falha ao carregar playlists';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherPt extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} retomou';
@override String participantSeeked({required Object name}) => '${name} avançou';
@override String participantBuffering({required Object name}) => '${name} está carregando';
@override String participantNeedsUpdate({required Object name}) => '${name} está em uma versão mais antiga do aplicativo — sincronização indisponível';
@override String resumingWithout({required Object name}) => 'Retomando sem ${name}';
@override String get waitingForParticipants => 'Aguardando outros carregarem...';
@override String waitingForName({required Object name}) => 'Aguardando ${name}...';
@override String get recentRooms => 'Salas recentes';
@override String get renameRoom => 'Renomear sala';
@override String get removeRoom => 'Remover';
@override String get guestSwitchUnavailable => 'Não foi possível trocar — servidor indisponível para sincronização';
@override String get guestSwitchFailed => 'Não foi possível trocar — conteúdo não encontrado neste servidor';
@override String participantNeedsUpdate({required Object name}) => '${name} está em uma versão mais antiga do aplicativo — sincronização indisponível';
@override String resumingWithout({required Object name}) => 'Retomando sem ${name}';
@override String waitingForName({required Object name}) => 'Aguardando ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsPt extends TranslationsDownloadsEn {
@override String get customAmount => 'Quantidade personalizada...';
@override String get includeSpecials => 'Incluir especiais';
@override String get howManyEpisodes => 'Quantos episódios?';
@override String itemsQueued({required Object count}) => '${count} itens na fila de download';
@override String get keepSynced => 'Manter sincronizado';
@override String get downloadOnce => 'Baixar uma vez';
@override String keepNUnwatched({required Object count}) => 'Manter ${count} não assistidos';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerPt extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect falhou: ${error}';
@override String get addPlexTitle => 'Entrar com Plex';
@override String get pinExpired => 'O PIN expirou antes do login. Tente novamente.';
@override String get duplicatePlexAccount => 'Você já entrou no Plex. Saia para trocar de conta.';
@override String failedToRegisterAccount({required Object error}) => 'Falha ao registrar a conta: ${error}';
@override String get enterJellyfinUrlError => 'Insira a URL do seu servidor Jellyfin';
@override String get addConnectionTitle => 'Adicionar conexão';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsPt extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Avaliação da comunidade';
@override String get criticRating => 'Avaliação da crítica';
@override String get userRating => 'Avaliação do usuário';
@override String get lastPlayed => 'Última reprodução';
@override String get datePlayed => 'Data de reprodução';
@override String get playCount => 'Reproduções';
@override String get productionYear => 'Ano de produção';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionPt extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'A iniciar servidor remoto...';
@override String get failedToCreate => 'Falha ao iniciar o servidor remoto:';
@override String get hostAddress => 'Endereço do host';
@override String get connected => 'Conectado';
@override String get serverRunning => 'Servidor remoto ativo';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsPt extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Nenhuma interface de rede encontrada';
@override String get authenticationFailed => 'Falha na autenticação';
@override String serverStartFailed({required Object error}) => 'Falha ao iniciar o servidor remoto: ${error}';
@override String commandFailed({required Object error}) => 'Falha ao enviar o comando remoto: ${error}';
@override String get joinTimedOut => 'Tempo esgotado ao entrar na sessão';
@override String get failedToConnectAnyAddress => 'Falha ao conectar a qualquer endereço';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Conexão perdida após ${attempts} tentativas';
@@ -2123,7 +2098,6 @@ extension on TranslationsPt {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Entrar',
'auth.signInWithPlex' => 'Entrar com Plex',
'auth.showQRCode' => 'Mostrar QR Code',
'auth.authenticate' => 'Autenticar',
@@ -2174,10 +2148,8 @@ extension on TranslationsPt {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Episódio ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Capítulo ${number}',
'common.reconnect' => 'Reconectar',
'common.exit' => 'Sair',
'common.viewAll' => 'Ver Tudo',
'common.checkingNetwork' => 'Verificando rede...',
'common.refreshingServers' => 'Atualizando servidores...',
'common.loadingServers' => 'Carregando servidores...',
'common.connectingToServers' => 'Conectando aos servidores...',
'common.startingOfflineMode' => 'Iniciando modo offline...',
@@ -2251,6 +2223,12 @@ extension on TranslationsPt {
'settings.tvFullCardLayoutDescription' => 'Usar cartões de TV só com imagem e nomes dos atores sobrepostos',
'settings.focusGlow' => 'Brilho de foco',
'settings.focusGlowDescription' => 'Mostrar um brilho suave à volta do cartão em foco',
'settings.visualEffects' => 'Efeitos visuais',
'settings.visualEffectsAuto' => 'Automático',
'settings.visualEffectsAutoDescription' => 'Reduza automaticamente os efeitos em dispositivos de baixo consumo',
'settings.visualEffectsFull' => 'Completos',
'settings.visualEffectsReduced' => 'Reduzidos',
'settings.visualEffectsReducedDescription' => 'Menos animações e artes em menor resolução',
'settings.hideSpoilers' => 'Ocultar Spoilers de Episódios Não Assistidos',
'settings.hideSpoilersDescription' => 'Desfocar miniaturas e descrições de episódios não vistos',
'settings.playerBackend' => 'Backend do Player',
@@ -2263,7 +2241,7 @@ extension on TranslationsPt {
'settings.bufferSizeAuto' => 'Automático (Recomendado)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB de memória disponível. Um buffer de ${size}MB pode afetar a reprodução.',
'settings.defaultQualityTitle' => 'Qualidade padrão',
'settings.defaultQualityDescription' => 'Usado ao iniciar a reprodução. Valores menores reduzem a largura de banda.',
'settings.musicQualityTitle' => 'Qualidade da música',
'settings.subtitleStyling' => 'Estilo de Legendas',
'settings.subtitleStylingDescription' => 'Personalizar aparência das legendas',
'settings.smallSkipDuration' => 'Duração do Avanço Curto',
@@ -2357,10 +2335,9 @@ extension on TranslationsPt {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Mostrar o que você está assistindo no Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Sincronizar histórico de exibição com Trakt',
'settings.services' => 'Serviços',
'settings.servicesDescription' => 'Conecte Trakt, MyAnimeList, Seerr e mais',
'settings.manageLibrariesDescription' => 'Reordene e oculte bibliotecas',
'settings.companionRemoteServer' => 'Servidor de controlo remoto',
'settings.companionRemoteServerDescription' => 'Permitir que dispositivos móveis na sua rede controlem esta aplicação',
'settings.autoPip' => 'Picture-in-Picture Automático',
@@ -2423,7 +2400,6 @@ extension on TranslationsPt {
'settings.showNavBarLabels' => 'Mostrar Rótulos da Barra de Navegação',
'settings.showNavBarLabelsDescription' => 'Exibir rótulos de texto sob os ícones da barra de navegação',
'settings.startupSection' => 'Seção inicial',
'settings.startupSectionDescription' => 'Escolha qual seção o Plezy abre ao iniciar',
'settings.liveTvDefaultFavorites' => 'Canais favoritos por padrão',
'settings.liveTvDefaultFavoritesDescription' => 'Mostrar apenas canais favoritos ao abrir TV ao vivo',
'settings.display' => 'Tela',
@@ -2435,13 +2411,6 @@ extension on TranslationsPt {
'settings.subtitlesAndConfig' => 'Legendas e configuração',
'settings.seekAndTiming' => 'Busca e tempo',
'settings.behavior' => 'Comportamento',
'settings.manageLibrariesDescription' => 'Reordene e oculte bibliotecas',
'settings.visualEffects' => 'Efeitos visuais',
'settings.visualEffectsAuto' => 'Automático',
'settings.visualEffectsAutoDescription' => 'Reduza automaticamente os efeitos em dispositivos de baixo consumo',
'settings.visualEffectsFull' => 'Completos',
'settings.visualEffectsReduced' => 'Reduzidos',
'settings.visualEffectsReducedDescription' => 'Menos animações e artes em menor resolução',
'search.hint' => 'Buscar filmes, séries, músicas...',
'search.tryDifferentTerm' => 'Tente um termo de busca diferente',
'search.searchYourMedia' => 'Buscar suas mídias',
@@ -2518,14 +2487,11 @@ extension on TranslationsPt {
'mediaMenu.playVersion' => 'Reproduzir versão...',
'rateSheet.title' => 'Avaliar',
'rateSheet.server' => 'Servidor',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Definir pontuação',
'rateSheet.favorite' => 'Favorito',
'rateSheet.favorited' => 'Adicionado aos favoritos',
'rateSheet.saved' => 'Salvo',
'rateSheet.notAvailable' => 'Nenhuma correspondência encontrada',
'rateSheet.noConnectedServices' => 'Conecte um serviço nas Configurações para avaliar por lá.',
'rateSheet.favorite' => 'Favorito',
'rateSheet.favorited' => 'Adicionado aos favoritos',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, filme',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, série de TV',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsPt {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} por cento assistido',
'accessibility.mediaCardUnwatched' => 'não assistido',
'accessibility.tapToPlay' => 'Toque para reproduzir',
'accessibility.decrease' => 'Diminuir',
'accessibility.increase' => 'Aumentar',
'accessibility.decreaseValue' => ({required Object label}) => 'Diminuir ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Aumentar ${label}',
'accessibility.hue' => 'Matiz',
'accessibility.saturation' => 'Saturação',
'accessibility.brightness' => 'Brilho',
'accessibility.hexColor' => 'Cor hexadecimal',
'tooltips.shufflePlay' => 'Reprodução aleatória',
'tooltips.playTrailer' => 'Reproduzir trailer',
'tooltips.markAsWatched' => 'Marcar como assistido',
@@ -2575,13 +2549,11 @@ extension on TranslationsPt {
'videoControls.settingsButton' => 'Configurações de Reprodução',
'videoControls.tracksButton' => 'Áudio e Legendas',
'videoControls.chaptersButton' => 'Capítulos',
'videoControls.versionsButton' => 'Versões do vídeo',
'videoControls.versionQualityButton' => 'Versão e qualidade',
'videoControls.versionColumnHeader' => 'Versão',
'videoControls.qualityColumnHeader' => 'Qualidade',
'videoControls.qualityOriginal' => 'Original',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transcodificação indisponível — reproduzindo qualidade original',
'videoControls.pipButton' => 'Modo Picture-in-Picture',
'videoControls.aspectRatioButton' => 'Proporção',
@@ -2621,10 +2593,6 @@ extension on TranslationsPt {
'videoControls.subtitleDownloaded' => 'Legenda baixada',
'videoControls.subtitleDownloadFailed' => 'Falha ao baixar legenda',
'videoControls.searchLanguages' => 'Pesquisar idiomas...',
'userStatus.admin' => 'Admin',
'userStatus.restricted' => 'Restrito',
'userStatus.protected' => 'Protegido',
'userStatus.current' => 'ATUAL',
'messages.markedAsWatched' => 'Marcado como assistido',
'messages.markedAsUnwatched' => 'Marcado como não assistido',
'messages.markedAsWatchedOffline' => 'Marcado como assistido (será sincronizado quando online)',
@@ -2634,8 +2602,6 @@ extension on TranslationsPt {
'messages.errorLoading' => ({required Object error}) => 'Erro: ${error}',
'messages.streamInterrupted' => 'A transmissão foi interrompida. Toque em reproduzir ou avance para tentar novamente.',
'messages.fileInfoNotAvailable' => 'Informações do arquivo não disponíveis',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Erro ao carregar info do arquivo: ${error}',
'messages.errorLoadingSeries' => 'Erro ao carregar série',
'messages.musicNotSupported' => 'Reprodução de música ainda não é suportada',
@@ -2643,6 +2609,8 @@ extension on TranslationsPt {
'messages.noProfilesAvailable' => 'Nenhum perfil disponível',
'messages.contactAdminForProfiles' => 'Contate o administrador do servidor para adicionar perfis',
'messages.unableToDetermineLibrarySection' => 'Não é possível determinar a secção da biblioteca para este item',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Logs limpos',
'messages.logsCopied' => 'Logs copiados para a área de transferência',
'messages.noLogsAvailable' => 'Nenhum log disponível',
@@ -2759,7 +2727,6 @@ extension on TranslationsPt {
'profiles.pinExplain' => 'PIN de 4 dígitos necessário para trocar perfis.',
'profiles.continueButton' => 'Continuar',
'profiles.pinsDontMatch' => 'Os PINs não correspondem',
'profiles.initializeServicesFailed' => 'Falha ao inicializar serviços de perfil',
'connections.sectionTitle' => 'Conexões',
'connections.addConnection' => 'Adicionar conexão',
'connections.addConnectionSubtitleNoProfile' => 'Faça login com Plex ou conecte um servidor Jellyfin',
@@ -2770,7 +2737,6 @@ extension on TranslationsPt {
'connections.editJellyfinTitle' => 'Editar conexão Jellyfin',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Adicione ou remova URLs de ${serverName}. O Plezy usará a URL acessível com a menor latência.',
'discover.title' => 'Descobrir',
'discover.switchProfile' => 'Trocar Perfil',
'discover.noContentAvailable' => 'Nenhum conteúdo disponível',
'discover.addMediaToLibraries' => 'Adicione mídias às suas bibliotecas',
'discover.continueWatching' => 'Continuar Assistindo',
@@ -2797,8 +2763,6 @@ extension on TranslationsPt {
'errors.connectionFailed' => 'Não foi possível conectar ao servidor de mídia',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Falha ao carregar ${context}: ${error}',
'errors.noClientAvailable' => 'Nenhum cliente disponível',
'errors.authenticationFailed' => ({required Object error}) => 'Falha na autenticação: ${error}',
'errors.couldNotLaunchUrl' => 'Não foi possível abrir a URL de autenticação',
'errors.pleaseEnterToken' => 'Insira um token',
'errors.invalidToken' => 'Token inválido',
'errors.failedToVerifyToken' => ({required Object error}) => 'Falha ao verificar token: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsPt {
'libraries.allLibrariesHidden' => 'Todas as bibliotecas estão ocultas',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Bibliotecas ocultas (${count})',
'libraries.thisLibraryIsEmpty' => 'Esta biblioteca está vazia',
'libraries.noItemsMatchFilters' => 'Nenhum item corresponde aos filtros ativos',
'libraries.resetFilters' => 'Redefinir filtros',
'libraries.all' => 'Todos',
'libraries.clearAll' => 'Limpar Tudo',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Tem certeza que deseja escanear "${title}"?',
@@ -2871,7 +2837,6 @@ extension on TranslationsPt {
'libraries.sortLabels.communityRating' => 'Avaliação da comunidade',
'libraries.sortLabels.criticRating' => 'Avaliação da crítica',
'libraries.sortLabels.userRating' => 'Avaliação do usuário',
'libraries.sortLabels.lastPlayed' => 'Última reprodução',
'libraries.sortLabels.datePlayed' => 'Data de reprodução',
'libraries.sortLabels.playCount' => 'Reproduções',
'libraries.sortLabels.productionYear' => 'Ano de produção',
@@ -2885,14 +2850,11 @@ extension on TranslationsPt {
'libraries.sortLabels.dateShared' => 'Data de compartilhamento',
'libraries.sortLabels.latestEpisodeAirDate' => 'Última data de exibição do episódio',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Data de adição do último episódio',
'libraries.noItemsMatchFilters' => 'Nenhum item corresponde aos filtros ativos',
'libraries.resetFilters' => 'Redefinir filtros',
'about.title' => 'Sobre',
'about.openSourceLicenses' => 'Licenças Open Source',
'about.versionLabel' => ({required Object version}) => 'Versão ${version}',
'about.appDescription' => 'Um belo cliente Plex e Jellyfin para Flutter',
'about.viewLicensesDescription' => 'Ver licenças de bibliotecas de terceiros',
'serverSelection.allServerConnectionsFailed' => 'Não foi possível conectar a nenhum servidor. Verifique sua rede.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Nenhum servidor encontrado para ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Falha ao carregar servidores: ${error}',
'hubDetail.title' => 'Título',
@@ -2938,7 +2900,6 @@ extension on TranslationsPt {
'explore.watchlistUpdateFailed' => 'Não foi possível atualizar a lista para ver',
'explore.notInLibrary' => 'Não está na sua biblioteca',
'explore.inTheseLibraries' => 'Nestas bibliotecas',
'explore.availableOn' => ({required Object server}) => 'Disponível em ${server}',
'explore.checkingLibrary' => 'Verificando a sua biblioteca...',
'explore.emptyTitle' => 'Ainda não há nada aqui',
'explore.emptyMessage' => ({required Object source}) => 'As linhas de ${source} aparecerão aqui quando tiverem conteúdo.',
@@ -2950,6 +2911,8 @@ extension on TranslationsPt {
'liveTv.guide' => 'Guia',
'liveTv.noChannels' => 'Nenhum canal disponível',
'liveTv.noDvr' => 'Nenhum DVR configurado em nenhum servidor',
'liveTv.serverUnavailable' => 'O servidor de TV em direto não está disponível.',
'liveTv.serverNotConnected' => 'O servidor de TV em direto não está ligado.',
'liveTv.noPrograms' => 'Nenhum dado de programação disponível',
'liveTv.liveStreamFailed' => 'Falha no stream ao vivo',
'liveTv.unknownProgram' => 'Programa desconhecido',
@@ -2985,7 +2948,6 @@ extension on TranslationsPt {
'liveTv.scheduledRecordings' => 'Agendadas',
'liveTv.recordingRules' => 'Regras de gravação',
'liveTv.noScheduledRecordings' => 'Sem gravações agendadas',
'liveTv.noRecordingRules' => 'Sem regras de gravação',
'liveTv.manageRecording' => 'Gerenciar gravação',
'liveTv.cancelRecording' => 'Cancelar gravação',
'liveTv.cancelRecordingTitle' => 'Cancelar esta gravação?',
@@ -3002,7 +2964,6 @@ extension on TranslationsPt {
'liveTv.recordingCancelled' => 'Gravação cancelada',
'liveTv.recordingRuleDeleted' => 'Regra de gravação excluída',
'liveTv.processRecordingRules' => 'Reavaliar regras',
'liveTv.loadingRecordings' => 'Carregando gravações...',
'liveTv.recordingInProgress' => 'Gravando agora',
'liveTv.recordingsCount' => ({required Object count}) => '${count} agendadas',
'liveTv.editRule' => 'Editar regra',
@@ -3014,7 +2975,6 @@ extension on TranslationsPt {
'collections.title' => 'Coleções',
'collections.collection' => 'Coleção',
'collections.empty' => 'A coleção está vazia',
'collections.unknownLibrarySection' => 'Não é possível excluir: Seção de biblioteca desconhecida',
'collections.deleteCollection' => 'Excluir Coleção',
'collections.deleteConfirm' => ({required Object title}) => 'Excluir "${title}"? Não pode ser desfeito.',
'collections.deleted' => 'Coleção excluída',
@@ -3052,6 +3012,7 @@ extension on TranslationsPt {
'playlists.itemAdded' => 'Adicionado à playlist',
'playlists.itemRemoved' => 'Removido da playlist',
'playlists.selectPlaylist' => 'Selecionar Playlist',
'playlists.searchPlaylists' => 'Pesquisar playlists...',
'playlists.errorCreating' => 'Falha ao criar playlist',
'playlists.errorDeleting' => 'Falha ao excluir playlist',
'playlists.errorLoading' => 'Falha ao carregar playlists',
@@ -3134,22 +3095,20 @@ extension on TranslationsPt {
'watchTogether.participantResumed' => ({required Object name}) => '${name} retomou',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} avançou',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} está carregando',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} está em uma versão mais antiga do aplicativo — sincronização indisponível',
'watchTogether.resumingWithout' => ({required Object name}) => 'Retomando sem ${name}',
'watchTogether.waitingForParticipants' => 'Aguardando outros carregarem...',
'watchTogether.waitingForName' => ({required Object name}) => 'Aguardando ${name}...',
'watchTogether.recentRooms' => 'Salas recentes',
'watchTogether.renameRoom' => 'Renomear sala',
'watchTogether.removeRoom' => 'Remover',
'watchTogether.guestSwitchUnavailable' => 'Não foi possível trocar — servidor indisponível para sincronização',
'watchTogether.guestSwitchFailed' => 'Não foi possível trocar — conteúdo não encontrado neste servidor',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} está em uma versão mais antiga do aplicativo — sincronização indisponível',
'watchTogether.resumingWithout' => ({required Object name}) => 'Retomando sem ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Aguardando ${name}...',
'downloads.title' => 'Downloads',
'downloads.manage' => 'Gerenciar',
'downloads.tvShows' => 'Séries de TV',
'downloads.movies' => 'Filmes',
'downloads.music' => 'Música',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} faixas na fila para download',
'downloads.noDownloads' => 'Nenhum download ainda',
'downloads.noDownloadsDescription' => 'Conteúdo baixado aparecerá aqui para visualização offline',
@@ -3164,6 +3123,8 @@ extension on TranslationsPt {
'downloads.deleteConfirm' => ({required Object title}) => 'Excluir "${title}" deste dispositivo?',
'downloads.cancelledDownloadTitle' => 'Download cancelado',
'downloads.cancelledDownloadMessage' => 'Este download foi cancelado. O que você deseja fazer?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Todos os episódios já foram baixados',
'downloads.resumeDownload' => 'Retomar download',
'downloads.cancelledDownload' => 'Download cancelado',
@@ -3187,7 +3148,6 @@ extension on TranslationsPt {
'downloads.customAmount' => 'Quantidade personalizada...',
'downloads.includeSpecials' => 'Incluir especiais',
'downloads.howManyEpisodes' => 'Quantos episódios?',
'downloads.itemsQueued' => ({required Object count}) => '${count} itens na fila de download',
'downloads.keepSynced' => 'Manter sincronizado',
'downloads.downloadOnce' => 'Baixar uma vez',
'downloads.keepNUnwatched' => ({required Object count}) => 'Manter ${count} não assistidos',
@@ -3231,7 +3191,6 @@ extension on TranslationsPt {
'companionRemote.connectedTo' => ({required Object name}) => 'Conectado a ${name}',
'companionRemote.unknownDevice' => 'Dispositivo desconhecido',
'companionRemote.session.startingServer' => 'A iniciar servidor remoto...',
'companionRemote.session.failedToCreate' => 'Falha ao iniciar o servidor remoto:',
'companionRemote.session.hostAddress' => 'Endereço do host',
'companionRemote.session.connected' => 'Conectado',
'companionRemote.session.serverRunning' => 'Servidor remoto ativo',
@@ -3286,6 +3245,8 @@ extension on TranslationsPt {
'companionRemote.remote.searchHint' => 'Buscar no desktop...',
'companionRemote.errors.noNetworkInterface' => 'Nenhuma interface de rede encontrada',
'companionRemote.errors.authenticationFailed' => 'Falha na autenticação',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Falha ao iniciar o servidor remoto: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Falha ao enviar o comando remoto: ${error}',
'companionRemote.errors.joinTimedOut' => 'Tempo esgotado ao entrar na sessão',
'companionRemote.errors.failedToConnectAnyAddress' => 'Falha ao conectar a qualquer endereço',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Conexão perdida após ${attempts} tentativas',
@@ -3530,7 +3491,6 @@ extension on TranslationsPt {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect falhou: ${error}',
'addServer.addPlexTitle' => 'Entrar com Plex',
'addServer.pinExpired' => 'O PIN expirou antes do login. Tente novamente.',
'addServer.duplicatePlexAccount' => 'Você já entrou no Plex. Saia para trocar de conta.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Falha ao registrar a conta: ${error}',
'addServer.enterJellyfinUrlError' => 'Insira a URL do seu servidor Jellyfin',
'addServer.addConnectionTitle' => 'Adicionar conexão',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsRu extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityRu accessibility = _TranslationsAccessibilityRu._(_root);
@override late final _TranslationsTooltipsRu tooltips = _TranslationsTooltipsRu._(_root);
@override late final _TranslationsVideoControlsRu videoControls = _TranslationsVideoControlsRu._(_root);
@override late final _TranslationsUserStatusRu userStatus = _TranslationsUserStatusRu._(_root);
@override late final _TranslationsMessagesRu messages = _TranslationsMessagesRu._(_root);
@override late final _TranslationsSubtitlingStylingRu subtitlingStyling = _TranslationsSubtitlingStylingRu._(_root);
@override late final _TranslationsMpvConfigRu mpvConfig = _TranslationsMpvConfigRu._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthRu extends TranslationsAuthEn {
final TranslationsRu _root; // ignore: unused_field
// Translations
@override String get signIn => 'Войти';
@override String get signInWithPlex => 'Войти через Plex';
@override String get showQRCode => 'Показать QR-код';
@override String get authenticate => 'Аутентификация';
@@ -167,10 +165,8 @@ class _TranslationsCommonRu extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Эпизод ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Глава ${number}';
@override String get reconnect => 'Переподключить';
@override String get exit => 'Выход';
@override String get viewAll => 'Показать все';
@override String get checkingNetwork => 'Проверка сети...';
@override String get refreshingServers => 'Обновление серверов...';
@override String get loadingServers => 'Загрузка серверов...';
@override String get connectingToServers => 'Подключение к серверам...';
@override String get startingOfflineMode => 'Запуск автономного режима...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Использовать TV-карточки только с изображением и именами актёров поверх него';
@override String get focusGlow => 'Свечение при фокусе';
@override String get focusGlowDescription => 'Показывать мягкое свечение вокруг карточки в фокусе';
@override String get visualEffects => 'Визуальные эффекты';
@override String get visualEffectsAuto => 'Автоматически';
@override String get visualEffectsAutoDescription => 'Автоматически уменьшать эффекты на маломощных устройствах';
@override String get visualEffectsFull => 'Полные';
@override String get visualEffectsReduced => 'Уменьшенные';
@override String get visualEffectsReducedDescription => 'Меньше анимаций и графика с более низким разрешением';
@override String get hideSpoilers => 'Скрыть спойлеры непросмотренных эпизодов';
@override String get hideSpoilersDescription => 'Размывать миниатюры и описания непросмотренных серий';
@override String get playerBackend => 'Бэкенд плеера';
@@ -283,7 +285,7 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Авто (Рекомендуется)';
@override String bufferSizeWarning({required Object heap, required Object size}) => 'Доступно памяти: ${heap}MB. Буфер ${size}MB может повлиять на воспроизведение.';
@override String get defaultQualityTitle => 'Качество по умолчанию';
@override String get defaultQualityDescription => 'Используется при запуске воспроизведения. Более низкие значения снижают пропускную способность.';
@override String get musicQualityTitle => 'Качество музыки';
@override String get subtitleStyling => 'Стиль субтитров';
@override String get subtitleStylingDescription => 'Настроить внешний вид субтитров';
@override String get smallSkipDuration => 'Малая перемотка';
@@ -377,10 +379,9 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Показывать, что вы смотрите, в Discord';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Синхронизировать историю просмотров с Trakt';
@override String get services => 'Сервисы';
@override String get servicesDescription => 'Подключите Trakt, MyAnimeList, Seerr и другие';
@override String get manageLibrariesDescription => 'Изменять порядок и скрывать библиотеки';
@override String get companionRemoteServer => 'Сервер удалённого управления';
@override String get companionRemoteServerDescription => 'Разрешить мобильным устройствам в сети управлять этим приложением';
@override String get autoPip => 'Автоматический «картинка в картинке»';
@@ -443,7 +444,6 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Показывать подписи панели навигации';
@override String get showNavBarLabelsDescription => 'Отображать текстовые подписи под иконками панели навигации';
@override String get startupSection => 'Начальный раздел';
@override String get startupSectionDescription => 'Выберите, какой раздел Plezy открывает при запуске';
@override String get liveTvDefaultFavorites => 'Избранные каналы по умолчанию';
@override String get liveTvDefaultFavoritesDescription => 'Показывать только избранные каналы при открытии ТВ';
@override String get display => 'Экран';
@@ -455,13 +455,6 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Субтитры и конфигурация';
@override String get seekAndTiming => 'Перемотка и время';
@override String get behavior => 'Поведение';
@override String get manageLibrariesDescription => 'Изменять порядок и скрывать библиотеки';
@override String get visualEffects => 'Визуальные эффекты';
@override String get visualEffectsAuto => 'Автоматически';
@override String get visualEffectsAutoDescription => 'Автоматически уменьшать эффекты на маломощных устройствах';
@override String get visualEffectsFull => 'Полные';
@override String get visualEffectsReduced => 'Уменьшенные';
@override String get visualEffectsReducedDescription => 'Меньше анимаций и графика с более низким разрешением';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetRu extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Оценить';
@override String get server => 'Сервер';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Установить оценку';
@override String get favorite => 'Добавить в избранное';
@override String get favorited => 'Добавлено в избранное';
@override String get saved => 'Сохранено';
@override String get notAvailable => 'Совпадений не найдено';
@override String get noConnectedServices => 'Подключите сервис в настройках, чтобы оценивать здесь.';
@override String get favorite => 'Добавить в избранное';
@override String get favorited => 'Добавлено в избранное';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityRu extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => 'просмотрено ${percent} процентов';
@override String get mediaCardUnwatched => 'не просмотрено';
@override String get tapToPlay => 'Нажмите для воспроизведения';
@override String get decrease => 'Уменьшить';
@override String get increase => 'Увеличить';
@override String decreaseValue({required Object label}) => 'Уменьшить ${label}';
@override String increaseValue({required Object label}) => 'Увеличить ${label}';
@override String get hue => 'Цветовой тон';
@override String get saturation => 'Насыщенность';
@override String get brightness => 'Яркость';
@override String get hexColor => 'Шестнадцатеричный цвет';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsRu extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Настройки воспроизведения';
@override String get tracksButton => 'Аудио и субтитры';
@override String get chaptersButton => 'Главы';
@override String get versionsButton => 'Версии видео';
@override String get versionQualityButton => 'Версия и качество';
@override String get versionColumnHeader => 'Версия';
@override String get qualityColumnHeader => 'Качество';
@override String get qualityOriginal => 'Оригинал';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Транскодирование недоступно — воспроизведение в оригинальном качестве';
@override String get pipButton => 'Режим «картинка в картинке»';
@override String get aspectRatioButton => 'Соотношение сторон';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsRu extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Поиск языков...';
}
// Path: userStatus
class _TranslationsUserStatusRu extends TranslationsUserStatusEn {
_TranslationsUserStatusRu._(TranslationsRu root) : this._root = root, super.internal(root);
final TranslationsRu _root; // ignore: unused_field
// Translations
@override String get admin => 'Администратор';
@override String get restricted => 'Ограниченный';
@override String get protected => 'Защищённый';
@override String get current => 'ТЕКУЩИЙ';
}
// Path: messages
class _TranslationsMessagesRu extends TranslationsMessagesEn {
_TranslationsMessagesRu._(TranslationsRu root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesRu extends TranslationsProfilesEn {
@override String get pinExplain => 'Для переключения профилей нужен 4-значный PIN.';
@override String get continueButton => 'Продолжить';
@override String get pinsDontMatch => 'PIN-коды не совпадают';
@override String get initializeServicesFailed => 'Не удалось инициализировать службы профиля';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverRu extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Обзор';
@override String get switchProfile => 'Сменить профиль';
@override String get noContentAvailable => 'Контент недоступен';
@override String get addMediaToLibraries => 'Добавьте медиафайлы в ваши библиотеки';
@override String get continueWatching => 'Продолжить просмотр';
@@ -938,8 +919,6 @@ class _TranslationsErrorsRu extends TranslationsErrorsEn {
@override String get connectionFailed => 'Не удалось подключиться к медиасерверу';
@override String failedToLoad({required Object context, required Object error}) => 'Не удалось загрузить ${context}: ${error}';
@override String get noClientAvailable => 'Клиент недоступен';
@override String authenticationFailed({required Object error}) => 'Ошибка аутентификации: ${error}';
@override String get couldNotLaunchUrl => 'Не удалось открыть URL аутентификации';
@override String get pleaseEnterToken => 'Введите токен';
@override String get invalidToken => 'Недействительный токен';
@override String failedToVerifyToken({required Object error}) => 'Не удалось проверить токен: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesRu extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Все библиотеки скрыты';
@override String hiddenLibrariesCount({required Object count}) => 'Скрытые библиотеки (${count})';
@override String get thisLibraryIsEmpty => 'Эта библиотека пуста';
@override String get noItemsMatchFilters => 'Нет элементов, соответствующих активным фильтрам';
@override String get resetFilters => 'Сбросить фильтры';
@override String get all => 'Все';
@override String get clearAll => 'Очистить все';
@override String scanLibraryConfirm({required Object title}) => 'Вы уверены, что хотите сканировать "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesRu extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsRu groupings = _TranslationsLibrariesGroupingsRu._(_root);
@override late final _TranslationsLibrariesFilterCategoriesRu filterCategories = _TranslationsLibrariesFilterCategoriesRu._(_root);
@override late final _TranslationsLibrariesSortLabelsRu sortLabels = _TranslationsLibrariesSortLabelsRu._(_root);
@override String get noItemsMatchFilters => 'Нет элементов, соответствующих активным фильтрам';
@override String get resetFilters => 'Сбросить фильтры';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionRu extends TranslationsServerSelectionEn {
final TranslationsRu _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Не удалось подключиться ни к одному серверу. Проверьте сеть.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Серверы не найдены для ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Не удалось загрузить серверы: ${error}';
}
@@ -1104,7 +1082,6 @@ class _TranslationsExploreRu extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Не удалось обновить список для просмотра';
@override String get notInLibrary => 'Нет в вашей библиотеке';
@override String get inTheseLibraries => 'В этих библиотеках';
@override String availableOn({required Object server}) => 'Доступно на ${server}';
@override String get checkingLibrary => 'Проверка вашей библиотеки...';
@override String get emptyTitle => 'Здесь пока ничего нет';
@override String emptyMessage({required Object source}) => 'Строки из ${source} появятся здесь, когда в них будет контент.';
@@ -1125,6 +1102,8 @@ class _TranslationsLiveTvRu extends TranslationsLiveTvEn {
@override String get guide => 'Программа';
@override String get noChannels => 'Нет доступных каналов';
@override String get noDvr => 'DVR не настроен ни на одном сервере';
@override String get serverUnavailable => 'Сервер прямого эфира недоступен.';
@override String get serverNotConnected => 'Сервер прямого эфира не подключён.';
@override String get noPrograms => 'Нет данных о программах';
@override String get liveStreamFailed => 'Не удалось запустить прямой эфир';
@override String get unknownProgram => 'Неизвестная программа';
@@ -1160,7 +1139,6 @@ class _TranslationsLiveTvRu extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Запланировано';
@override String get recordingRules => 'Правила записи';
@override String get noScheduledRecordings => 'Нет запланированных записей';
@override String get noRecordingRules => 'Правил записи пока нет';
@override String get manageRecording => 'Управление записью';
@override String get cancelRecording => 'Отменить запись';
@override String get cancelRecordingTitle => 'Отменить эту запись?';
@@ -1177,7 +1155,6 @@ class _TranslationsLiveTvRu extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Запись отменена';
@override String get recordingRuleDeleted => 'Правило записи удалено';
@override String get processRecordingRules => 'Пересчитать правила';
@override String get loadingRecordings => 'Загрузка записей...';
@override String get recordingInProgress => 'Идёт запись';
@override String recordingsCount({required Object count}) => 'Запланировано: ${count}';
@override String get editRule => 'Изменить правило';
@@ -1198,7 +1175,6 @@ class _TranslationsCollectionsRu extends TranslationsCollectionsEn {
@override String get title => 'Коллекции';
@override String get collection => 'Коллекция';
@override String get empty => 'Коллекция пуста';
@override String get unknownLibrarySection => 'Невозможно удалить: неизвестный раздел библиотеки';
@override String get deleteCollection => 'Удалить коллекцию';
@override String deleteConfirm({required Object title}) => 'Удалить "${title}"? Это нельзя отменить.';
@override String get deleted => 'Коллекция удалена';
@@ -1245,6 +1221,7 @@ class _TranslationsPlaylistsRu extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Добавлено в плейлист';
@override String get itemRemoved => 'Удалено из плейлиста';
@override String get selectPlaylist => 'Выбрать плейлист';
@override String get searchPlaylists => 'Поиск плейлистов...';
@override String get errorCreating => 'Не удалось создать плейлист';
@override String get errorDeleting => 'Не удалось удалить плейлист';
@override String get errorLoading => 'Не удалось загрузить плейлисты';
@@ -1350,15 +1327,15 @@ class _TranslationsWatchTogetherRu extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} возобновил';
@override String participantSeeked({required Object name}) => '${name} перемотал';
@override String participantBuffering({required Object name}) => '${name} буферизует';
@override String participantNeedsUpdate({required Object name}) => '${name} использует старую версию приложения — синхронизация недоступна';
@override String resumingWithout({required Object name}) => 'Возобновление без ${name}';
@override String get waitingForParticipants => 'Ожидание загрузки у других...';
@override String waitingForName({required Object name}) => 'Ожидание ${name}...';
@override String get recentRooms => 'Недавние комнаты';
@override String get renameRoom => 'Переименовать комнату';
@override String get removeRoom => 'Удалить';
@override String get guestSwitchUnavailable => 'Не удалось переключиться — сервер недоступен для синхронизации';
@override String get guestSwitchFailed => 'Не удалось переключиться — содержимое не найдено на этом сервере';
@override String participantNeedsUpdate({required Object name}) => '${name} использует старую версию приложения — синхронизация недоступна';
@override String resumingWithout({required Object name}) => 'Возобновление без ${name}';
@override String waitingForName({required Object name}) => 'Ожидание ${name}...';
}
// Path: downloads
@@ -1410,7 +1387,6 @@ class _TranslationsDownloadsRu extends TranslationsDownloadsEn {
@override String get customAmount => 'Указать количество...';
@override String get includeSpecials => 'Включить спецвыпуски';
@override String get howManyEpisodes => 'Сколько эпизодов?';
@override String itemsQueued({required Object count}) => '${count} элементов добавлено в очередь загрузки';
@override String get keepSynced => 'Синхронизировать';
@override String get downloadOnce => 'Скачать один раз';
@override String keepNUnwatched({required Object count}) => 'Хранить ${count} непросмотренных';
@@ -1784,7 +1760,6 @@ class _TranslationsAddServerRu extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect не удался: ${error}';
@override String get addPlexTitle => 'Войти через Plex';
@override String get pinExpired => 'Срок действия PIN истёк до входа. Попробуйте снова.';
@override String get duplicatePlexAccount => 'В Plex уже выполнен вход. Выйдите, чтобы сменить аккаунт.';
@override String failedToRegisterAccount({required Object error}) => 'Не удалось зарегистрировать учётную запись: ${error}';
@override String get enterJellyfinUrlError => 'Введите URL вашего сервера Jellyfin';
@override String get addConnectionTitle => 'Добавить подключение';
@@ -1910,7 +1885,6 @@ class _TranslationsLibrariesSortLabelsRu extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Оценка сообщества';
@override String get criticRating => 'Оценка критиков';
@override String get userRating => 'Пользовательская оценка';
@override String get lastPlayed => 'Последний просмотр';
@override String get datePlayed => 'Дата просмотра';
@override String get playCount => 'Количество просмотров';
@override String get productionYear => 'Год производства';
@@ -1969,7 +1943,6 @@ class _TranslationsCompanionRemoteSessionRu extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Запуск удалённого сервера...';
@override String get failedToCreate => 'Не удалось запустить удалённый сервер:';
@override String get hostAddress => 'Адрес хоста';
@override String get connected => 'Подключено';
@override String get serverRunning => 'Удалённый сервер активен';
@@ -2051,6 +2024,8 @@ class _TranslationsCompanionRemoteErrorsRu extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Сетевой интерфейс не найден';
@override String get authenticationFailed => 'Ошибка аутентификации';
@override String serverStartFailed({required Object error}) => 'Не удалось запустить удалённый сервер: ${error}';
@override String commandFailed({required Object error}) => 'Не удалось отправить удалённую команду: ${error}';
@override String get joinTimedOut => 'Время подключения к сеансу истекло';
@override String get failedToConnectAnyAddress => 'Не удалось подключиться ни к одному адресу';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Соединение потеряно после ${attempts} попыток';
@@ -2127,7 +2102,6 @@ extension on TranslationsRu {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Войти',
'auth.signInWithPlex' => 'Войти через Plex',
'auth.showQRCode' => 'Показать QR-код',
'auth.authenticate' => 'Аутентификация',
@@ -2178,10 +2152,8 @@ extension on TranslationsRu {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Эпизод ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Глава ${number}',
'common.reconnect' => 'Переподключить',
'common.exit' => 'Выход',
'common.viewAll' => 'Показать все',
'common.checkingNetwork' => 'Проверка сети...',
'common.refreshingServers' => 'Обновление серверов...',
'common.loadingServers' => 'Загрузка серверов...',
'common.connectingToServers' => 'Подключение к серверам...',
'common.startingOfflineMode' => 'Запуск автономного режима...',
@@ -2255,6 +2227,12 @@ extension on TranslationsRu {
'settings.tvFullCardLayoutDescription' => 'Использовать TV-карточки только с изображением и именами актёров поверх него',
'settings.focusGlow' => 'Свечение при фокусе',
'settings.focusGlowDescription' => 'Показывать мягкое свечение вокруг карточки в фокусе',
'settings.visualEffects' => 'Визуальные эффекты',
'settings.visualEffectsAuto' => 'Автоматически',
'settings.visualEffectsAutoDescription' => 'Автоматически уменьшать эффекты на маломощных устройствах',
'settings.visualEffectsFull' => 'Полные',
'settings.visualEffectsReduced' => 'Уменьшенные',
'settings.visualEffectsReducedDescription' => 'Меньше анимаций и графика с более низким разрешением',
'settings.hideSpoilers' => 'Скрыть спойлеры непросмотренных эпизодов',
'settings.hideSpoilersDescription' => 'Размывать миниатюры и описания непросмотренных серий',
'settings.playerBackend' => 'Бэкенд плеера',
@@ -2267,7 +2245,7 @@ extension on TranslationsRu {
'settings.bufferSizeAuto' => 'Авто (Рекомендуется)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => 'Доступно памяти: ${heap}MB. Буфер ${size}MB может повлиять на воспроизведение.',
'settings.defaultQualityTitle' => 'Качество по умолчанию',
'settings.defaultQualityDescription' => 'Используется при запуске воспроизведения. Более низкие значения снижают пропускную способность.',
'settings.musicQualityTitle' => 'Качество музыки',
'settings.subtitleStyling' => 'Стиль субтитров',
'settings.subtitleStylingDescription' => 'Настроить внешний вид субтитров',
'settings.smallSkipDuration' => 'Малая перемотка',
@@ -2361,10 +2339,9 @@ extension on TranslationsRu {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Показывать, что вы смотрите, в Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Синхронизировать историю просмотров с Trakt',
'settings.services' => 'Сервисы',
'settings.servicesDescription' => 'Подключите Trakt, MyAnimeList, Seerr и другие',
'settings.manageLibrariesDescription' => 'Изменять порядок и скрывать библиотеки',
'settings.companionRemoteServer' => 'Сервер удалённого управления',
'settings.companionRemoteServerDescription' => 'Разрешить мобильным устройствам в сети управлять этим приложением',
'settings.autoPip' => 'Автоматический «картинка в картинке»',
@@ -2427,7 +2404,6 @@ extension on TranslationsRu {
'settings.showNavBarLabels' => 'Показывать подписи панели навигации',
'settings.showNavBarLabelsDescription' => 'Отображать текстовые подписи под иконками панели навигации',
'settings.startupSection' => 'Начальный раздел',
'settings.startupSectionDescription' => 'Выберите, какой раздел Plezy открывает при запуске',
'settings.liveTvDefaultFavorites' => 'Избранные каналы по умолчанию',
'settings.liveTvDefaultFavoritesDescription' => 'Показывать только избранные каналы при открытии ТВ',
'settings.display' => 'Экран',
@@ -2439,13 +2415,6 @@ extension on TranslationsRu {
'settings.subtitlesAndConfig' => 'Субтитры и конфигурация',
'settings.seekAndTiming' => 'Перемотка и время',
'settings.behavior' => 'Поведение',
'settings.manageLibrariesDescription' => 'Изменять порядок и скрывать библиотеки',
'settings.visualEffects' => 'Визуальные эффекты',
'settings.visualEffectsAuto' => 'Автоматически',
'settings.visualEffectsAutoDescription' => 'Автоматически уменьшать эффекты на маломощных устройствах',
'settings.visualEffectsFull' => 'Полные',
'settings.visualEffectsReduced' => 'Уменьшенные',
'settings.visualEffectsReducedDescription' => 'Меньше анимаций и графика с более низким разрешением',
'search.hint' => 'Поиск фильмов, сериалов, музыки...',
'search.tryDifferentTerm' => 'Попробуйте другой запрос',
'search.searchYourMedia' => 'Поиск в вашей медиатеке',
@@ -2522,14 +2491,11 @@ extension on TranslationsRu {
'mediaMenu.playVersion' => 'Воспроизвести версию...',
'rateSheet.title' => 'Оценить',
'rateSheet.server' => 'Сервер',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Установить оценку',
'rateSheet.favorite' => 'Добавить в избранное',
'rateSheet.favorited' => 'Добавлено в избранное',
'rateSheet.saved' => 'Сохранено',
'rateSheet.notAvailable' => 'Совпадений не найдено',
'rateSheet.noConnectedServices' => 'Подключите сервис в настройках, чтобы оценивать здесь.',
'rateSheet.favorite' => 'Добавить в избранное',
'rateSheet.favorited' => 'Добавлено в избранное',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, фильм',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, сериал',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2538,6 +2504,14 @@ extension on TranslationsRu {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => 'просмотрено ${percent} процентов',
'accessibility.mediaCardUnwatched' => 'не просмотрено',
'accessibility.tapToPlay' => 'Нажмите для воспроизведения',
'accessibility.decrease' => 'Уменьшить',
'accessibility.increase' => 'Увеличить',
'accessibility.decreaseValue' => ({required Object label}) => 'Уменьшить ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Увеличить ${label}',
'accessibility.hue' => 'Цветовой тон',
'accessibility.saturation' => 'Насыщенность',
'accessibility.brightness' => 'Яркость',
'accessibility.hexColor' => 'Шестнадцатеричный цвет',
'tooltips.shufflePlay' => 'Случайное воспроизведение',
'tooltips.playTrailer' => 'Воспроизвести трейлер',
'tooltips.markAsWatched' => 'Отметить как просмотренное',
@@ -2579,13 +2553,11 @@ extension on TranslationsRu {
'videoControls.settingsButton' => 'Настройки воспроизведения',
'videoControls.tracksButton' => 'Аудио и субтитры',
'videoControls.chaptersButton' => 'Главы',
'videoControls.versionsButton' => 'Версии видео',
'videoControls.versionQualityButton' => 'Версия и качество',
'videoControls.versionColumnHeader' => 'Версия',
'videoControls.qualityColumnHeader' => 'Качество',
'videoControls.qualityOriginal' => 'Оригинал',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Транскодирование недоступно — воспроизведение в оригинальном качестве',
'videoControls.pipButton' => 'Режим «картинка в картинке»',
'videoControls.aspectRatioButton' => 'Соотношение сторон',
@@ -2625,10 +2597,6 @@ extension on TranslationsRu {
'videoControls.subtitleDownloaded' => 'Субтитры загружены',
'videoControls.subtitleDownloadFailed' => 'Не удалось загрузить субтитры',
'videoControls.searchLanguages' => 'Поиск языков...',
'userStatus.admin' => 'Администратор',
'userStatus.restricted' => 'Ограниченный',
'userStatus.protected' => 'Защищённый',
'userStatus.current' => 'ТЕКУЩИЙ',
'messages.markedAsWatched' => 'Отмечено как просмотренное',
'messages.markedAsUnwatched' => 'Отмечено как непросмотренное',
'messages.markedAsWatchedOffline' => 'Отмечено как просмотренное (синхронизируется при подключении)',
@@ -2638,8 +2606,6 @@ extension on TranslationsRu {
'messages.errorLoading' => ({required Object error}) => 'Ошибка: ${error}',
'messages.streamInterrupted' => 'Поток прервался. Нажмите «Воспроизвести» или перемотайте, чтобы повторить попытку.',
'messages.fileInfoNotAvailable' => 'Информация о файле недоступна',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Ошибка загрузки информации о файле: ${error}',
'messages.errorLoadingSeries' => 'Ошибка загрузки сериала',
'messages.musicNotSupported' => 'Воспроизведение музыки пока не поддерживается',
@@ -2647,6 +2613,8 @@ extension on TranslationsRu {
'messages.noProfilesAvailable' => 'Профили недоступны',
'messages.contactAdminForProfiles' => 'Обратитесь к администратору сервера для добавления профилей',
'messages.unableToDetermineLibrarySection' => 'Не удаётся определить раздел библиотеки для этого элемента',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Логи очищены',
'messages.logsCopied' => 'Логи скопированы в буфер обмена',
'messages.noLogsAvailable' => 'Логи отсутствуют',
@@ -2763,7 +2731,6 @@ extension on TranslationsRu {
'profiles.pinExplain' => 'Для переключения профилей нужен 4-значный PIN.',
'profiles.continueButton' => 'Продолжить',
'profiles.pinsDontMatch' => 'PIN-коды не совпадают',
'profiles.initializeServicesFailed' => 'Не удалось инициализировать службы профиля',
'connections.sectionTitle' => 'Подключения',
'connections.addConnection' => 'Добавить подключение',
'connections.addConnectionSubtitleNoProfile' => 'Войдите через Plex или подключите сервер Jellyfin',
@@ -2774,7 +2741,6 @@ extension on TranslationsRu {
'connections.editJellyfinTitle' => 'Изменить подключение Jellyfin',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Добавьте или удалите URL для ${serverName}. Plezy будет использовать доступный URL с минимальной задержкой.',
'discover.title' => 'Обзор',
'discover.switchProfile' => 'Сменить профиль',
'discover.noContentAvailable' => 'Контент недоступен',
'discover.addMediaToLibraries' => 'Добавьте медиафайлы в ваши библиотеки',
'discover.continueWatching' => 'Продолжить просмотр',
@@ -2801,8 +2767,6 @@ extension on TranslationsRu {
'errors.connectionFailed' => 'Не удалось подключиться к медиасерверу',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Не удалось загрузить ${context}: ${error}',
'errors.noClientAvailable' => 'Клиент недоступен',
'errors.authenticationFailed' => ({required Object error}) => 'Ошибка аутентификации: ${error}',
'errors.couldNotLaunchUrl' => 'Не удалось открыть URL аутентификации',
'errors.pleaseEnterToken' => 'Введите токен',
'errors.invalidToken' => 'Недействительный токен',
'errors.failedToVerifyToken' => ({required Object error}) => 'Не удалось проверить токен: ${error}',
@@ -2827,6 +2791,8 @@ extension on TranslationsRu {
'libraries.allLibrariesHidden' => 'Все библиотеки скрыты',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Скрытые библиотеки (${count})',
'libraries.thisLibraryIsEmpty' => 'Эта библиотека пуста',
'libraries.noItemsMatchFilters' => 'Нет элементов, соответствующих активным фильтрам',
'libraries.resetFilters' => 'Сбросить фильтры',
'libraries.all' => 'Все',
'libraries.clearAll' => 'Очистить все',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Вы уверены, что хотите сканировать "${title}"?',
@@ -2875,7 +2841,6 @@ extension on TranslationsRu {
'libraries.sortLabels.communityRating' => 'Оценка сообщества',
'libraries.sortLabels.criticRating' => 'Оценка критиков',
'libraries.sortLabels.userRating' => 'Пользовательская оценка',
'libraries.sortLabels.lastPlayed' => 'Последний просмотр',
'libraries.sortLabels.datePlayed' => 'Дата просмотра',
'libraries.sortLabels.playCount' => 'Количество просмотров',
'libraries.sortLabels.productionYear' => 'Год производства',
@@ -2889,14 +2854,11 @@ extension on TranslationsRu {
'libraries.sortLabels.dateShared' => 'Дата открытия доступа',
'libraries.sortLabels.latestEpisodeAirDate' => 'Дата выхода последнего эпизода',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Дата добавления последнего эпизода',
'libraries.noItemsMatchFilters' => 'Нет элементов, соответствующих активным фильтрам',
'libraries.resetFilters' => 'Сбросить фильтры',
'about.title' => 'О приложении',
'about.openSourceLicenses' => 'Лицензии открытого ПО',
'about.versionLabel' => ({required Object version}) => 'Версия ${version}',
'about.appDescription' => 'Красивый клиент Plex и Jellyfin на Flutter',
'about.viewLicensesDescription' => 'Просмотр лицензий сторонних библиотек',
'serverSelection.allServerConnectionsFailed' => 'Не удалось подключиться ни к одному серверу. Проверьте сеть.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Серверы не найдены для ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Не удалось загрузить серверы: ${error}',
'hubDetail.title' => 'Название',
@@ -2942,7 +2904,6 @@ extension on TranslationsRu {
'explore.watchlistUpdateFailed' => 'Не удалось обновить список для просмотра',
'explore.notInLibrary' => 'Нет в вашей библиотеке',
'explore.inTheseLibraries' => 'В этих библиотеках',
'explore.availableOn' => ({required Object server}) => 'Доступно на ${server}',
'explore.checkingLibrary' => 'Проверка вашей библиотеки...',
'explore.emptyTitle' => 'Здесь пока ничего нет',
'explore.emptyMessage' => ({required Object source}) => 'Строки из ${source} появятся здесь, когда в них будет контент.',
@@ -2954,6 +2915,8 @@ extension on TranslationsRu {
'liveTv.guide' => 'Программа',
'liveTv.noChannels' => 'Нет доступных каналов',
'liveTv.noDvr' => 'DVR не настроен ни на одном сервере',
'liveTv.serverUnavailable' => 'Сервер прямого эфира недоступен.',
'liveTv.serverNotConnected' => 'Сервер прямого эфира не подключён.',
'liveTv.noPrograms' => 'Нет данных о программах',
'liveTv.liveStreamFailed' => 'Не удалось запустить прямой эфир',
'liveTv.unknownProgram' => 'Неизвестная программа',
@@ -2989,7 +2952,6 @@ extension on TranslationsRu {
'liveTv.scheduledRecordings' => 'Запланировано',
'liveTv.recordingRules' => 'Правила записи',
'liveTv.noScheduledRecordings' => 'Нет запланированных записей',
'liveTv.noRecordingRules' => 'Правил записи пока нет',
'liveTv.manageRecording' => 'Управление записью',
'liveTv.cancelRecording' => 'Отменить запись',
'liveTv.cancelRecordingTitle' => 'Отменить эту запись?',
@@ -3006,7 +2968,6 @@ extension on TranslationsRu {
'liveTv.recordingCancelled' => 'Запись отменена',
'liveTv.recordingRuleDeleted' => 'Правило записи удалено',
'liveTv.processRecordingRules' => 'Пересчитать правила',
'liveTv.loadingRecordings' => 'Загрузка записей...',
'liveTv.recordingInProgress' => 'Идёт запись',
'liveTv.recordingsCount' => ({required Object count}) => 'Запланировано: ${count}',
'liveTv.editRule' => 'Изменить правило',
@@ -3018,7 +2979,6 @@ extension on TranslationsRu {
'collections.title' => 'Коллекции',
'collections.collection' => 'Коллекция',
'collections.empty' => 'Коллекция пуста',
'collections.unknownLibrarySection' => 'Невозможно удалить: неизвестный раздел библиотеки',
'collections.deleteCollection' => 'Удалить коллекцию',
'collections.deleteConfirm' => ({required Object title}) => 'Удалить "${title}"? Это нельзя отменить.',
'collections.deleted' => 'Коллекция удалена',
@@ -3056,6 +3016,7 @@ extension on TranslationsRu {
'playlists.itemAdded' => 'Добавлено в плейлист',
'playlists.itemRemoved' => 'Удалено из плейлиста',
'playlists.selectPlaylist' => 'Выбрать плейлист',
'playlists.searchPlaylists' => 'Поиск плейлистов...',
'playlists.errorCreating' => 'Не удалось создать плейлист',
'playlists.errorDeleting' => 'Не удалось удалить плейлист',
'playlists.errorLoading' => 'Не удалось загрузить плейлисты',
@@ -3138,22 +3099,20 @@ extension on TranslationsRu {
'watchTogether.participantResumed' => ({required Object name}) => '${name} возобновил',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} перемотал',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} буферизует',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} использует старую версию приложения — синхронизация недоступна',
'watchTogether.resumingWithout' => ({required Object name}) => 'Возобновление без ${name}',
'watchTogether.waitingForParticipants' => 'Ожидание загрузки у других...',
'watchTogether.waitingForName' => ({required Object name}) => 'Ожидание ${name}...',
'watchTogether.recentRooms' => 'Недавние комнаты',
'watchTogether.renameRoom' => 'Переименовать комнату',
'watchTogether.removeRoom' => 'Удалить',
'watchTogether.guestSwitchUnavailable' => 'Не удалось переключиться — сервер недоступен для синхронизации',
'watchTogether.guestSwitchFailed' => 'Не удалось переключиться — содержимое не найдено на этом сервере',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} использует старую версию приложения — синхронизация недоступна',
'watchTogether.resumingWithout' => ({required Object name}) => 'Возобновление без ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Ожидание ${name}...',
'downloads.title' => 'Загрузки',
'downloads.manage' => 'Управление',
'downloads.tvShows' => 'Сериалы',
'downloads.movies' => 'Фильмы',
'downloads.music' => 'Музыка',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} треков в очереди на загрузку',
'downloads.noDownloads' => 'Загрузок пока нет',
'downloads.noDownloadsDescription' => 'Загруженный контент появится здесь для просмотра офлайн',
@@ -3168,6 +3127,8 @@ extension on TranslationsRu {
'downloads.deleteConfirm' => ({required Object title}) => 'Удалить "${title}" с этого устройства?',
'downloads.cancelledDownloadTitle' => 'Загрузка отменена',
'downloads.cancelledDownloadMessage' => 'Эта загрузка была отменена. Что вы хотите сделать?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Все эпизоды уже загружены',
'downloads.resumeDownload' => 'Возобновить загрузку',
'downloads.cancelledDownload' => 'Загрузка отменена',
@@ -3191,7 +3152,6 @@ extension on TranslationsRu {
'downloads.customAmount' => 'Указать количество...',
'downloads.includeSpecials' => 'Включить спецвыпуски',
'downloads.howManyEpisodes' => 'Сколько эпизодов?',
'downloads.itemsQueued' => ({required Object count}) => '${count} элементов добавлено в очередь загрузки',
'downloads.keepSynced' => 'Синхронизировать',
'downloads.downloadOnce' => 'Скачать один раз',
'downloads.keepNUnwatched' => ({required Object count}) => 'Хранить ${count} непросмотренных',
@@ -3235,7 +3195,6 @@ extension on TranslationsRu {
'companionRemote.connectedTo' => ({required Object name}) => 'Подключено к ${name}',
'companionRemote.unknownDevice' => 'Неизвестное устройство',
'companionRemote.session.startingServer' => 'Запуск удалённого сервера...',
'companionRemote.session.failedToCreate' => 'Не удалось запустить удалённый сервер:',
'companionRemote.session.hostAddress' => 'Адрес хоста',
'companionRemote.session.connected' => 'Подключено',
'companionRemote.session.serverRunning' => 'Удалённый сервер активен',
@@ -3290,6 +3249,8 @@ extension on TranslationsRu {
'companionRemote.remote.searchHint' => 'Поиск на десктопе...',
'companionRemote.errors.noNetworkInterface' => 'Сетевой интерфейс не найден',
'companionRemote.errors.authenticationFailed' => 'Ошибка аутентификации',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Не удалось запустить удалённый сервер: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Не удалось отправить удалённую команду: ${error}',
'companionRemote.errors.joinTimedOut' => 'Время подключения к сеансу истекло',
'companionRemote.errors.failedToConnectAnyAddress' => 'Не удалось подключиться ни к одному адресу',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Соединение потеряно после ${attempts} попыток',
@@ -3534,7 +3495,6 @@ extension on TranslationsRu {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect не удался: ${error}',
'addServer.addPlexTitle' => 'Войти через Plex',
'addServer.pinExpired' => 'Срок действия PIN истёк до входа. Попробуйте снова.',
'addServer.duplicatePlexAccount' => 'В Plex уже выполнен вход. Выйдите, чтобы сменить аккаунт.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Не удалось зарегистрировать учётную запись: ${error}',
'addServer.enterJellyfinUrlError' => 'Введите URL вашего сервера Jellyfin',
'addServer.addConnectionTitle' => 'Добавить подключение',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsSv extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilitySv accessibility = _TranslationsAccessibilitySv._(_root);
@override late final _TranslationsTooltipsSv tooltips = _TranslationsTooltipsSv._(_root);
@override late final _TranslationsVideoControlsSv videoControls = _TranslationsVideoControlsSv._(_root);
@override late final _TranslationsUserStatusSv userStatus = _TranslationsUserStatusSv._(_root);
@override late final _TranslationsMessagesSv messages = _TranslationsMessagesSv._(_root);
@override late final _TranslationsSubtitlingStylingSv subtitlingStyling = _TranslationsSubtitlingStylingSv._(_root);
@override late final _TranslationsMpvConfigSv mpvConfig = _TranslationsMpvConfigSv._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthSv extends TranslationsAuthEn {
final TranslationsSv _root; // ignore: unused_field
// Translations
@override String get signIn => 'Logga in';
@override String get signInWithPlex => 'Logga in med Plex';
@override String get showQRCode => 'Visa QR-kod';
@override String get authenticate => 'Autentisera';
@@ -167,10 +165,8 @@ class _TranslationsCommonSv extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => 'Avsnitt ${number} - ${title}';
@override String chapterNumber({required Object number}) => 'Kapitel ${number}';
@override String get reconnect => 'Återanslut';
@override String get exit => 'Avsluta';
@override String get viewAll => 'Visa alla';
@override String get checkingNetwork => 'Kontrollerar nätverk...';
@override String get refreshingServers => 'Uppdaterar servrar...';
@override String get loadingServers => 'Laddar servrar...';
@override String get connectingToServers => 'Ansluter till servrar...';
@override String get startingOfflineMode => 'Startar offlineläge...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => 'Använd TV-kort med enbart bild och skådespelarnamn ovanpå';
@override String get focusGlow => 'Fokusglöd';
@override String get focusGlowDescription => 'Visa en mjuk glöd runt kortet i fokus';
@override String get visualEffects => 'Visuella effekter';
@override String get visualEffectsAuto => 'Automatiskt';
@override String get visualEffectsAutoDescription => 'Minska effekter automatiskt på enheter med låg effekt';
@override String get visualEffectsFull => 'Fullständiga';
@override String get visualEffectsReduced => 'Minskade';
@override String get visualEffectsReducedDescription => 'Färre animationer och grafik med lägre upplösning';
@override String get hideSpoilers => 'Dölj spoilers för osedda avsnitt';
@override String get hideSpoilersDescription => 'Sudda miniatyrbilder och beskrivningar för osedda avsnitt';
@override String get playerBackend => 'Spelarmotor';
@@ -283,7 +285,7 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
@override String get bufferSizeAuto => 'Auto (Rekommenderat)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '${heap}MB minne tillgängligt. En buffert på ${size}MB kan påverka uppspelningen.';
@override String get defaultQualityTitle => 'Standardkvalitet';
@override String get defaultQualityDescription => 'Används vid start av uppspelning. Lägre värden minskar bandbredden.';
@override String get musicQualityTitle => 'Musikkvalitet';
@override String get subtitleStyling => 'Undertext-styling';
@override String get subtitleStylingDescription => 'Anpassa undertextutseende';
@override String get smallSkipDuration => 'Kort hoppvaraktighet';
@@ -377,10 +379,9 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord Rich Presence';
@override String get discordRichPresenceDescription => 'Visa vad du tittar på i Discord';
@override String get trakt => 'Trakt';
@override String get traktDescription => 'Synkronisera visningshistorik med Trakt';
@override String get services => 'Tjänster';
@override String get servicesDescription => 'Anslut Trakt, MyAnimeList, Seerr med mera';
@override String get manageLibrariesDescription => 'Ordna om och dölj bibliotek';
@override String get companionRemoteServer => 'Companion Remote-server';
@override String get companionRemoteServerDescription => 'Tillåt mobila enheter i ditt nätverk att styra denna app';
@override String get autoPip => 'Automatisk bild-i-bild';
@@ -443,7 +444,6 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
@override String get showNavBarLabels => 'Visa navigeringsfältets etiketter';
@override String get showNavBarLabelsDescription => 'Visa textetiketter under navigeringsfältets ikoner';
@override String get startupSection => 'Startsektion';
@override String get startupSectionDescription => 'Välj vilken sektion Plezy öppnar vid start';
@override String get liveTvDefaultFavorites => 'Standard till favoritkanaler';
@override String get liveTvDefaultFavoritesDescription => 'Visa bara favoritkanaler när du öppnar Live TV';
@override String get display => 'Skärm';
@@ -455,13 +455,6 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => 'Undertexter och konfiguration';
@override String get seekAndTiming => 'Sök och timing';
@override String get behavior => 'Beteende';
@override String get manageLibrariesDescription => 'Ordna om och dölj bibliotek';
@override String get visualEffects => 'Visuella effekter';
@override String get visualEffectsAuto => 'Automatiskt';
@override String get visualEffectsAutoDescription => 'Minska effekter automatiskt på enheter med låg effekt';
@override String get visualEffectsFull => 'Fullständiga';
@override String get visualEffectsReduced => 'Minskade';
@override String get visualEffectsReducedDescription => 'Färre animationer och grafik med lägre upplösning';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetSv extends TranslationsRateSheetEn {
// Translations
@override String get title => 'Betygsätt';
@override String get server => 'Server';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => 'Ange betyg';
@override String get favorite => 'Favorit';
@override String get favorited => 'Tillagd i favoriter';
@override String get saved => 'Sparat';
@override String get notAvailable => 'Ingen matchning hittades';
@override String get noConnectedServices => 'Anslut en tjänst i Inställningar för att betygsätta där.';
@override String get favorite => 'Favorit';
@override String get favorited => 'Tillagd i favoriter';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilitySv extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '${percent} procent sedd';
@override String get mediaCardUnwatched => 'osedd';
@override String get tapToPlay => 'Tryck för att spela';
@override String get decrease => 'Minska';
@override String get increase => 'Öka';
@override String decreaseValue({required Object label}) => 'Minska ${label}';
@override String increaseValue({required Object label}) => 'Öka ${label}';
@override String get hue => 'Nyans';
@override String get saturation => 'Mättnad';
@override String get brightness => 'Ljusstyrka';
@override String get hexColor => 'Hexfärg';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsSv extends TranslationsVideoControlsEn {
@override String get settingsButton => 'Uppspelningsinställningar';
@override String get tracksButton => 'Ljud och undertexter';
@override String get chaptersButton => 'Kapitel';
@override String get versionsButton => 'Videoversioner';
@override String get versionQualityButton => 'Version och kvalitet';
@override String get versionColumnHeader => 'Version';
@override String get qualityColumnHeader => 'Kvalitet';
@override String get qualityOriginal => 'Original';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => 'Transkodning otillgänglig — spelar upp i originalkvalitet';
@override String get pipButton => 'Bild-i-bild läge';
@override String get aspectRatioButton => 'Bildförhållande';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsSv extends TranslationsVideoControlsEn {
@override String get searchLanguages => 'Sök språk...';
}
// Path: userStatus
class _TranslationsUserStatusSv extends TranslationsUserStatusEn {
_TranslationsUserStatusSv._(TranslationsSv root) : this._root = root, super.internal(root);
final TranslationsSv _root; // ignore: unused_field
// Translations
@override String get admin => 'Admin';
@override String get restricted => 'Begränsad';
@override String get protected => 'Skyddad';
@override String get current => 'NUVARANDE';
}
// Path: messages
class _TranslationsMessagesSv extends TranslationsMessagesEn {
_TranslationsMessagesSv._(TranslationsSv root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesSv extends TranslationsProfilesEn {
@override String get pinExplain => '4-siffrig PIN krävs för att byta profiler.';
@override String get continueButton => 'Fortsätt';
@override String get pinsDontMatch => 'PIN-koderna stämmer inte överens';
@override String get initializeServicesFailed => 'Kunde inte initiera profiltjänster';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverSv extends TranslationsDiscoverEn {
// Translations
@override String get title => 'Upptäck';
@override String get switchProfile => 'Byt profil';
@override String get noContentAvailable => 'Inget innehåll tillgängligt';
@override String get addMediaToLibraries => 'Lägg till media till dina bibliotek';
@override String get continueWatching => 'Fortsätt titta';
@@ -938,8 +919,6 @@ class _TranslationsErrorsSv extends TranslationsErrorsEn {
@override String get connectionFailed => 'Kan inte ansluta till mediaserver';
@override String failedToLoad({required Object context, required Object error}) => 'Misslyckades att ladda ${context}: ${error}';
@override String get noClientAvailable => 'Ingen klient tillgänglig';
@override String authenticationFailed({required Object error}) => 'Autentisering misslyckades: ${error}';
@override String get couldNotLaunchUrl => 'Kunde inte öppna autentiserings-URL';
@override String get pleaseEnterToken => 'Vänligen ange en token';
@override String get invalidToken => 'Ogiltig token';
@override String failedToVerifyToken({required Object error}) => 'Misslyckades att verifiera token: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesSv extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => 'Alla bibliotek är dolda';
@override String hiddenLibrariesCount({required Object count}) => 'Dolda bibliotek (${count})';
@override String get thisLibraryIsEmpty => 'Detta bibliotek är tomt';
@override String get noItemsMatchFilters => 'Inga objekt matchar de aktiva filtren';
@override String get resetFilters => 'Återställ filter';
@override String get all => 'Alla';
@override String get clearAll => 'Rensa alla';
@override String scanLibraryConfirm({required Object title}) => 'Är du säker på att du vill skanna "${title}"?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesSv extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsSv groupings = _TranslationsLibrariesGroupingsSv._(_root);
@override late final _TranslationsLibrariesFilterCategoriesSv filterCategories = _TranslationsLibrariesFilterCategoriesSv._(_root);
@override late final _TranslationsLibrariesSortLabelsSv sortLabels = _TranslationsLibrariesSortLabelsSv._(_root);
@override String get noItemsMatchFilters => 'Inga objekt matchar de aktiva filtren';
@override String get resetFilters => 'Återställ filter';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionSv extends TranslationsServerSelectionEn {
final TranslationsSv _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => 'Kunde inte ansluta till några servrar. Kontrollera nätverket.';
@override String noServersFoundForAccount({required Object username, required Object email}) => 'Inga servrar hittades för ${username} (${email})';
@override String failedToLoadServers({required Object error}) => 'Misslyckades att ladda servrar: ${error}';
}
@@ -1102,7 +1080,6 @@ class _TranslationsExploreSv extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => 'Det gick inte att uppdatera bevakningslistan';
@override String get notInLibrary => 'Finns inte i ditt bibliotek';
@override String get inTheseLibraries => 'I dessa bibliotek';
@override String availableOn({required Object server}) => 'Tillgänglig på ${server}';
@override String get checkingLibrary => 'Kontrollerar ditt bibliotek...';
@override String get emptyTitle => 'Inget här ännu';
@override String emptyMessage({required Object source}) => 'Rader från ${source} visas här när de har innehåll.';
@@ -1123,6 +1100,8 @@ class _TranslationsLiveTvSv extends TranslationsLiveTvEn {
@override String get guide => 'Programguide';
@override String get noChannels => 'Inga kanaler tillgängliga';
@override String get noDvr => 'Ingen DVR konfigurerad på någon server';
@override String get serverUnavailable => 'Live-tv-servern är inte tillgänglig.';
@override String get serverNotConnected => 'Live-tv-servern är inte ansluten.';
@override String get noPrograms => 'Ingen programdata tillgänglig';
@override String get liveStreamFailed => 'Liveström misslyckades';
@override String get unknownProgram => 'Okänt program';
@@ -1158,7 +1137,6 @@ class _TranslationsLiveTvSv extends TranslationsLiveTvEn {
@override String get scheduledRecordings => 'Schemalagda';
@override String get recordingRules => 'Inspelningsregler';
@override String get noScheduledRecordings => 'Inga schemalagda inspelningar';
@override String get noRecordingRules => 'Inga inspelningsregler än';
@override String get manageRecording => 'Hantera inspelning';
@override String get cancelRecording => 'Avbryt inspelning';
@override String get cancelRecordingTitle => 'Avbryt denna inspelning?';
@@ -1175,7 +1153,6 @@ class _TranslationsLiveTvSv extends TranslationsLiveTvEn {
@override String get recordingCancelled => 'Inspelning avbruten';
@override String get recordingRuleDeleted => 'Inspelningsregel borttagen';
@override String get processRecordingRules => 'Utvärdera regler igen';
@override String get loadingRecordings => 'Laddar inspelningar ...';
@override String get recordingInProgress => 'Spelar in nu';
@override String recordingsCount({required Object count}) => '${count} schemalagda';
@override String get editRule => 'Redigera regel';
@@ -1196,7 +1173,6 @@ class _TranslationsCollectionsSv extends TranslationsCollectionsEn {
@override String get title => 'Samlingar';
@override String get collection => 'Samling';
@override String get empty => 'Samlingen är tom';
@override String get unknownLibrarySection => 'Kan inte ta bort: okänd bibliotekssektion';
@override String get deleteCollection => 'Ta bort samling';
@override String deleteConfirm({required Object title}) => 'Ta bort "${title}"? Detta kan inte ångras.';
@override String get deleted => 'Samling borttagen';
@@ -1243,6 +1219,7 @@ class _TranslationsPlaylistsSv extends TranslationsPlaylistsEn {
@override String get itemAdded => 'Tillagd i spellista';
@override String get itemRemoved => 'Borttagen från spellista';
@override String get selectPlaylist => 'Välj spellista';
@override String get searchPlaylists => 'Sök i spellistor...';
@override String get errorCreating => 'Det gick inte att skapa spellista';
@override String get errorDeleting => 'Det gick inte att ta bort spellista';
@override String get errorLoading => 'Det gick inte att ladda spellistor';
@@ -1346,15 +1323,15 @@ class _TranslationsWatchTogetherSv extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} återupptog';
@override String participantSeeked({required Object name}) => '${name} spolade';
@override String participantBuffering({required Object name}) => '${name} buffrar';
@override String participantNeedsUpdate({required Object name}) => '${name} använder en äldre appversion — synkronisering är inte tillgänglig';
@override String resumingWithout({required Object name}) => 'Återupptar utan ${name}';
@override String get waitingForParticipants => 'Väntar på att andra laddar...';
@override String waitingForName({required Object name}) => 'Väntar på ${name}...';
@override String get recentRooms => 'Senaste rum';
@override String get renameRoom => 'Byt namn på rum';
@override String get removeRoom => 'Ta bort';
@override String get guestSwitchUnavailable => 'Kunde inte byta — server inte tillgänglig för synkronisering';
@override String get guestSwitchFailed => 'Kunde inte byta — innehåll hittades inte på denna server';
@override String participantNeedsUpdate({required Object name}) => '${name} använder en äldre appversion — synkronisering är inte tillgänglig';
@override String resumingWithout({required Object name}) => 'Återupptar utan ${name}';
@override String waitingForName({required Object name}) => 'Väntar på ${name}...';
}
// Path: downloads
@@ -1406,7 +1383,6 @@ class _TranslationsDownloadsSv extends TranslationsDownloadsEn {
@override String get customAmount => 'Ange antal...';
@override String get includeSpecials => 'Inkludera specialavsnitt';
@override String get howManyEpisodes => 'Hur många avsnitt?';
@override String itemsQueued({required Object count}) => '${count} objekt köade för nedladdning';
@override String get keepSynced => 'Håll synkroniserad';
@override String get downloadOnce => 'Ladda ner en gång';
@override String keepNUnwatched({required Object count}) => 'Behåll ${count} osedda';
@@ -1780,7 +1756,6 @@ class _TranslationsAddServerSv extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect misslyckades: ${error}';
@override String get addPlexTitle => 'Logga in med Plex';
@override String get pinExpired => 'PIN-koden gick ut innan inloggning. Försök igen.';
@override String get duplicatePlexAccount => 'Redan inloggad på Plex. Logga ut för att byta konto.';
@override String failedToRegisterAccount({required Object error}) => 'Kunde inte registrera kontot: ${error}';
@override String get enterJellyfinUrlError => 'Ange URL till din Jellyfin-server';
@override String get addConnectionTitle => 'Lägg till anslutning';
@@ -1906,7 +1881,6 @@ class _TranslationsLibrariesSortLabelsSv extends TranslationsLibrariesSortLabels
@override String get communityRating => 'Användarbetyg';
@override String get criticRating => 'Kritikerbetyg';
@override String get userRating => 'Användarbetyg';
@override String get lastPlayed => 'Senast spelad';
@override String get datePlayed => 'Speldatum';
@override String get playCount => 'Antal spelningar';
@override String get productionYear => 'Produktionsår';
@@ -1965,7 +1939,6 @@ class _TranslationsCompanionRemoteSessionSv extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => 'Startar fjärrserver...';
@override String get failedToCreate => 'Kunde inte starta fjärrserver:';
@override String get hostAddress => 'Värdadress';
@override String get connected => 'Ansluten';
@override String get serverRunning => 'Fjärrserver aktiv';
@@ -2047,6 +2020,8 @@ class _TranslationsCompanionRemoteErrorsSv extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => 'Inget nätverksgränssnitt hittades';
@override String get authenticationFailed => 'Autentisering misslyckades';
@override String serverStartFailed({required Object error}) => 'Det gick inte att starta fjärrservern: ${error}';
@override String commandFailed({required Object error}) => 'Det gick inte att skicka fjärrkommandot: ${error}';
@override String get joinTimedOut => 'Tidsgräns vid anslutning till session';
@override String get failedToConnectAnyAddress => 'Kunde inte ansluta till någon adress';
@override String connectionLostAfterAttempts({required Object attempts}) => 'Anslutning förlorad efter ${attempts} försök';
@@ -2123,7 +2098,6 @@ extension on TranslationsSv {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => 'Logga in',
'auth.signInWithPlex' => 'Logga in med Plex',
'auth.showQRCode' => 'Visa QR-kod',
'auth.authenticate' => 'Autentisera',
@@ -2174,10 +2148,8 @@ extension on TranslationsSv {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => 'Avsnitt ${number} - ${title}',
'common.chapterNumber' => ({required Object number}) => 'Kapitel ${number}',
'common.reconnect' => 'Återanslut',
'common.exit' => 'Avsluta',
'common.viewAll' => 'Visa alla',
'common.checkingNetwork' => 'Kontrollerar nätverk...',
'common.refreshingServers' => 'Uppdaterar servrar...',
'common.loadingServers' => 'Laddar servrar...',
'common.connectingToServers' => 'Ansluter till servrar...',
'common.startingOfflineMode' => 'Startar offlineläge...',
@@ -2251,6 +2223,12 @@ extension on TranslationsSv {
'settings.tvFullCardLayoutDescription' => 'Använd TV-kort med enbart bild och skådespelarnamn ovanpå',
'settings.focusGlow' => 'Fokusglöd',
'settings.focusGlowDescription' => 'Visa en mjuk glöd runt kortet i fokus',
'settings.visualEffects' => 'Visuella effekter',
'settings.visualEffectsAuto' => 'Automatiskt',
'settings.visualEffectsAutoDescription' => 'Minska effekter automatiskt på enheter med låg effekt',
'settings.visualEffectsFull' => 'Fullständiga',
'settings.visualEffectsReduced' => 'Minskade',
'settings.visualEffectsReducedDescription' => 'Färre animationer och grafik med lägre upplösning',
'settings.hideSpoilers' => 'Dölj spoilers för osedda avsnitt',
'settings.hideSpoilersDescription' => 'Sudda miniatyrbilder och beskrivningar för osedda avsnitt',
'settings.playerBackend' => 'Spelarmotor',
@@ -2263,7 +2241,7 @@ extension on TranslationsSv {
'settings.bufferSizeAuto' => 'Auto (Rekommenderat)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '${heap}MB minne tillgängligt. En buffert på ${size}MB kan påverka uppspelningen.',
'settings.defaultQualityTitle' => 'Standardkvalitet',
'settings.defaultQualityDescription' => 'Används vid start av uppspelning. Lägre värden minskar bandbredden.',
'settings.musicQualityTitle' => 'Musikkvalitet',
'settings.subtitleStyling' => 'Undertext-styling',
'settings.subtitleStylingDescription' => 'Anpassa undertextutseende',
'settings.smallSkipDuration' => 'Kort hoppvaraktighet',
@@ -2357,10 +2335,9 @@ extension on TranslationsSv {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord Rich Presence',
'settings.discordRichPresenceDescription' => 'Visa vad du tittar på i Discord',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => 'Synkronisera visningshistorik med Trakt',
'settings.services' => 'Tjänster',
'settings.servicesDescription' => 'Anslut Trakt, MyAnimeList, Seerr med mera',
'settings.manageLibrariesDescription' => 'Ordna om och dölj bibliotek',
'settings.companionRemoteServer' => 'Companion Remote-server',
'settings.companionRemoteServerDescription' => 'Tillåt mobila enheter i ditt nätverk att styra denna app',
'settings.autoPip' => 'Automatisk bild-i-bild',
@@ -2423,7 +2400,6 @@ extension on TranslationsSv {
'settings.showNavBarLabels' => 'Visa navigeringsfältets etiketter',
'settings.showNavBarLabelsDescription' => 'Visa textetiketter under navigeringsfältets ikoner',
'settings.startupSection' => 'Startsektion',
'settings.startupSectionDescription' => 'Välj vilken sektion Plezy öppnar vid start',
'settings.liveTvDefaultFavorites' => 'Standard till favoritkanaler',
'settings.liveTvDefaultFavoritesDescription' => 'Visa bara favoritkanaler när du öppnar Live TV',
'settings.display' => 'Skärm',
@@ -2435,13 +2411,6 @@ extension on TranslationsSv {
'settings.subtitlesAndConfig' => 'Undertexter och konfiguration',
'settings.seekAndTiming' => 'Sök och timing',
'settings.behavior' => 'Beteende',
'settings.manageLibrariesDescription' => 'Ordna om och dölj bibliotek',
'settings.visualEffects' => 'Visuella effekter',
'settings.visualEffectsAuto' => 'Automatiskt',
'settings.visualEffectsAutoDescription' => 'Minska effekter automatiskt på enheter med låg effekt',
'settings.visualEffectsFull' => 'Fullständiga',
'settings.visualEffectsReduced' => 'Minskade',
'settings.visualEffectsReducedDescription' => 'Färre animationer och grafik med lägre upplösning',
'search.hint' => 'Sök filmer, serier, musik...',
'search.tryDifferentTerm' => 'Prova en annan sökterm',
'search.searchYourMedia' => 'Sök i dina media',
@@ -2518,14 +2487,11 @@ extension on TranslationsSv {
'mediaMenu.playVersion' => 'Spela version...',
'rateSheet.title' => 'Betygsätt',
'rateSheet.server' => 'Server',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => 'Ange betyg',
'rateSheet.favorite' => 'Favorit',
'rateSheet.favorited' => 'Tillagd i favoriter',
'rateSheet.saved' => 'Sparat',
'rateSheet.notAvailable' => 'Ingen matchning hittades',
'rateSheet.noConnectedServices' => 'Anslut en tjänst i Inställningar för att betygsätta där.',
'rateSheet.favorite' => 'Favorit',
'rateSheet.favorited' => 'Tillagd i favoriter',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, film',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, TV-serie',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2534,6 +2500,14 @@ extension on TranslationsSv {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '${percent} procent sedd',
'accessibility.mediaCardUnwatched' => 'osedd',
'accessibility.tapToPlay' => 'Tryck för att spela',
'accessibility.decrease' => 'Minska',
'accessibility.increase' => 'Öka',
'accessibility.decreaseValue' => ({required Object label}) => 'Minska ${label}',
'accessibility.increaseValue' => ({required Object label}) => 'Öka ${label}',
'accessibility.hue' => 'Nyans',
'accessibility.saturation' => 'Mättnad',
'accessibility.brightness' => 'Ljusstyrka',
'accessibility.hexColor' => 'Hexfärg',
'tooltips.shufflePlay' => 'Blanda uppspelning',
'tooltips.playTrailer' => 'Spela trailer',
'tooltips.markAsWatched' => 'Markera som sedd',
@@ -2575,13 +2549,11 @@ extension on TranslationsSv {
'videoControls.settingsButton' => 'Uppspelningsinställningar',
'videoControls.tracksButton' => 'Ljud och undertexter',
'videoControls.chaptersButton' => 'Kapitel',
'videoControls.versionsButton' => 'Videoversioner',
'videoControls.versionQualityButton' => 'Version och kvalitet',
'videoControls.versionColumnHeader' => 'Version',
'videoControls.qualityColumnHeader' => 'Kvalitet',
'videoControls.qualityOriginal' => 'Original',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => 'Transkodning otillgänglig — spelar upp i originalkvalitet',
'videoControls.pipButton' => 'Bild-i-bild läge',
'videoControls.aspectRatioButton' => 'Bildförhållande',
@@ -2621,10 +2593,6 @@ extension on TranslationsSv {
'videoControls.subtitleDownloaded' => 'Undertext nedladdad',
'videoControls.subtitleDownloadFailed' => 'Kunde inte ladda ner undertext',
'videoControls.searchLanguages' => 'Sök språk...',
'userStatus.admin' => 'Admin',
'userStatus.restricted' => 'Begränsad',
'userStatus.protected' => 'Skyddad',
'userStatus.current' => 'NUVARANDE',
'messages.markedAsWatched' => 'Markerad som sedd',
'messages.markedAsUnwatched' => 'Markerad som osedd',
'messages.markedAsWatchedOffline' => 'Markerad som sedd (synkroniseras när online)',
@@ -2634,8 +2602,6 @@ extension on TranslationsSv {
'messages.errorLoading' => ({required Object error}) => 'Fel: ${error}',
'messages.streamInterrupted' => 'Uppspelningen avbröts. Tryck på play eller spola för att försöka igen.',
'messages.fileInfoNotAvailable' => 'Filinformation inte tillgänglig',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Fel vid laddning av filinformation: ${error}',
'messages.errorLoadingSeries' => 'Fel vid laddning av serie',
'messages.musicNotSupported' => 'Musikuppspelning stöds inte ännu',
@@ -2643,6 +2609,8 @@ extension on TranslationsSv {
'messages.noProfilesAvailable' => 'Inga profiler tillgängliga',
'messages.contactAdminForProfiles' => 'Kontakta din serveradministratör för att lägga till profiler',
'messages.unableToDetermineLibrarySection' => 'Kan inte avgöra biblioteksavdelningen för detta objekt',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => 'Loggar rensade',
'messages.logsCopied' => 'Loggar kopierade till urklipp',
'messages.noLogsAvailable' => 'Inga loggar tillgängliga',
@@ -2759,7 +2727,6 @@ extension on TranslationsSv {
'profiles.pinExplain' => '4-siffrig PIN krävs för att byta profiler.',
'profiles.continueButton' => 'Fortsätt',
'profiles.pinsDontMatch' => 'PIN-koderna stämmer inte överens',
'profiles.initializeServicesFailed' => 'Kunde inte initiera profiltjänster',
'connections.sectionTitle' => 'Anslutningar',
'connections.addConnection' => 'Lägg till anslutning',
'connections.addConnectionSubtitleNoProfile' => 'Logga in med Plex eller anslut en Jellyfin-server',
@@ -2770,7 +2737,6 @@ extension on TranslationsSv {
'connections.editJellyfinTitle' => 'Redigera Jellyfin-anslutning',
'connections.editJellyfinIntro' => ({required Object serverName}) => 'Lägg till eller ta bort URL:er för ${serverName}. Plezy använder den nåbara URL:en med lägst latens.',
'discover.title' => 'Upptäck',
'discover.switchProfile' => 'Byt profil',
'discover.noContentAvailable' => 'Inget innehåll tillgängligt',
'discover.addMediaToLibraries' => 'Lägg till media till dina bibliotek',
'discover.continueWatching' => 'Fortsätt titta',
@@ -2797,8 +2763,6 @@ extension on TranslationsSv {
'errors.connectionFailed' => 'Kan inte ansluta till mediaserver',
'errors.failedToLoad' => ({required Object context, required Object error}) => 'Misslyckades att ladda ${context}: ${error}',
'errors.noClientAvailable' => 'Ingen klient tillgänglig',
'errors.authenticationFailed' => ({required Object error}) => 'Autentisering misslyckades: ${error}',
'errors.couldNotLaunchUrl' => 'Kunde inte öppna autentiserings-URL',
'errors.pleaseEnterToken' => 'Vänligen ange en token',
'errors.invalidToken' => 'Ogiltig token',
'errors.failedToVerifyToken' => ({required Object error}) => 'Misslyckades att verifiera token: ${error}',
@@ -2823,6 +2787,8 @@ extension on TranslationsSv {
'libraries.allLibrariesHidden' => 'Alla bibliotek är dolda',
'libraries.hiddenLibrariesCount' => ({required Object count}) => 'Dolda bibliotek (${count})',
'libraries.thisLibraryIsEmpty' => 'Detta bibliotek är tomt',
'libraries.noItemsMatchFilters' => 'Inga objekt matchar de aktiva filtren',
'libraries.resetFilters' => 'Återställ filter',
'libraries.all' => 'Alla',
'libraries.clearAll' => 'Rensa alla',
'libraries.scanLibraryConfirm' => ({required Object title}) => 'Är du säker på att du vill skanna "${title}"?',
@@ -2871,7 +2837,6 @@ extension on TranslationsSv {
'libraries.sortLabels.communityRating' => 'Användarbetyg',
'libraries.sortLabels.criticRating' => 'Kritikerbetyg',
'libraries.sortLabels.userRating' => 'Användarbetyg',
'libraries.sortLabels.lastPlayed' => 'Senast spelad',
'libraries.sortLabels.datePlayed' => 'Speldatum',
'libraries.sortLabels.playCount' => 'Antal spelningar',
'libraries.sortLabels.productionYear' => 'Produktionsår',
@@ -2885,14 +2850,11 @@ extension on TranslationsSv {
'libraries.sortLabels.dateShared' => 'Delningsdatum',
'libraries.sortLabels.latestEpisodeAirDate' => 'Senaste avsnittets sändningsdatum',
'libraries.sortLabels.lastEpisodeDateAdded' => 'Datum då senaste avsnittet lades till',
'libraries.noItemsMatchFilters' => 'Inga objekt matchar de aktiva filtren',
'libraries.resetFilters' => 'Återställ filter',
'about.title' => 'Om',
'about.openSourceLicenses' => 'Öppen källkod-licenser',
'about.versionLabel' => ({required Object version}) => 'Version ${version}',
'about.appDescription' => 'En vacker Plex- och Jellyfin-klient för Flutter',
'about.viewLicensesDescription' => 'Visa licenser för tredjepartsbibliotek',
'serverSelection.allServerConnectionsFailed' => 'Kunde inte ansluta till några servrar. Kontrollera nätverket.',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => 'Inga servrar hittades för ${username} (${email})',
'serverSelection.failedToLoadServers' => ({required Object error}) => 'Misslyckades att ladda servrar: ${error}',
'hubDetail.title' => 'Titel',
@@ -2938,7 +2900,6 @@ extension on TranslationsSv {
'explore.watchlistUpdateFailed' => 'Det gick inte att uppdatera bevakningslistan',
'explore.notInLibrary' => 'Finns inte i ditt bibliotek',
'explore.inTheseLibraries' => 'I dessa bibliotek',
'explore.availableOn' => ({required Object server}) => 'Tillgänglig på ${server}',
'explore.checkingLibrary' => 'Kontrollerar ditt bibliotek...',
'explore.emptyTitle' => 'Inget här ännu',
'explore.emptyMessage' => ({required Object source}) => 'Rader från ${source} visas här när de har innehåll.',
@@ -2950,6 +2911,8 @@ extension on TranslationsSv {
'liveTv.guide' => 'Programguide',
'liveTv.noChannels' => 'Inga kanaler tillgängliga',
'liveTv.noDvr' => 'Ingen DVR konfigurerad på någon server',
'liveTv.serverUnavailable' => 'Live-tv-servern är inte tillgänglig.',
'liveTv.serverNotConnected' => 'Live-tv-servern är inte ansluten.',
'liveTv.noPrograms' => 'Ingen programdata tillgänglig',
'liveTv.liveStreamFailed' => 'Liveström misslyckades',
'liveTv.unknownProgram' => 'Okänt program',
@@ -2985,7 +2948,6 @@ extension on TranslationsSv {
'liveTv.scheduledRecordings' => 'Schemalagda',
'liveTv.recordingRules' => 'Inspelningsregler',
'liveTv.noScheduledRecordings' => 'Inga schemalagda inspelningar',
'liveTv.noRecordingRules' => 'Inga inspelningsregler än',
'liveTv.manageRecording' => 'Hantera inspelning',
'liveTv.cancelRecording' => 'Avbryt inspelning',
'liveTv.cancelRecordingTitle' => 'Avbryt denna inspelning?',
@@ -3002,7 +2964,6 @@ extension on TranslationsSv {
'liveTv.recordingCancelled' => 'Inspelning avbruten',
'liveTv.recordingRuleDeleted' => 'Inspelningsregel borttagen',
'liveTv.processRecordingRules' => 'Utvärdera regler igen',
'liveTv.loadingRecordings' => 'Laddar inspelningar ...',
'liveTv.recordingInProgress' => 'Spelar in nu',
'liveTv.recordingsCount' => ({required Object count}) => '${count} schemalagda',
'liveTv.editRule' => 'Redigera regel',
@@ -3014,7 +2975,6 @@ extension on TranslationsSv {
'collections.title' => 'Samlingar',
'collections.collection' => 'Samling',
'collections.empty' => 'Samlingen är tom',
'collections.unknownLibrarySection' => 'Kan inte ta bort: okänd bibliotekssektion',
'collections.deleteCollection' => 'Ta bort samling',
'collections.deleteConfirm' => ({required Object title}) => 'Ta bort "${title}"? Detta kan inte ångras.',
'collections.deleted' => 'Samling borttagen',
@@ -3052,6 +3012,7 @@ extension on TranslationsSv {
'playlists.itemAdded' => 'Tillagd i spellista',
'playlists.itemRemoved' => 'Borttagen från spellista',
'playlists.selectPlaylist' => 'Välj spellista',
'playlists.searchPlaylists' => 'Sök i spellistor...',
'playlists.errorCreating' => 'Det gick inte att skapa spellista',
'playlists.errorDeleting' => 'Det gick inte att ta bort spellista',
'playlists.errorLoading' => 'Det gick inte att ladda spellistor',
@@ -3134,22 +3095,20 @@ extension on TranslationsSv {
'watchTogether.participantResumed' => ({required Object name}) => '${name} återupptog',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} spolade',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} buffrar',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} använder en äldre appversion — synkronisering är inte tillgänglig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Återupptar utan ${name}',
'watchTogether.waitingForParticipants' => 'Väntar på att andra laddar...',
'watchTogether.waitingForName' => ({required Object name}) => 'Väntar på ${name}...',
'watchTogether.recentRooms' => 'Senaste rum',
'watchTogether.renameRoom' => 'Byt namn på rum',
'watchTogether.removeRoom' => 'Ta bort',
'watchTogether.guestSwitchUnavailable' => 'Kunde inte byta — server inte tillgänglig för synkronisering',
'watchTogether.guestSwitchFailed' => 'Kunde inte byta — innehåll hittades inte på denna server',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} använder en äldre appversion — synkronisering är inte tillgänglig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Återupptar utan ${name}',
'watchTogether.waitingForName' => ({required Object name}) => 'Väntar på ${name}...',
'downloads.title' => 'Nedladdningar',
'downloads.manage' => 'Hantera',
'downloads.tvShows' => 'TV-serier',
'downloads.movies' => 'Filmer',
'downloads.music' => 'Musik',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} låtar i nedladdningskö',
'downloads.noDownloads' => 'Inga nedladdningar ännu',
'downloads.noDownloadsDescription' => 'Nedladdat innehåll visas här för offline-visning',
@@ -3164,6 +3123,8 @@ extension on TranslationsSv {
'downloads.deleteConfirm' => ({required Object title}) => 'Ta bort "${title}" från den här enheten?',
'downloads.cancelledDownloadTitle' => 'Avbruten nedladdning',
'downloads.cancelledDownloadMessage' => 'Den här nedladdningen avbröts. Vad vill du göra?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => 'Alla avsnitt är redan nedladdade',
'downloads.resumeDownload' => 'Återuppta nedladdning',
'downloads.cancelledDownload' => 'Avbruten nedladdning',
@@ -3187,7 +3148,6 @@ extension on TranslationsSv {
'downloads.customAmount' => 'Ange antal...',
'downloads.includeSpecials' => 'Inkludera specialavsnitt',
'downloads.howManyEpisodes' => 'Hur många avsnitt?',
'downloads.itemsQueued' => ({required Object count}) => '${count} objekt köade för nedladdning',
'downloads.keepSynced' => 'Håll synkroniserad',
'downloads.downloadOnce' => 'Ladda ner en gång',
'downloads.keepNUnwatched' => ({required Object count}) => 'Behåll ${count} osedda',
@@ -3231,7 +3191,6 @@ extension on TranslationsSv {
'companionRemote.connectedTo' => ({required Object name}) => 'Ansluten till ${name}',
'companionRemote.unknownDevice' => 'Okänd enhet',
'companionRemote.session.startingServer' => 'Startar fjärrserver...',
'companionRemote.session.failedToCreate' => 'Kunde inte starta fjärrserver:',
'companionRemote.session.hostAddress' => 'Värdadress',
'companionRemote.session.connected' => 'Ansluten',
'companionRemote.session.serverRunning' => 'Fjärrserver aktiv',
@@ -3286,6 +3245,8 @@ extension on TranslationsSv {
'companionRemote.remote.searchHint' => 'Sök på datorn...',
'companionRemote.errors.noNetworkInterface' => 'Inget nätverksgränssnitt hittades',
'companionRemote.errors.authenticationFailed' => 'Autentisering misslyckades',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => 'Det gick inte att starta fjärrservern: ${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => 'Det gick inte att skicka fjärrkommandot: ${error}',
'companionRemote.errors.joinTimedOut' => 'Tidsgräns vid anslutning till session',
'companionRemote.errors.failedToConnectAnyAddress' => 'Kunde inte ansluta till någon adress',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Anslutning förlorad efter ${attempts} försök',
@@ -3530,7 +3491,6 @@ extension on TranslationsSv {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect misslyckades: ${error}',
'addServer.addPlexTitle' => 'Logga in med Plex',
'addServer.pinExpired' => 'PIN-koden gick ut innan inloggning. Försök igen.',
'addServer.duplicatePlexAccount' => 'Redan inloggad på Plex. Logga ut för att byta konto.',
'addServer.failedToRegisterAccount' => ({required Object error}) => 'Kunde inte registrera kontot: ${error}',
'addServer.enterJellyfinUrlError' => 'Ange URL till din Jellyfin-server',
'addServer.addConnectionTitle' => 'Lägg till anslutning',
+60 -100
View File
@@ -53,7 +53,6 @@ class TranslationsZh extends Translations with BaseTranslations<AppLocale, Trans
@override late final _TranslationsAccessibilityZh accessibility = _TranslationsAccessibilityZh._(_root);
@override late final _TranslationsTooltipsZh tooltips = _TranslationsTooltipsZh._(_root);
@override late final _TranslationsVideoControlsZh videoControls = _TranslationsVideoControlsZh._(_root);
@override late final _TranslationsUserStatusZh userStatus = _TranslationsUserStatusZh._(_root);
@override late final _TranslationsMessagesZh messages = _TranslationsMessagesZh._(_root);
@override late final _TranslationsSubtitlingStylingZh subtitlingStyling = _TranslationsSubtitlingStylingZh._(_root);
@override late final _TranslationsMpvConfigZh mpvConfig = _TranslationsMpvConfigZh._(_root);
@@ -107,7 +106,6 @@ class _TranslationsAuthZh extends TranslationsAuthEn {
final TranslationsZh _root; // ignore: unused_field
// Translations
@override String get signIn => '登录';
@override String get signInWithPlex => '使用 Plex 登录';
@override String get showQRCode => '显示二维码';
@override String get authenticate => '验证';
@@ -167,10 +165,8 @@ class _TranslationsCommonZh extends TranslationsCommonEn {
@override String episodeNumberTitle({required Object number, required Object title}) => '${number}集 - ${title}';
@override String chapterNumber({required Object number}) => '章节 ${number}';
@override String get reconnect => '重新连接';
@override String get exit => '退出';
@override String get viewAll => '查看全部';
@override String get checkingNetwork => '正在检查网络...';
@override String get refreshingServers => '正在刷新服务器...';
@override String get loadingServers => '正在加载服务器...';
@override String get connectingToServers => '正在连接服务器...';
@override String get startingOfflineMode => '正在启动离线模式...';
@@ -271,6 +267,12 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
@override String get tvFullCardLayoutDescription => '使用仅显示图片的 TV 卡片,并叠加演员姓名';
@override String get focusGlow => '焦点光晕';
@override String get focusGlowDescription => '在获得焦点的卡片周围显示柔和的光晕';
@override String get visualEffects => '视觉效果';
@override String get visualEffectsAuto => '自动';
@override String get visualEffectsAutoDescription => '在性能较低的设备上自动减少效果';
@override String get visualEffectsFull => '完整';
@override String get visualEffectsReduced => '简化';
@override String get visualEffectsReducedDescription => '减少动画并使用较低分辨率的封面图片';
@override String get hideSpoilers => '隐藏未看剧集的剧透内容';
@override String get hideSpoilersDescription => '模糊未观看剧集的缩略图和描述';
@override String get playerBackend => '播放器引擎';
@@ -283,7 +285,7 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
@override String get bufferSizeAuto => '自动(推荐)';
@override String bufferSizeWarning({required Object heap, required Object size}) => '可用内存 ${heap}MB。${size}MB 缓冲可能影响播放。';
@override String get defaultQualityTitle => '默认画质';
@override String get defaultQualityDescription => '开始播放时使用。较低的值可减少带宽。';
@override String get musicQualityTitle => '音乐质量';
@override String get subtitleStyling => '字幕样式';
@override String get subtitleStylingDescription => '调整字幕外观';
@override String get smallSkipDuration => '短跳过时长';
@@ -377,10 +379,9 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
@override String maxVolumePercent({required Object percent}) => '${percent}%';
@override String get discordRichPresence => 'Discord 动态状态';
@override String get discordRichPresenceDescription => '在 Discord 上显示您正在观看的内容';
@override String get trakt => 'Trakt';
@override String get traktDescription => '将观看历史与 Trakt 同步';
@override String get services => '服务';
@override String get servicesDescription => '连接 Trakt、MyAnimeList、Seerr 等';
@override String get manageLibrariesDescription => '重新排序和隐藏媒体库';
@override String get companionRemoteServer => '配套遥控服务器';
@override String get companionRemoteServerDescription => '允许网络上的移动设备控制此应用';
@override String get autoPip => '自动画中画';
@@ -443,7 +444,6 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
@override String get showNavBarLabels => '显示导航栏标签';
@override String get showNavBarLabelsDescription => '在导航栏图标下方显示文字标签';
@override String get startupSection => '启动页面';
@override String get startupSectionDescription => '选择 Plezy 启动时打开的页面';
@override String get liveTvDefaultFavorites => '默认显示收藏频道';
@override String get liveTvDefaultFavoritesDescription => '打开直播电视时仅显示收藏频道';
@override String get display => '显示';
@@ -455,13 +455,6 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
@override String get subtitlesAndConfig => '字幕与配置';
@override String get seekAndTiming => '跳转与计时';
@override String get behavior => '行为';
@override String get manageLibrariesDescription => '重新排序和隐藏媒体库';
@override String get visualEffects => '视觉效果';
@override String get visualEffectsAuto => '自动';
@override String get visualEffectsAutoDescription => '在性能较低的设备上自动减少效果';
@override String get visualEffectsFull => '完整';
@override String get visualEffectsReduced => '简化';
@override String get visualEffectsReducedDescription => '减少动画并使用较低分辨率的封面图片';
}
// Path: search
@@ -559,14 +552,11 @@ class _TranslationsRateSheetZh extends TranslationsRateSheetEn {
// Translations
@override String get title => '评分';
@override String get server => '服务器';
@override String starValue({required Object rating}) => '${rating} / 5';
@override String scoreValue({required Object score}) => '${score} / 10';
@override String get setScore => '设置分数';
@override String get favorite => '收藏';
@override String get favorited => '已收藏';
@override String get saved => '已保存';
@override String get notAvailable => '未找到匹配项';
@override String get noConnectedServices => '在设置中连接服务,即可在此评分。';
@override String get favorite => '收藏';
@override String get favorited => '已收藏';
}
// Path: accessibility
@@ -584,6 +574,14 @@ class _TranslationsAccessibilityZh extends TranslationsAccessibilityEn {
@override String mediaCardPartiallyWatched({required Object percent}) => '已观看 ${percent} 百分比';
@override String get mediaCardUnwatched => '未观看';
@override String get tapToPlay => '点击播放';
@override String get decrease => '减小';
@override String get increase => '增大';
@override String decreaseValue({required Object label}) => '减小${label}';
@override String increaseValue({required Object label}) => '增大${label}';
@override String get hue => '色相';
@override String get saturation => '饱和度';
@override String get brightness => '亮度';
@override String get hexColor => '十六进制颜色';
}
// Path: tooltips
@@ -643,13 +641,11 @@ class _TranslationsVideoControlsZh extends TranslationsVideoControlsEn {
@override String get settingsButton => '播放设置';
@override String get tracksButton => '音频和字幕';
@override String get chaptersButton => '章节';
@override String get versionsButton => '视频版本';
@override String get versionQualityButton => '版本与画质';
@override String get versionColumnHeader => '版本';
@override String get qualityColumnHeader => '画质';
@override String get qualityOriginal => '原始';
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
@override String qualityBandwidthEstimate({required Object bitrate}) => '~${bitrate} Mbps';
@override String get transcodeUnavailableFallback => '转码不可用 — 以原始画质播放';
@override String get pipButton => '画中画模式';
@override String get aspectRatioButton => '宽高比';
@@ -685,19 +681,6 @@ class _TranslationsVideoControlsZh extends TranslationsVideoControlsEn {
@override String get searchLanguages => '搜索语言...';
}
// Path: userStatus
class _TranslationsUserStatusZh extends TranslationsUserStatusEn {
_TranslationsUserStatusZh._(TranslationsZh root) : this._root = root, super.internal(root);
final TranslationsZh _root; // ignore: unused_field
// Translations
@override String get admin => '管理员';
@override String get restricted => '受限';
@override String get protected => '受保护';
@override String get current => '当前';
}
// Path: messages
class _TranslationsMessagesZh extends TranslationsMessagesEn {
_TranslationsMessagesZh._(TranslationsZh root) : this._root = root, super.internal(root);
@@ -873,7 +856,6 @@ class _TranslationsProfilesZh extends TranslationsProfilesEn {
@override String get pinExplain => '切换个人资料需要 4 位 PIN。';
@override String get continueButton => '继续';
@override String get pinsDontMatch => 'PIN 不匹配';
@override String get initializeServicesFailed => '无法初始化个人资料服务';
}
// Path: connections
@@ -902,7 +884,6 @@ class _TranslationsDiscoverZh extends TranslationsDiscoverEn {
// Translations
@override String get title => '发现';
@override String get switchProfile => '切换用户';
@override String get noContentAvailable => '没有可用内容';
@override String get addMediaToLibraries => '请向你的媒体库添加一些媒体';
@override String get continueWatching => '继续观看';
@@ -938,8 +919,6 @@ class _TranslationsErrorsZh extends TranslationsErrorsEn {
@override String get connectionFailed => '无法连接到媒体服务器';
@override String failedToLoad({required Object context, required Object error}) => '无法加载 ${context}: ${error}';
@override String get noClientAvailable => '没有可用客户端';
@override String authenticationFailed({required Object error}) => '验证失败: ${error}';
@override String get couldNotLaunchUrl => '无法打开授权 URL';
@override String get pleaseEnterToken => '请输入一个令牌';
@override String get invalidToken => '令牌无效';
@override String failedToVerifyToken({required Object error}) => '无法验证令牌: ${error}';
@@ -973,6 +952,8 @@ class _TranslationsLibrariesZh extends TranslationsLibrariesEn {
@override String get allLibrariesHidden => '所有媒体库已隐藏';
@override String hiddenLibrariesCount({required Object count}) => '已隐藏的媒体库 (${count})';
@override String get thisLibraryIsEmpty => '此媒体库为空';
@override String get noItemsMatchFilters => '没有项目符合当前筛选条件';
@override String get resetFilters => '重置筛选条件';
@override String get all => '全部';
@override String get clearAll => '全部清除';
@override String scanLibraryConfirm({required Object title}) => '确定要扫描 “${title}” 吗?';
@@ -998,8 +979,6 @@ class _TranslationsLibrariesZh extends TranslationsLibrariesEn {
@override late final _TranslationsLibrariesGroupingsZh groupings = _TranslationsLibrariesGroupingsZh._(_root);
@override late final _TranslationsLibrariesFilterCategoriesZh filterCategories = _TranslationsLibrariesFilterCategoriesZh._(_root);
@override late final _TranslationsLibrariesSortLabelsZh sortLabels = _TranslationsLibrariesSortLabelsZh._(_root);
@override String get noItemsMatchFilters => '没有项目符合当前筛选条件';
@override String get resetFilters => '重置筛选条件';
}
// Path: about
@@ -1023,7 +1002,6 @@ class _TranslationsServerSelectionZh extends TranslationsServerSelectionEn {
final TranslationsZh _root; // ignore: unused_field
// Translations
@override String get allServerConnectionsFailed => '无法连接到任何服务器。请检查网络。';
@override String noServersFoundForAccount({required Object username, required Object email}) => '未找到 ${username} (${email}) 的服务器';
@override String failedToLoadServers({required Object error}) => '无法加载服务器: ${error}';
}
@@ -1101,7 +1079,6 @@ class _TranslationsExploreZh extends TranslationsExploreEn {
@override String get watchlistUpdateFailed => '无法更新想看列表';
@override String get notInLibrary => '不在你的媒体库中';
@override String get inTheseLibraries => '在这些媒体库中';
@override String availableOn({required Object server}) => '${server} 上可用';
@override String get checkingLibrary => '正在检查你的媒体库...';
@override String get emptyTitle => '这里还什么都没有';
@override String emptyMessage({required Object source}) => '${source} 有内容时,相关内容将显示在这里。';
@@ -1122,6 +1099,8 @@ class _TranslationsLiveTvZh extends TranslationsLiveTvEn {
@override String get guide => '节目指南';
@override String get noChannels => '没有可用的频道';
@override String get noDvr => '没有服务器配置了DVR';
@override String get serverUnavailable => '直播电视服务器不可用。';
@override String get serverNotConnected => '直播电视服务器未连接。';
@override String get noPrograms => '没有可用的节目数据';
@override String get liveStreamFailed => '直播流失败';
@override String get unknownProgram => '未知节目';
@@ -1157,7 +1136,6 @@ class _TranslationsLiveTvZh extends TranslationsLiveTvEn {
@override String get scheduledRecordings => '已安排';
@override String get recordingRules => '录制规则';
@override String get noScheduledRecordings => '没有安排的录制';
@override String get noRecordingRules => '还没有录制规则';
@override String get manageRecording => '管理录制';
@override String get cancelRecording => '取消录制';
@override String get cancelRecordingTitle => '取消此次录制?';
@@ -1174,7 +1152,6 @@ class _TranslationsLiveTvZh extends TranslationsLiveTvEn {
@override String get recordingCancelled => '录制已取消';
@override String get recordingRuleDeleted => '录制规则已删除';
@override String get processRecordingRules => '重新评估规则';
@override String get loadingRecordings => '正在加载录制内容...';
@override String get recordingInProgress => '正在录制';
@override String recordingsCount({required Object count}) => '已安排 ${count}';
@override String get editRule => '编辑规则';
@@ -1195,7 +1172,6 @@ class _TranslationsCollectionsZh extends TranslationsCollectionsEn {
@override String get title => '合集';
@override String get collection => '合集';
@override String get empty => '合集为空';
@override String get unknownLibrarySection => '无法删除:未知的媒体库分区';
@override String get deleteCollection => '删除合集';
@override String deleteConfirm({required Object title}) => '要删除“${title}”吗?此操作无法撤销。';
@override String get deleted => '已删除合集';
@@ -1242,6 +1218,7 @@ class _TranslationsPlaylistsZh extends TranslationsPlaylistsEn {
@override String get itemAdded => '已添加到播放列表';
@override String get itemRemoved => '已从播放列表中移除';
@override String get selectPlaylist => '选择播放列表';
@override String get searchPlaylists => '搜索播放列表...';
@override String get errorCreating => '创建播放列表失败';
@override String get errorDeleting => '删除播放列表失败';
@override String get errorLoading => '加载播放列表失败';
@@ -1344,15 +1321,15 @@ class _TranslationsWatchTogetherZh extends TranslationsWatchTogetherEn {
@override String participantResumed({required Object name}) => '${name} 继续播放了';
@override String participantSeeked({required Object name}) => '${name} 跳转了';
@override String participantBuffering({required Object name}) => '${name} 正在缓冲';
@override String participantNeedsUpdate({required Object name}) => '${name} 正在使用较旧版本的应用,无法同步';
@override String resumingWithout({required Object name}) => '不等待 ${name},继续播放';
@override String get waitingForParticipants => '等待其他人加载...';
@override String waitingForName({required Object name}) => '正在等待 ${name}...';
@override String get recentRooms => '最近的房间';
@override String get renameRoom => '重命名房间';
@override String get removeRoom => '移除';
@override String get guestSwitchUnavailable => '无法切换 — 服务器无法同步';
@override String get guestSwitchFailed => '无法切换 — 在此服务器上未找到内容';
@override String participantNeedsUpdate({required Object name}) => '${name} 正在使用较旧版本的应用,无法同步';
@override String resumingWithout({required Object name}) => '不等待 ${name},继续播放';
@override String waitingForName({required Object name}) => '正在等待 ${name}...';
}
// Path: downloads
@@ -1404,7 +1381,6 @@ class _TranslationsDownloadsZh extends TranslationsDownloadsEn {
@override String get customAmount => '自定义数量...';
@override String get includeSpecials => '包含特别篇';
@override String get howManyEpisodes => '下载几集?';
@override String itemsQueued({required Object count}) => '${count} 个项目已加入下载队列';
@override String get keepSynced => '保持同步';
@override String get downloadOnce => '下载一次';
@override String keepNUnwatched({required Object count}) => '保留${count}个未观看';
@@ -1778,7 +1754,6 @@ class _TranslationsAddServerZh extends TranslationsAddServerEn {
@override String quickConnectFailed({required Object error}) => 'Quick Connect 失败: ${error}';
@override String get addPlexTitle => '使用 Plex 登录';
@override String get pinExpired => 'PIN 在登录前已过期。请重试。';
@override String get duplicatePlexAccount => '已登录 Plex。请退出登录以切换账号。';
@override String failedToRegisterAccount({required Object error}) => '注册帐户失败: ${error}';
@override String get enterJellyfinUrlError => '输入你的 Jellyfin 服务器 URL';
@override String get addConnectionTitle => '添加连接';
@@ -1904,7 +1879,6 @@ class _TranslationsLibrariesSortLabelsZh extends TranslationsLibrariesSortLabels
@override String get communityRating => '社区评分';
@override String get criticRating => '影评人评分';
@override String get userRating => '用户评分';
@override String get lastPlayed => '最近播放';
@override String get datePlayed => '播放日期';
@override String get playCount => '播放次数';
@override String get productionYear => '制作年份';
@@ -1963,7 +1937,6 @@ class _TranslationsCompanionRemoteSessionZh extends TranslationsCompanionRemoteS
// Translations
@override String get startingServer => '正在启动远程服务器...';
@override String get failedToCreate => '启动远程服务器失败:';
@override String get hostAddress => '主机地址';
@override String get connected => '已连接';
@override String get serverRunning => '远程服务器已启动';
@@ -2045,6 +2018,8 @@ class _TranslationsCompanionRemoteErrorsZh extends TranslationsCompanionRemoteEr
// Translations
@override String get noNetworkInterface => '未找到网络接口';
@override String get authenticationFailed => '身份验证失败';
@override String serverStartFailed({required Object error}) => '无法启动远程服务器:${error}';
@override String commandFailed({required Object error}) => '无法发送远程命令:${error}';
@override String get joinTimedOut => '加入会话超时';
@override String get failedToConnectAnyAddress => '无法连接到任何地址';
@override String connectionLostAfterAttempts({required Object attempts}) => '${attempts} 次尝试后连接丢失';
@@ -2121,7 +2096,6 @@ extension on TranslationsZh {
dynamic _flatMapFunction(String path) {
return switch (path) {
'app.title' => 'Plezy',
'auth.signIn' => '登录',
'auth.signInWithPlex' => '使用 Plex 登录',
'auth.showQRCode' => '显示二维码',
'auth.authenticate' => '验证',
@@ -2172,10 +2146,8 @@ extension on TranslationsZh {
'common.episodeNumberTitle' => ({required Object number, required Object title}) => '${number}集 - ${title}',
'common.chapterNumber' => ({required Object number}) => '章节 ${number}',
'common.reconnect' => '重新连接',
'common.exit' => '退出',
'common.viewAll' => '查看全部',
'common.checkingNetwork' => '正在检查网络...',
'common.refreshingServers' => '正在刷新服务器...',
'common.loadingServers' => '正在加载服务器...',
'common.connectingToServers' => '正在连接服务器...',
'common.startingOfflineMode' => '正在启动离线模式...',
@@ -2249,6 +2221,12 @@ extension on TranslationsZh {
'settings.tvFullCardLayoutDescription' => '使用仅显示图片的 TV 卡片,并叠加演员姓名',
'settings.focusGlow' => '焦点光晕',
'settings.focusGlowDescription' => '在获得焦点的卡片周围显示柔和的光晕',
'settings.visualEffects' => '视觉效果',
'settings.visualEffectsAuto' => '自动',
'settings.visualEffectsAutoDescription' => '在性能较低的设备上自动减少效果',
'settings.visualEffectsFull' => '完整',
'settings.visualEffectsReduced' => '简化',
'settings.visualEffectsReducedDescription' => '减少动画并使用较低分辨率的封面图片',
'settings.hideSpoilers' => '隐藏未看剧集的剧透内容',
'settings.hideSpoilersDescription' => '模糊未观看剧集的缩略图和描述',
'settings.playerBackend' => '播放器引擎',
@@ -2261,7 +2239,7 @@ extension on TranslationsZh {
'settings.bufferSizeAuto' => '自动(推荐)',
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => '可用内存 ${heap}MB。${size}MB 缓冲可能影响播放。',
'settings.defaultQualityTitle' => '默认画质',
'settings.defaultQualityDescription' => '开始播放时使用。较低的值可减少带宽。',
'settings.musicQualityTitle' => '音乐质量',
'settings.subtitleStyling' => '字幕样式',
'settings.subtitleStylingDescription' => '调整字幕外观',
'settings.smallSkipDuration' => '短跳过时长',
@@ -2355,10 +2333,9 @@ extension on TranslationsZh {
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
'settings.discordRichPresence' => 'Discord 动态状态',
'settings.discordRichPresenceDescription' => '在 Discord 上显示您正在观看的内容',
'settings.trakt' => 'Trakt',
'settings.traktDescription' => '将观看历史与 Trakt 同步',
'settings.services' => '服务',
'settings.servicesDescription' => '连接 Trakt、MyAnimeList、Seerr 等',
'settings.manageLibrariesDescription' => '重新排序和隐藏媒体库',
'settings.companionRemoteServer' => '配套遥控服务器',
'settings.companionRemoteServerDescription' => '允许网络上的移动设备控制此应用',
'settings.autoPip' => '自动画中画',
@@ -2421,7 +2398,6 @@ extension on TranslationsZh {
'settings.showNavBarLabels' => '显示导航栏标签',
'settings.showNavBarLabelsDescription' => '在导航栏图标下方显示文字标签',
'settings.startupSection' => '启动页面',
'settings.startupSectionDescription' => '选择 Plezy 启动时打开的页面',
'settings.liveTvDefaultFavorites' => '默认显示收藏频道',
'settings.liveTvDefaultFavoritesDescription' => '打开直播电视时仅显示收藏频道',
'settings.display' => '显示',
@@ -2433,13 +2409,6 @@ extension on TranslationsZh {
'settings.subtitlesAndConfig' => '字幕与配置',
'settings.seekAndTiming' => '跳转与计时',
'settings.behavior' => '行为',
'settings.manageLibrariesDescription' => '重新排序和隐藏媒体库',
'settings.visualEffects' => '视觉效果',
'settings.visualEffectsAuto' => '自动',
'settings.visualEffectsAutoDescription' => '在性能较低的设备上自动减少效果',
'settings.visualEffectsFull' => '完整',
'settings.visualEffectsReduced' => '简化',
'settings.visualEffectsReducedDescription' => '减少动画并使用较低分辨率的封面图片',
'search.hint' => '搜索电影、系列、音乐...',
'search.tryDifferentTerm' => '尝试不同的搜索词',
'search.searchYourMedia' => '搜索媒体',
@@ -2516,14 +2485,11 @@ extension on TranslationsZh {
'mediaMenu.playVersion' => '播放版本...',
'rateSheet.title' => '评分',
'rateSheet.server' => '服务器',
'rateSheet.starValue' => ({required Object rating}) => '${rating} / 5',
'rateSheet.scoreValue' => ({required Object score}) => '${score} / 10',
'rateSheet.setScore' => '设置分数',
'rateSheet.favorite' => '收藏',
'rateSheet.favorited' => '已收藏',
'rateSheet.saved' => '已保存',
'rateSheet.notAvailable' => '未找到匹配项',
'rateSheet.noConnectedServices' => '在设置中连接服务,即可在此评分。',
'rateSheet.favorite' => '收藏',
'rateSheet.favorited' => '已收藏',
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, 电影',
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, 电视剧',
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
@@ -2532,6 +2498,14 @@ extension on TranslationsZh {
'accessibility.mediaCardPartiallyWatched' => ({required Object percent}) => '已观看 ${percent} 百分比',
'accessibility.mediaCardUnwatched' => '未观看',
'accessibility.tapToPlay' => '点击播放',
'accessibility.decrease' => '减小',
'accessibility.increase' => '增大',
'accessibility.decreaseValue' => ({required Object label}) => '减小${label}',
'accessibility.increaseValue' => ({required Object label}) => '增大${label}',
'accessibility.hue' => '色相',
'accessibility.saturation' => '饱和度',
'accessibility.brightness' => '亮度',
'accessibility.hexColor' => '十六进制颜色',
'tooltips.shufflePlay' => '随机播放',
'tooltips.playTrailer' => '播放预告片',
'tooltips.markAsWatched' => '标记为已观看',
@@ -2573,13 +2547,11 @@ extension on TranslationsZh {
'videoControls.settingsButton' => '播放设置',
'videoControls.tracksButton' => '音频和字幕',
'videoControls.chaptersButton' => '章节',
'videoControls.versionsButton' => '视频版本',
'videoControls.versionQualityButton' => '版本与画质',
'videoControls.versionColumnHeader' => '版本',
'videoControls.qualityColumnHeader' => '画质',
'videoControls.qualityOriginal' => '原始',
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
'videoControls.qualityBandwidthEstimate' => ({required Object bitrate}) => '~${bitrate} Mbps',
'videoControls.transcodeUnavailableFallback' => '转码不可用 — 以原始画质播放',
'videoControls.pipButton' => '画中画模式',
'videoControls.aspectRatioButton' => '宽高比',
@@ -2619,10 +2591,6 @@ extension on TranslationsZh {
'videoControls.subtitleDownloaded' => '字幕已下载',
'videoControls.subtitleDownloadFailed' => '字幕下载失败',
'videoControls.searchLanguages' => '搜索语言...',
'userStatus.admin' => '管理员',
'userStatus.restricted' => '受限',
'userStatus.protected' => '受保护',
'userStatus.current' => '当前',
'messages.markedAsWatched' => '已标记为已观看',
'messages.markedAsUnwatched' => '已标记为未观看',
'messages.markedAsWatchedOffline' => '已标记为已观看 (将在联网时同步)',
@@ -2632,8 +2600,6 @@ extension on TranslationsZh {
'messages.errorLoading' => ({required Object error}) => '错误: ${error}',
'messages.streamInterrupted' => '视频流已中断。按播放键或拖动进度条重试。',
'messages.fileInfoNotAvailable' => '文件信息不可用',
_ => null,
} ?? switch (path) {
'messages.errorLoadingFileInfo' => ({required Object error}) => '加载文件信息时出错: ${error}',
'messages.errorLoadingSeries' => '加载系列时出错',
'messages.musicNotSupported' => '尚不支持播放音乐',
@@ -2641,6 +2607,8 @@ extension on TranslationsZh {
'messages.noProfilesAvailable' => '没有可用的用户',
'messages.contactAdminForProfiles' => '请联系服务器管理员添加用户配置',
'messages.unableToDetermineLibrarySection' => '无法确定此项目的库分区',
_ => null,
} ?? switch (path) {
'messages.logsCleared' => '日志已清除',
'messages.logsCopied' => '日志已复制到剪贴板',
'messages.noLogsAvailable' => '没有可用日志',
@@ -2757,7 +2725,6 @@ extension on TranslationsZh {
'profiles.pinExplain' => '切换个人资料需要 4 位 PIN。',
'profiles.continueButton' => '继续',
'profiles.pinsDontMatch' => 'PIN 不匹配',
'profiles.initializeServicesFailed' => '无法初始化个人资料服务',
'connections.sectionTitle' => '连接',
'connections.addConnection' => '添加连接',
'connections.addConnectionSubtitleNoProfile' => '使用 Plex 登录或连接 Jellyfin 服务器',
@@ -2768,7 +2735,6 @@ extension on TranslationsZh {
'connections.editJellyfinTitle' => '编辑 Jellyfin 连接',
'connections.editJellyfinIntro' => ({required Object serverName}) => '添加或移除 ${serverName} 的 URL。Plezy 会使用可访问且延迟最低的 URL。',
'discover.title' => '发现',
'discover.switchProfile' => '切换用户',
'discover.noContentAvailable' => '没有可用内容',
'discover.addMediaToLibraries' => '请向你的媒体库添加一些媒体',
'discover.continueWatching' => '继续观看',
@@ -2795,8 +2761,6 @@ extension on TranslationsZh {
'errors.connectionFailed' => '无法连接到媒体服务器',
'errors.failedToLoad' => ({required Object context, required Object error}) => '无法加载 ${context}: ${error}',
'errors.noClientAvailable' => '没有可用客户端',
'errors.authenticationFailed' => ({required Object error}) => '验证失败: ${error}',
'errors.couldNotLaunchUrl' => '无法打开授权 URL',
'errors.pleaseEnterToken' => '请输入一个令牌',
'errors.invalidToken' => '令牌无效',
'errors.failedToVerifyToken' => ({required Object error}) => '无法验证令牌: ${error}',
@@ -2821,6 +2785,8 @@ extension on TranslationsZh {
'libraries.allLibrariesHidden' => '所有媒体库已隐藏',
'libraries.hiddenLibrariesCount' => ({required Object count}) => '已隐藏的媒体库 (${count})',
'libraries.thisLibraryIsEmpty' => '此媒体库为空',
'libraries.noItemsMatchFilters' => '没有项目符合当前筛选条件',
'libraries.resetFilters' => '重置筛选条件',
'libraries.all' => '全部',
'libraries.clearAll' => '全部清除',
'libraries.scanLibraryConfirm' => ({required Object title}) => '确定要扫描 “${title}” 吗?',
@@ -2869,7 +2835,6 @@ extension on TranslationsZh {
'libraries.sortLabels.communityRating' => '社区评分',
'libraries.sortLabels.criticRating' => '影评人评分',
'libraries.sortLabels.userRating' => '用户评分',
'libraries.sortLabels.lastPlayed' => '最近播放',
'libraries.sortLabels.datePlayed' => '播放日期',
'libraries.sortLabels.playCount' => '播放次数',
'libraries.sortLabels.productionYear' => '制作年份',
@@ -2883,14 +2848,11 @@ extension on TranslationsZh {
'libraries.sortLabels.dateShared' => '共享日期',
'libraries.sortLabels.latestEpisodeAirDate' => '最新一集播出日期',
'libraries.sortLabels.lastEpisodeDateAdded' => '最新一集添加日期',
'libraries.noItemsMatchFilters' => '没有项目符合当前筛选条件',
'libraries.resetFilters' => '重置筛选条件',
'about.title' => '关于',
'about.openSourceLicenses' => '开源许可证',
'about.versionLabel' => ({required Object version}) => '版本 ${version}',
'about.appDescription' => '一款精美的 Flutter Plex 和 Jellyfin 客户端',
'about.viewLicensesDescription' => '查看第三方库的许可证',
'serverSelection.allServerConnectionsFailed' => '无法连接到任何服务器。请检查网络。',
'serverSelection.noServersFoundForAccount' => ({required Object username, required Object email}) => '未找到 ${username} (${email}) 的服务器',
'serverSelection.failedToLoadServers' => ({required Object error}) => '无法加载服务器: ${error}',
'hubDetail.title' => '标题',
@@ -2936,7 +2898,6 @@ extension on TranslationsZh {
'explore.watchlistUpdateFailed' => '无法更新想看列表',
'explore.notInLibrary' => '不在你的媒体库中',
'explore.inTheseLibraries' => '在这些媒体库中',
'explore.availableOn' => ({required Object server}) => '${server} 上可用',
'explore.checkingLibrary' => '正在检查你的媒体库...',
'explore.emptyTitle' => '这里还什么都没有',
'explore.emptyMessage' => ({required Object source}) => '${source} 有内容时,相关内容将显示在这里。',
@@ -2948,6 +2909,8 @@ extension on TranslationsZh {
'liveTv.guide' => '节目指南',
'liveTv.noChannels' => '没有可用的频道',
'liveTv.noDvr' => '没有服务器配置了DVR',
'liveTv.serverUnavailable' => '直播电视服务器不可用。',
'liveTv.serverNotConnected' => '直播电视服务器未连接。',
'liveTv.noPrograms' => '没有可用的节目数据',
'liveTv.liveStreamFailed' => '直播流失败',
'liveTv.unknownProgram' => '未知节目',
@@ -2983,7 +2946,6 @@ extension on TranslationsZh {
'liveTv.scheduledRecordings' => '已安排',
'liveTv.recordingRules' => '录制规则',
'liveTv.noScheduledRecordings' => '没有安排的录制',
'liveTv.noRecordingRules' => '还没有录制规则',
'liveTv.manageRecording' => '管理录制',
'liveTv.cancelRecording' => '取消录制',
'liveTv.cancelRecordingTitle' => '取消此次录制?',
@@ -3000,7 +2962,6 @@ extension on TranslationsZh {
'liveTv.recordingCancelled' => '录制已取消',
'liveTv.recordingRuleDeleted' => '录制规则已删除',
'liveTv.processRecordingRules' => '重新评估规则',
'liveTv.loadingRecordings' => '正在加载录制内容...',
'liveTv.recordingInProgress' => '正在录制',
'liveTv.recordingsCount' => ({required Object count}) => '已安排 ${count}',
'liveTv.editRule' => '编辑规则',
@@ -3012,7 +2973,6 @@ extension on TranslationsZh {
'collections.title' => '合集',
'collections.collection' => '合集',
'collections.empty' => '合集为空',
'collections.unknownLibrarySection' => '无法删除:未知的媒体库分区',
'collections.deleteCollection' => '删除合集',
'collections.deleteConfirm' => ({required Object title}) => '要删除“${title}”吗?此操作无法撤销。',
'collections.deleted' => '已删除合集',
@@ -3050,6 +3010,7 @@ extension on TranslationsZh {
'playlists.itemAdded' => '已添加到播放列表',
'playlists.itemRemoved' => '已从播放列表中移除',
'playlists.selectPlaylist' => '选择播放列表',
'playlists.searchPlaylists' => '搜索播放列表...',
'playlists.errorCreating' => '创建播放列表失败',
'playlists.errorDeleting' => '删除播放列表失败',
'playlists.errorLoading' => '加载播放列表失败',
@@ -3132,22 +3093,20 @@ extension on TranslationsZh {
'watchTogether.participantResumed' => ({required Object name}) => '${name} 继续播放了',
'watchTogether.participantSeeked' => ({required Object name}) => '${name} 跳转了',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} 正在缓冲',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} 正在使用较旧版本的应用,无法同步',
'watchTogether.resumingWithout' => ({required Object name}) => '不等待 ${name},继续播放',
'watchTogether.waitingForParticipants' => '等待其他人加载...',
'watchTogether.waitingForName' => ({required Object name}) => '正在等待 ${name}...',
'watchTogether.recentRooms' => '最近的房间',
'watchTogether.renameRoom' => '重命名房间',
'watchTogether.removeRoom' => '移除',
'watchTogether.guestSwitchUnavailable' => '无法切换 — 服务器无法同步',
'watchTogether.guestSwitchFailed' => '无法切换 — 在此服务器上未找到内容',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} 正在使用较旧版本的应用,无法同步',
'watchTogether.resumingWithout' => ({required Object name}) => '不等待 ${name},继续播放',
'watchTogether.waitingForName' => ({required Object name}) => '正在等待 ${name}...',
'downloads.title' => '下载',
'downloads.manage' => '管理',
'downloads.tvShows' => '电视剧',
'downloads.movies' => '电影',
'downloads.music' => '音乐',
_ => null,
} ?? switch (path) {
'downloads.tracksQueued' => ({required Object count}) => '${count} 首曲目已加入下载队列',
'downloads.noDownloads' => '暂无下载',
'downloads.noDownloadsDescription' => '下载的内容将在此处显示以供离线观看',
@@ -3162,6 +3121,8 @@ extension on TranslationsZh {
'downloads.deleteConfirm' => ({required Object title}) => '要从此设备删除“${title}”吗?',
'downloads.cancelledDownloadTitle' => '已取消的下载',
'downloads.cancelledDownloadMessage' => '此下载已取消。你想怎么做?',
_ => null,
} ?? switch (path) {
'downloads.allEpisodesAlreadyDownloaded' => '所有剧集均已下载',
'downloads.resumeDownload' => '继续下载',
'downloads.cancelledDownload' => '已取消的下载',
@@ -3185,7 +3146,6 @@ extension on TranslationsZh {
'downloads.customAmount' => '自定义数量...',
'downloads.includeSpecials' => '包含特别篇',
'downloads.howManyEpisodes' => '下载几集?',
'downloads.itemsQueued' => ({required Object count}) => '${count} 个项目已加入下载队列',
'downloads.keepSynced' => '保持同步',
'downloads.downloadOnce' => '下载一次',
'downloads.keepNUnwatched' => ({required Object count}) => '保留${count}个未观看',
@@ -3229,7 +3189,6 @@ extension on TranslationsZh {
'companionRemote.connectedTo' => ({required Object name}) => '已连接到 ${name}',
'companionRemote.unknownDevice' => '未知设备',
'companionRemote.session.startingServer' => '正在启动远程服务器...',
'companionRemote.session.failedToCreate' => '启动远程服务器失败:',
'companionRemote.session.hostAddress' => '主机地址',
'companionRemote.session.connected' => '已连接',
'companionRemote.session.serverRunning' => '远程服务器已启动',
@@ -3284,6 +3243,8 @@ extension on TranslationsZh {
'companionRemote.remote.searchHint' => '在桌面上搜索...',
'companionRemote.errors.noNetworkInterface' => '未找到网络接口',
'companionRemote.errors.authenticationFailed' => '身份验证失败',
'companionRemote.errors.serverStartFailed' => ({required Object error}) => '无法启动远程服务器:${error}',
'companionRemote.errors.commandFailed' => ({required Object error}) => '无法发送远程命令:${error}',
'companionRemote.errors.joinTimedOut' => '加入会话超时',
'companionRemote.errors.failedToConnectAnyAddress' => '无法连接到任何地址',
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => '${attempts} 次尝试后连接丢失',
@@ -3528,7 +3489,6 @@ extension on TranslationsZh {
'addServer.quickConnectFailed' => ({required Object error}) => 'Quick Connect 失败: ${error}',
'addServer.addPlexTitle' => '使用 Plex 登录',
'addServer.pinExpired' => 'PIN 在登录前已过期。请重试。',
'addServer.duplicatePlexAccount' => '已登录 Plex。请退出登录以切换账号。',
'addServer.failedToRegisterAccount' => ({required Object error}) => '注册帐户失败: ${error}',
'addServer.enterJellyfinUrlError' => '输入你的 Jellyfin 服务器 URL',
'addServer.addConnectionTitle' => '添加连接',
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "Logga in",
"signInWithPlex": "Logga in med Plex",
"showQRCode": "Visa QR-kod",
"authenticate": "Autentisera",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "Avsnitt ${number} - ${title}",
"chapterNumber": "Kapitel ${number}",
"reconnect": "Återanslut",
"exit": "Avsluta",
"viewAll": "Visa alla",
"checkingNetwork": "Kontrollerar nätverk...",
"refreshingServers": "Uppdaterar servrar...",
"loadingServers": "Laddar servrar...",
"connectingToServers": "Ansluter till servrar...",
"startingOfflineMode": "Startar offlineläge...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "Använd TV-kort med enbart bild och skådespelarnamn ovanpå",
"focusGlow": "Fokusglöd",
"focusGlowDescription": "Visa en mjuk glöd runt kortet i fokus",
"visualEffects": "Visuella effekter",
"visualEffectsAuto": "Automatiskt",
"visualEffectsAutoDescription": "Minska effekter automatiskt på enheter med låg effekt",
"visualEffectsFull": "Fullständiga",
"visualEffectsReduced": "Minskade",
"visualEffectsReducedDescription": "Färre animationer och grafik med lägre upplösning",
"hideSpoilers": "Dölj spoilers för osedda avsnitt",
"hideSpoilersDescription": "Sudda miniatyrbilder och beskrivningar för osedda avsnitt",
"playerBackend": "Spelarmotor",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "Auto (Rekommenderat)",
"bufferSizeWarning": "${heap}MB minne tillgängligt. En buffert på ${size}MB kan påverka uppspelningen.",
"defaultQualityTitle": "Standardkvalitet",
"defaultQualityDescription": "Används vid start av uppspelning. Lägre värden minskar bandbredden.",
"musicQualityTitle": "Musikkvalitet",
"subtitleStyling": "Undertext-styling",
"subtitleStylingDescription": "Anpassa undertextutseende",
"smallSkipDuration": "Kort hoppvaraktighet",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Visa vad du tittar på i Discord",
"trakt": "Trakt",
"traktDescription": "Synkronisera visningshistorik med Trakt",
"services": "Tjänster",
"servicesDescription": "Anslut Trakt, MyAnimeList, Seerr med mera",
"manageLibrariesDescription": "Ordna om och dölj bibliotek",
"companionRemoteServer": "Companion Remote-server",
"companionRemoteServerDescription": "Tillåt mobila enheter i ditt nätverk att styra denna app",
"autoPip": "Automatisk bild-i-bild",
@@ -311,7 +313,6 @@
"showNavBarLabels": "Visa navigeringsfältets etiketter",
"showNavBarLabelsDescription": "Visa textetiketter under navigeringsfältets ikoner",
"startupSection": "Startsektion",
"startupSectionDescription": "Välj vilken sektion Plezy öppnar vid start",
"liveTvDefaultFavorites": "Standard till favoritkanaler",
"liveTvDefaultFavoritesDescription": "Visa bara favoritkanaler när du öppnar Live TV",
"display": "Skärm",
@@ -322,14 +323,7 @@
"player": "Spelare",
"subtitlesAndConfig": "Undertexter och konfiguration",
"seekAndTiming": "Sök och timing",
"behavior": "Beteende",
"manageLibrariesDescription": "Ordna om och dölj bibliotek",
"visualEffects": "Visuella effekter",
"visualEffectsAuto": "Automatiskt",
"visualEffectsAutoDescription": "Minska effekter automatiskt på enheter med låg effekt",
"visualEffectsFull": "Fullständiga",
"visualEffectsReduced": "Minskade",
"visualEffectsReducedDescription": "Färre animationer och grafik med lägre upplösning"
"behavior": "Beteende"
},
"search": {
"hint": "Sök filmer, serier, musik...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "Betygsätt",
"server": "Server",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "Ange betyg",
"favorite": "Favorit",
"favorited": "Tillagd i favoriter",
"saved": "Sparat",
"notAvailable": "Ingen matchning hittades",
"noConnectedServices": "Anslut en tjänst i Inställningar för att betygsätta där.",
"favorite": "Favorit",
"favorited": "Tillagd i favoriter"
"noConnectedServices": "Anslut en tjänst i Inställningar för att betygsätta där."
},
"accessibility": {
"mediaCardMovie": "${title}, film",
@@ -435,7 +426,15 @@
"mediaCardWatched": "sedd",
"mediaCardPartiallyWatched": "${percent} procent sedd",
"mediaCardUnwatched": "osedd",
"tapToPlay": "Tryck för att spela"
"tapToPlay": "Tryck för att spela",
"decrease": "Minska",
"increase": "Öka",
"decreaseValue": "Minska ${label}",
"increaseValue": "Öka ${label}",
"hue": "Nyans",
"saturation": "Mättnad",
"brightness": "Ljusstyrka",
"hexColor": "Hexfärg"
},
"tooltips": {
"shufflePlay": "Blanda uppspelning",
@@ -481,13 +480,11 @@
"settingsButton": "Uppspelningsinställningar",
"tracksButton": "Ljud och undertexter",
"chaptersButton": "Kapitel",
"versionsButton": "Videoversioner",
"versionQualityButton": "Version och kvalitet",
"versionColumnHeader": "Version",
"qualityColumnHeader": "Kvalitet",
"qualityOriginal": "Original",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "Transkodning otillgänglig — spelar upp i originalkvalitet",
"pipButton": "Bild-i-bild läge",
"aspectRatioButton": "Bildförhållande",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "Kunde inte ladda ner undertext",
"searchLanguages": "Sök språk..."
},
"userStatus": {
"admin": "Admin",
"restricted": "Begränsad",
"protected": "Skyddad",
"current": "NUVARANDE"
},
"userStatus": {},
"messages": {
"markedAsWatched": "Markerad som sedd",
"markedAsUnwatched": "Markerad som osedd",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN-skydd (valfritt)",
"pinExplain": "4-siffrig PIN krävs för att byta profiler.",
"continueButton": "Fortsätt",
"pinsDontMatch": "PIN-koderna stämmer inte överens",
"initializeServicesFailed": "Kunde inte initiera profiltjänster"
"pinsDontMatch": "PIN-koderna stämmer inte överens"
},
"connections": {
"sectionTitle": "Anslutningar",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "Upptäck",
"switchProfile": "Byt profil",
"noContentAvailable": "Inget innehåll tillgängligt",
"addMediaToLibraries": "Lägg till media till dina bibliotek",
"continueWatching": "Fortsätt titta",
@@ -721,8 +711,6 @@
"connectionFailed": "Kan inte ansluta till mediaserver",
"failedToLoad": "Misslyckades att ladda ${context}: ${error}",
"noClientAvailable": "Ingen klient tillgänglig",
"authenticationFailed": "Autentisering misslyckades: ${error}",
"couldNotLaunchUrl": "Kunde inte öppna autentiserings-URL",
"pleaseEnterToken": "Vänligen ange en token",
"invalidToken": "Ogiltig token",
"failedToVerifyToken": "Misslyckades att verifiera token: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "Alla bibliotek är dolda",
"hiddenLibrariesCount": "Dolda bibliotek (${count})",
"thisLibraryIsEmpty": "Detta bibliotek är tomt",
"noItemsMatchFilters": "Inga objekt matchar de aktiva filtren",
"resetFilters": "Återställ filter",
"all": "Alla",
"clearAll": "Rensa alla",
"scanLibraryConfirm": "Är du säker på att du vill skanna \"${title}\"?",
@@ -804,7 +794,6 @@
"communityRating": "Användarbetyg",
"criticRating": "Kritikerbetyg",
"userRating": "Användarbetyg",
"lastPlayed": "Senast spelad",
"datePlayed": "Speldatum",
"playCount": "Antal spelningar",
"productionYear": "Produktionsår",
@@ -818,9 +807,7 @@
"dateShared": "Delningsdatum",
"latestEpisodeAirDate": "Senaste avsnittets sändningsdatum",
"lastEpisodeDateAdded": "Datum då senaste avsnittet lades till"
},
"noItemsMatchFilters": "Inga objekt matchar de aktiva filtren",
"resetFilters": "Återställ filter"
}
},
"about": {
"title": "Om",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "Visa licenser för tredjepartsbibliotek"
},
"serverSelection": {
"allServerConnectionsFailed": "Kunde inte ansluta till några servrar. Kontrollera nätverket.",
"noServersFoundForAccount": "Inga servrar hittades för ${username} (${email})",
"failedToLoadServers": "Misslyckades att ladda servrar: ${error}"
},
@@ -893,7 +879,6 @@
"watchlistUpdateFailed": "Det gick inte att uppdatera bevakningslistan",
"notInLibrary": "Finns inte i ditt bibliotek",
"inTheseLibraries": "I dessa bibliotek",
"availableOn": "Tillgänglig på ${server}",
"checkingLibrary": "Kontrollerar ditt bibliotek...",
"emptyTitle": "Inget här ännu",
"emptyMessage": "Rader från ${source} visas här när de har innehåll.",
@@ -907,6 +892,8 @@
"guide": "Programguide",
"noChannels": "Inga kanaler tillgängliga",
"noDvr": "Ingen DVR konfigurerad på någon server",
"serverUnavailable": "Live-tv-servern är inte tillgänglig.",
"serverNotConnected": "Live-tv-servern är inte ansluten.",
"noPrograms": "Ingen programdata tillgänglig",
"liveStreamFailed": "Liveström misslyckades",
"unknownProgram": "Okänt program",
@@ -942,7 +929,6 @@
"scheduledRecordings": "Schemalagda",
"recordingRules": "Inspelningsregler",
"noScheduledRecordings": "Inga schemalagda inspelningar",
"noRecordingRules": "Inga inspelningsregler än",
"manageRecording": "Hantera inspelning",
"cancelRecording": "Avbryt inspelning",
"cancelRecordingTitle": "Avbryt denna inspelning?",
@@ -959,7 +945,6 @@
"recordingCancelled": "Inspelning avbruten",
"recordingRuleDeleted": "Inspelningsregel borttagen",
"processRecordingRules": "Utvärdera regler igen",
"loadingRecordings": "Laddar inspelningar ...",
"recordingInProgress": "Spelar in nu",
"recordingsCount": "${count} schemalagda",
"editRule": "Redigera regel",
@@ -973,7 +958,6 @@
"title": "Samlingar",
"collection": "Samling",
"empty": "Samlingen är tom",
"unknownLibrarySection": "Kan inte ta bort: okänd bibliotekssektion",
"deleteCollection": "Ta bort samling",
"deleteConfirm": "Ta bort \"${title}\"? Detta kan inte ångras.",
"deleted": "Samling borttagen",
@@ -1013,6 +997,7 @@
"itemAdded": "Tillagd i spellista",
"itemRemoved": "Borttagen från spellista",
"selectPlaylist": "Välj spellista",
"searchPlaylists": "Sök i spellistor...",
"errorCreating": "Det gick inte att skapa spellista",
"errorDeleting": "Det gick inte att ta bort spellista",
"errorLoading": "Det gick inte att ladda spellistor",
@@ -1102,15 +1087,15 @@
"participantResumed": "${name} återupptog",
"participantSeeked": "${name} spolade",
"participantBuffering": "${name} buffrar",
"participantNeedsUpdate": "${name} använder en äldre appversion — synkronisering är inte tillgänglig",
"resumingWithout": "Återupptar utan ${name}",
"waitingForParticipants": "Väntar på att andra laddar...",
"waitingForName": "Väntar på ${name}...",
"recentRooms": "Senaste rum",
"renameRoom": "Byt namn på rum",
"removeRoom": "Ta bort",
"guestSwitchUnavailable": "Kunde inte byta — server inte tillgänglig för synkronisering",
"guestSwitchFailed": "Kunde inte byta — innehåll hittades inte på denna server",
"participantNeedsUpdate": "${name} använder en äldre appversion — synkronisering är inte tillgänglig",
"resumingWithout": "Återupptar utan ${name}",
"waitingForName": "Väntar på ${name}..."
"guestSwitchFailed": "Kunde inte byta — innehåll hittades inte på denna server"
},
"downloads": {
"title": "Nedladdningar",
@@ -1155,7 +1140,6 @@
"customAmount": "Ange antal...",
"includeSpecials": "Inkludera specialavsnitt",
"howManyEpisodes": "Hur många avsnitt?",
"itemsQueued": "${count} objekt köade för nedladdning",
"keepSynced": "Håll synkroniserad",
"downloadOnce": "Ladda ner en gång",
"keepNUnwatched": "Behåll ${count} osedda",
@@ -1204,7 +1188,6 @@
"unknownDevice": "Okänd enhet",
"session": {
"startingServer": "Startar fjärrserver...",
"failedToCreate": "Kunde inte starta fjärrserver:",
"hostAddress": "Värdadress",
"connected": "Ansluten",
"serverRunning": "Fjärrserver aktiv",
@@ -1265,6 +1248,8 @@
"errors": {
"noNetworkInterface": "Inget nätverksgränssnitt hittades",
"authenticationFailed": "Autentisering misslyckades",
"serverStartFailed": "Det gick inte att starta fjärrservern: ${error}",
"commandFailed": "Det gick inte att skicka fjärrkommandot: ${error}",
"joinTimedOut": "Tidsgräns vid anslutning till session",
"failedToConnectAnyAddress": "Kunde inte ansluta till någon adress",
"connectionLostAfterAttempts": "Anslutning förlorad efter ${attempts} försök",
@@ -1538,7 +1523,6 @@
"quickConnectFailed": "Quick Connect misslyckades: ${error}",
"addPlexTitle": "Logga in med Plex",
"pinExpired": "PIN-koden gick ut innan inloggning. Försök igen.",
"duplicatePlexAccount": "Redan inloggad på Plex. Logga ut för att byta konto.",
"failedToRegisterAccount": "Kunde inte registrera kontot: ${error}",
"enterJellyfinUrlError": "Ange URL till din Jellyfin-server",
"addConnectionTitle": "Lägg till anslutning",
+35 -51
View File
@@ -3,7 +3,6 @@
"title": "Plezy"
},
"auth": {
"signIn": "登录",
"signInWithPlex": "使用 Plex 登录",
"showQRCode": "显示二维码",
"authenticate": "验证",
@@ -56,10 +55,8 @@
"episodeNumberTitle": "第${number}集 - ${title}",
"chapterNumber": "章节 ${number}",
"reconnect": "重新连接",
"exit": "退出",
"viewAll": "查看全部",
"checkingNetwork": "正在检查网络...",
"refreshingServers": "正在刷新服务器...",
"loadingServers": "正在加载服务器...",
"connectingToServers": "正在连接服务器...",
"startingOfflineMode": "正在启动离线模式...",
@@ -139,6 +136,12 @@
"tvFullCardLayoutDescription": "使用仅显示图片的 TV 卡片,并叠加演员姓名",
"focusGlow": "焦点光晕",
"focusGlowDescription": "在获得焦点的卡片周围显示柔和的光晕",
"visualEffects": "视觉效果",
"visualEffectsAuto": "自动",
"visualEffectsAutoDescription": "在性能较低的设备上自动减少效果",
"visualEffectsFull": "完整",
"visualEffectsReduced": "简化",
"visualEffectsReducedDescription": "减少动画并使用较低分辨率的封面图片",
"hideSpoilers": "隐藏未看剧集的剧透内容",
"hideSpoilersDescription": "模糊未观看剧集的缩略图和描述",
"playerBackend": "播放器引擎",
@@ -151,7 +154,7 @@
"bufferSizeAuto": "自动(推荐)",
"bufferSizeWarning": "可用内存 ${heap}MB。${size}MB 缓冲可能影响播放。",
"defaultQualityTitle": "默认画质",
"defaultQualityDescription": "开始播放时使用。较低的值可减少带宽。",
"musicQualityTitle": "音乐质量",
"subtitleStyling": "字幕样式",
"subtitleStylingDescription": "调整字幕外观",
"smallSkipDuration": "短跳过时长",
@@ -245,10 +248,9 @@
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord 动态状态",
"discordRichPresenceDescription": "在 Discord 上显示您正在观看的内容",
"trakt": "Trakt",
"traktDescription": "将观看历史与 Trakt 同步",
"services": "服务",
"servicesDescription": "连接 Trakt、MyAnimeList、Seerr 等",
"manageLibrariesDescription": "重新排序和隐藏媒体库",
"companionRemoteServer": "配套遥控服务器",
"companionRemoteServerDescription": "允许网络上的移动设备控制此应用",
"autoPip": "自动画中画",
@@ -311,7 +313,6 @@
"showNavBarLabels": "显示导航栏标签",
"showNavBarLabelsDescription": "在导航栏图标下方显示文字标签",
"startupSection": "启动页面",
"startupSectionDescription": "选择 Plezy 启动时打开的页面",
"liveTvDefaultFavorites": "默认显示收藏频道",
"liveTvDefaultFavoritesDescription": "打开直播电视时仅显示收藏频道",
"display": "显示",
@@ -322,14 +323,7 @@
"player": "播放器",
"subtitlesAndConfig": "字幕与配置",
"seekAndTiming": "跳转与计时",
"behavior": "行为",
"manageLibrariesDescription": "重新排序和隐藏媒体库",
"visualEffects": "视觉效果",
"visualEffectsAuto": "自动",
"visualEffectsAutoDescription": "在性能较低的设备上自动减少效果",
"visualEffectsFull": "完整",
"visualEffectsReduced": "简化",
"visualEffectsReducedDescription": "减少动画并使用较低分辨率的封面图片"
"behavior": "行为"
},
"search": {
"hint": "搜索电影、系列、音乐...",
@@ -418,14 +412,11 @@
"rateSheet": {
"title": "评分",
"server": "服务器",
"starValue": "${rating} / 5",
"scoreValue": "${score} / 10",
"setScore": "设置分数",
"favorite": "收藏",
"favorited": "已收藏",
"saved": "已保存",
"notAvailable": "未找到匹配项",
"noConnectedServices": "在设置中连接服务,即可在此评分。",
"favorite": "收藏",
"favorited": "已收藏"
"noConnectedServices": "在设置中连接服务,即可在此评分。"
},
"accessibility": {
"mediaCardMovie": "${title}, 电影",
@@ -435,7 +426,15 @@
"mediaCardWatched": "已观看",
"mediaCardPartiallyWatched": "已观看 ${percent} 百分比",
"mediaCardUnwatched": "未观看",
"tapToPlay": "点击播放"
"tapToPlay": "点击播放",
"decrease": "减小",
"increase": "增大",
"decreaseValue": "减小${label}",
"increaseValue": "增大${label}",
"hue": "色相",
"saturation": "饱和度",
"brightness": "亮度",
"hexColor": "十六进制颜色"
},
"tooltips": {
"shufflePlay": "随机播放",
@@ -481,13 +480,11 @@
"settingsButton": "播放设置",
"tracksButton": "音频和字幕",
"chaptersButton": "章节",
"versionsButton": "视频版本",
"versionQualityButton": "版本与画质",
"versionColumnHeader": "版本",
"qualityColumnHeader": "画质",
"qualityOriginal": "原始",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"qualityBandwidthEstimate": "~${bitrate} Mbps",
"transcodeUnavailableFallback": "转码不可用 — 以原始画质播放",
"pipButton": "画中画模式",
"aspectRatioButton": "宽高比",
@@ -530,12 +527,7 @@
"subtitleDownloadFailed": "字幕下载失败",
"searchLanguages": "搜索语言..."
},
"userStatus": {
"admin": "管理员",
"restricted": "受限",
"protected": "受保护",
"current": "当前"
},
"userStatus": {},
"messages": {
"markedAsWatched": "已标记为已观看",
"markedAsUnwatched": "已标记为未观看",
@@ -676,8 +668,7 @@
"pinProtectionOptional": "PIN 保护(可选)",
"pinExplain": "切换个人资料需要 4 位 PIN。",
"continueButton": "继续",
"pinsDontMatch": "PIN 不匹配",
"initializeServicesFailed": "无法初始化个人资料服务"
"pinsDontMatch": "PIN 不匹配"
},
"connections": {
"sectionTitle": "连接",
@@ -692,7 +683,6 @@
},
"discover": {
"title": "发现",
"switchProfile": "切换用户",
"noContentAvailable": "没有可用内容",
"addMediaToLibraries": "请向你的媒体库添加一些媒体",
"continueWatching": "继续观看",
@@ -721,8 +711,6 @@
"connectionFailed": "无法连接到媒体服务器",
"failedToLoad": "无法加载 ${context}: ${error}",
"noClientAvailable": "没有可用客户端",
"authenticationFailed": "验证失败: ${error}",
"couldNotLaunchUrl": "无法打开授权 URL",
"pleaseEnterToken": "请输入一个令牌",
"invalidToken": "令牌无效",
"failedToVerifyToken": "无法验证令牌: ${error}",
@@ -749,6 +737,8 @@
"allLibrariesHidden": "所有媒体库已隐藏",
"hiddenLibrariesCount": "已隐藏的媒体库 (${count})",
"thisLibraryIsEmpty": "此媒体库为空",
"noItemsMatchFilters": "没有项目符合当前筛选条件",
"resetFilters": "重置筛选条件",
"all": "全部",
"clearAll": "全部清除",
"scanLibraryConfirm": "确定要扫描 “${title}” 吗?",
@@ -804,7 +794,6 @@
"communityRating": "社区评分",
"criticRating": "影评人评分",
"userRating": "用户评分",
"lastPlayed": "最近播放",
"datePlayed": "播放日期",
"playCount": "播放次数",
"productionYear": "制作年份",
@@ -818,9 +807,7 @@
"dateShared": "共享日期",
"latestEpisodeAirDate": "最新一集播出日期",
"lastEpisodeDateAdded": "最新一集添加日期"
},
"noItemsMatchFilters": "没有项目符合当前筛选条件",
"resetFilters": "重置筛选条件"
}
},
"about": {
"title": "关于",
@@ -830,7 +817,6 @@
"viewLicensesDescription": "查看第三方库的许可证"
},
"serverSelection": {
"allServerConnectionsFailed": "无法连接到任何服务器。请检查网络。",
"noServersFoundForAccount": "未找到 ${username} (${email}) 的服务器",
"failedToLoadServers": "无法加载服务器: ${error}"
},
@@ -892,7 +878,6 @@
"watchlistUpdateFailed": "无法更新想看列表",
"notInLibrary": "不在你的媒体库中",
"inTheseLibraries": "在这些媒体库中",
"availableOn": "在 ${server} 上可用",
"checkingLibrary": "正在检查你的媒体库...",
"emptyTitle": "这里还什么都没有",
"emptyMessage": "当 ${source} 有内容时,相关内容将显示在这里。",
@@ -906,6 +891,8 @@
"guide": "节目指南",
"noChannels": "没有可用的频道",
"noDvr": "没有服务器配置了DVR",
"serverUnavailable": "直播电视服务器不可用。",
"serverNotConnected": "直播电视服务器未连接。",
"noPrograms": "没有可用的节目数据",
"liveStreamFailed": "直播流失败",
"unknownProgram": "未知节目",
@@ -941,7 +928,6 @@
"scheduledRecordings": "已安排",
"recordingRules": "录制规则",
"noScheduledRecordings": "没有安排的录制",
"noRecordingRules": "还没有录制规则",
"manageRecording": "管理录制",
"cancelRecording": "取消录制",
"cancelRecordingTitle": "取消此次录制?",
@@ -958,7 +944,6 @@
"recordingCancelled": "录制已取消",
"recordingRuleDeleted": "录制规则已删除",
"processRecordingRules": "重新评估规则",
"loadingRecordings": "正在加载录制内容...",
"recordingInProgress": "正在录制",
"recordingsCount": "已安排 ${count} 个",
"editRule": "编辑规则",
@@ -972,7 +957,6 @@
"title": "合集",
"collection": "合集",
"empty": "合集为空",
"unknownLibrarySection": "无法删除:未知的媒体库分区",
"deleteCollection": "删除合集",
"deleteConfirm": "要删除“${title}”吗?此操作无法撤销。",
"deleted": "已删除合集",
@@ -1012,6 +996,7 @@
"itemAdded": "已添加到播放列表",
"itemRemoved": "已从播放列表中移除",
"selectPlaylist": "选择播放列表",
"searchPlaylists": "搜索播放列表...",
"errorCreating": "创建播放列表失败",
"errorDeleting": "删除播放列表失败",
"errorLoading": "加载播放列表失败",
@@ -1100,15 +1085,15 @@
"participantResumed": "${name} 继续播放了",
"participantSeeked": "${name} 跳转了",
"participantBuffering": "${name} 正在缓冲",
"participantNeedsUpdate": "${name} 正在使用较旧版本的应用,无法同步",
"resumingWithout": "不等待 ${name},继续播放",
"waitingForParticipants": "等待其他人加载...",
"waitingForName": "正在等待 ${name}...",
"recentRooms": "最近的房间",
"renameRoom": "重命名房间",
"removeRoom": "移除",
"guestSwitchUnavailable": "无法切换 — 服务器无法同步",
"guestSwitchFailed": "无法切换 — 在此服务器上未找到内容",
"participantNeedsUpdate": "${name} 正在使用较旧版本的应用,无法同步",
"resumingWithout": "不等待 ${name},继续播放",
"waitingForName": "正在等待 ${name}..."
"guestSwitchFailed": "无法切换 — 在此服务器上未找到内容"
},
"downloads": {
"title": "下载",
@@ -1153,7 +1138,6 @@
"customAmount": "自定义数量...",
"includeSpecials": "包含特别篇",
"howManyEpisodes": "下载几集?",
"itemsQueued": "${count} 个项目已加入下载队列",
"keepSynced": "保持同步",
"downloadOnce": "下载一次",
"keepNUnwatched": "保留${count}个未观看",
@@ -1202,7 +1186,6 @@
"unknownDevice": "未知设备",
"session": {
"startingServer": "正在启动远程服务器...",
"failedToCreate": "启动远程服务器失败:",
"hostAddress": "主机地址",
"connected": "已连接",
"serverRunning": "远程服务器已启动",
@@ -1263,6 +1246,8 @@
"errors": {
"noNetworkInterface": "未找到网络接口",
"authenticationFailed": "身份验证失败",
"serverStartFailed": "无法启动远程服务器:${error}",
"commandFailed": "无法发送远程命令:${error}",
"joinTimedOut": "加入会话超时",
"failedToConnectAnyAddress": "无法连接到任何地址",
"connectionLostAfterAttempts": "${attempts} 次尝试后连接丢失",
@@ -1536,7 +1521,6 @@
"quickConnectFailed": "Quick Connect 失败: ${error}",
"addPlexTitle": "使用 Plex 登录",
"pinExpired": "PIN 在登录前已过期。请重试。",
"duplicatePlexAccount": "已登录 Plex。请退出登录以切换账号。",
"failedToRegisterAccount": "注册帐户失败: ${error}",
"enterJellyfinUrlError": "输入你的 Jellyfin 服务器 URL",
"addConnectionTitle": "添加连接",
+17 -6
View File
@@ -26,6 +26,11 @@ export '../services/companion_remote/lan_discovery_service.dart' show Discovered
typedef CommandReceivedCallback = void Function(RemoteCommand command);
typedef PlexHomeResolver = Future<PlexHome?> Function(String connectionId);
String _localizedRemoteError(Object error, String Function(String details) fallback) {
if (error is RemotePeerError) return error.message;
return fallback(error.toString().replaceFirst('Exception: ', ''));
}
class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin {
RemoteSession? _session;
CompanionRemotePeerService? _peerService;
@@ -486,7 +491,7 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
_session = RemoteSession(
role: RemoteSessionRole.host,
status: RemoteSessionStatus.error,
errorMessage: e.toString(),
errorMessage: _localizedRemoteError(e, (details) => t.companionRemote.errors.serverStartFailed(error: details)),
createdAt: DateTime.now(),
);
safeNotifyListeners();
@@ -530,11 +535,11 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
/// Connect to a discovered host as a remote client.
Future<void> connectToDiscoveredHost(DiscoveredHost host) async {
if (!isCryptoReady) {
throw StateError('Crypto not initialized');
throw RemotePeerError(type: RemotePeerErrorType.authFailed, message: t.companionRemote.pairing.cryptoInitFailed);
}
final authContext = _authContextForId(host.authContextId);
if (authContext == null) {
throw StateError('Matching auth context is no longer available');
throw RemotePeerError(type: RemotePeerErrorType.authFailed, message: t.companionRemote.pairing.authFailed);
}
await leaveSession();
@@ -573,7 +578,10 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
appLogger.d('CompanionRemote: Connected to ${host.name} via $winner');
} catch (e) {
appLogger.e('CompanionRemote: Failed to connect to host', error: e);
_session = _session?.copyWith(status: RemoteSessionStatus.error, errorMessage: e.toString());
_session = _session?.copyWith(
status: RemoteSessionStatus.error,
errorMessage: _localizedRemoteError(e, (details) => t.companionRemote.pairing.failedToConnect(error: details)),
);
safeNotifyListeners();
rethrow;
}
@@ -582,7 +590,7 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
/// Connect to a host by manual IP:port entry.
Future<void> connectToManualHost(String hostAddress) async {
if (!isCryptoReady) {
throw StateError('Crypto not initialized');
throw RemotePeerError(type: RemotePeerErrorType.authFailed, message: t.companionRemote.pairing.cryptoInitFailed);
}
await leaveSession();
@@ -612,7 +620,10 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
safeNotifyListeners();
} catch (e) {
appLogger.e('CompanionRemote: Failed to connect to manual host', error: e);
_session = _session?.copyWith(status: RemoteSessionStatus.error, errorMessage: e.toString());
_session = _session?.copyWith(
status: RemoteSessionStatus.error,
errorMessage: _localizedRemoteError(e, (details) => t.companionRemote.pairing.failedToConnect(error: details)),
);
safeNotifyListeners();
rethrow;
}
@@ -117,7 +117,10 @@ class CompanionRemotePeerService with KeepaliveMixin {
List<RemoteAuthContext> authContexts,
) async {
if (authContexts.isEmpty) {
throw const RemotePeerError(type: RemotePeerErrorType.authFailed, message: 'No auth contexts available');
throw RemotePeerError(
type: RemotePeerErrorType.authFailed,
message: t.companionRemote.errors.authenticationFailed,
);
}
if (_server != null) {
@@ -168,7 +171,7 @@ class CompanionRemotePeerService with KeepaliveMixin {
_errorController.add(
RemotePeerError(
type: RemotePeerErrorType.serverError,
message: 'Failed to create server: $e',
message: t.companionRemote.errors.serverStartFailed(error: e.toString()),
originalError: e,
),
);
@@ -369,7 +372,7 @@ class CompanionRemotePeerService with KeepaliveMixin {
_errorController.add(
RemotePeerError(
type: RemotePeerErrorType.dataChannelError,
message: 'WebSocket error: $error',
message: t.companionRemote.pairing.failedToConnect(error: error.toString()),
originalError: error,
),
);
@@ -396,7 +399,10 @@ class CompanionRemotePeerService with KeepaliveMixin {
String expectedHostClientId = '',
}) async {
if (authContexts.isEmpty) {
throw const RemotePeerError(type: RemotePeerErrorType.authFailed, message: 'No auth contexts available');
throw RemotePeerError(
type: RemotePeerErrorType.authFailed,
message: t.companionRemote.errors.authenticationFailed,
);
}
if (_channel != null) {
@@ -506,7 +512,10 @@ class CompanionRemotePeerService with KeepaliveMixin {
appLogger.w('CompanionRemote: No shared auth context with host');
if (!completer.isCompleted) {
completer.completeError(
const RemotePeerError(type: RemotePeerErrorType.authFailed, message: 'No shared identity'),
RemotePeerError(
type: RemotePeerErrorType.authFailed,
message: t.companionRemote.errors.authenticationFailed,
),
);
}
unawaited(_channel?.sink.close(4003, 'Authentication failed'));
@@ -520,7 +529,10 @@ class CompanionRemotePeerService with KeepaliveMixin {
appLogger.w('CompanionRemote: Host client ID mismatch');
if (!completer.isCompleted) {
completer.completeError(
const RemotePeerError(type: RemotePeerErrorType.authFailed, message: 'Host identity mismatch'),
RemotePeerError(
type: RemotePeerErrorType.authFailed,
message: t.companionRemote.errors.authenticationFailed,
),
);
}
unawaited(_channel?.sink.close(4003, 'Authentication failed'));
@@ -599,7 +611,7 @@ class CompanionRemotePeerService with KeepaliveMixin {
_errorController.add(
RemotePeerError(
type: RemotePeerErrorType.connectionFailed,
message: 'Connection error: $error',
message: t.companionRemote.pairing.failedToConnect(error: error.toString()),
originalError: error,
),
);
@@ -614,7 +626,11 @@ class CompanionRemotePeerService with KeepaliveMixin {
}
_errorController.add(
RemotePeerError(type: RemotePeerErrorType.connectionFailed, message: 'Failed to connect: $e', originalError: e),
RemotePeerError(
type: RemotePeerErrorType.connectionFailed,
message: t.companionRemote.pairing.failedToConnect(error: e.toString()),
originalError: e,
),
);
}
@@ -644,7 +660,10 @@ class CompanionRemotePeerService with KeepaliveMixin {
String expectedHostClientId = '',
}) async {
if (authContexts.isEmpty) {
throw const RemotePeerError(type: RemotePeerErrorType.authFailed, message: 'No auth contexts available');
throw RemotePeerError(
type: RemotePeerErrorType.authFailed,
message: t.companionRemote.errors.authenticationFailed,
);
}
if (hostAddresses.length == 1) {
@@ -743,7 +762,7 @@ class CompanionRemotePeerService with KeepaliveMixin {
return winner;
} on TimeoutException {
cleanup();
throw const RemotePeerError(type: RemotePeerErrorType.timeout, message: 'Timed out connecting to all addresses');
throw RemotePeerError(type: RemotePeerErrorType.timeout, message: t.companionRemote.errors.joinTimedOut);
}
}
@@ -878,7 +897,7 @@ class CompanionRemotePeerService with KeepaliveMixin {
_errorController.add(
RemotePeerError(
type: RemotePeerErrorType.dataChannelError,
message: 'Failed to send command: $e',
message: t.companionRemote.errors.commandFailed(error: e.toString()),
originalError: e,
),
);
+3 -2
View File
@@ -2,6 +2,7 @@ import 'dart:async';
import '../media/ids.dart';
import 'package:flutter/material.dart';
import '../i18n/strings.g.dart';
import '../media/media_item.dart';
import '../media/media_kind.dart';
@@ -28,13 +29,13 @@ Future<void> navigateToLiveTv(
}) async {
final serverInfo = liveTvServerInfoForChannel(multiServer, channel);
if (serverInfo == null) {
showErrorSnackBar(context, 'Live TV server is not available.');
showErrorSnackBar(context, Translations.of(context).liveTv.serverUnavailable);
return;
}
final client = multiServer.getClientForServer(ServerId(serverInfo.serverId));
if (client == null) {
showErrorSnackBar(context, 'Live TV server is not connected.');
showErrorSnackBar(context, Translations.of(context).liveTv.serverNotConnected);
return;
}
@@ -64,7 +64,7 @@ class _RemoteSessionDialogState extends State<RemoteSessionDialog> with MountedS
} catch (e) {
setStateIfMounted(() {
_isStarting = false;
_errorMessage = e.toString();
_errorMessage = t.companionRemote.errors.serverStartFailed(error: e.toString().replaceFirst('Exception: ', ''));
});
}
}
@@ -113,15 +113,7 @@ class _RemoteSessionDialogState extends State<RemoteSessionDialog> with MountedS
if (_errorMessage != null) {
return AlertDialog(
title: Text(t.common.error),
content: Column(
mainAxisSize: .min,
crossAxisAlignment: .start,
children: [
Text(t.companionRemote.session.failedToCreate),
const SizedBox(height: 8),
Text(_errorMessage!, style: const TextStyle(fontFamily: 'monospace')),
],
),
content: Text(_errorMessage!, style: const TextStyle(fontFamily: 'monospace')),
actions: [
FocusableButton(
autofocus: true,
+13 -3
View File
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import '../i18n/strings.g.dart';
import '../focus/dpad_navigator.dart';
import '../focus/focus_theme.dart';
import '../focus/focusable_text_field.dart';
@@ -124,6 +125,7 @@ class _TvColorPickerState extends State<TvColorPicker> with ControllerDisposerMi
const SizedBox(height: 16),
_ColorChannelRow(
label: 'H',
semanticLabel: Translations.of(context).accessibility.hue,
value: _hue,
min: 0,
max: 360,
@@ -139,6 +141,7 @@ class _TvColorPickerState extends State<TvColorPicker> with ControllerDisposerMi
const SizedBox(height: 8),
_ColorChannelRow(
label: 'S',
semanticLabel: Translations.of(context).accessibility.saturation,
value: _saturation,
min: 0,
max: 100,
@@ -153,6 +156,7 @@ class _TvColorPickerState extends State<TvColorPicker> with ControllerDisposerMi
const SizedBox(height: 8),
_ColorChannelRow(
label: 'V',
semanticLabel: Translations.of(context).accessibility.brightness,
value: _value,
min: 0,
max: 100,
@@ -168,7 +172,11 @@ class _TvColorPickerState extends State<TvColorPicker> with ControllerDisposerMi
FocusableTextField(
controller: _hexController,
focusNode: _hexFocusNode,
decoration: const InputDecoration(prefixText: '#', labelText: 'Hex', border: OutlineInputBorder()),
decoration: InputDecoration(
prefixText: '#',
labelText: Translations.of(context).accessibility.hexColor,
border: const OutlineInputBorder(),
),
maxLength: 6,
inputFormatters: [FilteringTextInputFormatter.allow(RegExp(r'[0-9a-fA-F]'))],
onChanged: _onHexChanged,
@@ -184,6 +192,7 @@ class _TvColorPickerState extends State<TvColorPicker> with ControllerDisposerMi
/// UP/DOWN are ignored so focus traverses normally between rows.
class _ColorChannelRow extends StatefulWidget {
final String label;
final String semanticLabel;
final int value;
final int min;
final int max;
@@ -197,6 +206,7 @@ class _ColorChannelRow extends StatefulWidget {
const _ColorChannelRow({
required this.label,
required this.semanticLabel,
required this.value,
required this.min,
required this.max,
@@ -317,7 +327,7 @@ class _ColorChannelRowState extends State<_ColorChannelRow> with KeyRepeatHelper
_ChannelButton(
icon: Symbols.remove_rounded,
onPressed: canDecrement ? _decrement : null,
semanticLabel: 'Decrease ${widget.label}',
semanticLabel: Translations.of(context).accessibility.decreaseValue(label: widget.semanticLabel),
),
const SizedBox(width: 8),
Container(
@@ -329,7 +339,7 @@ class _ColorChannelRowState extends State<_ColorChannelRow> with KeyRepeatHelper
_ChannelButton(
icon: Symbols.add_rounded,
onPressed: canIncrement ? _increment : null,
semanticLabel: 'Increase ${widget.label}',
semanticLabel: Translations.of(context).accessibility.increaseValue(label: widget.semanticLabel),
),
],
),
+3 -2
View File
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import '../i18n/strings.g.dart';
import '../focus/dpad_navigator.dart';
import '../focus/focus_theme.dart';
import '../focus/input_mode_tracker.dart';
@@ -155,7 +156,7 @@ class _TvNumberSpinnerState extends State<TvNumberSpinner> with KeyRepeatHelper<
onPressed: canDecrement ? _decrement : null,
onLongPressStart: canDecrement ? () => startRepeat(_decrement) : null,
onLongPressEnd: stopRepeat,
semanticLabel: 'Decrease',
semanticLabel: Translations.of(context).accessibility.decrease,
),
const SizedBox(width: 16),
Container(
@@ -172,7 +173,7 @@ class _TvNumberSpinnerState extends State<TvNumberSpinner> with KeyRepeatHelper<
onPressed: canIncrement ? _increment : null,
onLongPressStart: canIncrement ? () => startRepeat(_increment) : null,
onLongPressEnd: stopRepeat,
semanticLabel: 'Increase',
semanticLabel: Translations.of(context).accessibility.increase,
),
],
),