+80
-2
@@ -52,6 +52,9 @@
|
||||
"settings": "Настройки",
|
||||
"mute": "Заглуши",
|
||||
"ok": "OK",
|
||||
"off": "Изкл.",
|
||||
"seasonNumber": "Сезон ${number}",
|
||||
"chapterNumber": "Глава ${number}",
|
||||
"reconnect": "Свържи отново",
|
||||
"exit": "Изход",
|
||||
"viewAll": "Виж всички",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Нативно / изключено",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Използва засичане на възможностите на устройството и нормално fallback поведение",
|
||||
"dvConversionNativeDescription": "Принуждава нативен DV7 и спира повторния опит за DV конвертиране",
|
||||
"dvConversionDv81Description": "Принуждава inline RPU конвертиране към Dolby Vision профил 8.1",
|
||||
"dvConversionHevcStripDescription": "Премахва Dolby Vision RPU/EL слоевете и подава обикновен HEVC",
|
||||
"requireProfileSelectionOnOpen": "Питай за профил при отваряне на приложението",
|
||||
"requireProfileSelectionOnOpenDescription": "Показвай избор на профил всеки път при отваряне на приложението",
|
||||
"forceTvMode": "Принуди TV режим",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Задай клавишна комбинация за ${actionName}",
|
||||
"clearShortcut": "Изчисти клавишната комбинация",
|
||||
"noShortcutSet": "Няма зададена клавишна комбинация",
|
||||
"currentShortcut": "Текуща комбинация:",
|
||||
"actions": {
|
||||
"playPause": "Пускане/пауза",
|
||||
"volumeUp": "Увеличи звука",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Към сериала",
|
||||
"goToSeason": "Към сезона",
|
||||
"shufflePlay": "Разбъркано възпроизвеждане",
|
||||
"shuffleNotAvailableOffline": "Разбърканото възпроизвеждане не е налично офлайн",
|
||||
"fileInfo": "Информация за файла",
|
||||
"deleteFromServer": "Изтрий от сървъра",
|
||||
"confirmDelete": "Да се изтрие ли тази медия и файловете ѝ от вашия сървър?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Търсене на субтитри",
|
||||
"language": "Език",
|
||||
"noSubtitlesFound": "Не са намерени субтитри",
|
||||
"downloadedSubtitle": "Изтеглени субтитри",
|
||||
"noSubtitlesAvailable": "Няма налични субтитри",
|
||||
"noAudioTracksAvailable": "Няма налични аудио писти",
|
||||
"noTracksAvailable": "Няма налични писти",
|
||||
"subtitleDownloaded": "Субтитърът е изтеглен",
|
||||
"subtitleDownloadFailed": "Неуспешно изтегляне на субтитър",
|
||||
"searchLanguages": "Търсене на езици..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN защита (по желание)",
|
||||
"pinExplain": "Изисква се 4-цифрен PIN за смяна на профили.",
|
||||
"continueButton": "Продължи",
|
||||
"pinsDontMatch": "PIN кодовете не съвпадат"
|
||||
"pinsDontMatch": "PIN кодовете не съвпадат",
|
||||
"initializeServicesFailed": "Неуспешно инициализиране на услугите за профили"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Връзки",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Рейтинг",
|
||||
"movie": "Филм",
|
||||
"tvShow": "ТВ сериал",
|
||||
"minutesLeft": "Остават ${minutes} мин"
|
||||
"minutesLeft": "Остават ${minutes} мин",
|
||||
"moreLikeThis": "Подобно на това"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Търсенето е неуспешно: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Библиотеки",
|
||||
"fallbackTitle": "Библиотека",
|
||||
"scanLibraryFiles": "Сканирай файловете на библиотеката",
|
||||
"scanLibrary": "Сканирай библиотеката",
|
||||
"analyze": "Анализирай",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Няма налични канали",
|
||||
"noDvr": "Няма конфигуриран DVR на нито един сървър",
|
||||
"noPrograms": "Няма налични програмни данни",
|
||||
"liveStreamFailed": "Потокът на живо се провали",
|
||||
"unknownProgram": "Неизвестна програма",
|
||||
"unknownHub": "Неизвестно",
|
||||
"unknownError": "Неизвестна грешка",
|
||||
"channelNumber": "Канал ${number}",
|
||||
"unknownChannel": "Неизвестен канал",
|
||||
"live": "НА ЖИВО",
|
||||
"reloadGuide": "Презареди ТВ програмата",
|
||||
"now": "Сега",
|
||||
@@ -966,10 +989,19 @@
|
||||
"deleteDownload": "Изтрий изтегляне",
|
||||
"retryDownload": "Опитай изтеглянето отново",
|
||||
"downloadQueued": "Изтеглянето е добавено в опашката",
|
||||
"downloadResumed": "Изтеглянето е възобновено",
|
||||
"serverErrorBitrate": "Грешка на сървъра: файлът може да надвишава лимита за отдалечен битрейт",
|
||||
"episodesQueued": "${count} епизода са добавени в опашката за изтегляне",
|
||||
"downloadDeleted": "Изтеглянето е изтрито",
|
||||
"deleteConfirm": "Да се изтрие ли \"${title}\" от това устройство?",
|
||||
"cancelledDownloadTitle": "Отменено изтегляне",
|
||||
"cancelledDownloadMessage": "Това изтегляне беше отменено. Какво искате да направите?",
|
||||
"allEpisodesAlreadyDownloaded": "Всички епизоди вече са изтеглени",
|
||||
"resumeDownload": "Възобнови изтеглянето",
|
||||
"cancelledDownload": "Отменено изтегляне",
|
||||
"syncingFile": "${file} (синхронизира се ${status})",
|
||||
"downloadedFileClickToComplete": "Изтеглен ${file} — щракнете за довършване",
|
||||
"partialDownloadClickToComplete": "Частично изтеглено — щракнете за довършване",
|
||||
"deleting": "Изтриване...",
|
||||
"deletingWithProgress": "Изтриване на ${title}... (${current} от ${total})",
|
||||
"queuedTooltip": "В опашката",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Дистанционно управление",
|
||||
"connectedTo": "Свързан към ${name}",
|
||||
"unknownDevice": "Непознато устройство",
|
||||
"session": {
|
||||
"startingServer": "Стартиране на сървър за дистанционно управление...",
|
||||
"failedToCreate": "Неуспешно стартиране на сървър за дистанционно управление:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Субтитри",
|
||||
"audio": "Аудио",
|
||||
"searchHint": "Търсене на настолен компютър..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Не е намерен мрежов интерфейс",
|
||||
"authenticationFailed": "Неуспешно удостоверяване",
|
||||
"joinTimedOut": "Времето за присъединяване към сесията изтече",
|
||||
"failedToConnectAnyAddress": "Неуспешно свързване към който и да е адрес",
|
||||
"connectionLostAfterAttempts": "Връзката е загубена след ${attempts} опита",
|
||||
"connectionLost": "Връзката е загубена"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Аудио passthrough",
|
||||
"audioNormalization": "Нормализиране на силата на звука"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Цвят",
|
||||
"performance": "Производителност",
|
||||
"buffer": "Буфер",
|
||||
"app": "Приложение",
|
||||
"decoder": "Декодер",
|
||||
"rawDecoder": "Суров декодер",
|
||||
"tunneling": "Тунелиране",
|
||||
"aspect": "Съотношение",
|
||||
"rotation": "Завъртане",
|
||||
"dvSource": "DV източник",
|
||||
"dvPath": "DV път",
|
||||
"p7Conversion": "P7 конв.",
|
||||
"sampleRate": "Честота",
|
||||
"pixelFormat": "Пикселен формат",
|
||||
"hwFormat": "HW формат",
|
||||
"matrix": "Матрица",
|
||||
"primaries": "Основни цветове",
|
||||
"transfer": "Трансфер",
|
||||
"renderFps": "Render FPS",
|
||||
"displayFps": "Display FPS",
|
||||
"avSync": "A/V синхр.",
|
||||
"dropped": "Изпуснати",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "Средно DV RPU",
|
||||
"dvSampleAverage": "Средно DV семпл",
|
||||
"maxLuma": "Макс. яркост",
|
||||
"minLuma": "Мин. яркост",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Използван кеш",
|
||||
"speed": "Скорост",
|
||||
"player": "Плеър",
|
||||
"memory": "Памет",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Външен плеър",
|
||||
"useExternalPlayer": "Използвай външен плеър",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Системен по подразбиране",
|
||||
"addCustomPlayer": "Добави персонален плейър",
|
||||
"playerName": "Име на плейъра",
|
||||
"playerNameHint": "Моят плеър",
|
||||
"playerCommand": "Команда",
|
||||
"playerPackage": "Име на пакет",
|
||||
"playerUrlScheme": "URL схема",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Indstillinger",
|
||||
"mute": "Lydløs",
|
||||
"ok": "OK",
|
||||
"off": "Fra",
|
||||
"seasonNumber": "Sæson ${number}",
|
||||
"chapterNumber": "Kapitel ${number}",
|
||||
"reconnect": "Genopret forbindelse",
|
||||
"exit": "Afslut",
|
||||
"viewAll": "Vis alle",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Native / deaktiveret",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Brug enhedens kapabilitetsregistrering og normal fallbackadfærd",
|
||||
"dvConversionNativeDescription": "Tving native DV7 og undertryk forsøg på DV-konvertering",
|
||||
"dvConversionDv81Description": "Tving inline RPU-konvertering til Dolby Vision profil 8.1",
|
||||
"dvConversionHevcStripDescription": "Fjern Dolby Vision RPU/EL-lag og brug almindelig HEVC",
|
||||
"requireProfileSelectionOnOpen": "Spørg om profil ved åbning",
|
||||
"requireProfileSelectionOnOpenDescription": "Vis profilvalg hver gang appen åbnes",
|
||||
"forceTvMode": "Gennemtving TV-tilstand",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Indstil genvej for ${actionName}",
|
||||
"clearShortcut": "Ryd genvej",
|
||||
"noShortcutSet": "Ingen genvej angivet",
|
||||
"currentShortcut": "Nuværende genvej:",
|
||||
"actions": {
|
||||
"playPause": "Afspil/Pause",
|
||||
"volumeUp": "Lydstyrke op",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Gå til serie",
|
||||
"goToSeason": "Gå til sæson",
|
||||
"shufflePlay": "Afspil tilfældigt",
|
||||
"shuffleNotAvailableOffline": "Bland afspilning er ikke tilgængelig offline",
|
||||
"fileInfo": "Filinfo",
|
||||
"deleteFromServer": "Slet fra server",
|
||||
"confirmDelete": "Slet dette medie og dets filer fra din server?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Søg undertekster",
|
||||
"language": "Sprog",
|
||||
"noSubtitlesFound": "Ingen undertekster fundet",
|
||||
"downloadedSubtitle": "Downloadet",
|
||||
"noSubtitlesAvailable": "Ingen undertekster tilgængelige",
|
||||
"noAudioTracksAvailable": "Ingen lydspor tilgængelige",
|
||||
"noTracksAvailable": "Ingen spor tilgængelige",
|
||||
"subtitleDownloaded": "Undertekst downloadet",
|
||||
"subtitleDownloadFailed": "Kunne ikke downloade undertekst",
|
||||
"searchLanguages": "Søg sprog..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN-beskyttelse (valgfri)",
|
||||
"pinExplain": "4-cifret PIN kræves for at skifte profiler.",
|
||||
"continueButton": "Fortsæt",
|
||||
"pinsDontMatch": "PIN-koder matcher ikke"
|
||||
"pinsDontMatch": "PIN-koder matcher ikke",
|
||||
"initializeServicesFailed": "Kunne ikke initialisere profiltjenester"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Forbindelser",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Bedømmelse",
|
||||
"movie": "Film",
|
||||
"tvShow": "TV-serie",
|
||||
"minutesLeft": "${minutes} min tilbage"
|
||||
"minutesLeft": "${minutes} min tilbage",
|
||||
"moreLikeThis": "Mere som dette"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Søgning mislykkedes: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Biblioteker",
|
||||
"fallbackTitle": "Bibliotek",
|
||||
"scanLibraryFiles": "Scan biblioteksfiler",
|
||||
"scanLibrary": "Scan bibliotek",
|
||||
"analyze": "Analysér",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Ingen kanaler tilgængelige",
|
||||
"noDvr": "Ingen DVR konfigureret på nogen server",
|
||||
"noPrograms": "Ingen programdata tilgængelig",
|
||||
"liveStreamFailed": "Livestream mislykkedes",
|
||||
"unknownProgram": "Ukendt program",
|
||||
"unknownHub": "Ukendt",
|
||||
"unknownError": "Ukendt fejl",
|
||||
"channelNumber": "Kanal ${number}",
|
||||
"unknownChannel": "Ukendt kanal",
|
||||
"live": "LIVE",
|
||||
"reloadGuide": "Genindlæs guide",
|
||||
"now": "Nu",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Slet download",
|
||||
"retryDownload": "Prøv download igen",
|
||||
"downloadQueued": "Download i kø",
|
||||
"downloadResumed": "Download genoptaget",
|
||||
"serverErrorBitrate": "Serverfejl: filen overskrider muligvis grænsen for ekstern bitrate",
|
||||
"episodesQueued": "${count} episoder i downloadkø",
|
||||
"downloadDeleted": "Download slettet",
|
||||
"deleteConfirm": "Slet \"${title}\" fra denne enhed?",
|
||||
"deletingWithProgress": "Sletter ${title}... (${current} af ${total})",
|
||||
"cancelledDownloadTitle": "Annulleret download",
|
||||
"cancelledDownloadMessage": "Denne download blev annulleret. Hvad vil du gøre?",
|
||||
"allEpisodesAlreadyDownloaded": "Alle episoder er allerede downloadet",
|
||||
"resumeDownload": "Genoptag download",
|
||||
"cancelledDownload": "Annulleret download",
|
||||
"syncingFile": "${file} (synkroniserer ${status})",
|
||||
"downloadedFileClickToComplete": "${file} downloadet — klik for at fuldføre",
|
||||
"partialDownloadClickToComplete": "Delvist downloadet — klik for at fuldføre",
|
||||
"deleting": "Sletter...",
|
||||
"deletingWithProgress": "Sletter ${title}... (${current} af ${total})",
|
||||
"queuedTooltip": "I kø",
|
||||
"queuedFilesTooltip": "I kø: ${files}",
|
||||
"downloadingTooltip": "Downloader...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Fjernbetjening",
|
||||
"connectedTo": "Forbundet til ${name}",
|
||||
"unknownDevice": "Ukendt enhed",
|
||||
"session": {
|
||||
"startingServer": "Starter fjernserver...",
|
||||
"failedToCreate": "Kunne ikke starte fjernserver:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Undertekster",
|
||||
"audio": "Lyd",
|
||||
"searchHint": "Søg på desktop..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Ingen netværksgrænseflade fundet",
|
||||
"authenticationFailed": "Godkendelse mislykkedes",
|
||||
"joinTimedOut": "Tidsgrænse for deltagelse i session overskredet",
|
||||
"failedToConnectAnyAddress": "Kunne ikke oprette forbindelse til nogen adresse",
|
||||
"connectionLostAfterAttempts": "Forbindelse mistet efter ${attempts} forsøg",
|
||||
"connectionLost": "Forbindelse mistet"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Lyd-passthrough",
|
||||
"audioNormalization": "Normalisér lydstyrke"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Farve",
|
||||
"performance": "Ydeevne",
|
||||
"buffer": "Buffer",
|
||||
"app": "App",
|
||||
"decoder": "Dekoder",
|
||||
"rawDecoder": "Rå dekoder",
|
||||
"tunneling": "Tunneling",
|
||||
"aspect": "Billedformat",
|
||||
"rotation": "Rotation",
|
||||
"dvSource": "DV-kilde",
|
||||
"dvPath": "DV-sti",
|
||||
"p7Conversion": "P7-konv.",
|
||||
"sampleRate": "Samplingsrate",
|
||||
"pixelFormat": "Pixelformat",
|
||||
"hwFormat": "HW-format",
|
||||
"matrix": "Matrix",
|
||||
"primaries": "Primærfarver",
|
||||
"transfer": "Transfer",
|
||||
"renderFps": "Render FPS",
|
||||
"displayFps": "Skærm-FPS",
|
||||
"avSync": "A/V-synk.",
|
||||
"dropped": "Tabte",
|
||||
"dvRpus": "DV RPU’er",
|
||||
"dvRpuAverage": "DV RPU gns.",
|
||||
"dvSampleAverage": "DV-sample gns.",
|
||||
"maxLuma": "Maks. luma",
|
||||
"minLuma": "Min. luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Brugt cache",
|
||||
"speed": "Hastighed",
|
||||
"player": "Afspiller",
|
||||
"memory": "Hukommelse",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Ekstern afspiller",
|
||||
"useExternalPlayer": "Brug ekstern afspiller",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Systemstandard",
|
||||
"addCustomPlayer": "Tilføj brugerdefineret afspiller",
|
||||
"playerName": "Afspillernavn",
|
||||
"playerNameHint": "Min afspiller",
|
||||
"playerCommand": "Kommando",
|
||||
"playerPackage": "Pakkenavn",
|
||||
"playerUrlScheme": "URL-skema",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Optionen",
|
||||
"mute": "Stumm",
|
||||
"ok": "OK",
|
||||
"off": "Aus",
|
||||
"seasonNumber": "Staffel ${number}",
|
||||
"chapterNumber": "Kapitel ${number}",
|
||||
"reconnect": "Erneut verbinden",
|
||||
"exit": "Beenden",
|
||||
"viewAll": "Alle anzeigen",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Nativ / deaktiviert",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Gerätefähigkeiten erkennen und normales Fallback-Verhalten verwenden",
|
||||
"dvConversionNativeDescription": "Natives DV7 erzwingen und DV-Konvertierungsversuch unterdrücken",
|
||||
"dvConversionDv81Description": "Inline-RPU-Konvertierung zu Dolby Vision Profil 8.1 erzwingen",
|
||||
"dvConversionHevcStripDescription": "Dolby-Vision-RPU/EL-Schichten entfernen und reines HEVC ausgeben",
|
||||
"requireProfileSelectionOnOpen": "Profil beim Öffnen abfragen",
|
||||
"requireProfileSelectionOnOpenDescription": "Profilauswahl bei jedem Öffnen der App anzeigen",
|
||||
"forceTvMode": "TV-Modus erzwingen",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Tastenkürzel festlegen für ${actionName}",
|
||||
"clearShortcut": "Kürzel löschen",
|
||||
"noShortcutSet": "Keine Tastenkombination festgelegt",
|
||||
"currentShortcut": "Aktuelle Tastenkombination:",
|
||||
"actions": {
|
||||
"playPause": "Wiedergabe/Pause",
|
||||
"volumeUp": "Lauter",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Zur Serie",
|
||||
"goToSeason": "Zur Staffel",
|
||||
"shufflePlay": "Zufallswiedergabe",
|
||||
"shuffleNotAvailableOffline": "Zufallswiedergabe ist offline nicht verfügbar",
|
||||
"fileInfo": "Dateiinfo",
|
||||
"deleteFromServer": "Vom Server löschen",
|
||||
"confirmDelete": "Dieses Medium und seine Dateien von deinem Server löschen?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Untertitel suchen",
|
||||
"language": "Sprache",
|
||||
"noSubtitlesFound": "Keine Untertitel gefunden",
|
||||
"downloadedSubtitle": "Heruntergeladen",
|
||||
"noSubtitlesAvailable": "Keine Untertitel verfügbar",
|
||||
"noAudioTracksAvailable": "Keine Audiospuren verfügbar",
|
||||
"noTracksAvailable": "Keine Spuren verfügbar",
|
||||
"subtitleDownloaded": "Untertitel heruntergeladen",
|
||||
"subtitleDownloadFailed": "Untertitel konnte nicht heruntergeladen werden",
|
||||
"searchLanguages": "Sprachen suchen..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN-Schutz (optional)",
|
||||
"pinExplain": "4-stellige PIN zum Profilwechsel erforderlich.",
|
||||
"continueButton": "Weiter",
|
||||
"pinsDontMatch": "PINs stimmen nicht überein"
|
||||
"pinsDontMatch": "PINs stimmen nicht überein",
|
||||
"initializeServicesFailed": "Profildienste konnten nicht initialisiert werden"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Verbindungen",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Altersfreigabe",
|
||||
"movie": "Film",
|
||||
"tvShow": "Serie",
|
||||
"minutesLeft": "${minutes} Min übrig"
|
||||
"minutesLeft": "${minutes} Min übrig",
|
||||
"moreLikeThis": "Ähnliche Inhalte"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Suche fehlgeschlagen: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Mediatheken",
|
||||
"fallbackTitle": "Mediathek",
|
||||
"scanLibraryFiles": "Mediatheksdateien scannen",
|
||||
"scanLibrary": "Mediathek scannen",
|
||||
"analyze": "Analysieren",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Keine Kanäle verfügbar",
|
||||
"noDvr": "Kein DVR auf einem Server konfiguriert",
|
||||
"noPrograms": "Keine Programmdaten verfügbar",
|
||||
"liveStreamFailed": "Livestream fehlgeschlagen",
|
||||
"unknownProgram": "Unbekannte Sendung",
|
||||
"unknownHub": "Unbekannt",
|
||||
"unknownError": "Unbekannter Fehler",
|
||||
"channelNumber": "Kanal ${number}",
|
||||
"unknownChannel": "Unbekannter Kanal",
|
||||
"live": "LIVE",
|
||||
"reloadGuide": "Programmführer neu laden",
|
||||
"now": "Jetzt",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Download löschen",
|
||||
"retryDownload": "Download wiederholen",
|
||||
"downloadQueued": "Download in Warteschlange",
|
||||
"downloadResumed": "Download fortgesetzt",
|
||||
"serverErrorBitrate": "Serverfehler: Datei überschreitet möglicherweise das Remote-Bitrate-Limit",
|
||||
"episodesQueued": "${count} Episoden zum Download hinzugefügt",
|
||||
"downloadDeleted": "Download gelöscht",
|
||||
"deleteConfirm": "\"${title}\" von diesem Gerät löschen?",
|
||||
"deletingWithProgress": "Lösche ${title}... (${current} von ${total})",
|
||||
"cancelledDownloadTitle": "Abgebrochener Download",
|
||||
"cancelledDownloadMessage": "Dieser Download wurde abgebrochen. Was möchtest du tun?",
|
||||
"allEpisodesAlreadyDownloaded": "Alle Episoden sind bereits heruntergeladen",
|
||||
"resumeDownload": "Download fortsetzen",
|
||||
"cancelledDownload": "Abgebrochener Download",
|
||||
"syncingFile": "${file} (${status} wird synchronisiert)",
|
||||
"downloadedFileClickToComplete": "${file} heruntergeladen — zum Abschließen klicken",
|
||||
"partialDownloadClickToComplete": "Teilweise heruntergeladen — zum Abschließen klicken",
|
||||
"deleting": "Lösche...",
|
||||
"deletingWithProgress": "Lösche ${title}... (${current} von ${total})",
|
||||
"queuedTooltip": "In Warteschlange",
|
||||
"queuedFilesTooltip": "In Warteschlange: ${files}",
|
||||
"downloadingTooltip": "Lädt herunter...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Companion-Fernbedienung",
|
||||
"connectedTo": "Verbunden mit ${name}",
|
||||
"unknownDevice": "Unbekanntes Gerät",
|
||||
"session": {
|
||||
"startingServer": "Remote-Server wird gestartet...",
|
||||
"failedToCreate": "Remote-Server konnte nicht gestartet werden:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Untertitel",
|
||||
"audio": "Audio",
|
||||
"searchHint": "Auf Desktop suchen..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Keine Netzwerkschnittstelle gefunden",
|
||||
"authenticationFailed": "Authentifizierung fehlgeschlagen",
|
||||
"joinTimedOut": "Zeitüberschreitung beim Beitreten zur Sitzung",
|
||||
"failedToConnectAnyAddress": "Keine Verbindung zu einer Adresse möglich",
|
||||
"connectionLostAfterAttempts": "Verbindung nach ${attempts} Versuchen verloren",
|
||||
"connectionLost": "Verbindung verloren"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Audio-Durchleitung",
|
||||
"audioNormalization": "Lautstärke normalisieren"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Farbe",
|
||||
"performance": "Leistung",
|
||||
"buffer": "Puffer",
|
||||
"app": "App",
|
||||
"decoder": "Decoder",
|
||||
"rawDecoder": "Raw-Decoder",
|
||||
"tunneling": "Tunneling",
|
||||
"aspect": "Seitenverhältnis",
|
||||
"rotation": "Drehung",
|
||||
"dvSource": "DV-Quelle",
|
||||
"dvPath": "DV-Pfad",
|
||||
"p7Conversion": "P7-Konv.",
|
||||
"sampleRate": "Abtastrate",
|
||||
"pixelFormat": "Pixelformat",
|
||||
"hwFormat": "HW-Format",
|
||||
"matrix": "Matrix",
|
||||
"primaries": "Primärfarben",
|
||||
"transfer": "Transfer",
|
||||
"renderFps": "Render-FPS",
|
||||
"displayFps": "Display-FPS",
|
||||
"avSync": "A/V-Sync",
|
||||
"dropped": "Verworfen",
|
||||
"dvRpus": "DV-RPUs",
|
||||
"dvRpuAverage": "DV-RPU Ø",
|
||||
"dvSampleAverage": "DV-Sample Ø",
|
||||
"maxLuma": "Max. Luma",
|
||||
"minLuma": "Min. Luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache genutzt",
|
||||
"speed": "Geschwindigkeit",
|
||||
"player": "Player",
|
||||
"memory": "Speicher",
|
||||
"uiFps": "UI-FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Externer Player",
|
||||
"useExternalPlayer": "Externen Player verwenden",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Systemstandard",
|
||||
"addCustomPlayer": "Benutzerdefinierten Player hinzufügen",
|
||||
"playerName": "Playername",
|
||||
"playerNameHint": "Mein Player",
|
||||
"playerCommand": "Befehl",
|
||||
"playerPackage": "Paketname",
|
||||
"playerUrlScheme": "URL-Schema",
|
||||
|
||||
+80
-2
@@ -52,6 +52,9 @@
|
||||
"settings": "Settings",
|
||||
"mute": "Mute",
|
||||
"ok": "OK",
|
||||
"off": "Off",
|
||||
"seasonNumber": "Season ${number}",
|
||||
"chapterNumber": "Chapter ${number}",
|
||||
"reconnect": "Reconnect",
|
||||
"exit": "Exit",
|
||||
"viewAll": "View All",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Native / Disabled",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Use device capability detection and normal fallback behavior",
|
||||
"dvConversionNativeDescription": "Force native DV7 and suppress DV conversion retry",
|
||||
"dvConversionDv81Description": "Force inline RPU conversion to Dolby Vision profile 8.1",
|
||||
"dvConversionHevcStripDescription": "Strip Dolby Vision RPU/EL layers and present plain HEVC",
|
||||
"requireProfileSelectionOnOpen": "Ask for profile on app open",
|
||||
"requireProfileSelectionOnOpenDescription": "Show profile selection every time the app is opened",
|
||||
"forceTvMode": "Force TV mode",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Set Shortcut for ${actionName}",
|
||||
"clearShortcut": "Clear shortcut",
|
||||
"noShortcutSet": "No shortcut set",
|
||||
"currentShortcut": "Current shortcut:",
|
||||
"actions": {
|
||||
"playPause": "Play/Pause",
|
||||
"volumeUp": "Volume Up",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Go to series",
|
||||
"goToSeason": "Go to season",
|
||||
"shufflePlay": "Shuffle Play",
|
||||
"shuffleNotAvailableOffline": "Shuffle not available offline",
|
||||
"fileInfo": "File Info",
|
||||
"deleteFromServer": "Delete from server",
|
||||
"confirmDelete": "Delete this media and its files from your server?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Search Subtitles",
|
||||
"language": "Language",
|
||||
"noSubtitlesFound": "No subtitles found",
|
||||
"downloadedSubtitle": "Downloaded",
|
||||
"noSubtitlesAvailable": "No subtitles available",
|
||||
"noAudioTracksAvailable": "No audio tracks available",
|
||||
"noTracksAvailable": "No tracks available",
|
||||
"subtitleDownloaded": "Subtitle downloaded",
|
||||
"subtitleDownloadFailed": "Failed to download subtitle",
|
||||
"searchLanguages": "Search languages..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN protection (optional)",
|
||||
"pinExplain": "4-digit PIN required to switch profiles.",
|
||||
"continueButton": "Continue",
|
||||
"pinsDontMatch": "PINs don't match"
|
||||
"pinsDontMatch": "PINs don't match",
|
||||
"initializeServicesFailed": "Failed to initialize profile services"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Connections",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Rating",
|
||||
"movie": "Movie",
|
||||
"tvShow": "TV Show",
|
||||
"minutesLeft": "${minutes} min left"
|
||||
"minutesLeft": "${minutes} min left",
|
||||
"moreLikeThis": "More Like This"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Search failed: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Libraries",
|
||||
"fallbackTitle": "Library",
|
||||
"scanLibraryFiles": "Scan Library Files",
|
||||
"scanLibrary": "Scan Library",
|
||||
"analyze": "Analyze",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "No channels available",
|
||||
"noDvr": "No DVR configured on any server",
|
||||
"noPrograms": "No program data available",
|
||||
"liveStreamFailed": "Live stream failed",
|
||||
"unknownProgram": "Unknown Program",
|
||||
"unknownHub": "Unknown",
|
||||
"unknownError": "Unknown error",
|
||||
"channelNumber": "Channel ${number}",
|
||||
"unknownChannel": "Unknown channel",
|
||||
"live": "LIVE",
|
||||
"reloadGuide": "Reload Guide",
|
||||
"now": "Now",
|
||||
@@ -966,10 +989,19 @@
|
||||
"deleteDownload": "Delete download",
|
||||
"retryDownload": "Retry download",
|
||||
"downloadQueued": "Download queued",
|
||||
"downloadResumed": "Download resumed",
|
||||
"serverErrorBitrate": "Server error: file may exceed the remote bitrate limit",
|
||||
"episodesQueued": "${count} episodes queued for download",
|
||||
"downloadDeleted": "Download deleted",
|
||||
"deleteConfirm": "Delete \"${title}\" from this device?",
|
||||
"cancelledDownloadTitle": "Cancelled Download",
|
||||
"cancelledDownloadMessage": "This download was cancelled. What would you like to do?",
|
||||
"allEpisodesAlreadyDownloaded": "All episodes already downloaded",
|
||||
"resumeDownload": "Resume download",
|
||||
"cancelledDownload": "Cancelled download",
|
||||
"syncingFile": "${file} (syncing ${status})",
|
||||
"downloadedFileClickToComplete": "Downloaded ${file} - Click to complete",
|
||||
"partialDownloadClickToComplete": "Partially downloaded - Click to complete",
|
||||
"deleting": "Deleting...",
|
||||
"deletingWithProgress": "Deleting ${title}... (${current} of ${total})",
|
||||
"queuedTooltip": "Queued",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Companion Remote",
|
||||
"connectedTo": "Connected to ${name}",
|
||||
"unknownDevice": "Unknown Device",
|
||||
"session": {
|
||||
"startingServer": "Starting remote server...",
|
||||
"failedToCreate": "Failed to start remote server:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Subtitles",
|
||||
"audio": "Audio",
|
||||
"searchHint": "Search on desktop..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "No network interface found",
|
||||
"authenticationFailed": "Authentication failed",
|
||||
"joinTimedOut": "Timed out joining session",
|
||||
"failedToConnectAnyAddress": "Failed to connect to any address",
|
||||
"connectionLostAfterAttempts": "Connection lost after ${attempts} attempts",
|
||||
"connectionLost": "Connection lost"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Audio Passthrough",
|
||||
"audioNormalization": "Normalize Loudness"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Color",
|
||||
"performance": "Performance",
|
||||
"buffer": "Buffer",
|
||||
"app": "App",
|
||||
"decoder": "Decoder",
|
||||
"rawDecoder": "Raw Decoder",
|
||||
"tunneling": "Tunneling",
|
||||
"aspect": "Aspect",
|
||||
"rotation": "Rotation",
|
||||
"dvSource": "DV Source",
|
||||
"dvPath": "DV Path",
|
||||
"p7Conversion": "P7 Conv",
|
||||
"sampleRate": "Sample Rate",
|
||||
"pixelFormat": "Pixel Fmt",
|
||||
"hwFormat": "HW Fmt",
|
||||
"matrix": "Matrix",
|
||||
"primaries": "Primaries",
|
||||
"transfer": "Transfer",
|
||||
"renderFps": "Render FPS",
|
||||
"displayFps": "Display FPS",
|
||||
"avSync": "A/V Sync",
|
||||
"dropped": "Dropped",
|
||||
"dvRpus": "DV RPUs",
|
||||
"dvRpuAverage": "DV RPU Avg",
|
||||
"dvSampleAverage": "DV Sample Avg",
|
||||
"maxLuma": "Max Luma",
|
||||
"minLuma": "Min Luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache Used",
|
||||
"speed": "Speed",
|
||||
"player": "Player",
|
||||
"memory": "Memory",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "External Player",
|
||||
"useExternalPlayer": "Use External Player",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "System Default",
|
||||
"addCustomPlayer": "Add Custom Player",
|
||||
"playerName": "Player Name",
|
||||
"playerNameHint": "My Player",
|
||||
"playerCommand": "Command",
|
||||
"playerPackage": "Package Name",
|
||||
"playerUrlScheme": "URL Scheme",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Ajustes",
|
||||
"mute": "Silencio",
|
||||
"ok": "OK",
|
||||
"off": "Desactivado",
|
||||
"seasonNumber": "Temporada ${number}",
|
||||
"chapterNumber": "Capítulo ${number}",
|
||||
"reconnect": "Reconectar",
|
||||
"exit": "Salir",
|
||||
"viewAll": "Ver todo",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Nativo / desactivado",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Usar detección de capacidades del dispositivo y el comportamiento de respaldo normal",
|
||||
"dvConversionNativeDescription": "Forzar DV7 nativo y suprimir el reintento de conversión DV",
|
||||
"dvConversionDv81Description": "Forzar conversión RPU en línea a Dolby Vision perfil 8.1",
|
||||
"dvConversionHevcStripDescription": "Quitar capas RPU/EL de Dolby Vision y presentar HEVC normal",
|
||||
"requireProfileSelectionOnOpen": "Pedir perfil al abrir la app",
|
||||
"requireProfileSelectionOnOpenDescription": "Mostrar selección de perfil cada vez que se abre la aplicación",
|
||||
"forceTvMode": "Forzar modo TV",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Establecer atajo para ${actionName}",
|
||||
"clearShortcut": "Borrar atajo",
|
||||
"noShortcutSet": "Sin atajo asignado",
|
||||
"currentShortcut": "Atajo actual:",
|
||||
"actions": {
|
||||
"playPause": "Reproducir/Pausar",
|
||||
"volumeUp": "Subir Volumen",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Ir a la serie",
|
||||
"goToSeason": "Ir a la temporada",
|
||||
"shufflePlay": "Reproducción Aleatoria",
|
||||
"shuffleNotAvailableOffline": "La reproducción aleatoria no está disponible sin conexión",
|
||||
"fileInfo": "Información del Archivo",
|
||||
"deleteFromServer": "Eliminar del servidor",
|
||||
"confirmDelete": "¿Eliminar este medio y sus archivos de tu servidor?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Buscar subtítulos",
|
||||
"language": "Idioma",
|
||||
"noSubtitlesFound": "No se encontraron subtítulos",
|
||||
"downloadedSubtitle": "Descargado",
|
||||
"noSubtitlesAvailable": "No hay subtítulos disponibles",
|
||||
"noAudioTracksAvailable": "No hay pistas de audio disponibles",
|
||||
"noTracksAvailable": "No hay pistas disponibles",
|
||||
"subtitleDownloaded": "Subtítulo descargado",
|
||||
"subtitleDownloadFailed": "Error al descargar subtítulo",
|
||||
"searchLanguages": "Buscar idiomas..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"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"
|
||||
"pinsDontMatch": "Los PIN no coinciden",
|
||||
"initializeServicesFailed": "No se pudieron inicializar los servicios de perfil"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Conexiones",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Calificación",
|
||||
"movie": "Película",
|
||||
"tvShow": "Serie de TV",
|
||||
"minutesLeft": "quedan ${minutes} min"
|
||||
"minutesLeft": "quedan ${minutes} min",
|
||||
"moreLikeThis": "Más como esto"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Error en la búsqueda: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Bibliotecas",
|
||||
"fallbackTitle": "Biblioteca",
|
||||
"scanLibraryFiles": "Escanear Archivos de la Biblioteca",
|
||||
"scanLibrary": "Escanear Biblioteca",
|
||||
"analyze": "Analizar",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "No hay canales disponibles",
|
||||
"noDvr": "No hay DVR configurado en ningún servidor",
|
||||
"noPrograms": "No hay datos de programación disponibles",
|
||||
"liveStreamFailed": "Falló la transmisión en vivo",
|
||||
"unknownProgram": "Programa desconocido",
|
||||
"unknownHub": "Desconocido",
|
||||
"unknownError": "Error desconocido",
|
||||
"channelNumber": "Canal ${number}",
|
||||
"unknownChannel": "Canal desconocido",
|
||||
"live": "EN VIVO",
|
||||
"reloadGuide": "Recargar guía",
|
||||
"now": "Ahora",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Eliminar descarga",
|
||||
"retryDownload": "Reintentar descarga",
|
||||
"downloadQueued": "Descarga en cola",
|
||||
"downloadResumed": "Descarga reanudada",
|
||||
"serverErrorBitrate": "Error del servidor: el archivo puede superar el límite de bitrate remoto",
|
||||
"episodesQueued": "${count} episodios en cola para descargar",
|
||||
"downloadDeleted": "Descarga eliminada",
|
||||
"deleteConfirm": "¿Eliminar \"${title}\" de este dispositivo?",
|
||||
"deletingWithProgress": "Eliminando ${title}... (${current} de ${total})",
|
||||
"cancelledDownloadTitle": "Descarga cancelada",
|
||||
"cancelledDownloadMessage": "Esta descarga se canceló. ¿Qué quieres hacer?",
|
||||
"allEpisodesAlreadyDownloaded": "Todos los episodios ya están descargados",
|
||||
"resumeDownload": "Reanudar descarga",
|
||||
"cancelledDownload": "Descarga cancelada",
|
||||
"syncingFile": "${file} (sincronizando ${status})",
|
||||
"downloadedFileClickToComplete": "${file} descargado — haz clic para completar",
|
||||
"partialDownloadClickToComplete": "Descarga parcial — haz clic para completar",
|
||||
"deleting": "Eliminando...",
|
||||
"deletingWithProgress": "Eliminando ${title}... (${current} de ${total})",
|
||||
"queuedTooltip": "En cola",
|
||||
"queuedFilesTooltip": "En cola: ${files}",
|
||||
"downloadingTooltip": "Descargando...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Control remoto",
|
||||
"connectedTo": "Conectado a ${name}",
|
||||
"unknownDevice": "Dispositivo desconocido",
|
||||
"session": {
|
||||
"startingServer": "Iniciando servidor remoto...",
|
||||
"failedToCreate": "Error al iniciar el servidor remoto:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Subtítulos",
|
||||
"audio": "Audio",
|
||||
"searchHint": "Buscar en escritorio..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "No se encontró ninguna interfaz de red",
|
||||
"authenticationFailed": "Autenticación fallida",
|
||||
"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",
|
||||
"connectionLost": "Conexión perdida"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Audio Passthrough",
|
||||
"audioNormalization": "Normalizar volumen"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Color",
|
||||
"performance": "Rendimiento",
|
||||
"buffer": "Búfer",
|
||||
"app": "App",
|
||||
"decoder": "Decodificador",
|
||||
"rawDecoder": "Decodificador raw",
|
||||
"tunneling": "Túnel",
|
||||
"aspect": "Aspecto",
|
||||
"rotation": "Rotación",
|
||||
"dvSource": "Origen DV",
|
||||
"dvPath": "Ruta DV",
|
||||
"p7Conversion": "Conv. P7",
|
||||
"sampleRate": "Frecuencia de muestreo",
|
||||
"pixelFormat": "Formato de píxel",
|
||||
"hwFormat": "Formato HW",
|
||||
"matrix": "Matriz",
|
||||
"primaries": "Primarios",
|
||||
"transfer": "Transferencia",
|
||||
"renderFps": "FPS render",
|
||||
"displayFps": "FPS pantalla",
|
||||
"avSync": "Sincronía A/V",
|
||||
"dropped": "Descartados",
|
||||
"dvRpus": "DV RPUs",
|
||||
"dvRpuAverage": "Prom. DV RPU",
|
||||
"dvSampleAverage": "Prom. muestra DV",
|
||||
"maxLuma": "Luma máx.",
|
||||
"minLuma": "Luma mín.",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Caché usada",
|
||||
"speed": "Velocidad",
|
||||
"player": "Reproductor",
|
||||
"memory": "Memoria",
|
||||
"uiFps": "FPS UI"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Reproductor externo",
|
||||
"useExternalPlayer": "Usar reproductor externo",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Predeterminado del sistema",
|
||||
"addCustomPlayer": "Añadir reproductor personalizado",
|
||||
"playerName": "Nombre del reproductor",
|
||||
"playerNameHint": "Mi reproductor",
|
||||
"playerCommand": "Comando",
|
||||
"playerPackage": "Nombre del paquete",
|
||||
"playerUrlScheme": "Esquema URL",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Réglages",
|
||||
"mute": "Muet",
|
||||
"ok": "OK",
|
||||
"off": "Désactivé",
|
||||
"seasonNumber": "Saison ${number}",
|
||||
"chapterNumber": "Chapitre ${number}",
|
||||
"reconnect": "Reconnecter",
|
||||
"exit": "Quitter",
|
||||
"viewAll": "Tout afficher",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Natif / désactivé",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Utiliser la détection des capacités de l’appareil et le comportement de repli normal",
|
||||
"dvConversionNativeDescription": "Forcer le DV7 natif et bloquer la nouvelle tentative de conversion DV",
|
||||
"dvConversionDv81Description": "Forcer la conversion RPU intégrée vers Dolby Vision profil 8.1",
|
||||
"dvConversionHevcStripDescription": "Supprimer les couches RPU/EL Dolby Vision et présenter du HEVC simple",
|
||||
"requireProfileSelectionOnOpen": "Demander le profil à l'ouverture",
|
||||
"requireProfileSelectionOnOpenDescription": "Afficher la sélection de profil à chaque ouverture de l'application",
|
||||
"forceTvMode": "Forcer le mode TV",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Définir un raccourci pour ${actionName}",
|
||||
"clearShortcut": "Effacer le raccourci",
|
||||
"noShortcutSet": "Aucun raccourci défini",
|
||||
"currentShortcut": "Raccourci actuel :",
|
||||
"actions": {
|
||||
"playPause": "Lecture/Pause",
|
||||
"volumeUp": "Augmenter le volume",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Aller à la série",
|
||||
"goToSeason": "Aller à la saison",
|
||||
"shufflePlay": "Lecture aléatoire",
|
||||
"shuffleNotAvailableOffline": "La lecture aléatoire n’est pas disponible hors ligne",
|
||||
"fileInfo": "Informations sur le fichier",
|
||||
"deleteFromServer": "Supprimer du serveur",
|
||||
"confirmDelete": "Supprimer ce média et ses fichiers de votre serveur ?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Rechercher des sous-titres",
|
||||
"language": "Langue",
|
||||
"noSubtitlesFound": "Aucun sous-titre trouvé",
|
||||
"downloadedSubtitle": "Téléchargé",
|
||||
"noSubtitlesAvailable": "Aucun sous-titre disponible",
|
||||
"noAudioTracksAvailable": "Aucune piste audio disponible",
|
||||
"noTracksAvailable": "Aucune piste disponible",
|
||||
"subtitleDownloaded": "Sous-titre téléchargé",
|
||||
"subtitleDownloadFailed": "Échec du téléchargement du sous-titre",
|
||||
"searchLanguages": "Rechercher des langues..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "Protection par PIN (optionnelle)",
|
||||
"pinExplain": "PIN à 4 chiffres requis pour changer de profil.",
|
||||
"continueButton": "Continuer",
|
||||
"pinsDontMatch": "Les PIN ne correspondent pas"
|
||||
"pinsDontMatch": "Les PIN ne correspondent pas",
|
||||
"initializeServicesFailed": "Impossible d’initialiser les services de profil"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Connexions",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Évaluation",
|
||||
"movie": "Film",
|
||||
"tvShow": "Show TV",
|
||||
"minutesLeft": "${minutes} min restantes"
|
||||
"minutesLeft": "${minutes} min restantes",
|
||||
"moreLikeThis": "Plus de contenus similaires"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Recherche échouée: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Bibliothèques",
|
||||
"fallbackTitle": "Bibliothèque",
|
||||
"scanLibraryFiles": "Scanner les fichiers de la bibliothèque",
|
||||
"scanLibrary": "Scanner la bibliothèque",
|
||||
"analyze": "Analyser",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Aucune chaîne disponible",
|
||||
"noDvr": "Aucun DVR configuré sur les serveurs",
|
||||
"noPrograms": "Aucune donnée de programme disponible",
|
||||
"liveStreamFailed": "Échec du direct",
|
||||
"unknownProgram": "Programme inconnu",
|
||||
"unknownHub": "Inconnu",
|
||||
"unknownError": "Erreur inconnue",
|
||||
"channelNumber": "Chaîne ${number}",
|
||||
"unknownChannel": "Chaîne inconnue",
|
||||
"live": "EN DIRECT",
|
||||
"reloadGuide": "Recharger le guide",
|
||||
"now": "Maintenant",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Supprimer le téléchargement",
|
||||
"retryDownload": "Réessayer le téléchargement",
|
||||
"downloadQueued": "Téléchargement en attente",
|
||||
"downloadResumed": "Téléchargement repris",
|
||||
"serverErrorBitrate": "Erreur serveur : le fichier peut dépasser la limite de bitrate distant",
|
||||
"episodesQueued": "${count} épisodes en attente de téléchargement",
|
||||
"downloadDeleted": "Télécharger supprimé",
|
||||
"deleteConfirm": "Supprimer \"${title}\" de cet appareil ?",
|
||||
"deletingWithProgress": "Suppression de ${title}... (${current} sur ${total})",
|
||||
"cancelledDownloadTitle": "Téléchargement annulé",
|
||||
"cancelledDownloadMessage": "Ce téléchargement a été annulé. Que voulez-vous faire ?",
|
||||
"allEpisodesAlreadyDownloaded": "Tous les épisodes sont déjà téléchargés",
|
||||
"resumeDownload": "Reprendre le téléchargement",
|
||||
"cancelledDownload": "Téléchargement annulé",
|
||||
"syncingFile": "${file} (synchronisation ${status})",
|
||||
"downloadedFileClickToComplete": "${file} téléchargé — cliquez pour terminer",
|
||||
"partialDownloadClickToComplete": "Téléchargement partiel — cliquez pour terminer",
|
||||
"deleting": "Suppression...",
|
||||
"deletingWithProgress": "Suppression de ${title}... (${current} sur ${total})",
|
||||
"queuedTooltip": "En attente",
|
||||
"queuedFilesTooltip": "En attente : ${files}",
|
||||
"downloadingTooltip": "Téléchargement...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Télécommande compagnon",
|
||||
"connectedTo": "Connecté à ${name}",
|
||||
"unknownDevice": "Appareil inconnu",
|
||||
"session": {
|
||||
"startingServer": "Démarrage du serveur distant...",
|
||||
"failedToCreate": "Échec du démarrage du serveur distant :",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Sous-titres",
|
||||
"audio": "Audio",
|
||||
"searchHint": "Rechercher sur le bureau..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Aucune interface réseau trouvée",
|
||||
"authenticationFailed": "Échec de l’authentification",
|
||||
"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",
|
||||
"connectionLost": "Connexion perdue"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Audio Pass-Through",
|
||||
"audioNormalization": "Normaliser le volume"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Couleur",
|
||||
"performance": "Performances",
|
||||
"buffer": "Tampon",
|
||||
"app": "App",
|
||||
"decoder": "Décodeur",
|
||||
"rawDecoder": "Décodeur brut",
|
||||
"tunneling": "Tunneling",
|
||||
"aspect": "Format",
|
||||
"rotation": "Rotation",
|
||||
"dvSource": "Source DV",
|
||||
"dvPath": "Chemin DV",
|
||||
"p7Conversion": "Conv. P7",
|
||||
"sampleRate": "Fréquence",
|
||||
"pixelFormat": "Fmt pixel",
|
||||
"hwFormat": "Fmt HW",
|
||||
"matrix": "Matrice",
|
||||
"primaries": "Primaires",
|
||||
"transfer": "Transfert",
|
||||
"renderFps": "FPS rendu",
|
||||
"displayFps": "FPS écran",
|
||||
"avSync": "Synchro A/V",
|
||||
"dropped": "Perdues",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "Moy. DV RPU",
|
||||
"dvSampleAverage": "Moy. échant. DV",
|
||||
"maxLuma": "Luma max.",
|
||||
"minLuma": "Luma min.",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache utilisé",
|
||||
"speed": "Vitesse",
|
||||
"player": "Lecteur",
|
||||
"memory": "Mémoire",
|
||||
"uiFps": "FPS UI"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Lecteur externe",
|
||||
"useExternalPlayer": "Utiliser un lecteur externe",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Par défaut du système",
|
||||
"addCustomPlayer": "Ajouter un lecteur personnalisé",
|
||||
"playerName": "Nom du lecteur",
|
||||
"playerNameHint": "Mon lecteur",
|
||||
"playerCommand": "Commande",
|
||||
"playerPackage": "Nom du paquet",
|
||||
"playerUrlScheme": "Schéma URL",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Opzioni",
|
||||
"mute": "Muto",
|
||||
"ok": "OK",
|
||||
"off": "Disattivato",
|
||||
"seasonNumber": "Stagione ${number}",
|
||||
"chapterNumber": "Capitolo ${number}",
|
||||
"reconnect": "Riconnetti",
|
||||
"exit": "Esci",
|
||||
"viewAll": "Mostra tutto",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Nativo / disattivato",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Usa il rilevamento delle capacità del dispositivo e il normale comportamento di fallback",
|
||||
"dvConversionNativeDescription": "Forza DV7 nativo e sopprime il nuovo tentativo di conversione DV",
|
||||
"dvConversionDv81Description": "Forza la conversione RPU inline a Dolby Vision profilo 8.1",
|
||||
"dvConversionHevcStripDescription": "Rimuove i livelli RPU/EL Dolby Vision e presenta HEVC semplice",
|
||||
"requireProfileSelectionOnOpen": "Chiedi profilo all'apertura",
|
||||
"requireProfileSelectionOnOpenDescription": "Mostra la selezione del profilo ogni volta che l'app viene aperta",
|
||||
"forceTvMode": "Forza modalità TV",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Imposta scorciatoia per ${actionName}",
|
||||
"clearShortcut": "Elimina scorciatoia",
|
||||
"noShortcutSet": "Nessuna scorciatoia impostata",
|
||||
"currentShortcut": "Scorciatoia attuale:",
|
||||
"actions": {
|
||||
"playPause": "Riproduci/Pausa",
|
||||
"volumeUp": "Alza volume",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Vai alle serie",
|
||||
"goToSeason": "Vai alla stagione",
|
||||
"shufflePlay": "Riproduzione casuale",
|
||||
"shuffleNotAvailableOffline": "Riproduzione casuale non disponibile offline",
|
||||
"fileInfo": "Info sul file",
|
||||
"deleteFromServer": "Elimina dal server",
|
||||
"confirmDelete": "Eliminare questo media e i suoi file dal server?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Cerca sottotitoli",
|
||||
"language": "Lingua",
|
||||
"noSubtitlesFound": "Nessun sottotitolo trovato",
|
||||
"downloadedSubtitle": "Scaricato",
|
||||
"noSubtitlesAvailable": "Nessun sottotitolo disponibile",
|
||||
"noAudioTracksAvailable": "Nessuna traccia audio disponibile",
|
||||
"noTracksAvailable": "Nessuna traccia disponibile",
|
||||
"subtitleDownloaded": "Sottotitolo scaricato",
|
||||
"subtitleDownloadFailed": "Impossibile scaricare il sottotitolo",
|
||||
"searchLanguages": "Cerca lingue..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "Protezione PIN (opzionale)",
|
||||
"pinExplain": "PIN a 4 cifre richiesto per cambiare profilo.",
|
||||
"continueButton": "Continua",
|
||||
"pinsDontMatch": "I PIN non corrispondono"
|
||||
"pinsDontMatch": "I PIN non corrispondono",
|
||||
"initializeServicesFailed": "Impossibile inizializzare i servizi profilo"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Connessioni",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Classificazione",
|
||||
"movie": "Film",
|
||||
"tvShow": "Serie TV",
|
||||
"minutesLeft": "${minutes} minuti rimanenti"
|
||||
"minutesLeft": "${minutes} minuti rimanenti",
|
||||
"moreLikeThis": "Altri contenuti simili"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Ricerca fallita: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Librerie",
|
||||
"fallbackTitle": "Libreria",
|
||||
"scanLibraryFiles": "Scansiona file libreria",
|
||||
"scanLibrary": "Scansiona libreria",
|
||||
"analyze": "Analizza",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Nessun canale disponibile",
|
||||
"noDvr": "Nessun DVR configurato su nessun server",
|
||||
"noPrograms": "Nessun dato di programma disponibile",
|
||||
"liveStreamFailed": "Streaming live non riuscito",
|
||||
"unknownProgram": "Programma sconosciuto",
|
||||
"unknownHub": "Sconosciuto",
|
||||
"unknownError": "Errore sconosciuto",
|
||||
"channelNumber": "Canale ${number}",
|
||||
"unknownChannel": "Canale sconosciuto",
|
||||
"live": "IN DIRETTA",
|
||||
"reloadGuide": "Ricarica guida",
|
||||
"now": "Ora",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Elimina download",
|
||||
"retryDownload": "Riprova download",
|
||||
"downloadQueued": "Download in coda",
|
||||
"downloadResumed": "Download ripreso",
|
||||
"serverErrorBitrate": "Errore server: il file può superare il limite di bitrate remoto",
|
||||
"episodesQueued": "${count} episodi in coda per il download",
|
||||
"downloadDeleted": "Download eliminato",
|
||||
"deleteConfirm": "Eliminare \"${title}\" da questo dispositivo?",
|
||||
"deletingWithProgress": "Eliminazione di ${title}... (${current} di ${total})",
|
||||
"cancelledDownloadTitle": "Download annullato",
|
||||
"cancelledDownloadMessage": "Questo download è stato annullato. Cosa vuoi fare?",
|
||||
"allEpisodesAlreadyDownloaded": "Tutti gli episodi sono già stati scaricati",
|
||||
"resumeDownload": "Riprendi download",
|
||||
"cancelledDownload": "Download annullato",
|
||||
"syncingFile": "${file} (sincronizzazione ${status})",
|
||||
"downloadedFileClickToComplete": "${file} scaricato — fai clic per completare",
|
||||
"partialDownloadClickToComplete": "Scaricato parzialmente — fai clic per completare",
|
||||
"deleting": "Eliminazione...",
|
||||
"deletingWithProgress": "Eliminazione di ${title}... (${current} di ${total})",
|
||||
"queuedTooltip": "In coda",
|
||||
"queuedFilesTooltip": "In coda: ${files}",
|
||||
"downloadingTooltip": "Download in corso...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Telecomando",
|
||||
"connectedTo": "Connesso a ${name}",
|
||||
"unknownDevice": "Dispositivo sconosciuto",
|
||||
"session": {
|
||||
"startingServer": "Avvio del server remoto...",
|
||||
"failedToCreate": "Impossibile avviare il server remoto:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Sottotitoli",
|
||||
"audio": "Audio",
|
||||
"searchHint": "Cerca sul desktop..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Nessuna interfaccia di rete trovata",
|
||||
"authenticationFailed": "Autenticazione non riuscita",
|
||||
"joinTimedOut": "Tempo scaduto durante l’accesso alla sessione",
|
||||
"failedToConnectAnyAddress": "Impossibile connettersi a qualsiasi indirizzo",
|
||||
"connectionLostAfterAttempts": "Connessione persa dopo ${attempts} tentativi",
|
||||
"connectionLost": "Connessione persa"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Audio Passthrough",
|
||||
"audioNormalization": "Normalizza volume"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Colore",
|
||||
"performance": "Prestazioni",
|
||||
"buffer": "Buffer",
|
||||
"app": "App",
|
||||
"decoder": "Decoder",
|
||||
"rawDecoder": "Decoder raw",
|
||||
"tunneling": "Tunneling",
|
||||
"aspect": "Aspetto",
|
||||
"rotation": "Rotazione",
|
||||
"dvSource": "Sorgente DV",
|
||||
"dvPath": "Percorso DV",
|
||||
"p7Conversion": "Conv. P7",
|
||||
"sampleRate": "Frequenza camp.",
|
||||
"pixelFormat": "Formato pixel",
|
||||
"hwFormat": "Formato HW",
|
||||
"matrix": "Matrice",
|
||||
"primaries": "Primari",
|
||||
"transfer": "Transfer",
|
||||
"renderFps": "FPS render",
|
||||
"displayFps": "FPS display",
|
||||
"avSync": "Sync A/V",
|
||||
"dropped": "Scartati",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "Media DV RPU",
|
||||
"dvSampleAverage": "Media camp. DV",
|
||||
"maxLuma": "Luma max",
|
||||
"minLuma": "Luma min",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache usata",
|
||||
"speed": "Velocità",
|
||||
"player": "Player",
|
||||
"memory": "Memoria",
|
||||
"uiFps": "FPS UI"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Lettore esterno",
|
||||
"useExternalPlayer": "Usa lettore esterno",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Predefinito di sistema",
|
||||
"addCustomPlayer": "Aggiungi lettore personalizzato",
|
||||
"playerName": "Nome lettore",
|
||||
"playerNameHint": "Il mio player",
|
||||
"playerCommand": "Comando",
|
||||
"playerPackage": "Nome pacchetto",
|
||||
"playerUrlScheme": "Schema URL",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "設定",
|
||||
"mute": "ミュート",
|
||||
"ok": "OK",
|
||||
"off": "オフ",
|
||||
"seasonNumber": "シーズン${number}",
|
||||
"chapterNumber": "チャプター${number}",
|
||||
"reconnect": "再接続",
|
||||
"exit": "終了",
|
||||
"viewAll": "すべて表示",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "ネイティブ / 無効",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "デバイスの機能検出と通常のフォールバック動作を使用します",
|
||||
"dvConversionNativeDescription": "ネイティブ DV7 を強制し、DV 変換の再試行を抑制します",
|
||||
"dvConversionDv81Description": "Dolby Vision プロファイル 8.1 へのインライン RPU 変換を強制します",
|
||||
"dvConversionHevcStripDescription": "Dolby Vision の RPU/EL レイヤーを削除し、通常の HEVC として扱います",
|
||||
"requireProfileSelectionOnOpen": "アプリ起動時にプロフィールを確認",
|
||||
"requireProfileSelectionOnOpenDescription": "アプリを開くたびにプロフィール選択を表示",
|
||||
"forceTvMode": "TVモードを強制",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "${actionName}のショートカットを設定",
|
||||
"clearShortcut": "ショートカットをクリア",
|
||||
"noShortcutSet": "ショートカット未設定",
|
||||
"currentShortcut": "現在のショートカット:",
|
||||
"actions": {
|
||||
"playPause": "再生/一時停止",
|
||||
"volumeUp": "音量を上げる",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "シリーズへ移動",
|
||||
"goToSeason": "シーズンへ移動",
|
||||
"shufflePlay": "シャッフル再生",
|
||||
"shuffleNotAvailableOffline": "オフラインではシャッフルを利用できません",
|
||||
"fileInfo": "ファイル情報",
|
||||
"deleteFromServer": "サーバーから削除",
|
||||
"confirmDelete": "このメディアとそのファイルをサーバーから削除しますか?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "字幕を検索",
|
||||
"language": "言語",
|
||||
"noSubtitlesFound": "字幕が見つかりません",
|
||||
"downloadedSubtitle": "ダウンロード済み",
|
||||
"noSubtitlesAvailable": "利用可能な字幕はありません",
|
||||
"noAudioTracksAvailable": "利用可能な音声トラックはありません",
|
||||
"noTracksAvailable": "利用可能なトラックはありません",
|
||||
"subtitleDownloaded": "字幕をダウンロードしました",
|
||||
"subtitleDownloadFailed": "字幕のダウンロードに失敗しました",
|
||||
"searchLanguages": "言語を検索..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN保護(オプション)",
|
||||
"pinExplain": "プロフィール切り替えには4桁のPINが必要です。",
|
||||
"continueButton": "続ける",
|
||||
"pinsDontMatch": "PINが一致しません"
|
||||
"pinsDontMatch": "PINが一致しません",
|
||||
"initializeServicesFailed": "プロフィールサービスの初期化に失敗しました"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "接続",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "評価",
|
||||
"movie": "映画",
|
||||
"tvShow": "テレビ番組",
|
||||
"minutesLeft": "残り${minutes}分"
|
||||
"minutesLeft": "残り${minutes}分",
|
||||
"moreLikeThis": "似ている作品"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "検索に失敗しました: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "ライブラリ",
|
||||
"fallbackTitle": "ライブラリ",
|
||||
"scanLibraryFiles": "ライブラリファイルをスキャン",
|
||||
"scanLibrary": "ライブラリをスキャン",
|
||||
"analyze": "解析",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "チャンネルがありません",
|
||||
"noDvr": "どのサーバーにもDVRが設定されていません",
|
||||
"noPrograms": "番組データがありません",
|
||||
"liveStreamFailed": "ライブストリームに失敗しました",
|
||||
"unknownProgram": "不明な番組",
|
||||
"unknownHub": "不明",
|
||||
"unknownError": "不明なエラー",
|
||||
"channelNumber": "チャンネル ${number}",
|
||||
"unknownChannel": "不明なチャンネル",
|
||||
"live": "ライブ",
|
||||
"reloadGuide": "番組表を再読込",
|
||||
"now": "現在",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "ダウンロードを削除",
|
||||
"retryDownload": "ダウンロードを再試行",
|
||||
"downloadQueued": "ダウンロードをキューに追加しました",
|
||||
"downloadResumed": "ダウンロードを再開しました",
|
||||
"serverErrorBitrate": "サーバーエラー: ファイルがリモートビットレート制限を超えている可能性があります",
|
||||
"episodesQueued": "${count}エピソードをダウンロードキューに追加しました",
|
||||
"downloadDeleted": "ダウンロードを削除しました",
|
||||
"deleteConfirm": "このデバイスから「${title}」を削除しますか?",
|
||||
"deletingWithProgress": "${title}を削除中... (${current}/${total})",
|
||||
"cancelledDownloadTitle": "キャンセルされたダウンロード",
|
||||
"cancelledDownloadMessage": "このダウンロードはキャンセルされました。どうしますか?",
|
||||
"allEpisodesAlreadyDownloaded": "すべてのエピソードはすでにダウンロード済みです",
|
||||
"resumeDownload": "ダウンロードを再開",
|
||||
"cancelledDownload": "キャンセルされたダウンロード",
|
||||
"syncingFile": "${file}(${status}を同期中)",
|
||||
"downloadedFileClickToComplete": "${file} をダウンロード済み — クリックして完了",
|
||||
"partialDownloadClickToComplete": "一部ダウンロード済み — クリックして完了",
|
||||
"deleting": "削除中...",
|
||||
"deletingWithProgress": "${title}を削除中... (${current}/${total})",
|
||||
"queuedTooltip": "キュー",
|
||||
"queuedFilesTooltip": "キュー: ${files}",
|
||||
"downloadingTooltip": "ダウンロード中...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "コンパニオンリモート",
|
||||
"connectedTo": "${name}に接続中",
|
||||
"unknownDevice": "不明なデバイス",
|
||||
"session": {
|
||||
"startingServer": "リモートサーバーを起動中...",
|
||||
"failedToCreate": "リモートサーバーの起動に失敗しました:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "字幕",
|
||||
"audio": "音声",
|
||||
"searchHint": "デスクトップで検索..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "ネットワークインターフェースが見つかりません",
|
||||
"authenticationFailed": "認証に失敗しました",
|
||||
"joinTimedOut": "セッション参加がタイムアウトしました",
|
||||
"failedToConnectAnyAddress": "どのアドレスにも接続できませんでした",
|
||||
"connectionLostAfterAttempts": "${attempts}回試行後に接続が切断されました",
|
||||
"connectionLost": "接続が切断されました"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "オーディオパススルー",
|
||||
"audioNormalization": "ラウドネス正規化"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "色",
|
||||
"performance": "パフォーマンス",
|
||||
"buffer": "バッファ",
|
||||
"app": "アプリ",
|
||||
"decoder": "デコーダー",
|
||||
"rawDecoder": "Raw デコーダー",
|
||||
"tunneling": "トンネリング",
|
||||
"aspect": "アスペクト",
|
||||
"rotation": "回転",
|
||||
"dvSource": "DV ソース",
|
||||
"dvPath": "DV パス",
|
||||
"p7Conversion": "P7 変換",
|
||||
"sampleRate": "サンプルレート",
|
||||
"pixelFormat": "ピクセル形式",
|
||||
"hwFormat": "HW 形式",
|
||||
"matrix": "マトリクス",
|
||||
"primaries": "プライマリ",
|
||||
"transfer": "転送",
|
||||
"renderFps": "描画 FPS",
|
||||
"displayFps": "表示 FPS",
|
||||
"avSync": "A/V 同期",
|
||||
"dropped": "ドロップ",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "DV RPU 平均",
|
||||
"dvSampleAverage": "DV サンプル平均",
|
||||
"maxLuma": "最大輝度",
|
||||
"minLuma": "最小輝度",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "使用キャッシュ",
|
||||
"speed": "速度",
|
||||
"player": "プレーヤー",
|
||||
"memory": "メモリ",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "外部プレーヤー",
|
||||
"useExternalPlayer": "外部プレーヤーを使用",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "システムデフォルト",
|
||||
"addCustomPlayer": "カスタムプレーヤーを追加",
|
||||
"playerName": "プレーヤー名",
|
||||
"playerNameHint": "マイプレーヤー",
|
||||
"playerCommand": "コマンド",
|
||||
"playerPackage": "パッケージ名",
|
||||
"playerUrlScheme": "URLスキーム",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "설정",
|
||||
"mute": "음소거",
|
||||
"ok": "확인",
|
||||
"off": "끔",
|
||||
"seasonNumber": "시즌 ${number}",
|
||||
"chapterNumber": "챕터 ${number}",
|
||||
"reconnect": "다시 연결",
|
||||
"exit": "종료",
|
||||
"viewAll": "모두 보기",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "네이티브 / 비활성화",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "기기 기능 감지와 일반 폴백 동작을 사용합니다",
|
||||
"dvConversionNativeDescription": "네이티브 DV7을 강제하고 DV 변환 재시도를 억제합니다",
|
||||
"dvConversionDv81Description": "Dolby Vision 프로필 8.1로 인라인 RPU 변환을 강제합니다",
|
||||
"dvConversionHevcStripDescription": "Dolby Vision RPU/EL 레이어를 제거하고 일반 HEVC로 제공합니다",
|
||||
"requireProfileSelectionOnOpen": "앱 실행 시 프로필 선택",
|
||||
"requireProfileSelectionOnOpenDescription": "앱을 열 때마다 프로필 선택 화면을 표시합니다",
|
||||
"forceTvMode": "TV 모드 강제 사용",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "${actionName}에 대한 단축키 설정",
|
||||
"clearShortcut": "단축키 삭제",
|
||||
"noShortcutSet": "설정된 단축키 없음",
|
||||
"currentShortcut": "현재 단축키:",
|
||||
"actions": {
|
||||
"playPause": "재생/일시정지",
|
||||
"volumeUp": "볼륨 높이기",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "시리즈로 이동",
|
||||
"goToSeason": "시즌으로 이동",
|
||||
"shufflePlay": "무작위 재생",
|
||||
"shuffleNotAvailableOffline": "오프라인에서는 셔플을 사용할 수 없습니다",
|
||||
"fileInfo": "파일 정보",
|
||||
"deleteFromServer": "서버에서 삭제",
|
||||
"confirmDelete": "이 미디어와 해당 파일을 서버에서 삭제할까요?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "자막 검색",
|
||||
"language": "언어",
|
||||
"noSubtitlesFound": "자막을 찾을 수 없습니다",
|
||||
"downloadedSubtitle": "다운로드됨",
|
||||
"noSubtitlesAvailable": "사용 가능한 자막 없음",
|
||||
"noAudioTracksAvailable": "사용 가능한 오디오 트랙 없음",
|
||||
"noTracksAvailable": "사용 가능한 트랙 없음",
|
||||
"subtitleDownloaded": "자막이 다운로드되었습니다",
|
||||
"subtitleDownloadFailed": "자막 다운로드에 실패했습니다",
|
||||
"searchLanguages": "언어 검색..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN 보호 (선택 사항)",
|
||||
"pinExplain": "프로필 전환에는 4자리 PIN이 필요합니다.",
|
||||
"continueButton": "계속",
|
||||
"pinsDontMatch": "PIN이 일치하지 않습니다"
|
||||
"pinsDontMatch": "PIN이 일치하지 않습니다",
|
||||
"initializeServicesFailed": "프로필 서비스를 초기화하지 못했습니다"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "연결",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "연령 등급",
|
||||
"movie": "영화",
|
||||
"tvShow": "TV 시리즈",
|
||||
"minutesLeft": "${minutes}분 남음"
|
||||
"minutesLeft": "${minutes}분 남음",
|
||||
"moreLikeThis": "비슷한 콘텐츠"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "검색 실패: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "미디어 라이브러리",
|
||||
"fallbackTitle": "라이브러리",
|
||||
"scanLibraryFiles": "미디어 라이브러리 파일 스캔",
|
||||
"scanLibrary": "미디어 라이브러리 스캔",
|
||||
"analyze": "분석",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "사용 가능한 채널이 없습니다",
|
||||
"noDvr": "서버에 DVR이 구성되어 있지 않습니다",
|
||||
"noPrograms": "프로그램 데이터가 없습니다",
|
||||
"liveStreamFailed": "라이브 스트림 실패",
|
||||
"unknownProgram": "알 수 없는 프로그램",
|
||||
"unknownHub": "알 수 없음",
|
||||
"unknownError": "알 수 없는 오류",
|
||||
"channelNumber": "채널 ${number}",
|
||||
"unknownChannel": "알 수 없는 채널",
|
||||
"live": "실시간",
|
||||
"reloadGuide": "편성표 새로고침",
|
||||
"now": "지금",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "다운로드 삭제",
|
||||
"retryDownload": "다운로드 재시도",
|
||||
"downloadQueued": "다운로드 대기 중",
|
||||
"downloadResumed": "다운로드를 재개했습니다",
|
||||
"serverErrorBitrate": "서버 오류: 파일이 원격 비트레이트 제한을 초과할 수 있습니다",
|
||||
"episodesQueued": "${count} 에피소드가 다운로드 대기열에 추가 되었습니다",
|
||||
"downloadDeleted": "다운로드 삭제됨",
|
||||
"deleteConfirm": "이 기기에서 \"${title}\"을(를) 삭제할까요?",
|
||||
"deletingWithProgress": "${title} 삭제 중... (${current}/${total})",
|
||||
"cancelledDownloadTitle": "취소된 다운로드",
|
||||
"cancelledDownloadMessage": "이 다운로드가 취소되었습니다. 어떻게 하시겠습니까?",
|
||||
"allEpisodesAlreadyDownloaded": "모든 에피소드가 이미 다운로드되었습니다",
|
||||
"resumeDownload": "다운로드 재개",
|
||||
"cancelledDownload": "취소된 다운로드",
|
||||
"syncingFile": "${file} (${status} 동기화 중)",
|
||||
"downloadedFileClickToComplete": "${file} 다운로드됨 — 클릭하여 완료",
|
||||
"partialDownloadClickToComplete": "부분 다운로드됨 — 클릭하여 완료",
|
||||
"deleting": "삭제 중...",
|
||||
"deletingWithProgress": "${title} 삭제 중... (${current}/${total})",
|
||||
"queuedTooltip": "대기 중",
|
||||
"queuedFilesTooltip": "대기 중: ${files}",
|
||||
"downloadingTooltip": "다운로드 중...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "컴패니언 리모컨",
|
||||
"connectedTo": "${name}에 연결됨",
|
||||
"unknownDevice": "알 수 없는 기기",
|
||||
"session": {
|
||||
"startingServer": "원격 서버 시작 중...",
|
||||
"failedToCreate": "원격 서버를 시작하지 못했습니다:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "자막",
|
||||
"audio": "오디오",
|
||||
"searchHint": "데스크톱에서 검색..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "네트워크 인터페이스를 찾을 수 없습니다",
|
||||
"authenticationFailed": "인증 실패",
|
||||
"joinTimedOut": "세션 참가 시간이 초과되었습니다",
|
||||
"failedToConnectAnyAddress": "어떤 주소에도 연결하지 못했습니다",
|
||||
"connectionLostAfterAttempts": "${attempts}회 시도 후 연결이 끊어졌습니다",
|
||||
"connectionLost": "연결이 끊어졌습니다"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "오디오 패스스루",
|
||||
"audioNormalization": "음량 정규화"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "색상",
|
||||
"performance": "성능",
|
||||
"buffer": "버퍼",
|
||||
"app": "앱",
|
||||
"decoder": "디코더",
|
||||
"rawDecoder": "원본 디코더",
|
||||
"tunneling": "터널링",
|
||||
"aspect": "화면비",
|
||||
"rotation": "회전",
|
||||
"dvSource": "DV 소스",
|
||||
"dvPath": "DV 경로",
|
||||
"p7Conversion": "P7 변환",
|
||||
"sampleRate": "샘플 레이트",
|
||||
"pixelFormat": "픽셀 형식",
|
||||
"hwFormat": "HW 형식",
|
||||
"matrix": "매트릭스",
|
||||
"primaries": "원색",
|
||||
"transfer": "전송",
|
||||
"renderFps": "렌더 FPS",
|
||||
"displayFps": "디스플레이 FPS",
|
||||
"avSync": "A/V 동기화",
|
||||
"dropped": "드롭됨",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "DV RPU 평균",
|
||||
"dvSampleAverage": "DV 샘플 평균",
|
||||
"maxLuma": "최대 휘도",
|
||||
"minLuma": "최소 휘도",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "사용 캐시",
|
||||
"speed": "속도",
|
||||
"player": "플레이어",
|
||||
"memory": "메모리",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "외부 플레이어",
|
||||
"useExternalPlayer": "외부 플레이어 사용",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "시스템 기본값",
|
||||
"addCustomPlayer": "사용자 정의 플레이어 추가",
|
||||
"playerName": "플레이어 이름",
|
||||
"playerNameHint": "내 플레이어",
|
||||
"playerCommand": "명령어",
|
||||
"playerPackage": "패키지 이름",
|
||||
"playerUrlScheme": "URL 스킴",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Innstillinger",
|
||||
"mute": "Demp",
|
||||
"ok": "OK",
|
||||
"off": "Av",
|
||||
"seasonNumber": "Sesong ${number}",
|
||||
"chapterNumber": "Kapittel ${number}",
|
||||
"reconnect": "Koble til på nytt",
|
||||
"exit": "Avslutt",
|
||||
"viewAll": "Vis alle",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Innebygd / deaktivert",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Bruk enhetens kapabilitetsdeteksjon og normal reserveoppførsel",
|
||||
"dvConversionNativeDescription": "Tving native DV7 og undertrykk forsøk på DV-konvertering",
|
||||
"dvConversionDv81Description": "Tving inline RPU-konvertering til Dolby Vision profil 8.1",
|
||||
"dvConversionHevcStripDescription": "Fjern Dolby Vision RPU/EL-lag og presenter vanlig HEVC",
|
||||
"requireProfileSelectionOnOpen": "Spør om profil ved appåpning",
|
||||
"requireProfileSelectionOnOpenDescription": "Vis profilvalg hver gang appen åpnes",
|
||||
"forceTvMode": "Tving TV-modus",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Angi snarvei for ${actionName}",
|
||||
"clearShortcut": "Fjern snarvei",
|
||||
"noShortcutSet": "Ingen snarvei satt",
|
||||
"currentShortcut": "Gjeldende snarvei:",
|
||||
"actions": {
|
||||
"playPause": "Spill av/Pause",
|
||||
"volumeUp": "Volum opp",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Gå til serie",
|
||||
"goToSeason": "Gå til sesong",
|
||||
"shufflePlay": "Tilfeldig avspilling",
|
||||
"shuffleNotAvailableOffline": "Tilfeldig avspilling er ikke tilgjengelig offline",
|
||||
"fileInfo": "Filinformasjon",
|
||||
"deleteFromServer": "Slett fra server",
|
||||
"confirmDelete": "Slette dette mediet og filene fra serveren?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Søk etter undertekster",
|
||||
"language": "Språk",
|
||||
"noSubtitlesFound": "Ingen undertekster funnet",
|
||||
"downloadedSubtitle": "Lastet ned",
|
||||
"noSubtitlesAvailable": "Ingen undertekster tilgjengelig",
|
||||
"noAudioTracksAvailable": "Ingen lydspor tilgjengelig",
|
||||
"noTracksAvailable": "Ingen spor tilgjengelig",
|
||||
"subtitleDownloaded": "Undertekst lastet ned",
|
||||
"subtitleDownloadFailed": "Kunne ikke laste ned undertekst",
|
||||
"searchLanguages": "Søk etter språk..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN-beskyttelse (valgfri)",
|
||||
"pinExplain": "4-sifret PIN kreves for å bytte profiler.",
|
||||
"continueButton": "Fortsett",
|
||||
"pinsDontMatch": "PIN-ene samsvarer ikke"
|
||||
"pinsDontMatch": "PIN-ene samsvarer ikke",
|
||||
"initializeServicesFailed": "Kunne ikke initialisere profiltjenester"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Tilkoblinger",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Vurdering",
|
||||
"movie": "Film",
|
||||
"tvShow": "TV-serie",
|
||||
"minutesLeft": "${minutes} min igjen"
|
||||
"minutesLeft": "${minutes} min igjen",
|
||||
"moreLikeThis": "Mer som dette"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Søk mislyktes: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Biblioteker",
|
||||
"fallbackTitle": "Bibliotek",
|
||||
"scanLibraryFiles": "Skann bibliotekfiler",
|
||||
"scanLibrary": "Skann bibliotek",
|
||||
"analyze": "Analyser",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Ingen kanaler tilgjengelig",
|
||||
"noDvr": "Ingen DVR konfigurert på noen server",
|
||||
"noPrograms": "Ingen programdata tilgjengelig",
|
||||
"liveStreamFailed": "Direktesending mislyktes",
|
||||
"unknownProgram": "Ukjent program",
|
||||
"unknownHub": "Ukjent",
|
||||
"unknownError": "Ukjent feil",
|
||||
"channelNumber": "Kanal ${number}",
|
||||
"unknownChannel": "Ukjent kanal",
|
||||
"live": "DIREKTE",
|
||||
"reloadGuide": "Last inn programguide på nytt",
|
||||
"now": "Nå",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Slett nedlasting",
|
||||
"retryDownload": "Prøv nedlasting på nytt",
|
||||
"downloadQueued": "Nedlasting i kø",
|
||||
"downloadResumed": "Nedlasting gjenopptatt",
|
||||
"serverErrorBitrate": "Serverfeil: filen kan overskride grensen for ekstern bitrate",
|
||||
"episodesQueued": "${count} episoder i nedlastingskø",
|
||||
"downloadDeleted": "Nedlasting slettet",
|
||||
"deleteConfirm": "Slette \"${title}\" fra denne enheten?",
|
||||
"deletingWithProgress": "Sletter ${title}... (${current} av ${total})",
|
||||
"cancelledDownloadTitle": "Avbrutt nedlasting",
|
||||
"cancelledDownloadMessage": "Denne nedlastingen ble avbrutt. Hva vil du gjøre?",
|
||||
"allEpisodesAlreadyDownloaded": "Alle episoder er allerede lastet ned",
|
||||
"resumeDownload": "Gjenoppta nedlasting",
|
||||
"cancelledDownload": "Avbrutt nedlasting",
|
||||
"syncingFile": "${file} (synkroniserer ${status})",
|
||||
"downloadedFileClickToComplete": "${file} lastet ned – klikk for å fullføre",
|
||||
"partialDownloadClickToComplete": "Delvis lastet ned – klikk for å fullføre",
|
||||
"deleting": "Sletter...",
|
||||
"deletingWithProgress": "Sletter ${title}... (${current} av ${total})",
|
||||
"queuedTooltip": "I kø",
|
||||
"queuedFilesTooltip": "I kø: ${files}",
|
||||
"downloadingTooltip": "Laster ned...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Følgesvenn-fjernkontroll",
|
||||
"connectedTo": "Tilkoblet ${name}",
|
||||
"unknownDevice": "Ukjent enhet",
|
||||
"session": {
|
||||
"startingServer": "Starter fjernserver...",
|
||||
"failedToCreate": "Kunne ikke starte fjernserver:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Undertekster",
|
||||
"audio": "Lyd",
|
||||
"searchHint": "Søk på stasjonær..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Fant ingen nettverksgrensesnitt",
|
||||
"authenticationFailed": "Autentisering mislyktes",
|
||||
"joinTimedOut": "Tidsavbrudd ved tilkobling til økt",
|
||||
"failedToConnectAnyAddress": "Kunne ikke koble til noen adresse",
|
||||
"connectionLostAfterAttempts": "Tilkobling mistet etter ${attempts} forsøk",
|
||||
"connectionLost": "Tilkobling mistet"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Lydgjennomgang",
|
||||
"audioNormalization": "Normaliser lydstyrke"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Farge",
|
||||
"performance": "Ytelse",
|
||||
"buffer": "Buffer",
|
||||
"app": "App",
|
||||
"decoder": "Dekoder",
|
||||
"rawDecoder": "Rå dekoder",
|
||||
"tunneling": "Tunneling",
|
||||
"aspect": "Format",
|
||||
"rotation": "Rotasjon",
|
||||
"dvSource": "DV-kilde",
|
||||
"dvPath": "DV-sti",
|
||||
"p7Conversion": "P7-konv.",
|
||||
"sampleRate": "Samplingsrate",
|
||||
"pixelFormat": "Pikselformat",
|
||||
"hwFormat": "HW-format",
|
||||
"matrix": "Matrise",
|
||||
"primaries": "Primærfarger",
|
||||
"transfer": "Overføring",
|
||||
"renderFps": "Render-FPS",
|
||||
"displayFps": "Skjerm-FPS",
|
||||
"avSync": "A/V-synk",
|
||||
"dropped": "Droppet",
|
||||
"dvRpus": "DV RPU-er",
|
||||
"dvRpuAverage": "DV RPU snitt",
|
||||
"dvSampleAverage": "DV-sample snitt",
|
||||
"maxLuma": "Maks luma",
|
||||
"minLuma": "Min luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache brukt",
|
||||
"speed": "Hastighet",
|
||||
"player": "Spiller",
|
||||
"memory": "Minne",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Ekstern spiller",
|
||||
"useExternalPlayer": "Bruk ekstern spiller",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Systemstandard",
|
||||
"addCustomPlayer": "Legg til egendefinert spiller",
|
||||
"playerName": "Spillernavn",
|
||||
"playerNameHint": "Min spiller",
|
||||
"playerCommand": "Kommando",
|
||||
"playerPackage": "Pakkenavn",
|
||||
"playerUrlScheme": "URL-skjema",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Opties",
|
||||
"mute": "Dempen",
|
||||
"ok": "OK",
|
||||
"off": "Uit",
|
||||
"seasonNumber": "Seizoen ${number}",
|
||||
"chapterNumber": "Hoofdstuk ${number}",
|
||||
"reconnect": "Opnieuw verbinden",
|
||||
"exit": "Afsluiten",
|
||||
"viewAll": "Alles weergeven",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Native / uitgeschakeld",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Gebruik apparaatdetectie en normaal fallbackgedrag",
|
||||
"dvConversionNativeDescription": "Forceer native DV7 en onderdruk DV-conversie opnieuw proberen",
|
||||
"dvConversionDv81Description": "Forceer inline RPU-conversie naar Dolby Vision-profiel 8.1",
|
||||
"dvConversionHevcStripDescription": "Strip Dolby Vision RPU/EL-lagen en presenteer gewone HEVC",
|
||||
"requireProfileSelectionOnOpen": "Vraag om profiel bij openen",
|
||||
"requireProfileSelectionOnOpenDescription": "Toon profielselectie telkens wanneer de app wordt geopend",
|
||||
"forceTvMode": "TV-modus forceren",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Stel sneltoets in voor ${actionName}",
|
||||
"clearShortcut": "Wis sneltoets",
|
||||
"noShortcutSet": "Geen sneltoets ingesteld",
|
||||
"currentShortcut": "Huidige sneltoets:",
|
||||
"actions": {
|
||||
"playPause": "Afspelen/Pauzeren",
|
||||
"volumeUp": "Volume omhoog",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Ga naar serie",
|
||||
"goToSeason": "Ga naar seizoen",
|
||||
"shufflePlay": "Willekeurig afspelen",
|
||||
"shuffleNotAvailableOffline": "Shuffle is offline niet beschikbaar",
|
||||
"fileInfo": "Bestand info",
|
||||
"deleteFromServer": "Verwijderen van server",
|
||||
"confirmDelete": "Deze media en bestanden van je server verwijderen?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Ondertitels zoeken",
|
||||
"language": "Taal",
|
||||
"noSubtitlesFound": "Geen ondertitels gevonden",
|
||||
"downloadedSubtitle": "Gedownload",
|
||||
"noSubtitlesAvailable": "Geen ondertitels beschikbaar",
|
||||
"noAudioTracksAvailable": "Geen audiotracks beschikbaar",
|
||||
"noTracksAvailable": "Geen tracks beschikbaar",
|
||||
"subtitleDownloaded": "Ondertitel gedownload",
|
||||
"subtitleDownloadFailed": "Ondertitel downloaden mislukt",
|
||||
"searchLanguages": "Talen zoeken..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN-beveiliging (optioneel)",
|
||||
"pinExplain": "4-cijferige PIN vereist om profielen te wisselen.",
|
||||
"continueButton": "Doorgaan",
|
||||
"pinsDontMatch": "PIN-codes komen niet overeen"
|
||||
"pinsDontMatch": "PIN-codes komen niet overeen",
|
||||
"initializeServicesFailed": "Kan profielservices niet initialiseren"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Verbindingen",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Leeftijd",
|
||||
"movie": "Film",
|
||||
"tvShow": "TV Serie",
|
||||
"minutesLeft": "${minutes} min over"
|
||||
"minutesLeft": "${minutes} min over",
|
||||
"moreLikeThis": "Meer zoals dit"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Zoeken mislukt: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Bibliotheken",
|
||||
"fallbackTitle": "Bibliotheek",
|
||||
"scanLibraryFiles": "Scan bibliotheek bestanden",
|
||||
"scanLibrary": "Scan bibliotheek",
|
||||
"analyze": "Analyseren",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Geen zenders beschikbaar",
|
||||
"noDvr": "Geen DVR geconfigureerd op een server",
|
||||
"noPrograms": "Geen programmagegevens beschikbaar",
|
||||
"liveStreamFailed": "Livestream mislukt",
|
||||
"unknownProgram": "Onbekend programma",
|
||||
"unknownHub": "Onbekend",
|
||||
"unknownError": "Onbekende fout",
|
||||
"channelNumber": "Kanaal ${number}",
|
||||
"unknownChannel": "Onbekend kanaal",
|
||||
"live": "LIVE",
|
||||
"reloadGuide": "Gids herladen",
|
||||
"now": "Nu",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Download verwijderen",
|
||||
"retryDownload": "Download opnieuw proberen",
|
||||
"downloadQueued": "Download in wachtrij",
|
||||
"downloadResumed": "Download hervat",
|
||||
"serverErrorBitrate": "Serverfout: bestand overschrijdt mogelijk de externe bitrate-limiet",
|
||||
"episodesQueued": "${count} afleveringen in wachtrij voor download",
|
||||
"downloadDeleted": "Download verwijderd",
|
||||
"deleteConfirm": "\"${title}\" van dit apparaat verwijderen?",
|
||||
"deletingWithProgress": "Verwijderen van ${title}... (${current} van ${total})",
|
||||
"cancelledDownloadTitle": "Geannuleerde download",
|
||||
"cancelledDownloadMessage": "Deze download is geannuleerd. Wat wil je doen?",
|
||||
"allEpisodesAlreadyDownloaded": "Alle afleveringen zijn al gedownload",
|
||||
"resumeDownload": "Download hervatten",
|
||||
"cancelledDownload": "Geannuleerde download",
|
||||
"syncingFile": "${file} (${status} synchroniseren)",
|
||||
"downloadedFileClickToComplete": "${file} gedownload — klik om te voltooien",
|
||||
"partialDownloadClickToComplete": "Gedeeltelijk gedownload — klik om te voltooien",
|
||||
"deleting": "Verwijderen...",
|
||||
"deletingWithProgress": "Verwijderen van ${title}... (${current} van ${total})",
|
||||
"queuedTooltip": "In wachtrij",
|
||||
"queuedFilesTooltip": "In wachtrij: ${files}",
|
||||
"downloadingTooltip": "Downloaden...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Afstandsbediening",
|
||||
"connectedTo": "Verbonden met ${name}",
|
||||
"unknownDevice": "Onbekend apparaat",
|
||||
"session": {
|
||||
"startingServer": "Externe server starten...",
|
||||
"failedToCreate": "Kan externe server niet starten:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Ondertitels",
|
||||
"audio": "Audio",
|
||||
"searchHint": "Zoeken op desktop..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Geen netwerkinterface gevonden",
|
||||
"authenticationFailed": "Authenticatie mislukt",
|
||||
"joinTimedOut": "Time-out bij deelnemen aan sessie",
|
||||
"failedToConnectAnyAddress": "Kan met geen enkel adres verbinden",
|
||||
"connectionLostAfterAttempts": "Verbinding verloren na ${attempts} pogingen",
|
||||
"connectionLost": "Verbinding verloren"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Audio-doorvoer",
|
||||
"audioNormalization": "Volume normaliseren"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Kleur",
|
||||
"performance": "Prestaties",
|
||||
"buffer": "Buffer",
|
||||
"app": "App",
|
||||
"decoder": "Decoder",
|
||||
"rawDecoder": "Raw decoder",
|
||||
"tunneling": "Tunneling",
|
||||
"aspect": "Verhouding",
|
||||
"rotation": "Rotatie",
|
||||
"dvSource": "DV-bron",
|
||||
"dvPath": "DV-pad",
|
||||
"p7Conversion": "P7-conv.",
|
||||
"sampleRate": "Samplefrequentie",
|
||||
"pixelFormat": "Pixelformaat",
|
||||
"hwFormat": "HW-formaat",
|
||||
"matrix": "Matrix",
|
||||
"primaries": "Primaire kleuren",
|
||||
"transfer": "Transfer",
|
||||
"renderFps": "Render-FPS",
|
||||
"displayFps": "Scherm-FPS",
|
||||
"avSync": "A/V-sync",
|
||||
"dropped": "Gedropt",
|
||||
"dvRpus": "DV RPU’s",
|
||||
"dvRpuAverage": "DV RPU gem.",
|
||||
"dvSampleAverage": "DV-sample gem.",
|
||||
"maxLuma": "Max luma",
|
||||
"minLuma": "Min luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache gebruikt",
|
||||
"speed": "Snelheid",
|
||||
"player": "Speler",
|
||||
"memory": "Geheugen",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Externe speler",
|
||||
"useExternalPlayer": "Externe speler gebruiken",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Systeemstandaard",
|
||||
"addCustomPlayer": "Aangepaste speler toevoegen",
|
||||
"playerName": "Spelernaam",
|
||||
"playerNameHint": "Mijn speler",
|
||||
"playerCommand": "Commando",
|
||||
"playerPackage": "Pakketnaam",
|
||||
"playerUrlScheme": "URL-schema",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Ustawienia",
|
||||
"mute": "Wycisz",
|
||||
"ok": "OK",
|
||||
"off": "Wył.",
|
||||
"seasonNumber": "Sezon ${number}",
|
||||
"chapterNumber": "Rozdział ${number}",
|
||||
"reconnect": "Połącz ponownie",
|
||||
"exit": "Wyjdź",
|
||||
"viewAll": "Pokaż wszystko",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Natywnie / wyłączone",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Użyj wykrywania możliwości urządzenia i normalnego zachowania awaryjnego",
|
||||
"dvConversionNativeDescription": "Wymuś natywne DV7 i wyłącz ponowną próbę konwersji DV",
|
||||
"dvConversionDv81Description": "Wymuś wbudowaną konwersję RPU do profilu Dolby Vision 8.1",
|
||||
"dvConversionHevcStripDescription": "Usuń warstwy Dolby Vision RPU/EL i przedstaw zwykłe HEVC",
|
||||
"requireProfileSelectionOnOpen": "Pytaj o profil przy otwarciu aplikacji",
|
||||
"requireProfileSelectionOnOpenDescription": "Pokaż wybór profilu za każdym razem, gdy aplikacja jest otwierana",
|
||||
"forceTvMode": "Wymuś tryb TV",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Ustaw skrót dla ${actionName}",
|
||||
"clearShortcut": "Wyczyść skrót",
|
||||
"noShortcutSet": "Brak ustawionego skrótu",
|
||||
"currentShortcut": "Bieżący skrót:",
|
||||
"actions": {
|
||||
"playPause": "Odtwórz/Pauza",
|
||||
"volumeUp": "Głośniej",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Przejdź do serialu",
|
||||
"goToSeason": "Przejdź do sezonu",
|
||||
"shufflePlay": "Odtwarzanie losowe",
|
||||
"shuffleNotAvailableOffline": "Odtwarzanie losowe nie jest dostępne offline",
|
||||
"fileInfo": "Informacje o pliku",
|
||||
"deleteFromServer": "Usuń z serwera",
|
||||
"confirmDelete": "Usunąć to medium i jego pliki z serwera?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Szukaj napisów",
|
||||
"language": "Język",
|
||||
"noSubtitlesFound": "Nie znaleziono napisów",
|
||||
"downloadedSubtitle": "Pobrano",
|
||||
"noSubtitlesAvailable": "Brak dostępnych napisów",
|
||||
"noAudioTracksAvailable": "Brak dostępnych ścieżek audio",
|
||||
"noTracksAvailable": "Brak dostępnych ścieżek",
|
||||
"subtitleDownloaded": "Napisy pobrane",
|
||||
"subtitleDownloadFailed": "Nie udało się pobrać napisów",
|
||||
"searchLanguages": "Szukaj języków..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "Ochrona PIN-em (opcjonalnie)",
|
||||
"pinExplain": "Do przełączania profili wymagany jest 4-cyfrowy PIN.",
|
||||
"continueButton": "Kontynuuj",
|
||||
"pinsDontMatch": "PIN-y nie pasują"
|
||||
"pinsDontMatch": "PIN-y nie pasują",
|
||||
"initializeServicesFailed": "Nie udało się zainicjować usług profilu"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Połączenia",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Ocena",
|
||||
"movie": "Film",
|
||||
"tvShow": "Serial TV",
|
||||
"minutesLeft": "${minutes} min pozostało"
|
||||
"minutesLeft": "${minutes} min pozostało",
|
||||
"moreLikeThis": "Więcej podobnych"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Wyszukiwanie nie powiodło się: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Biblioteki",
|
||||
"fallbackTitle": "Biblioteka",
|
||||
"scanLibraryFiles": "Skanuj pliki biblioteki",
|
||||
"scanLibrary": "Skanuj bibliotekę",
|
||||
"analyze": "Analizuj",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Brak dostępnych kanałów",
|
||||
"noDvr": "Brak skonfigurowanego DVR na żadnym serwerze",
|
||||
"noPrograms": "Brak danych o programach",
|
||||
"liveStreamFailed": "Transmisja na żywo nie powiodła się",
|
||||
"unknownProgram": "Nieznany program",
|
||||
"unknownHub": "Nieznane",
|
||||
"unknownError": "Nieznany błąd",
|
||||
"channelNumber": "Kanał ${number}",
|
||||
"unknownChannel": "Nieznany kanał",
|
||||
"live": "NA ŻYWO",
|
||||
"reloadGuide": "Odśwież przewodnik",
|
||||
"now": "Teraz",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Usuń pobranie",
|
||||
"retryDownload": "Ponów pobieranie",
|
||||
"downloadQueued": "Pobranie w kolejce",
|
||||
"downloadResumed": "Pobieranie wznowione",
|
||||
"serverErrorBitrate": "Błąd serwera: plik może przekraczać zdalny limit bitrate",
|
||||
"episodesQueued": "${count} odcinków w kolejce pobierania",
|
||||
"downloadDeleted": "Pobranie usunięte",
|
||||
"deleteConfirm": "Usunąć \"${title}\" z tego urządzenia?",
|
||||
"deletingWithProgress": "Usuwanie ${title}... (${current} z ${total})",
|
||||
"cancelledDownloadTitle": "Anulowane pobieranie",
|
||||
"cancelledDownloadMessage": "To pobieranie zostało anulowane. Co chcesz zrobić?",
|
||||
"allEpisodesAlreadyDownloaded": "Wszystkie odcinki są już pobrane",
|
||||
"resumeDownload": "Wznów pobieranie",
|
||||
"cancelledDownload": "Anulowane pobieranie",
|
||||
"syncingFile": "${file} (synchronizowanie ${status})",
|
||||
"downloadedFileClickToComplete": "Pobrano ${file} — kliknij, aby dokończyć",
|
||||
"partialDownloadClickToComplete": "Pobrano częściowo — kliknij, aby dokończyć",
|
||||
"deleting": "Usuwanie...",
|
||||
"deletingWithProgress": "Usuwanie ${title}... (${current} z ${total})",
|
||||
"queuedTooltip": "W kolejce",
|
||||
"queuedFilesTooltip": "W kolejce: ${files}",
|
||||
"downloadingTooltip": "Pobieranie...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Pilot zdalny",
|
||||
"connectedTo": "Połączono z ${name}",
|
||||
"unknownDevice": "Nieznane urządzenie",
|
||||
"session": {
|
||||
"startingServer": "Uruchamianie serwera zdalnego...",
|
||||
"failedToCreate": "Nie udało się uruchomić serwera zdalnego:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Napisy",
|
||||
"audio": "Audio",
|
||||
"searchHint": "Szukaj na komputerze..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Nie znaleziono interfejsu sieciowego",
|
||||
"authenticationFailed": "Uwierzytelnianie nie powiodło się",
|
||||
"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",
|
||||
"connectionLost": "Połączenie utracone"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Bezpośrednie audio",
|
||||
"audioNormalization": "Normalizacja głośności"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Kolor",
|
||||
"performance": "Wydajność",
|
||||
"buffer": "Bufor",
|
||||
"app": "Aplikacja",
|
||||
"decoder": "Dekoder",
|
||||
"rawDecoder": "Surowy dekoder",
|
||||
"tunneling": "Tunelowanie",
|
||||
"aspect": "Proporcje",
|
||||
"rotation": "Obrót",
|
||||
"dvSource": "Źródło DV",
|
||||
"dvPath": "Ścieżka DV",
|
||||
"p7Conversion": "Konw. P7",
|
||||
"sampleRate": "Częstotliwość próbkowania",
|
||||
"pixelFormat": "Format pikseli",
|
||||
"hwFormat": "Format HW",
|
||||
"matrix": "Macierz",
|
||||
"primaries": "Barwy podstawowe",
|
||||
"transfer": "Transfer",
|
||||
"renderFps": "FPS renderowania",
|
||||
"displayFps": "FPS ekranu",
|
||||
"avSync": "Sync A/V",
|
||||
"dropped": "Porzucone",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "Śr. DV RPU",
|
||||
"dvSampleAverage": "Śr. próbki DV",
|
||||
"maxLuma": "Maks. luma",
|
||||
"minLuma": "Min. luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Użyty cache",
|
||||
"speed": "Szybkość",
|
||||
"player": "Odtwarzacz",
|
||||
"memory": "Pamięć",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Zewnętrzny odtwarzacz",
|
||||
"useExternalPlayer": "Użyj zewnętrznego odtwarzacza",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Domyślny systemowy",
|
||||
"addCustomPlayer": "Dodaj niestandardowy odtwarzacz",
|
||||
"playerName": "Nazwa odtwarzacza",
|
||||
"playerNameHint": "Mój odtwarzacz",
|
||||
"playerCommand": "Polecenie",
|
||||
"playerPackage": "Nazwa pakietu",
|
||||
"playerUrlScheme": "Schemat URL",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Configurações",
|
||||
"mute": "Silenciar",
|
||||
"ok": "OK",
|
||||
"off": "Desativado",
|
||||
"seasonNumber": "Temporada ${number}",
|
||||
"chapterNumber": "Capítulo ${number}",
|
||||
"reconnect": "Reconectar",
|
||||
"exit": "Sair",
|
||||
"viewAll": "Ver Tudo",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Nativo / desativado",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Usar detecção de recursos do dispositivo e comportamento normal de fallback",
|
||||
"dvConversionNativeDescription": "Forçar DV7 nativo e suprimir nova tentativa de conversão DV",
|
||||
"dvConversionDv81Description": "Forçar conversão RPU inline para Dolby Vision perfil 8.1",
|
||||
"dvConversionHevcStripDescription": "Remover camadas RPU/EL do Dolby Vision e apresentar HEVC simples",
|
||||
"requireProfileSelectionOnOpen": "Pedir perfil ao abrir o app",
|
||||
"requireProfileSelectionOnOpenDescription": "Mostrar seleção de perfil toda vez que o app for aberto",
|
||||
"forceTvMode": "Forçar modo TV",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Definir Atalho para ${actionName}",
|
||||
"clearShortcut": "Limpar atalho",
|
||||
"noShortcutSet": "Nenhum atalho definido",
|
||||
"currentShortcut": "Atalho atual:",
|
||||
"actions": {
|
||||
"playPause": "Reproduzir/Pausar",
|
||||
"volumeUp": "Aumentar Volume",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Ir para a série",
|
||||
"goToSeason": "Ir para a temporada",
|
||||
"shufflePlay": "Reprodução Aleatória",
|
||||
"shuffleNotAvailableOffline": "Reprodução aleatória indisponível offline",
|
||||
"fileInfo": "Info do Arquivo",
|
||||
"deleteFromServer": "Excluir do servidor",
|
||||
"confirmDelete": "Excluir esta mídia e seus arquivos do servidor?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Pesquisar legendas",
|
||||
"language": "Idioma",
|
||||
"noSubtitlesFound": "Nenhuma legenda encontrada",
|
||||
"downloadedSubtitle": "Baixado",
|
||||
"noSubtitlesAvailable": "Nenhuma legenda disponível",
|
||||
"noAudioTracksAvailable": "Nenhuma faixa de áudio disponível",
|
||||
"noTracksAvailable": "Nenhuma faixa disponível",
|
||||
"subtitleDownloaded": "Legenda baixada",
|
||||
"subtitleDownloadFailed": "Falha ao baixar legenda",
|
||||
"searchLanguages": "Pesquisar idiomas..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"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"
|
||||
"pinsDontMatch": "Os PINs não correspondem",
|
||||
"initializeServicesFailed": "Falha ao inicializar serviços de perfil"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Conexões",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Avaliação",
|
||||
"movie": "Filme",
|
||||
"tvShow": "Série de TV",
|
||||
"minutesLeft": "${minutes} min restantes"
|
||||
"minutesLeft": "${minutes} min restantes",
|
||||
"moreLikeThis": "Mais como este"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Falha na busca: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Bibliotecas",
|
||||
"fallbackTitle": "Biblioteca",
|
||||
"scanLibraryFiles": "Escanear Arquivos da Biblioteca",
|
||||
"scanLibrary": "Escanear Biblioteca",
|
||||
"analyze": "Analisar",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Nenhum canal disponível",
|
||||
"noDvr": "Nenhum DVR configurado em nenhum servidor",
|
||||
"noPrograms": "Nenhum dado de programação disponível",
|
||||
"liveStreamFailed": "Falha no stream ao vivo",
|
||||
"unknownProgram": "Programa desconhecido",
|
||||
"unknownHub": "Desconhecido",
|
||||
"unknownError": "Erro desconhecido",
|
||||
"channelNumber": "Canal ${number}",
|
||||
"unknownChannel": "Canal desconhecido",
|
||||
"live": "AO VIVO",
|
||||
"reloadGuide": "Recarregar Guia",
|
||||
"now": "Agora",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Excluir download",
|
||||
"retryDownload": "Tentar download novamente",
|
||||
"downloadQueued": "Download na fila",
|
||||
"downloadResumed": "Download retomado",
|
||||
"serverErrorBitrate": "Erro do servidor: o arquivo pode exceder o limite remoto de bitrate",
|
||||
"episodesQueued": "${count} episódios na fila de download",
|
||||
"downloadDeleted": "Download excluído",
|
||||
"deleteConfirm": "Excluir \"${title}\" deste dispositivo?",
|
||||
"deletingWithProgress": "Excluindo ${title}... (${current} de ${total})",
|
||||
"cancelledDownloadTitle": "Download cancelado",
|
||||
"cancelledDownloadMessage": "Este download foi cancelado. O que você deseja fazer?",
|
||||
"allEpisodesAlreadyDownloaded": "Todos os episódios já foram baixados",
|
||||
"resumeDownload": "Retomar download",
|
||||
"cancelledDownload": "Download cancelado",
|
||||
"syncingFile": "${file} (sincronizando ${status})",
|
||||
"downloadedFileClickToComplete": "${file} baixado — clique para concluir",
|
||||
"partialDownloadClickToComplete": "Parcialmente baixado — clique para concluir",
|
||||
"deleting": "Excluindo...",
|
||||
"deletingWithProgress": "Excluindo ${title}... (${current} de ${total})",
|
||||
"queuedTooltip": "Na fila",
|
||||
"queuedFilesTooltip": "Na fila: ${files}",
|
||||
"downloadingTooltip": "Baixando...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Controle Remoto",
|
||||
"connectedTo": "Conectado a ${name}",
|
||||
"unknownDevice": "Dispositivo desconhecido",
|
||||
"session": {
|
||||
"startingServer": "A iniciar servidor remoto...",
|
||||
"failedToCreate": "Falha ao iniciar o servidor remoto:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Legendas",
|
||||
"audio": "Áudio",
|
||||
"searchHint": "Buscar no desktop..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Nenhuma interface de rede encontrada",
|
||||
"authenticationFailed": "Falha na autenticação",
|
||||
"joinTimedOut": "Tempo esgotado ao entrar na sessão",
|
||||
"failedToConnectAnyAddress": "Falha ao conectar a qualquer endereço",
|
||||
"connectionLostAfterAttempts": "Conexão perdida após ${attempts} tentativas",
|
||||
"connectionLost": "Conexão perdida"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Passagem de Áudio",
|
||||
"audioNormalization": "Normalizar Volume"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Cor",
|
||||
"performance": "Desempenho",
|
||||
"buffer": "Buffer",
|
||||
"app": "App",
|
||||
"decoder": "Decodificador",
|
||||
"rawDecoder": "Decodificador bruto",
|
||||
"tunneling": "Túnel",
|
||||
"aspect": "Aspecto",
|
||||
"rotation": "Rotação",
|
||||
"dvSource": "Fonte DV",
|
||||
"dvPath": "Caminho DV",
|
||||
"p7Conversion": "Conv. P7",
|
||||
"sampleRate": "Taxa de amostragem",
|
||||
"pixelFormat": "Formato de pixel",
|
||||
"hwFormat": "Formato HW",
|
||||
"matrix": "Matriz",
|
||||
"primaries": "Primárias",
|
||||
"transfer": "Transferência",
|
||||
"renderFps": "FPS render",
|
||||
"displayFps": "FPS tela",
|
||||
"avSync": "Sync A/V",
|
||||
"dropped": "Descartados",
|
||||
"dvRpus": "DV RPUs",
|
||||
"dvRpuAverage": "Média DV RPU",
|
||||
"dvSampleAverage": "Média amostra DV",
|
||||
"maxLuma": "Luma máx.",
|
||||
"minLuma": "Luma mín.",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache usado",
|
||||
"speed": "Velocidade",
|
||||
"player": "Player",
|
||||
"memory": "Memória",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Player Externo",
|
||||
"useExternalPlayer": "Usar Player Externo",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Padrão do Sistema",
|
||||
"addCustomPlayer": "Adicionar Player Personalizado",
|
||||
"playerName": "Nome do Player",
|
||||
"playerNameHint": "Meu player",
|
||||
"playerCommand": "Comando",
|
||||
"playerPackage": "Nome do Pacote",
|
||||
"playerUrlScheme": "Esquema de URL",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Настройки",
|
||||
"mute": "Без звука",
|
||||
"ok": "OK",
|
||||
"off": "Выкл.",
|
||||
"seasonNumber": "Сезон ${number}",
|
||||
"chapterNumber": "Глава ${number}",
|
||||
"reconnect": "Переподключить",
|
||||
"exit": "Выход",
|
||||
"viewAll": "Показать все",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Нативно / отключено",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Использовать определение возможностей устройства и обычное резервное поведение",
|
||||
"dvConversionNativeDescription": "Принудительно использовать нативный DV7 и не повторять DV-конвертацию",
|
||||
"dvConversionDv81Description": "Принудительно выполнять inline-конвертацию RPU в Dolby Vision профиль 8.1",
|
||||
"dvConversionHevcStripDescription": "Удалять слои Dolby Vision RPU/EL и передавать обычный HEVC",
|
||||
"requireProfileSelectionOnOpen": "Запрашивать профиль при запуске",
|
||||
"requireProfileSelectionOnOpenDescription": "Показывать выбор профиля при каждом открытии приложения",
|
||||
"forceTvMode": "Принудительный режим ТВ",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Назначить клавишу для ${actionName}",
|
||||
"clearShortcut": "Очистить клавишу",
|
||||
"noShortcutSet": "Сочетание не задано",
|
||||
"currentShortcut": "Текущее сочетание:",
|
||||
"actions": {
|
||||
"playPause": "Воспроизведение/Пауза",
|
||||
"volumeUp": "Громкость выше",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Перейти к сериалу",
|
||||
"goToSeason": "Перейти к сезону",
|
||||
"shufflePlay": "Случайное воспроизведение",
|
||||
"shuffleNotAvailableOffline": "Перемешивание недоступно офлайн",
|
||||
"fileInfo": "Информация о файле",
|
||||
"deleteFromServer": "Удалить с сервера",
|
||||
"confirmDelete": "Удалить это медиа и его файлы с сервера?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Поиск субтитров",
|
||||
"language": "Язык",
|
||||
"noSubtitlesFound": "Субтитры не найдены",
|
||||
"downloadedSubtitle": "Загружено",
|
||||
"noSubtitlesAvailable": "Нет доступных субтитров",
|
||||
"noAudioTracksAvailable": "Нет доступных аудиодорожек",
|
||||
"noTracksAvailable": "Нет доступных дорожек",
|
||||
"subtitleDownloaded": "Субтитры загружены",
|
||||
"subtitleDownloadFailed": "Не удалось загрузить субтитры",
|
||||
"searchLanguages": "Поиск языков..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "Защита PIN-кодом (необязательно)",
|
||||
"pinExplain": "Для переключения профилей нужен 4-значный PIN.",
|
||||
"continueButton": "Продолжить",
|
||||
"pinsDontMatch": "PIN-коды не совпадают"
|
||||
"pinsDontMatch": "PIN-коды не совпадают",
|
||||
"initializeServicesFailed": "Не удалось инициализировать службы профиля"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Подключения",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Рейтинг",
|
||||
"movie": "Фильм",
|
||||
"tvShow": "Сериал",
|
||||
"minutesLeft": "Осталось ${minutes} мин"
|
||||
"minutesLeft": "Осталось ${minutes} мин",
|
||||
"moreLikeThis": "Похожее"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Ошибка поиска: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Библиотеки",
|
||||
"fallbackTitle": "Библиотека",
|
||||
"scanLibraryFiles": "Сканировать файлы библиотеки",
|
||||
"scanLibrary": "Сканировать библиотеку",
|
||||
"analyze": "Анализировать",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Нет доступных каналов",
|
||||
"noDvr": "DVR не настроен ни на одном сервере",
|
||||
"noPrograms": "Нет данных о программах",
|
||||
"liveStreamFailed": "Не удалось запустить прямой эфир",
|
||||
"unknownProgram": "Неизвестная программа",
|
||||
"unknownHub": "Неизвестно",
|
||||
"unknownError": "Неизвестная ошибка",
|
||||
"channelNumber": "Канал ${number}",
|
||||
"unknownChannel": "Неизвестный канал",
|
||||
"live": "ЭФИР",
|
||||
"reloadGuide": "Перезагрузить программу",
|
||||
"now": "Сейчас",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Удалить загрузку",
|
||||
"retryDownload": "Повторить загрузку",
|
||||
"downloadQueued": "Загрузка поставлена в очередь",
|
||||
"downloadResumed": "Загрузка возобновлена",
|
||||
"serverErrorBitrate": "Ошибка сервера: файл может превышать удаленный лимит bitrate",
|
||||
"episodesQueued": "${count} эпизодов поставлено в очередь загрузки",
|
||||
"downloadDeleted": "Загрузка удалена",
|
||||
"deleteConfirm": "Удалить \"${title}\" с этого устройства?",
|
||||
"deletingWithProgress": "Удаление ${title}... (${current} из ${total})",
|
||||
"cancelledDownloadTitle": "Загрузка отменена",
|
||||
"cancelledDownloadMessage": "Эта загрузка была отменена. Что вы хотите сделать?",
|
||||
"allEpisodesAlreadyDownloaded": "Все эпизоды уже загружены",
|
||||
"resumeDownload": "Возобновить загрузку",
|
||||
"cancelledDownload": "Загрузка отменена",
|
||||
"syncingFile": "${file} (синхронизация ${status})",
|
||||
"downloadedFileClickToComplete": "${file} загружен — нажмите, чтобы завершить",
|
||||
"partialDownloadClickToComplete": "Частично загружено — нажмите, чтобы завершить",
|
||||
"deleting": "Удаление...",
|
||||
"deletingWithProgress": "Удаление ${title}... (${current} из ${total})",
|
||||
"queuedTooltip": "В очереди",
|
||||
"queuedFilesTooltip": "В очереди: ${files}",
|
||||
"downloadingTooltip": "Загрузка...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Пульт управления",
|
||||
"connectedTo": "Подключено к ${name}",
|
||||
"unknownDevice": "Неизвестное устройство",
|
||||
"session": {
|
||||
"startingServer": "Запуск удалённого сервера...",
|
||||
"failedToCreate": "Не удалось запустить удалённый сервер:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Субтитры",
|
||||
"audio": "Аудио",
|
||||
"searchHint": "Поиск на десктопе..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Сетевой интерфейс не найден",
|
||||
"authenticationFailed": "Ошибка аутентификации",
|
||||
"joinTimedOut": "Время подключения к сеансу истекло",
|
||||
"failedToConnectAnyAddress": "Не удалось подключиться ни к одному адресу",
|
||||
"connectionLostAfterAttempts": "Соединение потеряно после ${attempts} попыток",
|
||||
"connectionLost": "Соединение потеряно"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Сквозной вывод аудио",
|
||||
"audioNormalization": "Нормализация громкости"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Цвет",
|
||||
"performance": "Производительность",
|
||||
"buffer": "Буфер",
|
||||
"app": "Приложение",
|
||||
"decoder": "Декодер",
|
||||
"rawDecoder": "Raw-декодер",
|
||||
"tunneling": "Туннелирование",
|
||||
"aspect": "Соотношение",
|
||||
"rotation": "Поворот",
|
||||
"dvSource": "Источник DV",
|
||||
"dvPath": "Путь DV",
|
||||
"p7Conversion": "Конв. P7",
|
||||
"sampleRate": "Частота дискр.",
|
||||
"pixelFormat": "Формат пикселей",
|
||||
"hwFormat": "Формат HW",
|
||||
"matrix": "Матрица",
|
||||
"primaries": "Основные цвета",
|
||||
"transfer": "Передача",
|
||||
"renderFps": "FPS рендера",
|
||||
"displayFps": "FPS дисплея",
|
||||
"avSync": "A/V синхр.",
|
||||
"dropped": "Пропущено",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "Сред. DV RPU",
|
||||
"dvSampleAverage": "Сред. сэмпл DV",
|
||||
"maxLuma": "Макс. яркость",
|
||||
"minLuma": "Мин. яркость",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Кэш использован",
|
||||
"speed": "Скорость",
|
||||
"player": "Плеер",
|
||||
"memory": "Память",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Внешний плеер",
|
||||
"useExternalPlayer": "Использовать внешний плеер",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Системный по умолчанию",
|
||||
"addCustomPlayer": "Добавить свой плеер",
|
||||
"playerName": "Название плеера",
|
||||
"playerNameHint": "Мой плеер",
|
||||
"playerCommand": "Команда",
|
||||
"playerPackage": "Имя пакета",
|
||||
"playerUrlScheme": "URL-схема",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 16
|
||||
/// Strings: 19104 (1194 per locale)
|
||||
/// Strings: 20288 (1268 per locale)
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
|
||||
+172
-4
@@ -77,6 +77,7 @@ class TranslationsBg extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersBg shaders = _TranslationsShadersBg._(_root);
|
||||
@override late final _TranslationsCompanionRemoteBg companionRemote = _TranslationsCompanionRemoteBg._(_root);
|
||||
@override late final _TranslationsVideoSettingsBg videoSettings = _TranslationsVideoSettingsBg._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayBg performanceOverlay = _TranslationsPerformanceOverlayBg._(_root);
|
||||
@override late final _TranslationsExternalPlayerBg externalPlayer = _TranslationsExternalPlayerBg._(_root);
|
||||
@override late final _TranslationsMetadataEditBg metadataEdit = _TranslationsMetadataEditBg._(_root);
|
||||
@override late final _TranslationsMatchScreenBg matchScreen = _TranslationsMatchScreenBg._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonBg extends TranslationsCommonEn {
|
||||
@override String get settings => 'Настройки';
|
||||
@override String get mute => 'Заглуши';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Изкл.';
|
||||
@override String seasonNumber({required Object number}) => 'Сезон ${number}';
|
||||
@override String chapterNumber({required Object number}) => 'Глава ${number}';
|
||||
@override String get reconnect => 'Свържи отново';
|
||||
@override String get exit => 'Изход';
|
||||
@override String get viewAll => 'Виж всички';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsBg extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Нативно / изключено';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Използва засичане на възможностите на устройството и нормално fallback поведение';
|
||||
@override String get dvConversionNativeDescription => 'Принуждава нативен DV7 и спира повторния опит за DV конвертиране';
|
||||
@override String get dvConversionDv81Description => 'Принуждава inline RPU конвертиране към Dolby Vision профил 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Премахва Dolby Vision RPU/EL слоевете и подава обикновен HEVC';
|
||||
@override String get requireProfileSelectionOnOpen => 'Питай за профил при отваряне на приложението';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Показвай избор на профил всеки път при отваряне на приложението';
|
||||
@override String get forceTvMode => 'Принуди TV режим';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysBg extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Задай клавишна комбинация за ${actionName}';
|
||||
@override String get clearShortcut => 'Изчисти клавишната комбинация';
|
||||
@override String get noShortcutSet => 'Няма зададена клавишна комбинация';
|
||||
@override String get currentShortcut => 'Текуща комбинация:';
|
||||
@override late final _TranslationsHotkeysActionsBg actions = _TranslationsHotkeysActionsBg._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuBg extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Към сериала';
|
||||
@override String get goToSeason => 'Към сезона';
|
||||
@override String get shufflePlay => 'Разбъркано възпроизвеждане';
|
||||
@override String get shuffleNotAvailableOffline => 'Разбърканото възпроизвеждане не е налично офлайн';
|
||||
@override String get fileInfo => 'Информация за файла';
|
||||
@override String get deleteFromServer => 'Изтрий от сървъра';
|
||||
@override String get confirmDelete => 'Да се изтрие ли тази медия и файловете ѝ от вашия сървър?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsBg extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Търсене на субтитри';
|
||||
@override String get language => 'Език';
|
||||
@override String get noSubtitlesFound => 'Не са намерени субтитри';
|
||||
@override String get downloadedSubtitle => 'Изтеглени субтитри';
|
||||
@override String get noSubtitlesAvailable => 'Няма налични субтитри';
|
||||
@override String get noAudioTracksAvailable => 'Няма налични аудио писти';
|
||||
@override String get noTracksAvailable => 'Няма налични писти';
|
||||
@override String get subtitleDownloaded => 'Субтитърът е изтеглен';
|
||||
@override String get subtitleDownloadFailed => 'Неуспешно изтегляне на субтитър';
|
||||
@override String get searchLanguages => 'Търсене на езици...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverBg extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Филм';
|
||||
@override String get tvShow => 'ТВ сериал';
|
||||
@override String minutesLeft({required Object minutes}) => 'Остават ${minutes} мин';
|
||||
@override String get moreLikeThis => 'Подобно на това';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesBg extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Библиотеки';
|
||||
@override String get fallbackTitle => 'Библиотека';
|
||||
@override String get scanLibraryFiles => 'Сканирай файловете на библиотеката';
|
||||
@override String get scanLibrary => 'Сканирай библиотеката';
|
||||
@override String get analyze => 'Анализирай';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvBg extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Няма налични канали';
|
||||
@override String get noDvr => 'Няма конфигуриран DVR на нито един сървър';
|
||||
@override String get noPrograms => 'Няма налични програмни данни';
|
||||
@override String get liveStreamFailed => 'Потокът на живо се провали';
|
||||
@override String get unknownProgram => 'Неизвестна програма';
|
||||
@override String get unknownHub => 'Неизвестно';
|
||||
@override String get unknownError => 'Неизвестна грешка';
|
||||
@override String channelNumber({required Object number}) => 'Канал ${number}';
|
||||
@override String get unknownChannel => 'Неизвестен канал';
|
||||
@override String get live => 'НА ЖИВО';
|
||||
@override String get reloadGuide => 'Презареди ТВ програмата';
|
||||
@override String get now => 'Сега';
|
||||
@@ -1224,10 +1248,19 @@ class _TranslationsDownloadsBg extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Изтрий изтегляне';
|
||||
@override String get retryDownload => 'Опитай изтеглянето отново';
|
||||
@override String get downloadQueued => 'Изтеглянето е добавено в опашката';
|
||||
@override String get downloadResumed => 'Изтеглянето е възобновено';
|
||||
@override String get serverErrorBitrate => 'Грешка на сървъра: файлът може да надвишава лимита за отдалечен битрейт';
|
||||
@override String episodesQueued({required Object count}) => '${count} епизода са добавени в опашката за изтегляне';
|
||||
@override String get downloadDeleted => 'Изтеглянето е изтрито';
|
||||
@override String deleteConfirm({required Object title}) => 'Да се изтрие ли "${title}" от това устройство?';
|
||||
@override String get cancelledDownloadTitle => 'Отменено изтегляне';
|
||||
@override String get cancelledDownloadMessage => 'Това изтегляне беше отменено. Какво искате да направите?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Всички епизоди вече са изтеглени';
|
||||
@override String get resumeDownload => 'Възобнови изтеглянето';
|
||||
@override String get cancelledDownload => 'Отменено изтегляне';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (синхронизира се ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => 'Изтеглен ${file} — щракнете за довършване';
|
||||
@override String get partialDownloadClickToComplete => 'Частично изтеглено — щракнете за довършване';
|
||||
@override String get deleting => 'Изтриване...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Изтриване на ${title}... (${current} от ${total})';
|
||||
@override String get queuedTooltip => 'В опашката';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteBg extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Дистанционно управление';
|
||||
@override String connectedTo({required Object name}) => 'Свързан към ${name}';
|
||||
@override String get unknownDevice => 'Непознато устройство';
|
||||
@override late final _TranslationsCompanionRemoteSessionBg session = _TranslationsCompanionRemoteSessionBg._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingBg pairing = _TranslationsCompanionRemotePairingBg._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteBg remote = _TranslationsCompanionRemoteRemoteBg._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsBg errors = _TranslationsCompanionRemoteErrorsBg._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsBg extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Нормализиране на силата на звука';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayBg extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayBg._(TranslationsBg root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsBg _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Цвят';
|
||||
@override String get performance => 'Производителност';
|
||||
@override String get buffer => 'Буфер';
|
||||
@override String get app => 'Приложение';
|
||||
@override String get decoder => 'Декодер';
|
||||
@override String get rawDecoder => 'Суров декодер';
|
||||
@override String get tunneling => 'Тунелиране';
|
||||
@override String get aspect => 'Съотношение';
|
||||
@override String get rotation => 'Завъртане';
|
||||
@override String get dvSource => 'DV източник';
|
||||
@override String get dvPath => 'DV път';
|
||||
@override String get p7Conversion => 'P7 конв.';
|
||||
@override String get sampleRate => 'Честота';
|
||||
@override String get pixelFormat => 'Пикселен формат';
|
||||
@override String get hwFormat => 'HW формат';
|
||||
@override String get matrix => 'Матрица';
|
||||
@override String get primaries => 'Основни цветове';
|
||||
@override String get transfer => 'Трансфер';
|
||||
@override String get renderFps => 'Render FPS';
|
||||
@override String get displayFps => 'Display FPS';
|
||||
@override String get avSync => 'A/V синхр.';
|
||||
@override String get dropped => 'Изпуснати';
|
||||
@override String get dvRpus => 'DV RPU';
|
||||
@override String get dvRpuAverage => 'Средно DV RPU';
|
||||
@override String get dvSampleAverage => 'Средно DV семпл';
|
||||
@override String get maxLuma => 'Макс. яркост';
|
||||
@override String get minLuma => 'Мин. яркост';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Използван кеш';
|
||||
@override String get speed => 'Скорост';
|
||||
@override String get player => 'Плеър';
|
||||
@override String get memory => 'Памет';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerBg extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerBg._(TranslationsBg root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerBg extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Системен по подразбиране';
|
||||
@override String get addCustomPlayer => 'Добави персонален плейър';
|
||||
@override String get playerName => 'Име на плейъра';
|
||||
@override String get playerNameHint => 'Моят плеър';
|
||||
@override String get playerCommand => 'Команда';
|
||||
@override String get playerPackage => 'Име на пакет';
|
||||
@override String get playerUrlScheme => 'URL схема';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteBg extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Търсене на настолен компютър...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsBg extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsBg._(TranslationsBg root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsBg _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Не е намерен мрежов интерфейс';
|
||||
@override String get authenticationFailed => 'Неуспешно удостоверяване';
|
||||
@override String get joinTimedOut => 'Времето за присъединяване към сесията изтече';
|
||||
@override String get failedToConnectAnyAddress => 'Неуспешно свързване към който и да е адрес';
|
||||
@override String connectionLostAfterAttempts({required Object attempts}) => 'Връзката е загубена след ${attempts} опита';
|
||||
@override String get connectionLost => 'Връзката е загубена';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesBg extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesBg._(TranslationsBg root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsBg {
|
||||
'common.settings' => 'Настройки',
|
||||
'common.mute' => 'Заглуши',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Изкл.',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Сезон ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Глава ${number}',
|
||||
'common.reconnect' => 'Свържи отново',
|
||||
'common.exit' => 'Изход',
|
||||
'common.viewAll' => 'Виж всички',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsBg {
|
||||
'settings.dvConversionNative' => 'Нативно / изключено',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Използва засичане на възможностите на устройството и нормално fallback поведение',
|
||||
'settings.dvConversionNativeDescription' => 'Принуждава нативен DV7 и спира повторния опит за DV конвертиране',
|
||||
'settings.dvConversionDv81Description' => 'Принуждава inline RPU конвертиране към Dolby Vision профил 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Премахва Dolby Vision RPU/EL слоевете и подава обикновен HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Питай за профил при отваряне на приложението',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Показвай избор на профил всеки път при отваряне на приложението',
|
||||
'settings.forceTvMode' => 'Принуди TV режим',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsBg {
|
||||
'search.enterTitleActorOrKeyword' => 'Въведете заглавие, актьор или ключова дума',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Задай клавишна комбинация за ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Изчисти клавишната комбинация',
|
||||
'hotkeys.noShortcutSet' => 'Няма зададена клавишна комбинация',
|
||||
'hotkeys.currentShortcut' => 'Текуща комбинация:',
|
||||
'hotkeys.actions.playPause' => 'Пускане/пауза',
|
||||
'hotkeys.actions.volumeUp' => 'Увеличи звука',
|
||||
'hotkeys.actions.volumeDown' => 'Намали звука',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsBg {
|
||||
'mediaMenu.goToSeries' => 'Към сериала',
|
||||
'mediaMenu.goToSeason' => 'Към сезона',
|
||||
'mediaMenu.shufflePlay' => 'Разбъркано възпроизвеждане',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Разбърканото възпроизвеждане не е налично офлайн',
|
||||
'mediaMenu.fileInfo' => 'Информация за файла',
|
||||
'mediaMenu.deleteFromServer' => 'Изтрий от сървъра',
|
||||
'mediaMenu.confirmDelete' => 'Да се изтрие ли тази медия и файловете ѝ от вашия сървър?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsBg {
|
||||
'videoControls.searchSubtitles' => 'Търсене на субтитри',
|
||||
'videoControls.language' => 'Език',
|
||||
'videoControls.noSubtitlesFound' => 'Не са намерени субтитри',
|
||||
'videoControls.downloadedSubtitle' => 'Изтеглени субтитри',
|
||||
'videoControls.noSubtitlesAvailable' => 'Няма налични субтитри',
|
||||
'videoControls.noAudioTracksAvailable' => 'Няма налични аудио писти',
|
||||
'videoControls.noTracksAvailable' => 'Няма налични писти',
|
||||
'videoControls.subtitleDownloaded' => 'Субтитърът е изтеглен',
|
||||
'videoControls.subtitleDownloadFailed' => 'Неуспешно изтегляне на субтитър',
|
||||
'videoControls.searchLanguages' => 'Търсене на езици...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsBg {
|
||||
'subtitlingStyling.borderColor' => 'Цвят на рамката',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Прозрачност на фона',
|
||||
'subtitlingStyling.backgroundColor' => 'Цвят на фона',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Позиция',
|
||||
'subtitlingStyling.assOverride' => 'ASS презаписване',
|
||||
'subtitlingStyling.bold' => 'Получер',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsBg {
|
||||
'mpvConfig.loadPreset' => 'Зареди',
|
||||
'mpvConfig.deletePreset' => 'Изтрий',
|
||||
'mpvConfig.presetSaved' => 'Пресетът е запазен',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Пресетът е зареден',
|
||||
'mpvConfig.presetDeleted' => 'Пресетът е изтрит',
|
||||
'mpvConfig.confirmDeletePreset' => 'Сигурни ли сте, че искате да изтриете този пресет?',
|
||||
@@ -2399,6 +2507,7 @@ extension on TranslationsBg {
|
||||
'profiles.pinExplain' => 'Изисква се 4-цифрен PIN за смяна на профили.',
|
||||
'profiles.continueButton' => 'Продължи',
|
||||
'profiles.pinsDontMatch' => 'PIN кодовете не съвпадат',
|
||||
'profiles.initializeServicesFailed' => 'Неуспешно инициализиране на услугите за профили',
|
||||
'connections.sectionTitle' => 'Връзки',
|
||||
'connections.addConnection' => 'Добави връзка',
|
||||
'connections.addConnectionSubtitleNoProfile' => 'Влезте с Plex или свържете Jellyfin сървър',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsBg {
|
||||
'discover.movie' => 'Филм',
|
||||
'discover.tvShow' => 'ТВ сериал',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => 'Остават ${minutes} мин',
|
||||
'discover.moreLikeThis' => 'Подобно на това',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Търсенето е неуспешно: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Изтече времето за връзка при зареждане на ${context}',
|
||||
'errors.connectionFailed' => 'Не може да се осъществи връзка с медиен сървър',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsBg {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Неуспешно изтриване на ${displayName}',
|
||||
'errors.failedToRate' => 'Оценката не можа да бъде обновена',
|
||||
'libraries.title' => 'Библиотеки',
|
||||
'libraries.fallbackTitle' => 'Библиотека',
|
||||
'libraries.scanLibraryFiles' => 'Сканирай файловете на библиотеката',
|
||||
'libraries.scanLibrary' => 'Сканирай библиотеката',
|
||||
'libraries.analyze' => 'Анализирай',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsBg {
|
||||
'liveTv.noChannels' => 'Няма налични канали',
|
||||
'liveTv.noDvr' => 'Няма конфигуриран DVR на нито един сървър',
|
||||
'liveTv.noPrograms' => 'Няма налични програмни данни',
|
||||
'liveTv.liveStreamFailed' => 'Потокът на живо се провали',
|
||||
'liveTv.unknownProgram' => 'Неизвестна програма',
|
||||
'liveTv.unknownHub' => 'Неизвестно',
|
||||
'liveTv.unknownError' => 'Неизвестна грешка',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Канал ${number}',
|
||||
'liveTv.unknownChannel' => 'Неизвестен канал',
|
||||
'liveTv.live' => 'НА ЖИВО',
|
||||
'liveTv.reloadGuide' => 'Презареди ТВ програмата',
|
||||
'liveTv.now' => 'Сега',
|
||||
@@ -2711,10 +2828,19 @@ extension on TranslationsBg {
|
||||
'downloads.deleteDownload' => 'Изтрий изтегляне',
|
||||
'downloads.retryDownload' => 'Опитай изтеглянето отново',
|
||||
'downloads.downloadQueued' => 'Изтеглянето е добавено в опашката',
|
||||
'downloads.downloadResumed' => 'Изтеглянето е възобновено',
|
||||
'downloads.serverErrorBitrate' => 'Грешка на сървъра: файлът може да надвишава лимита за отдалечен битрейт',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} епизода са добавени в опашката за изтегляне',
|
||||
'downloads.downloadDeleted' => 'Изтеглянето е изтрито',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Да се изтрие ли "${title}" от това устройство?',
|
||||
'downloads.cancelledDownloadTitle' => 'Отменено изтегляне',
|
||||
'downloads.cancelledDownloadMessage' => 'Това изтегляне беше отменено. Какво искате да направите?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Всички епизоди вече са изтеглени',
|
||||
'downloads.resumeDownload' => 'Възобнови изтеглянето',
|
||||
'downloads.cancelledDownload' => 'Отменено изтегляне',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (синхронизира се ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => 'Изтеглен ${file} — щракнете за довършване',
|
||||
'downloads.partialDownloadClickToComplete' => 'Частично изтеглено — щракнете за довършване',
|
||||
'downloads.deleting' => 'Изтриване...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Изтриване на ${title}... (${current} от ${total})',
|
||||
'downloads.queuedTooltip' => 'В опашката',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsBg {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Да се изтрие ли "${name}"?',
|
||||
'companionRemote.title' => 'Дистанционно управление',
|
||||
'companionRemote.connectedTo' => ({required Object name}) => 'Свързан към ${name}',
|
||||
'companionRemote.unknownDevice' => 'Непознато устройство',
|
||||
'companionRemote.session.startingServer' => 'Стартиране на сървър за дистанционно управление...',
|
||||
'companionRemote.session.failedToCreate' => 'Неуспешно стартиране на сървър за дистанционно управление:',
|
||||
'companionRemote.session.hostAddress' => 'Адрес на хоста',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsBg {
|
||||
'companionRemote.remote.tabSettings' => 'Настройки',
|
||||
'companionRemote.remote.previous' => 'Предишен',
|
||||
'companionRemote.remote.playPause' => 'Пускане/пауза',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Следващ',
|
||||
'companionRemote.remote.seekBack' => 'Назад',
|
||||
'companionRemote.remote.stop' => 'Стоп',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsBg {
|
||||
'companionRemote.remote.subtitles' => 'Субтитри',
|
||||
'companionRemote.remote.audio' => 'Аудио',
|
||||
'companionRemote.remote.searchHint' => 'Търсене на настолен компютър...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Не е намерен мрежов интерфейс',
|
||||
'companionRemote.errors.authenticationFailed' => 'Неуспешно удостоверяване',
|
||||
'companionRemote.errors.joinTimedOut' => 'Времето за присъединяване към сесията изтече',
|
||||
'companionRemote.errors.failedToConnectAnyAddress' => 'Неуспешно свързване към който и да е адрес',
|
||||
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Връзката е загубена след ${attempts} опита',
|
||||
'companionRemote.errors.connectionLost' => 'Връзката е загубена',
|
||||
'videoSettings.playbackSpeed' => 'Скорост на възпроизвеждане',
|
||||
'videoSettings.zoom' => 'Мащаб',
|
||||
'videoSettings.sleepTimer' => 'Таймер за заспиване',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsBg {
|
||||
'videoSettings.performanceOverlay' => 'Оверлей за производителност',
|
||||
'videoSettings.audioPassthrough' => 'Аудио passthrough',
|
||||
'videoSettings.audioNormalization' => 'Нормализиране на силата на звука',
|
||||
'performanceOverlay.color' => 'Цвят',
|
||||
'performanceOverlay.performance' => 'Производителност',
|
||||
'performanceOverlay.buffer' => 'Буфер',
|
||||
'performanceOverlay.app' => 'Приложение',
|
||||
'performanceOverlay.decoder' => 'Декодер',
|
||||
'performanceOverlay.rawDecoder' => 'Суров декодер',
|
||||
'performanceOverlay.tunneling' => 'Тунелиране',
|
||||
'performanceOverlay.aspect' => 'Съотношение',
|
||||
'performanceOverlay.rotation' => 'Завъртане',
|
||||
'performanceOverlay.dvSource' => 'DV източник',
|
||||
'performanceOverlay.dvPath' => 'DV път',
|
||||
'performanceOverlay.p7Conversion' => 'P7 конв.',
|
||||
'performanceOverlay.sampleRate' => 'Честота',
|
||||
'performanceOverlay.pixelFormat' => 'Пикселен формат',
|
||||
'performanceOverlay.hwFormat' => 'HW формат',
|
||||
'performanceOverlay.matrix' => 'Матрица',
|
||||
'performanceOverlay.primaries' => 'Основни цветове',
|
||||
'performanceOverlay.transfer' => 'Трансфер',
|
||||
'performanceOverlay.renderFps' => 'Render FPS',
|
||||
'performanceOverlay.displayFps' => 'Display FPS',
|
||||
'performanceOverlay.avSync' => 'A/V синхр.',
|
||||
'performanceOverlay.dropped' => 'Изпуснати',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU',
|
||||
'performanceOverlay.dvRpuAverage' => 'Средно DV RPU',
|
||||
'performanceOverlay.dvSampleAverage' => 'Средно DV семпл',
|
||||
'performanceOverlay.maxLuma' => 'Макс. яркост',
|
||||
'performanceOverlay.minLuma' => 'Мин. яркост',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Използван кеш',
|
||||
'performanceOverlay.speed' => 'Скорост',
|
||||
'performanceOverlay.player' => 'Плеър',
|
||||
'performanceOverlay.memory' => 'Памет',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'Външен плеър',
|
||||
'externalPlayer.useExternalPlayer' => 'Използвай външен плеър',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Отваряй видеата в друго приложение',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsBg {
|
||||
'externalPlayer.systemDefault' => 'Системен по подразбиране',
|
||||
'externalPlayer.addCustomPlayer' => 'Добави персонален плейър',
|
||||
'externalPlayer.playerName' => 'Име на плейъра',
|
||||
'externalPlayer.playerNameHint' => 'Моят плеър',
|
||||
'externalPlayer.playerCommand' => 'Команда',
|
||||
'externalPlayer.playerPackage' => 'Име на пакет',
|
||||
'externalPlayer.playerUrlScheme' => 'URL схема',
|
||||
'externalPlayer.off' => 'Изключено',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Неуспешно отваряне на външен плеър',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} не е инсталиран',
|
||||
'externalPlayer.playInExternalPlayer' => 'Пусни във външен плеър',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsDa extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersDa shaders = _TranslationsShadersDa._(_root);
|
||||
@override late final _TranslationsCompanionRemoteDa companionRemote = _TranslationsCompanionRemoteDa._(_root);
|
||||
@override late final _TranslationsVideoSettingsDa videoSettings = _TranslationsVideoSettingsDa._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayDa performanceOverlay = _TranslationsPerformanceOverlayDa._(_root);
|
||||
@override late final _TranslationsExternalPlayerDa externalPlayer = _TranslationsExternalPlayerDa._(_root);
|
||||
@override late final _TranslationsMetadataEditDa metadataEdit = _TranslationsMetadataEditDa._(_root);
|
||||
@override late final _TranslationsMatchScreenDa matchScreen = _TranslationsMatchScreenDa._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonDa extends TranslationsCommonEn {
|
||||
@override String get settings => 'Indstillinger';
|
||||
@override String get mute => 'Lydløs';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Fra';
|
||||
@override String seasonNumber({required Object number}) => 'Sæson ${number}';
|
||||
@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';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Native / deaktiveret';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Brug enhedens kapabilitetsregistrering og normal fallbackadfærd';
|
||||
@override String get dvConversionNativeDescription => 'Tving native DV7 og undertryk forsøg på DV-konvertering';
|
||||
@override String get dvConversionDv81Description => 'Tving inline RPU-konvertering til Dolby Vision profil 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Fjern Dolby Vision RPU/EL-lag og brug almindelig HEVC';
|
||||
@override String get requireProfileSelectionOnOpen => 'Spørg om profil ved åbning';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Vis profilvalg hver gang appen åbnes';
|
||||
@override String get forceTvMode => 'Gennemtving TV-tilstand';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysDa extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Indstil genvej for ${actionName}';
|
||||
@override String get clearShortcut => 'Ryd genvej';
|
||||
@override String get noShortcutSet => 'Ingen genvej angivet';
|
||||
@override String get currentShortcut => 'Nuværende genvej:';
|
||||
@override late final _TranslationsHotkeysActionsDa actions = _TranslationsHotkeysActionsDa._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuDa extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Gå til serie';
|
||||
@override String get goToSeason => 'Gå til sæson';
|
||||
@override String get shufflePlay => 'Afspil tilfældigt';
|
||||
@override String get shuffleNotAvailableOffline => 'Bland afspilning er ikke tilgængelig offline';
|
||||
@override String get fileInfo => 'Filinfo';
|
||||
@override String get deleteFromServer => 'Slet fra server';
|
||||
@override String get confirmDelete => 'Slet dette medie og dets filer fra din server?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsDa extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Søg undertekster';
|
||||
@override String get language => 'Sprog';
|
||||
@override String get noSubtitlesFound => 'Ingen undertekster fundet';
|
||||
@override String get downloadedSubtitle => 'Downloadet';
|
||||
@override String get noSubtitlesAvailable => 'Ingen undertekster tilgængelige';
|
||||
@override String get noAudioTracksAvailable => 'Ingen lydspor tilgængelige';
|
||||
@override String get noTracksAvailable => 'Ingen spor tilgængelige';
|
||||
@override String get subtitleDownloaded => 'Undertekst downloadet';
|
||||
@override String get subtitleDownloadFailed => 'Kunne ikke downloade undertekst';
|
||||
@override String get searchLanguages => 'Søg sprog...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverDa extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Film';
|
||||
@override String get tvShow => 'TV-serie';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} min tilbage';
|
||||
@override String get moreLikeThis => 'Mere som dette';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesDa extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Biblioteker';
|
||||
@override String get fallbackTitle => 'Bibliotek';
|
||||
@override String get scanLibraryFiles => 'Scan biblioteksfiler';
|
||||
@override String get scanLibrary => 'Scan bibliotek';
|
||||
@override String get analyze => 'Analysér';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvDa extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Ingen kanaler tilgængelige';
|
||||
@override String get noDvr => 'Ingen DVR konfigureret på nogen server';
|
||||
@override String get noPrograms => 'Ingen programdata tilgængelig';
|
||||
@override String get liveStreamFailed => 'Livestream mislykkedes';
|
||||
@override String get unknownProgram => 'Ukendt program';
|
||||
@override String get unknownHub => 'Ukendt';
|
||||
@override String get unknownError => 'Ukendt fejl';
|
||||
@override String channelNumber({required Object number}) => 'Kanal ${number}';
|
||||
@override String get unknownChannel => 'Ukendt kanal';
|
||||
@override String get live => 'LIVE';
|
||||
@override String get reloadGuide => 'Genindlæs guide';
|
||||
@override String get now => 'Nu';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsDa extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Slet download';
|
||||
@override String get retryDownload => 'Prøv download igen';
|
||||
@override String get downloadQueued => 'Download i kø';
|
||||
@override String get downloadResumed => 'Download genoptaget';
|
||||
@override String get serverErrorBitrate => 'Serverfejl: filen overskrider muligvis grænsen for ekstern bitrate';
|
||||
@override String episodesQueued({required Object count}) => '${count} episoder i downloadkø';
|
||||
@override String get downloadDeleted => 'Download slettet';
|
||||
@override String deleteConfirm({required Object title}) => 'Slet "${title}" fra denne enhed?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Sletter ${title}... (${current} af ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Annulleret download';
|
||||
@override String get cancelledDownloadMessage => 'Denne download blev annulleret. Hvad vil du gøre?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Alle episoder er allerede downloadet';
|
||||
@override String get resumeDownload => 'Genoptag download';
|
||||
@override String get cancelledDownload => 'Annulleret download';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (synkroniserer ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} downloadet — klik for at fuldføre';
|
||||
@override String get partialDownloadClickToComplete => 'Delvist downloadet — klik for at fuldføre';
|
||||
@override String get deleting => 'Sletter...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Sletter ${title}... (${current} af ${total})';
|
||||
@override String get queuedTooltip => 'I kø';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'I kø: ${files}';
|
||||
@override String get downloadingTooltip => 'Downloader...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteDa extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Fjernbetjening';
|
||||
@override String connectedTo({required Object name}) => 'Forbundet til ${name}';
|
||||
@override String get unknownDevice => 'Ukendt enhed';
|
||||
@override late final _TranslationsCompanionRemoteSessionDa session = _TranslationsCompanionRemoteSessionDa._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingDa pairing = _TranslationsCompanionRemotePairingDa._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteDa remote = _TranslationsCompanionRemoteRemoteDa._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsDa errors = _TranslationsCompanionRemoteErrorsDa._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsDa extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Normalisér lydstyrke';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayDa extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayDa._(TranslationsDa root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsDa _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Farve';
|
||||
@override String get performance => 'Ydeevne';
|
||||
@override String get buffer => 'Buffer';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Dekoder';
|
||||
@override String get rawDecoder => 'Rå dekoder';
|
||||
@override String get tunneling => 'Tunneling';
|
||||
@override String get aspect => 'Billedformat';
|
||||
@override String get rotation => 'Rotation';
|
||||
@override String get dvSource => 'DV-kilde';
|
||||
@override String get dvPath => 'DV-sti';
|
||||
@override String get p7Conversion => 'P7-konv.';
|
||||
@override String get sampleRate => 'Samplingsrate';
|
||||
@override String get pixelFormat => 'Pixelformat';
|
||||
@override String get hwFormat => 'HW-format';
|
||||
@override String get matrix => 'Matrix';
|
||||
@override String get primaries => 'Primærfarver';
|
||||
@override String get transfer => 'Transfer';
|
||||
@override String get renderFps => 'Render FPS';
|
||||
@override String get displayFps => 'Skærm-FPS';
|
||||
@override String get avSync => 'A/V-synk.';
|
||||
@override String get dropped => 'Tabte';
|
||||
@override String get dvRpus => 'DV RPU’er';
|
||||
@override String get dvRpuAverage => 'DV RPU gns.';
|
||||
@override String get dvSampleAverage => 'DV-sample gns.';
|
||||
@override String get maxLuma => 'Maks. luma';
|
||||
@override String get minLuma => 'Min. luma';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Brugt cache';
|
||||
@override String get speed => 'Hastighed';
|
||||
@override String get player => 'Afspiller';
|
||||
@override String get memory => 'Hukommelse';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerDa extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerDa._(TranslationsDa root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerDa extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Systemstandard';
|
||||
@override String get addCustomPlayer => 'Tilføj brugerdefineret afspiller';
|
||||
@override String get playerName => 'Afspillernavn';
|
||||
@override String get playerNameHint => 'Min afspiller';
|
||||
@override String get playerCommand => 'Kommando';
|
||||
@override String get playerPackage => 'Pakkenavn';
|
||||
@override String get playerUrlScheme => 'URL-skema';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteDa extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Søg på desktop...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsDa extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsDa._(TranslationsDa root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsDa _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Ingen netværksgrænseflade fundet';
|
||||
@override String get authenticationFailed => 'Godkendelse mislykkedes';
|
||||
@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';
|
||||
@override String get connectionLost => 'Forbindelse mistet';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesDa extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesDa._(TranslationsDa root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsDa {
|
||||
'common.settings' => 'Indstillinger',
|
||||
'common.mute' => 'Lydløs',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Fra',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Sæson ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Kapitel ${number}',
|
||||
'common.reconnect' => 'Genopret forbindelse',
|
||||
'common.exit' => 'Afslut',
|
||||
'common.viewAll' => 'Vis alle',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsDa {
|
||||
'settings.dvConversionNative' => 'Native / deaktiveret',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Brug enhedens kapabilitetsregistrering og normal fallbackadfærd',
|
||||
'settings.dvConversionNativeDescription' => 'Tving native DV7 og undertryk forsøg på DV-konvertering',
|
||||
'settings.dvConversionDv81Description' => 'Tving inline RPU-konvertering til Dolby Vision profil 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Fjern Dolby Vision RPU/EL-lag og brug almindelig HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Spørg om profil ved åbning',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Vis profilvalg hver gang appen åbnes',
|
||||
'settings.forceTvMode' => 'Gennemtving TV-tilstand',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsDa {
|
||||
'search.enterTitleActorOrKeyword' => 'Indtast titel, skuespiller eller nøgleord',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Indstil genvej for ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Ryd genvej',
|
||||
'hotkeys.noShortcutSet' => 'Ingen genvej angivet',
|
||||
'hotkeys.currentShortcut' => 'Nuværende genvej:',
|
||||
'hotkeys.actions.playPause' => 'Afspil/Pause',
|
||||
'hotkeys.actions.volumeUp' => 'Lydstyrke op',
|
||||
'hotkeys.actions.volumeDown' => 'Lydstyrke ned',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsDa {
|
||||
'mediaMenu.goToSeries' => 'Gå til serie',
|
||||
'mediaMenu.goToSeason' => 'Gå til sæson',
|
||||
'mediaMenu.shufflePlay' => 'Afspil tilfældigt',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Bland afspilning er ikke tilgængelig offline',
|
||||
'mediaMenu.fileInfo' => 'Filinfo',
|
||||
'mediaMenu.deleteFromServer' => 'Slet fra server',
|
||||
'mediaMenu.confirmDelete' => 'Slet dette medie og dets filer fra din server?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsDa {
|
||||
'videoControls.searchSubtitles' => 'Søg undertekster',
|
||||
'videoControls.language' => 'Sprog',
|
||||
'videoControls.noSubtitlesFound' => 'Ingen undertekster fundet',
|
||||
'videoControls.downloadedSubtitle' => 'Downloadet',
|
||||
'videoControls.noSubtitlesAvailable' => 'Ingen undertekster tilgængelige',
|
||||
'videoControls.noAudioTracksAvailable' => 'Ingen lydspor tilgængelige',
|
||||
'videoControls.noTracksAvailable' => 'Ingen spor tilgængelige',
|
||||
'videoControls.subtitleDownloaded' => 'Undertekst downloadet',
|
||||
'videoControls.subtitleDownloadFailed' => 'Kunne ikke downloade undertekst',
|
||||
'videoControls.searchLanguages' => 'Søg sprog...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsDa {
|
||||
'subtitlingStyling.borderColor' => 'Kantfarve',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Baggrundsgennemsigtighed',
|
||||
'subtitlingStyling.backgroundColor' => 'Baggrundsfarve',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'ASS-tilsidesættelse',
|
||||
'subtitlingStyling.bold' => 'Fed',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsDa {
|
||||
'mpvConfig.loadPreset' => 'Indlæs',
|
||||
'mpvConfig.deletePreset' => 'Slet',
|
||||
'mpvConfig.presetSaved' => 'Forudindstilling gemt',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Forudindstilling indlæst',
|
||||
'mpvConfig.presetDeleted' => 'Forudindstilling slettet',
|
||||
'mpvConfig.confirmDeletePreset' => 'Er du sikker på, at du vil slette denne forudindstilling?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsDa {
|
||||
'discover.movie' => 'Film',
|
||||
'discover.tvShow' => 'TV-serie',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} min tilbage',
|
||||
'discover.moreLikeThis' => 'Mere som dette',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Søgning mislykkedes: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Forbindelsestimeout ved indlæsning af ${context}',
|
||||
'errors.connectionFailed' => 'Kan ikke oprette forbindelse til medieserver',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsDa {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Kunne ikke slette ${displayName}',
|
||||
'errors.failedToRate' => 'Kunne ikke opdatere bedømmelsen',
|
||||
'libraries.title' => 'Biblioteker',
|
||||
'libraries.fallbackTitle' => 'Bibliotek',
|
||||
'libraries.scanLibraryFiles' => 'Scan biblioteksfiler',
|
||||
'libraries.scanLibrary' => 'Scan bibliotek',
|
||||
'libraries.analyze' => 'Analysér',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsDa {
|
||||
'liveTv.noChannels' => 'Ingen kanaler tilgængelige',
|
||||
'liveTv.noDvr' => 'Ingen DVR konfigureret på nogen server',
|
||||
'liveTv.noPrograms' => 'Ingen programdata tilgængelig',
|
||||
'liveTv.liveStreamFailed' => 'Livestream mislykkedes',
|
||||
'liveTv.unknownProgram' => 'Ukendt program',
|
||||
'liveTv.unknownHub' => 'Ukendt',
|
||||
'liveTv.unknownError' => 'Ukendt fejl',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Kanal ${number}',
|
||||
'liveTv.unknownChannel' => 'Ukendt kanal',
|
||||
'liveTv.live' => 'LIVE',
|
||||
'liveTv.reloadGuide' => 'Genindlæs guide',
|
||||
'liveTv.now' => 'Nu',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsDa {
|
||||
'downloads.deleteDownload' => 'Slet download',
|
||||
'downloads.retryDownload' => 'Prøv download igen',
|
||||
'downloads.downloadQueued' => 'Download i kø',
|
||||
'downloads.downloadResumed' => 'Download genoptaget',
|
||||
'downloads.serverErrorBitrate' => 'Serverfejl: filen overskrider muligvis grænsen for ekstern bitrate',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} episoder i downloadkø',
|
||||
'downloads.downloadDeleted' => 'Download slettet',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Slet "${title}" fra denne enhed?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Sletter ${title}... (${current} af ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Annulleret download',
|
||||
'downloads.cancelledDownloadMessage' => 'Denne download blev annulleret. Hvad vil du gøre?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Alle episoder er allerede downloadet',
|
||||
'downloads.resumeDownload' => 'Genoptag download',
|
||||
'downloads.cancelledDownload' => 'Annulleret download',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (synkroniserer ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} downloadet — klik for at fuldføre',
|
||||
'downloads.partialDownloadClickToComplete' => 'Delvist downloadet — klik for at fuldføre',
|
||||
'downloads.deleting' => 'Sletter...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Sletter ${title}... (${current} af ${total})',
|
||||
'downloads.queuedTooltip' => 'I kø',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'I kø: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Downloader...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsDa {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Slet "${name}"?',
|
||||
'companionRemote.title' => 'Fjernbetjening',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsDa {
|
||||
'companionRemote.remote.tabSettings' => 'Indstillinger',
|
||||
'companionRemote.remote.previous' => 'Forrige',
|
||||
'companionRemote.remote.playPause' => 'Afspil/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Næste',
|
||||
'companionRemote.remote.seekBack' => 'Spol tilbage',
|
||||
'companionRemote.remote.stop' => 'Stop',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsDa {
|
||||
'companionRemote.remote.subtitles' => 'Undertekster',
|
||||
'companionRemote.remote.audio' => 'Lyd',
|
||||
'companionRemote.remote.searchHint' => 'Søg på desktop...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Ingen netværksgrænseflade fundet',
|
||||
'companionRemote.errors.authenticationFailed' => 'Godkendelse mislykkedes',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Forbindelse mistet',
|
||||
'videoSettings.playbackSpeed' => 'Afspilningshastighed',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Sove-timer',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsDa {
|
||||
'videoSettings.performanceOverlay' => 'Ydelsesoverlay',
|
||||
'videoSettings.audioPassthrough' => 'Lyd-passthrough',
|
||||
'videoSettings.audioNormalization' => 'Normalisér lydstyrke',
|
||||
'performanceOverlay.color' => 'Farve',
|
||||
'performanceOverlay.performance' => 'Ydeevne',
|
||||
'performanceOverlay.buffer' => 'Buffer',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Dekoder',
|
||||
'performanceOverlay.rawDecoder' => 'Rå dekoder',
|
||||
'performanceOverlay.tunneling' => 'Tunneling',
|
||||
'performanceOverlay.aspect' => 'Billedformat',
|
||||
'performanceOverlay.rotation' => 'Rotation',
|
||||
'performanceOverlay.dvSource' => 'DV-kilde',
|
||||
'performanceOverlay.dvPath' => 'DV-sti',
|
||||
'performanceOverlay.p7Conversion' => 'P7-konv.',
|
||||
'performanceOverlay.sampleRate' => 'Samplingsrate',
|
||||
'performanceOverlay.pixelFormat' => 'Pixelformat',
|
||||
'performanceOverlay.hwFormat' => 'HW-format',
|
||||
'performanceOverlay.matrix' => 'Matrix',
|
||||
'performanceOverlay.primaries' => 'Primærfarver',
|
||||
'performanceOverlay.transfer' => 'Transfer',
|
||||
'performanceOverlay.renderFps' => 'Render FPS',
|
||||
'performanceOverlay.displayFps' => 'Skærm-FPS',
|
||||
'performanceOverlay.avSync' => 'A/V-synk.',
|
||||
'performanceOverlay.dropped' => 'Tabte',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU’er',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV RPU gns.',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV-sample gns.',
|
||||
'performanceOverlay.maxLuma' => 'Maks. luma',
|
||||
'performanceOverlay.minLuma' => 'Min. luma',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Brugt cache',
|
||||
'performanceOverlay.speed' => 'Hastighed',
|
||||
'performanceOverlay.player' => 'Afspiller',
|
||||
'performanceOverlay.memory' => 'Hukommelse',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'Ekstern afspiller',
|
||||
'externalPlayer.useExternalPlayer' => 'Brug ekstern afspiller',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Åbn videoer i en anden app',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsDa {
|
||||
'externalPlayer.systemDefault' => 'Systemstandard',
|
||||
'externalPlayer.addCustomPlayer' => 'Tilføj brugerdefineret afspiller',
|
||||
'externalPlayer.playerName' => 'Afspillernavn',
|
||||
'externalPlayer.playerNameHint' => 'Min afspiller',
|
||||
'externalPlayer.playerCommand' => 'Kommando',
|
||||
'externalPlayer.playerPackage' => 'Pakkenavn',
|
||||
'externalPlayer.playerUrlScheme' => 'URL-skema',
|
||||
'externalPlayer.off' => 'Fra',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Kunne ikke åbne ekstern afspiller',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} er ikke installeret',
|
||||
'externalPlayer.playInExternalPlayer' => 'Afspil i ekstern afspiller',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsDe extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersDe shaders = _TranslationsShadersDe._(_root);
|
||||
@override late final _TranslationsCompanionRemoteDe companionRemote = _TranslationsCompanionRemoteDe._(_root);
|
||||
@override late final _TranslationsVideoSettingsDe videoSettings = _TranslationsVideoSettingsDe._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayDe performanceOverlay = _TranslationsPerformanceOverlayDe._(_root);
|
||||
@override late final _TranslationsExternalPlayerDe externalPlayer = _TranslationsExternalPlayerDe._(_root);
|
||||
@override late final _TranslationsMetadataEditDe metadataEdit = _TranslationsMetadataEditDe._(_root);
|
||||
@override late final _TranslationsMatchScreenDe matchScreen = _TranslationsMatchScreenDe._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonDe extends TranslationsCommonEn {
|
||||
@override String get settings => 'Optionen';
|
||||
@override String get mute => 'Stumm';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Aus';
|
||||
@override String seasonNumber({required Object number}) => 'Staffel ${number}';
|
||||
@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';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Nativ / deaktiviert';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Gerätefähigkeiten erkennen und normales Fallback-Verhalten verwenden';
|
||||
@override String get dvConversionNativeDescription => 'Natives DV7 erzwingen und DV-Konvertierungsversuch unterdrücken';
|
||||
@override String get dvConversionDv81Description => 'Inline-RPU-Konvertierung zu Dolby Vision Profil 8.1 erzwingen';
|
||||
@override String get dvConversionHevcStripDescription => 'Dolby-Vision-RPU/EL-Schichten entfernen und reines HEVC ausgeben';
|
||||
@override String get requireProfileSelectionOnOpen => 'Profil beim Öffnen abfragen';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Profilauswahl bei jedem Öffnen der App anzeigen';
|
||||
@override String get forceTvMode => 'TV-Modus erzwingen';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysDe extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Tastenkürzel festlegen für ${actionName}';
|
||||
@override String get clearShortcut => 'Kürzel löschen';
|
||||
@override String get noShortcutSet => 'Keine Tastenkombination festgelegt';
|
||||
@override String get currentShortcut => 'Aktuelle Tastenkombination:';
|
||||
@override late final _TranslationsHotkeysActionsDe actions = _TranslationsHotkeysActionsDe._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuDe extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Zur Serie';
|
||||
@override String get goToSeason => 'Zur Staffel';
|
||||
@override String get shufflePlay => 'Zufallswiedergabe';
|
||||
@override String get shuffleNotAvailableOffline => 'Zufallswiedergabe ist offline nicht verfügbar';
|
||||
@override String get fileInfo => 'Dateiinfo';
|
||||
@override String get deleteFromServer => 'Vom Server löschen';
|
||||
@override String get confirmDelete => 'Dieses Medium und seine Dateien von deinem Server löschen?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsDe extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Untertitel suchen';
|
||||
@override String get language => 'Sprache';
|
||||
@override String get noSubtitlesFound => 'Keine Untertitel gefunden';
|
||||
@override String get downloadedSubtitle => 'Heruntergeladen';
|
||||
@override String get noSubtitlesAvailable => 'Keine Untertitel verfügbar';
|
||||
@override String get noAudioTracksAvailable => 'Keine Audiospuren verfügbar';
|
||||
@override String get noTracksAvailable => 'Keine Spuren verfügbar';
|
||||
@override String get subtitleDownloaded => 'Untertitel heruntergeladen';
|
||||
@override String get subtitleDownloadFailed => 'Untertitel konnte nicht heruntergeladen werden';
|
||||
@override String get searchLanguages => 'Sprachen suchen...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverDe extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Film';
|
||||
@override String get tvShow => 'Serie';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} Min übrig';
|
||||
@override String get moreLikeThis => 'Ähnliche Inhalte';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesDe extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Mediatheken';
|
||||
@override String get fallbackTitle => 'Mediathek';
|
||||
@override String get scanLibraryFiles => 'Mediatheksdateien scannen';
|
||||
@override String get scanLibrary => 'Mediathek scannen';
|
||||
@override String get analyze => 'Analysieren';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvDe extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Keine Kanäle verfügbar';
|
||||
@override String get noDvr => 'Kein DVR auf einem Server konfiguriert';
|
||||
@override String get noPrograms => 'Keine Programmdaten verfügbar';
|
||||
@override String get liveStreamFailed => 'Livestream fehlgeschlagen';
|
||||
@override String get unknownProgram => 'Unbekannte Sendung';
|
||||
@override String get unknownHub => 'Unbekannt';
|
||||
@override String get unknownError => 'Unbekannter Fehler';
|
||||
@override String channelNumber({required Object number}) => 'Kanal ${number}';
|
||||
@override String get unknownChannel => 'Unbekannter Kanal';
|
||||
@override String get live => 'LIVE';
|
||||
@override String get reloadGuide => 'Programmführer neu laden';
|
||||
@override String get now => 'Jetzt';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsDe extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Download löschen';
|
||||
@override String get retryDownload => 'Download wiederholen';
|
||||
@override String get downloadQueued => 'Download in Warteschlange';
|
||||
@override String get downloadResumed => 'Download fortgesetzt';
|
||||
@override String get serverErrorBitrate => 'Serverfehler: Datei überschreitet möglicherweise das Remote-Bitrate-Limit';
|
||||
@override String episodesQueued({required Object count}) => '${count} Episoden zum Download hinzugefügt';
|
||||
@override String get downloadDeleted => 'Download gelöscht';
|
||||
@override String deleteConfirm({required Object title}) => '"${title}" von diesem Gerät löschen?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Lösche ${title}... (${current} von ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Abgebrochener Download';
|
||||
@override String get cancelledDownloadMessage => 'Dieser Download wurde abgebrochen. Was möchtest du tun?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Alle Episoden sind bereits heruntergeladen';
|
||||
@override String get resumeDownload => 'Download fortsetzen';
|
||||
@override String get cancelledDownload => 'Abgebrochener Download';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (${status} wird synchronisiert)';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} heruntergeladen — zum Abschließen klicken';
|
||||
@override String get partialDownloadClickToComplete => 'Teilweise heruntergeladen — zum Abschließen klicken';
|
||||
@override String get deleting => 'Lösche...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Lösche ${title}... (${current} von ${total})';
|
||||
@override String get queuedTooltip => 'In Warteschlange';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'In Warteschlange: ${files}';
|
||||
@override String get downloadingTooltip => 'Lädt herunter...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteDe extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Companion-Fernbedienung';
|
||||
@override String connectedTo({required Object name}) => 'Verbunden mit ${name}';
|
||||
@override String get unknownDevice => 'Unbekanntes Gerät';
|
||||
@override late final _TranslationsCompanionRemoteSessionDe session = _TranslationsCompanionRemoteSessionDe._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingDe pairing = _TranslationsCompanionRemotePairingDe._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteDe remote = _TranslationsCompanionRemoteRemoteDe._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsDe errors = _TranslationsCompanionRemoteErrorsDe._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsDe extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Lautstärke normalisieren';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayDe extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayDe._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsDe _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Farbe';
|
||||
@override String get performance => 'Leistung';
|
||||
@override String get buffer => 'Puffer';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Decoder';
|
||||
@override String get rawDecoder => 'Raw-Decoder';
|
||||
@override String get tunneling => 'Tunneling';
|
||||
@override String get aspect => 'Seitenverhältnis';
|
||||
@override String get rotation => 'Drehung';
|
||||
@override String get dvSource => 'DV-Quelle';
|
||||
@override String get dvPath => 'DV-Pfad';
|
||||
@override String get p7Conversion => 'P7-Konv.';
|
||||
@override String get sampleRate => 'Abtastrate';
|
||||
@override String get pixelFormat => 'Pixelformat';
|
||||
@override String get hwFormat => 'HW-Format';
|
||||
@override String get matrix => 'Matrix';
|
||||
@override String get primaries => 'Primärfarben';
|
||||
@override String get transfer => 'Transfer';
|
||||
@override String get renderFps => 'Render-FPS';
|
||||
@override String get displayFps => 'Display-FPS';
|
||||
@override String get avSync => 'A/V-Sync';
|
||||
@override String get dropped => 'Verworfen';
|
||||
@override String get dvRpus => 'DV-RPUs';
|
||||
@override String get dvRpuAverage => 'DV-RPU Ø';
|
||||
@override String get dvSampleAverage => 'DV-Sample Ø';
|
||||
@override String get maxLuma => 'Max. Luma';
|
||||
@override String get minLuma => 'Min. Luma';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Cache genutzt';
|
||||
@override String get speed => 'Geschwindigkeit';
|
||||
@override String get player => 'Player';
|
||||
@override String get memory => 'Speicher';
|
||||
@override String get uiFps => 'UI-FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerDe extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerDe._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerDe extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Systemstandard';
|
||||
@override String get addCustomPlayer => 'Benutzerdefinierten Player hinzufügen';
|
||||
@override String get playerName => 'Playername';
|
||||
@override String get playerNameHint => 'Mein Player';
|
||||
@override String get playerCommand => 'Befehl';
|
||||
@override String get playerPackage => 'Paketname';
|
||||
@override String get playerUrlScheme => 'URL-Schema';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteDe extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Auf Desktop suchen...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsDe extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsDe._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsDe _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Keine Netzwerkschnittstelle gefunden';
|
||||
@override String get authenticationFailed => 'Authentifizierung fehlgeschlagen';
|
||||
@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';
|
||||
@override String get connectionLost => 'Verbindung verloren';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesDe extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesDe._(TranslationsDe root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsDe {
|
||||
'common.settings' => 'Optionen',
|
||||
'common.mute' => 'Stumm',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Aus',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Staffel ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Kapitel ${number}',
|
||||
'common.reconnect' => 'Erneut verbinden',
|
||||
'common.exit' => 'Beenden',
|
||||
'common.viewAll' => 'Alle anzeigen',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsDe {
|
||||
'settings.dvConversionNative' => 'Nativ / deaktiviert',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Gerätefähigkeiten erkennen und normales Fallback-Verhalten verwenden',
|
||||
'settings.dvConversionNativeDescription' => 'Natives DV7 erzwingen und DV-Konvertierungsversuch unterdrücken',
|
||||
'settings.dvConversionDv81Description' => 'Inline-RPU-Konvertierung zu Dolby Vision Profil 8.1 erzwingen',
|
||||
'settings.dvConversionHevcStripDescription' => 'Dolby-Vision-RPU/EL-Schichten entfernen und reines HEVC ausgeben',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Profil beim Öffnen abfragen',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Profilauswahl bei jedem Öffnen der App anzeigen',
|
||||
'settings.forceTvMode' => 'TV-Modus erzwingen',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsDe {
|
||||
'search.enterTitleActorOrKeyword' => 'Titel, Schauspieler oder Stichwort eingeben',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Tastenkürzel festlegen für ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Kürzel löschen',
|
||||
'hotkeys.noShortcutSet' => 'Keine Tastenkombination festgelegt',
|
||||
'hotkeys.currentShortcut' => 'Aktuelle Tastenkombination:',
|
||||
'hotkeys.actions.playPause' => 'Wiedergabe/Pause',
|
||||
'hotkeys.actions.volumeUp' => 'Lauter',
|
||||
'hotkeys.actions.volumeDown' => 'Leiser',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsDe {
|
||||
'mediaMenu.goToSeries' => 'Zur Serie',
|
||||
'mediaMenu.goToSeason' => 'Zur Staffel',
|
||||
'mediaMenu.shufflePlay' => 'Zufallswiedergabe',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Zufallswiedergabe ist offline nicht verfügbar',
|
||||
'mediaMenu.fileInfo' => 'Dateiinfo',
|
||||
'mediaMenu.deleteFromServer' => 'Vom Server löschen',
|
||||
'mediaMenu.confirmDelete' => 'Dieses Medium und seine Dateien von deinem Server löschen?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsDe {
|
||||
'videoControls.searchSubtitles' => 'Untertitel suchen',
|
||||
'videoControls.language' => 'Sprache',
|
||||
'videoControls.noSubtitlesFound' => 'Keine Untertitel gefunden',
|
||||
'videoControls.downloadedSubtitle' => 'Heruntergeladen',
|
||||
'videoControls.noSubtitlesAvailable' => 'Keine Untertitel verfügbar',
|
||||
'videoControls.noAudioTracksAvailable' => 'Keine Audiospuren verfügbar',
|
||||
'videoControls.noTracksAvailable' => 'Keine Spuren verfügbar',
|
||||
'videoControls.subtitleDownloaded' => 'Untertitel heruntergeladen',
|
||||
'videoControls.subtitleDownloadFailed' => 'Untertitel konnte nicht heruntergeladen werden',
|
||||
'videoControls.searchLanguages' => 'Sprachen suchen...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsDe {
|
||||
'subtitlingStyling.borderColor' => 'Rahmenfarbe',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Hintergrunddeckkraft',
|
||||
'subtitlingStyling.backgroundColor' => 'Hintergrundfarbe',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'ASS-Überschreibung',
|
||||
'subtitlingStyling.bold' => 'Fett',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsDe {
|
||||
'mpvConfig.loadPreset' => 'Laden',
|
||||
'mpvConfig.deletePreset' => 'Löschen',
|
||||
'mpvConfig.presetSaved' => 'Voreinstellung gespeichert',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Voreinstellung geladen',
|
||||
'mpvConfig.presetDeleted' => 'Voreinstellung gelöscht',
|
||||
'mpvConfig.confirmDeletePreset' => 'Möchten Sie diese Voreinstellung wirklich löschen?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsDe {
|
||||
'discover.movie' => 'Film',
|
||||
'discover.tvShow' => 'Serie',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} Min übrig',
|
||||
'discover.moreLikeThis' => 'Ähnliche Inhalte',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Suche fehlgeschlagen: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Zeitüberschreitung beim Laden von ${context}',
|
||||
'errors.connectionFailed' => 'Keine Verbindung zum Medienserver möglich',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsDe {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Löschen von ${displayName} fehlgeschlagen',
|
||||
'errors.failedToRate' => 'Bewertung konnte nicht aktualisiert werden',
|
||||
'libraries.title' => 'Mediatheken',
|
||||
'libraries.fallbackTitle' => 'Mediathek',
|
||||
'libraries.scanLibraryFiles' => 'Mediatheksdateien scannen',
|
||||
'libraries.scanLibrary' => 'Mediathek scannen',
|
||||
'libraries.analyze' => 'Analysieren',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsDe {
|
||||
'liveTv.noChannels' => 'Keine Kanäle verfügbar',
|
||||
'liveTv.noDvr' => 'Kein DVR auf einem Server konfiguriert',
|
||||
'liveTv.noPrograms' => 'Keine Programmdaten verfügbar',
|
||||
'liveTv.liveStreamFailed' => 'Livestream fehlgeschlagen',
|
||||
'liveTv.unknownProgram' => 'Unbekannte Sendung',
|
||||
'liveTv.unknownHub' => 'Unbekannt',
|
||||
'liveTv.unknownError' => 'Unbekannter Fehler',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Kanal ${number}',
|
||||
'liveTv.unknownChannel' => 'Unbekannter Kanal',
|
||||
'liveTv.live' => 'LIVE',
|
||||
'liveTv.reloadGuide' => 'Programmführer neu laden',
|
||||
'liveTv.now' => 'Jetzt',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsDe {
|
||||
'downloads.deleteDownload' => 'Download löschen',
|
||||
'downloads.retryDownload' => 'Download wiederholen',
|
||||
'downloads.downloadQueued' => 'Download in Warteschlange',
|
||||
'downloads.downloadResumed' => 'Download fortgesetzt',
|
||||
'downloads.serverErrorBitrate' => 'Serverfehler: Datei überschreitet möglicherweise das Remote-Bitrate-Limit',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} Episoden zum Download hinzugefügt',
|
||||
'downloads.downloadDeleted' => 'Download gelöscht',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => '"${title}" von diesem Gerät löschen?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Lösche ${title}... (${current} von ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Abgebrochener Download',
|
||||
'downloads.cancelledDownloadMessage' => 'Dieser Download wurde abgebrochen. Was möchtest du tun?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Alle Episoden sind bereits heruntergeladen',
|
||||
'downloads.resumeDownload' => 'Download fortsetzen',
|
||||
'downloads.cancelledDownload' => 'Abgebrochener Download',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (${status} wird synchronisiert)',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} heruntergeladen — zum Abschließen klicken',
|
||||
'downloads.partialDownloadClickToComplete' => 'Teilweise heruntergeladen — zum Abschließen klicken',
|
||||
'downloads.deleting' => 'Lösche...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Lösche ${title}... (${current} von ${total})',
|
||||
'downloads.queuedTooltip' => 'In Warteschlange',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'In Warteschlange: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Lädt herunter...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsDe {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => '"${name}" löschen?',
|
||||
'companionRemote.title' => 'Companion-Fernbedienung',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsDe {
|
||||
'companionRemote.remote.tabSettings' => 'Einstellungen',
|
||||
'companionRemote.remote.previous' => 'Zurück',
|
||||
'companionRemote.remote.playPause' => 'Wiedergabe/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Weiter',
|
||||
'companionRemote.remote.seekBack' => 'Zurückspulen',
|
||||
'companionRemote.remote.stop' => 'Stopp',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsDe {
|
||||
'companionRemote.remote.subtitles' => 'Untertitel',
|
||||
'companionRemote.remote.audio' => 'Audio',
|
||||
'companionRemote.remote.searchHint' => 'Auf Desktop suchen...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Keine Netzwerkschnittstelle gefunden',
|
||||
'companionRemote.errors.authenticationFailed' => 'Authentifizierung fehlgeschlagen',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Verbindung verloren',
|
||||
'videoSettings.playbackSpeed' => 'Wiedergabegeschwindigkeit',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Schlaftimer',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsDe {
|
||||
'videoSettings.performanceOverlay' => 'Leistungsanzeige',
|
||||
'videoSettings.audioPassthrough' => 'Audio-Durchleitung',
|
||||
'videoSettings.audioNormalization' => 'Lautstärke normalisieren',
|
||||
'performanceOverlay.color' => 'Farbe',
|
||||
'performanceOverlay.performance' => 'Leistung',
|
||||
'performanceOverlay.buffer' => 'Puffer',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Decoder',
|
||||
'performanceOverlay.rawDecoder' => 'Raw-Decoder',
|
||||
'performanceOverlay.tunneling' => 'Tunneling',
|
||||
'performanceOverlay.aspect' => 'Seitenverhältnis',
|
||||
'performanceOverlay.rotation' => 'Drehung',
|
||||
'performanceOverlay.dvSource' => 'DV-Quelle',
|
||||
'performanceOverlay.dvPath' => 'DV-Pfad',
|
||||
'performanceOverlay.p7Conversion' => 'P7-Konv.',
|
||||
'performanceOverlay.sampleRate' => 'Abtastrate',
|
||||
'performanceOverlay.pixelFormat' => 'Pixelformat',
|
||||
'performanceOverlay.hwFormat' => 'HW-Format',
|
||||
'performanceOverlay.matrix' => 'Matrix',
|
||||
'performanceOverlay.primaries' => 'Primärfarben',
|
||||
'performanceOverlay.transfer' => 'Transfer',
|
||||
'performanceOverlay.renderFps' => 'Render-FPS',
|
||||
'performanceOverlay.displayFps' => 'Display-FPS',
|
||||
'performanceOverlay.avSync' => 'A/V-Sync',
|
||||
'performanceOverlay.dropped' => 'Verworfen',
|
||||
'performanceOverlay.dvRpus' => 'DV-RPUs',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV-RPU Ø',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV-Sample Ø',
|
||||
'performanceOverlay.maxLuma' => 'Max. Luma',
|
||||
'performanceOverlay.minLuma' => 'Min. Luma',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Cache genutzt',
|
||||
'performanceOverlay.speed' => 'Geschwindigkeit',
|
||||
'performanceOverlay.player' => 'Player',
|
||||
'performanceOverlay.memory' => 'Speicher',
|
||||
'performanceOverlay.uiFps' => 'UI-FPS',
|
||||
'externalPlayer.title' => 'Externer Player',
|
||||
'externalPlayer.useExternalPlayer' => 'Externen Player verwenden',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Videos in einer anderen App öffnen',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsDe {
|
||||
'externalPlayer.systemDefault' => 'Systemstandard',
|
||||
'externalPlayer.addCustomPlayer' => 'Benutzerdefinierten Player hinzufügen',
|
||||
'externalPlayer.playerName' => 'Playername',
|
||||
'externalPlayer.playerNameHint' => 'Mein Player',
|
||||
'externalPlayer.playerCommand' => 'Befehl',
|
||||
'externalPlayer.playerPackage' => 'Paketname',
|
||||
'externalPlayer.playerUrlScheme' => 'URL-Schema',
|
||||
'externalPlayer.off' => 'Aus',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Externer Player konnte nicht geöffnet werden',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} ist nicht installiert',
|
||||
'externalPlayer.playInExternalPlayer' => 'In externem Player abspielen',
|
||||
|
||||
+320
-4
@@ -78,6 +78,7 @@ class Translations with BaseTranslations<AppLocale, Translations> {
|
||||
late final TranslationsShadersEn shaders = TranslationsShadersEn.internal(_root);
|
||||
late final TranslationsCompanionRemoteEn companionRemote = TranslationsCompanionRemoteEn.internal(_root);
|
||||
late final TranslationsVideoSettingsEn videoSettings = TranslationsVideoSettingsEn.internal(_root);
|
||||
late final TranslationsPerformanceOverlayEn performanceOverlay = TranslationsPerformanceOverlayEn.internal(_root);
|
||||
late final TranslationsExternalPlayerEn externalPlayer = TranslationsExternalPlayerEn.internal(_root);
|
||||
late final TranslationsMetadataEditEn metadataEdit = TranslationsMetadataEditEn.internal(_root);
|
||||
late final TranslationsMatchScreenEn matchScreen = TranslationsMatchScreenEn.internal(_root);
|
||||
@@ -257,6 +258,15 @@ class TranslationsCommonEn {
|
||||
/// en: 'OK'
|
||||
String get ok => 'OK';
|
||||
|
||||
/// en: 'Off'
|
||||
String get off => 'Off';
|
||||
|
||||
/// en: 'Season ${number}'
|
||||
String seasonNumber({required Object number}) => 'Season ${number}';
|
||||
|
||||
/// en: 'Chapter ${number}'
|
||||
String chapterNumber({required Object number}) => 'Chapter ${number}';
|
||||
|
||||
/// en: 'Reconnect'
|
||||
String get reconnect => 'Reconnect';
|
||||
|
||||
@@ -881,6 +891,18 @@ class TranslationsSettingsEn {
|
||||
/// en: 'P7 → HEVC'
|
||||
String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
|
||||
/// en: 'Use device capability detection and normal fallback behavior'
|
||||
String get dvConversionAutoDescription => 'Use device capability detection and normal fallback behavior';
|
||||
|
||||
/// en: 'Force native DV7 and suppress DV conversion retry'
|
||||
String get dvConversionNativeDescription => 'Force native DV7 and suppress DV conversion retry';
|
||||
|
||||
/// en: 'Force inline RPU conversion to Dolby Vision profile 8.1'
|
||||
String get dvConversionDv81Description => 'Force inline RPU conversion to Dolby Vision profile 8.1';
|
||||
|
||||
/// en: 'Strip Dolby Vision RPU/EL layers and present plain HEVC'
|
||||
String get dvConversionHevcStripDescription => 'Strip Dolby Vision RPU/EL layers and present plain HEVC';
|
||||
|
||||
/// en: 'Ask for profile on app open'
|
||||
String get requireProfileSelectionOnOpen => 'Ask for profile on app open';
|
||||
|
||||
@@ -986,6 +1008,12 @@ class TranslationsHotkeysEn {
|
||||
/// en: 'Clear shortcut'
|
||||
String get clearShortcut => 'Clear shortcut';
|
||||
|
||||
/// en: 'No shortcut set'
|
||||
String get noShortcutSet => 'No shortcut set';
|
||||
|
||||
/// en: 'Current shortcut:'
|
||||
String get currentShortcut => 'Current shortcut:';
|
||||
|
||||
late final TranslationsHotkeysActionsEn actions = TranslationsHotkeysActionsEn.internal(_root);
|
||||
}
|
||||
|
||||
@@ -1099,6 +1127,9 @@ class TranslationsMediaMenuEn {
|
||||
/// en: 'Shuffle Play'
|
||||
String get shufflePlay => 'Shuffle Play';
|
||||
|
||||
/// en: 'Shuffle not available offline'
|
||||
String get shuffleNotAvailableOffline => 'Shuffle not available offline';
|
||||
|
||||
/// en: 'File Info'
|
||||
String get fileInfo => 'File Info';
|
||||
|
||||
@@ -1440,6 +1471,18 @@ class TranslationsVideoControlsEn {
|
||||
/// en: 'No subtitles found'
|
||||
String get noSubtitlesFound => 'No subtitles found';
|
||||
|
||||
/// en: 'Downloaded'
|
||||
String get downloadedSubtitle => 'Downloaded';
|
||||
|
||||
/// en: 'No subtitles available'
|
||||
String get noSubtitlesAvailable => 'No subtitles available';
|
||||
|
||||
/// en: 'No audio tracks available'
|
||||
String get noAudioTracksAvailable => 'No audio tracks available';
|
||||
|
||||
/// en: 'No tracks available'
|
||||
String get noTracksAvailable => 'No tracks available';
|
||||
|
||||
/// en: 'Subtitle downloaded'
|
||||
String get subtitleDownloaded => 'Subtitle downloaded';
|
||||
|
||||
@@ -1895,6 +1938,9 @@ 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
|
||||
@@ -1997,6 +2043,9 @@ class TranslationsDiscoverEn {
|
||||
|
||||
/// en: '${minutes} min left'
|
||||
String minutesLeft({required Object minutes}) => '${minutes} min left';
|
||||
|
||||
/// en: 'More Like This'
|
||||
String get moreLikeThis => 'More Like This';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -2058,6 +2107,9 @@ class TranslationsLibrariesEn {
|
||||
/// en: 'Libraries'
|
||||
String get title => 'Libraries';
|
||||
|
||||
/// en: 'Library'
|
||||
String get fallbackTitle => 'Library';
|
||||
|
||||
/// en: 'Scan Library Files'
|
||||
String get scanLibraryFiles => 'Scan Library Files';
|
||||
|
||||
@@ -2321,6 +2373,24 @@ class TranslationsLiveTvEn {
|
||||
/// en: 'No program data available'
|
||||
String get noPrograms => 'No program data available';
|
||||
|
||||
/// en: 'Live stream failed'
|
||||
String get liveStreamFailed => 'Live stream failed';
|
||||
|
||||
/// en: 'Unknown Program'
|
||||
String get unknownProgram => 'Unknown Program';
|
||||
|
||||
/// en: 'Unknown'
|
||||
String get unknownHub => 'Unknown';
|
||||
|
||||
/// en: 'Unknown error'
|
||||
String get unknownError => 'Unknown error';
|
||||
|
||||
/// en: 'Channel ${number}'
|
||||
String channelNumber({required Object number}) => 'Channel ${number}';
|
||||
|
||||
/// en: 'Unknown channel'
|
||||
String get unknownChannel => 'Unknown channel';
|
||||
|
||||
/// en: 'LIVE'
|
||||
String get live => 'LIVE';
|
||||
|
||||
@@ -2867,6 +2937,9 @@ class TranslationsDownloadsEn {
|
||||
/// en: 'Download queued'
|
||||
String get downloadQueued => 'Download queued';
|
||||
|
||||
/// en: 'Download resumed'
|
||||
String get downloadResumed => 'Download resumed';
|
||||
|
||||
/// en: 'Server error: file may exceed the remote bitrate limit'
|
||||
String get serverErrorBitrate => 'Server error: file may exceed the remote bitrate limit';
|
||||
|
||||
@@ -2879,6 +2952,30 @@ class TranslationsDownloadsEn {
|
||||
/// en: 'Delete "${title}" from this device?'
|
||||
String deleteConfirm({required Object title}) => 'Delete "${title}" from this device?';
|
||||
|
||||
/// en: 'Cancelled Download'
|
||||
String get cancelledDownloadTitle => 'Cancelled Download';
|
||||
|
||||
/// en: 'This download was cancelled. What would you like to do?'
|
||||
String get cancelledDownloadMessage => 'This download was cancelled. What would you like to do?';
|
||||
|
||||
/// en: 'All episodes already downloaded'
|
||||
String get allEpisodesAlreadyDownloaded => 'All episodes already downloaded';
|
||||
|
||||
/// en: 'Resume download'
|
||||
String get resumeDownload => 'Resume download';
|
||||
|
||||
/// en: 'Cancelled download'
|
||||
String get cancelledDownload => 'Cancelled download';
|
||||
|
||||
/// en: '${file} (syncing ${status})'
|
||||
String syncingFile({required Object file, required Object status}) => '${file} (syncing ${status})';
|
||||
|
||||
/// en: 'Downloaded ${file} - Click to complete'
|
||||
String downloadedFileClickToComplete({required Object file}) => 'Downloaded ${file} - Click to complete';
|
||||
|
||||
/// en: 'Partially downloaded - Click to complete'
|
||||
String get partialDownloadClickToComplete => 'Partially downloaded - Click to complete';
|
||||
|
||||
/// en: 'Deleting...'
|
||||
String get deleting => 'Deleting...';
|
||||
|
||||
@@ -3071,9 +3168,13 @@ class TranslationsCompanionRemoteEn {
|
||||
/// en: 'Connected to ${name}'
|
||||
String connectedTo({required Object name}) => 'Connected to ${name}';
|
||||
|
||||
/// en: 'Unknown Device'
|
||||
String get unknownDevice => 'Unknown Device';
|
||||
|
||||
late final TranslationsCompanionRemoteSessionEn session = TranslationsCompanionRemoteSessionEn.internal(_root);
|
||||
late final TranslationsCompanionRemotePairingEn pairing = TranslationsCompanionRemotePairingEn.internal(_root);
|
||||
late final TranslationsCompanionRemoteRemoteEn remote = TranslationsCompanionRemoteRemoteEn.internal(_root);
|
||||
late final TranslationsCompanionRemoteErrorsEn errors = TranslationsCompanionRemoteErrorsEn.internal(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -3115,6 +3216,117 @@ class TranslationsVideoSettingsEn {
|
||||
String get audioNormalization => 'Normalize Loudness';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class TranslationsPerformanceOverlayEn {
|
||||
TranslationsPerformanceOverlayEn.internal(this._root);
|
||||
|
||||
final Translations _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
|
||||
/// en: 'Color'
|
||||
String get color => 'Color';
|
||||
|
||||
/// en: 'Performance'
|
||||
String get performance => 'Performance';
|
||||
|
||||
/// en: 'Buffer'
|
||||
String get buffer => 'Buffer';
|
||||
|
||||
/// en: 'App'
|
||||
String get app => 'App';
|
||||
|
||||
/// en: 'Decoder'
|
||||
String get decoder => 'Decoder';
|
||||
|
||||
/// en: 'Raw Decoder'
|
||||
String get rawDecoder => 'Raw Decoder';
|
||||
|
||||
/// en: 'Tunneling'
|
||||
String get tunneling => 'Tunneling';
|
||||
|
||||
/// en: 'Aspect'
|
||||
String get aspect => 'Aspect';
|
||||
|
||||
/// en: 'Rotation'
|
||||
String get rotation => 'Rotation';
|
||||
|
||||
/// en: 'DV Source'
|
||||
String get dvSource => 'DV Source';
|
||||
|
||||
/// en: 'DV Path'
|
||||
String get dvPath => 'DV Path';
|
||||
|
||||
/// en: 'P7 Conv'
|
||||
String get p7Conversion => 'P7 Conv';
|
||||
|
||||
/// en: 'Sample Rate'
|
||||
String get sampleRate => 'Sample Rate';
|
||||
|
||||
/// en: 'Pixel Fmt'
|
||||
String get pixelFormat => 'Pixel Fmt';
|
||||
|
||||
/// en: 'HW Fmt'
|
||||
String get hwFormat => 'HW Fmt';
|
||||
|
||||
/// en: 'Matrix'
|
||||
String get matrix => 'Matrix';
|
||||
|
||||
/// en: 'Primaries'
|
||||
String get primaries => 'Primaries';
|
||||
|
||||
/// en: 'Transfer'
|
||||
String get transfer => 'Transfer';
|
||||
|
||||
/// en: 'Render FPS'
|
||||
String get renderFps => 'Render FPS';
|
||||
|
||||
/// en: 'Display FPS'
|
||||
String get displayFps => 'Display FPS';
|
||||
|
||||
/// en: 'A/V Sync'
|
||||
String get avSync => 'A/V Sync';
|
||||
|
||||
/// en: 'Dropped'
|
||||
String get dropped => 'Dropped';
|
||||
|
||||
/// en: 'DV RPUs'
|
||||
String get dvRpus => 'DV RPUs';
|
||||
|
||||
/// en: 'DV RPU Avg'
|
||||
String get dvRpuAverage => 'DV RPU Avg';
|
||||
|
||||
/// en: 'DV Sample Avg'
|
||||
String get dvSampleAverage => 'DV Sample Avg';
|
||||
|
||||
/// en: 'Max Luma'
|
||||
String get maxLuma => 'Max Luma';
|
||||
|
||||
/// en: 'Min Luma'
|
||||
String get minLuma => 'Min Luma';
|
||||
|
||||
/// en: 'MaxCLL'
|
||||
String get maxCll => 'MaxCLL';
|
||||
|
||||
/// en: 'MaxFALL'
|
||||
String get maxFall => 'MaxFALL';
|
||||
|
||||
/// en: 'Cache Used'
|
||||
String get cacheUsed => 'Cache Used';
|
||||
|
||||
/// en: 'Speed'
|
||||
String get speed => 'Speed';
|
||||
|
||||
/// en: 'Player'
|
||||
String get player => 'Player';
|
||||
|
||||
/// en: 'Memory'
|
||||
String get memory => 'Memory';
|
||||
|
||||
/// en: 'UI FPS'
|
||||
String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class TranslationsExternalPlayerEn {
|
||||
TranslationsExternalPlayerEn.internal(this._root);
|
||||
@@ -3147,6 +3359,9 @@ class TranslationsExternalPlayerEn {
|
||||
/// en: 'Player Name'
|
||||
String get playerName => 'Player Name';
|
||||
|
||||
/// en: 'My Player'
|
||||
String get playerNameHint => 'My Player';
|
||||
|
||||
/// en: 'Command'
|
||||
String get playerCommand => 'Command';
|
||||
|
||||
@@ -4101,6 +4316,33 @@ class TranslationsCompanionRemoteRemoteEn {
|
||||
String get searchHint => 'Search on desktop...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class TranslationsCompanionRemoteErrorsEn {
|
||||
TranslationsCompanionRemoteErrorsEn.internal(this._root);
|
||||
|
||||
final Translations _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
|
||||
/// en: 'No network interface found'
|
||||
String get noNetworkInterface => 'No network interface found';
|
||||
|
||||
/// en: 'Authentication failed'
|
||||
String get authenticationFailed => 'Authentication failed';
|
||||
|
||||
/// en: 'Timed out joining session'
|
||||
String get joinTimedOut => 'Timed out joining session';
|
||||
|
||||
/// en: 'Failed to connect to any address'
|
||||
String get failedToConnectAnyAddress => 'Failed to connect to any address';
|
||||
|
||||
/// en: 'Connection lost after ${attempts} attempts'
|
||||
String connectionLostAfterAttempts({required Object attempts}) => 'Connection lost after ${attempts} attempts';
|
||||
|
||||
/// en: 'Connection lost'
|
||||
String get connectionLost => 'Connection lost';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class TranslationsTrackersServicesEn {
|
||||
TranslationsTrackersServicesEn.internal(this._root);
|
||||
@@ -4265,6 +4507,9 @@ extension on Translations {
|
||||
'common.settings' => 'Settings',
|
||||
'common.mute' => 'Mute',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Off',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Season ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Chapter ${number}',
|
||||
'common.reconnect' => 'Reconnect',
|
||||
'common.exit' => 'Exit',
|
||||
'common.viewAll' => 'View All',
|
||||
@@ -4464,6 +4709,10 @@ extension on Translations {
|
||||
'settings.dvConversionNative' => 'Native / Disabled',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Use device capability detection and normal fallback behavior',
|
||||
'settings.dvConversionNativeDescription' => 'Force native DV7 and suppress DV conversion retry',
|
||||
'settings.dvConversionDv81Description' => 'Force inline RPU conversion to Dolby Vision profile 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Strip Dolby Vision RPU/EL layers and present plain HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Ask for profile on app open',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Show profile selection every time the app is opened',
|
||||
'settings.forceTvMode' => 'Force TV mode',
|
||||
@@ -4493,6 +4742,8 @@ extension on Translations {
|
||||
'search.enterTitleActorOrKeyword' => 'Enter a title, actor, or keyword',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Set Shortcut for ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Clear shortcut',
|
||||
'hotkeys.noShortcutSet' => 'No shortcut set',
|
||||
'hotkeys.currentShortcut' => 'Current shortcut:',
|
||||
'hotkeys.actions.playPause' => 'Play/Pause',
|
||||
'hotkeys.actions.volumeUp' => 'Volume Up',
|
||||
'hotkeys.actions.volumeDown' => 'Volume Down',
|
||||
@@ -4549,6 +4800,7 @@ extension on Translations {
|
||||
'mediaMenu.goToSeries' => 'Go to series',
|
||||
'mediaMenu.goToSeason' => 'Go to season',
|
||||
'mediaMenu.shufflePlay' => 'Shuffle Play',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Shuffle not available offline',
|
||||
'mediaMenu.fileInfo' => 'File Info',
|
||||
'mediaMenu.deleteFromServer' => 'Delete from server',
|
||||
'mediaMenu.confirmDelete' => 'Delete this media and its files from your server?',
|
||||
@@ -4657,6 +4909,10 @@ extension on Translations {
|
||||
'videoControls.searchSubtitles' => 'Search Subtitles',
|
||||
'videoControls.language' => 'Language',
|
||||
'videoControls.noSubtitlesFound' => 'No subtitles found',
|
||||
'videoControls.downloadedSubtitle' => 'Downloaded',
|
||||
'videoControls.noSubtitlesAvailable' => 'No subtitles available',
|
||||
'videoControls.noAudioTracksAvailable' => 'No audio tracks available',
|
||||
'videoControls.noTracksAvailable' => 'No tracks available',
|
||||
'videoControls.subtitleDownloaded' => 'Subtitle downloaded',
|
||||
'videoControls.subtitleDownloadFailed' => 'Failed to download subtitle',
|
||||
'videoControls.searchLanguages' => 'Search languages...',
|
||||
@@ -4715,6 +4971,8 @@ extension on Translations {
|
||||
'subtitlingStyling.borderColor' => 'Border Color',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Background Opacity',
|
||||
'subtitlingStyling.backgroundColor' => 'Background Color',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'ASS Override',
|
||||
'subtitlingStyling.bold' => 'Bold',
|
||||
@@ -4729,8 +4987,6 @@ extension on Translations {
|
||||
'mpvConfig.loadPreset' => 'Load',
|
||||
'mpvConfig.deletePreset' => 'Delete',
|
||||
'mpvConfig.presetSaved' => 'Preset saved',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Preset loaded',
|
||||
'mpvConfig.presetDeleted' => 'Preset deleted',
|
||||
'mpvConfig.confirmDeletePreset' => 'Are you sure you want to delete this preset?',
|
||||
@@ -4793,6 +5049,7 @@ 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',
|
||||
@@ -4821,6 +5078,7 @@ extension on Translations {
|
||||
'discover.movie' => 'Movie',
|
||||
'discover.tvShow' => 'TV Show',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} min left',
|
||||
'discover.moreLikeThis' => 'More Like This',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Search failed: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Connection timeout while loading ${context}',
|
||||
'errors.connectionFailed' => 'Unable to connect to media server',
|
||||
@@ -4835,6 +5093,7 @@ extension on Translations {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Failed to delete ${displayName}',
|
||||
'errors.failedToRate' => 'Couldn\'t update rating',
|
||||
'libraries.title' => 'Libraries',
|
||||
'libraries.fallbackTitle' => 'Library',
|
||||
'libraries.scanLibraryFiles' => 'Scan Library Files',
|
||||
'libraries.scanLibrary' => 'Scan Library',
|
||||
'libraries.analyze' => 'Analyze',
|
||||
@@ -4935,6 +5194,12 @@ extension on Translations {
|
||||
'liveTv.noChannels' => 'No channels available',
|
||||
'liveTv.noDvr' => 'No DVR configured on any server',
|
||||
'liveTv.noPrograms' => 'No program data available',
|
||||
'liveTv.liveStreamFailed' => 'Live stream failed',
|
||||
'liveTv.unknownProgram' => 'Unknown Program',
|
||||
'liveTv.unknownHub' => 'Unknown',
|
||||
'liveTv.unknownError' => 'Unknown error',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Channel ${number}',
|
||||
'liveTv.unknownChannel' => 'Unknown channel',
|
||||
'liveTv.live' => 'LIVE',
|
||||
'liveTv.reloadGuide' => 'Reload Guide',
|
||||
'liveTv.now' => 'Now',
|
||||
@@ -5105,10 +5370,19 @@ extension on Translations {
|
||||
'downloads.deleteDownload' => 'Delete download',
|
||||
'downloads.retryDownload' => 'Retry download',
|
||||
'downloads.downloadQueued' => 'Download queued',
|
||||
'downloads.downloadResumed' => 'Download resumed',
|
||||
'downloads.serverErrorBitrate' => 'Server error: file may exceed the remote bitrate limit',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} episodes queued for download',
|
||||
'downloads.downloadDeleted' => 'Download deleted',
|
||||
'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?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'All episodes already downloaded',
|
||||
'downloads.resumeDownload' => 'Resume download',
|
||||
'downloads.cancelledDownload' => 'Cancelled download',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (syncing ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => 'Downloaded ${file} - Click to complete',
|
||||
'downloads.partialDownloadClickToComplete' => 'Partially downloaded - Click to complete',
|
||||
'downloads.deleting' => 'Deleting...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Deleting ${title}... (${current} of ${total})',
|
||||
'downloads.queuedTooltip' => 'Queued',
|
||||
@@ -5167,6 +5441,7 @@ extension on Translations {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Delete "${name}"?',
|
||||
'companionRemote.title' => 'Companion Remote',
|
||||
'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',
|
||||
@@ -5210,6 +5485,8 @@ extension on Translations {
|
||||
'companionRemote.remote.tabSettings' => 'Settings',
|
||||
'companionRemote.remote.previous' => 'Previous',
|
||||
'companionRemote.remote.playPause' => 'Play/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Next',
|
||||
'companionRemote.remote.seekBack' => 'Seek Back',
|
||||
'companionRemote.remote.stop' => 'Stop',
|
||||
@@ -5221,6 +5498,12 @@ extension on Translations {
|
||||
'companionRemote.remote.subtitles' => 'Subtitles',
|
||||
'companionRemote.remote.audio' => 'Audio',
|
||||
'companionRemote.remote.searchHint' => 'Search on desktop...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'No network interface found',
|
||||
'companionRemote.errors.authenticationFailed' => 'Authentication failed',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Connection lost',
|
||||
'videoSettings.playbackSpeed' => 'Playback Speed',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Sleep Timer',
|
||||
@@ -5231,6 +5514,40 @@ extension on Translations {
|
||||
'videoSettings.performanceOverlay' => 'Performance Overlay',
|
||||
'videoSettings.audioPassthrough' => 'Audio Passthrough',
|
||||
'videoSettings.audioNormalization' => 'Normalize Loudness',
|
||||
'performanceOverlay.color' => 'Color',
|
||||
'performanceOverlay.performance' => 'Performance',
|
||||
'performanceOverlay.buffer' => 'Buffer',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Decoder',
|
||||
'performanceOverlay.rawDecoder' => 'Raw Decoder',
|
||||
'performanceOverlay.tunneling' => 'Tunneling',
|
||||
'performanceOverlay.aspect' => 'Aspect',
|
||||
'performanceOverlay.rotation' => 'Rotation',
|
||||
'performanceOverlay.dvSource' => 'DV Source',
|
||||
'performanceOverlay.dvPath' => 'DV Path',
|
||||
'performanceOverlay.p7Conversion' => 'P7 Conv',
|
||||
'performanceOverlay.sampleRate' => 'Sample Rate',
|
||||
'performanceOverlay.pixelFormat' => 'Pixel Fmt',
|
||||
'performanceOverlay.hwFormat' => 'HW Fmt',
|
||||
'performanceOverlay.matrix' => 'Matrix',
|
||||
'performanceOverlay.primaries' => 'Primaries',
|
||||
'performanceOverlay.transfer' => 'Transfer',
|
||||
'performanceOverlay.renderFps' => 'Render FPS',
|
||||
'performanceOverlay.displayFps' => 'Display FPS',
|
||||
'performanceOverlay.avSync' => 'A/V Sync',
|
||||
'performanceOverlay.dropped' => 'Dropped',
|
||||
'performanceOverlay.dvRpus' => 'DV RPUs',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV RPU Avg',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV Sample Avg',
|
||||
'performanceOverlay.maxLuma' => 'Max Luma',
|
||||
'performanceOverlay.minLuma' => 'Min Luma',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Cache Used',
|
||||
'performanceOverlay.speed' => 'Speed',
|
||||
'performanceOverlay.player' => 'Player',
|
||||
'performanceOverlay.memory' => 'Memory',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'External Player',
|
||||
'externalPlayer.useExternalPlayer' => 'Use External Player',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Open videos in another app',
|
||||
@@ -5239,12 +5556,11 @@ extension on Translations {
|
||||
'externalPlayer.systemDefault' => 'System Default',
|
||||
'externalPlayer.addCustomPlayer' => 'Add Custom Player',
|
||||
'externalPlayer.playerName' => 'Player Name',
|
||||
'externalPlayer.playerNameHint' => 'My Player',
|
||||
'externalPlayer.playerCommand' => 'Command',
|
||||
'externalPlayer.playerPackage' => 'Package Name',
|
||||
'externalPlayer.playerUrlScheme' => 'URL Scheme',
|
||||
'externalPlayer.off' => 'Off',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Failed to open external player',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} is not installed',
|
||||
'externalPlayer.playInExternalPlayer' => 'Play in External Player',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsEs extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersEs shaders = _TranslationsShadersEs._(_root);
|
||||
@override late final _TranslationsCompanionRemoteEs companionRemote = _TranslationsCompanionRemoteEs._(_root);
|
||||
@override late final _TranslationsVideoSettingsEs videoSettings = _TranslationsVideoSettingsEs._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayEs performanceOverlay = _TranslationsPerformanceOverlayEs._(_root);
|
||||
@override late final _TranslationsExternalPlayerEs externalPlayer = _TranslationsExternalPlayerEs._(_root);
|
||||
@override late final _TranslationsMetadataEditEs metadataEdit = _TranslationsMetadataEditEs._(_root);
|
||||
@override late final _TranslationsMatchScreenEs matchScreen = _TranslationsMatchScreenEs._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonEs extends TranslationsCommonEn {
|
||||
@override String get settings => 'Ajustes';
|
||||
@override String get mute => 'Silencio';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Desactivado';
|
||||
@override String seasonNumber({required Object number}) => 'Temporada ${number}';
|
||||
@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';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Nativo / desactivado';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Usar detección de capacidades del dispositivo y el comportamiento de respaldo normal';
|
||||
@override String get dvConversionNativeDescription => 'Forzar DV7 nativo y suprimir el reintento de conversión DV';
|
||||
@override String get dvConversionDv81Description => 'Forzar conversión RPU en línea a Dolby Vision perfil 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Quitar capas RPU/EL de Dolby Vision y presentar HEVC normal';
|
||||
@override String get requireProfileSelectionOnOpen => 'Pedir perfil al abrir la app';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Mostrar selección de perfil cada vez que se abre la aplicación';
|
||||
@override String get forceTvMode => 'Forzar modo TV';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysEs extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Establecer atajo para ${actionName}';
|
||||
@override String get clearShortcut => 'Borrar atajo';
|
||||
@override String get noShortcutSet => 'Sin atajo asignado';
|
||||
@override String get currentShortcut => 'Atajo actual:';
|
||||
@override late final _TranslationsHotkeysActionsEs actions = _TranslationsHotkeysActionsEs._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuEs extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Ir a la serie';
|
||||
@override String get goToSeason => 'Ir a la temporada';
|
||||
@override String get shufflePlay => 'Reproducción Aleatoria';
|
||||
@override String get shuffleNotAvailableOffline => 'La reproducción aleatoria no está disponible sin conexión';
|
||||
@override String get fileInfo => 'Información del Archivo';
|
||||
@override String get deleteFromServer => 'Eliminar del servidor';
|
||||
@override String get confirmDelete => '¿Eliminar este medio y sus archivos de tu servidor?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsEs extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Buscar subtítulos';
|
||||
@override String get language => 'Idioma';
|
||||
@override String get noSubtitlesFound => 'No se encontraron subtítulos';
|
||||
@override String get downloadedSubtitle => 'Descargado';
|
||||
@override String get noSubtitlesAvailable => 'No hay subtítulos disponibles';
|
||||
@override String get noAudioTracksAvailable => 'No hay pistas de audio disponibles';
|
||||
@override String get noTracksAvailable => 'No hay pistas disponibles';
|
||||
@override String get subtitleDownloaded => 'Subtítulo descargado';
|
||||
@override String get subtitleDownloadFailed => 'Error al descargar subtítulo';
|
||||
@override String get searchLanguages => 'Buscar idiomas...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverEs extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Película';
|
||||
@override String get tvShow => 'Serie de TV';
|
||||
@override String minutesLeft({required Object minutes}) => 'quedan ${minutes} min';
|
||||
@override String get moreLikeThis => 'Más como esto';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesEs extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Bibliotecas';
|
||||
@override String get fallbackTitle => 'Biblioteca';
|
||||
@override String get scanLibraryFiles => 'Escanear Archivos de la Biblioteca';
|
||||
@override String get scanLibrary => 'Escanear Biblioteca';
|
||||
@override String get analyze => 'Analizar';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvEs extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'No hay canales disponibles';
|
||||
@override String get noDvr => 'No hay DVR configurado en ningún servidor';
|
||||
@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';
|
||||
@override String get unknownHub => 'Desconocido';
|
||||
@override String get unknownError => 'Error desconocido';
|
||||
@override String channelNumber({required Object number}) => 'Canal ${number}';
|
||||
@override String get unknownChannel => 'Canal desconocido';
|
||||
@override String get live => 'EN VIVO';
|
||||
@override String get reloadGuide => 'Recargar guía';
|
||||
@override String get now => 'Ahora';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsEs extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Eliminar descarga';
|
||||
@override String get retryDownload => 'Reintentar descarga';
|
||||
@override String get downloadQueued => 'Descarga en cola';
|
||||
@override String get downloadResumed => 'Descarga reanudada';
|
||||
@override String get serverErrorBitrate => 'Error del servidor: el archivo puede superar el límite de bitrate remoto';
|
||||
@override String episodesQueued({required Object count}) => '${count} episodios en cola para descargar';
|
||||
@override String get downloadDeleted => 'Descarga eliminada';
|
||||
@override String deleteConfirm({required Object title}) => '¿Eliminar "${title}" de este dispositivo?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Eliminando ${title}... (${current} de ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Descarga cancelada';
|
||||
@override String get cancelledDownloadMessage => 'Esta descarga se canceló. ¿Qué quieres hacer?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Todos los episodios ya están descargados';
|
||||
@override String get resumeDownload => 'Reanudar descarga';
|
||||
@override String get cancelledDownload => 'Descarga cancelada';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (sincronizando ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} descargado — haz clic para completar';
|
||||
@override String get partialDownloadClickToComplete => 'Descarga parcial — haz clic para completar';
|
||||
@override String get deleting => 'Eliminando...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Eliminando ${title}... (${current} de ${total})';
|
||||
@override String get queuedTooltip => 'En cola';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'En cola: ${files}';
|
||||
@override String get downloadingTooltip => 'Descargando...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteEs extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Control remoto';
|
||||
@override String connectedTo({required Object name}) => 'Conectado a ${name}';
|
||||
@override String get unknownDevice => 'Dispositivo desconocido';
|
||||
@override late final _TranslationsCompanionRemoteSessionEs session = _TranslationsCompanionRemoteSessionEs._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingEs pairing = _TranslationsCompanionRemotePairingEs._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteEs remote = _TranslationsCompanionRemoteRemoteEs._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsEs errors = _TranslationsCompanionRemoteErrorsEs._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsEs extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Normalizar volumen';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayEs extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayEs._(TranslationsEs root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsEs _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Color';
|
||||
@override String get performance => 'Rendimiento';
|
||||
@override String get buffer => 'Búfer';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Decodificador';
|
||||
@override String get rawDecoder => 'Decodificador raw';
|
||||
@override String get tunneling => 'Túnel';
|
||||
@override String get aspect => 'Aspecto';
|
||||
@override String get rotation => 'Rotación';
|
||||
@override String get dvSource => 'Origen DV';
|
||||
@override String get dvPath => 'Ruta DV';
|
||||
@override String get p7Conversion => 'Conv. P7';
|
||||
@override String get sampleRate => 'Frecuencia de muestreo';
|
||||
@override String get pixelFormat => 'Formato de píxel';
|
||||
@override String get hwFormat => 'Formato HW';
|
||||
@override String get matrix => 'Matriz';
|
||||
@override String get primaries => 'Primarios';
|
||||
@override String get transfer => 'Transferencia';
|
||||
@override String get renderFps => 'FPS render';
|
||||
@override String get displayFps => 'FPS pantalla';
|
||||
@override String get avSync => 'Sincronía A/V';
|
||||
@override String get dropped => 'Descartados';
|
||||
@override String get dvRpus => 'DV RPUs';
|
||||
@override String get dvRpuAverage => 'Prom. DV RPU';
|
||||
@override String get dvSampleAverage => 'Prom. muestra DV';
|
||||
@override String get maxLuma => 'Luma máx.';
|
||||
@override String get minLuma => 'Luma mín.';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Caché usada';
|
||||
@override String get speed => 'Velocidad';
|
||||
@override String get player => 'Reproductor';
|
||||
@override String get memory => 'Memoria';
|
||||
@override String get uiFps => 'FPS UI';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerEs extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerEs._(TranslationsEs root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerEs extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Predeterminado del sistema';
|
||||
@override String get addCustomPlayer => 'Añadir reproductor personalizado';
|
||||
@override String get playerName => 'Nombre del reproductor';
|
||||
@override String get playerNameHint => 'Mi reproductor';
|
||||
@override String get playerCommand => 'Comando';
|
||||
@override String get playerPackage => 'Nombre del paquete';
|
||||
@override String get playerUrlScheme => 'Esquema URL';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteEs extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Buscar en escritorio...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsEs extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsEs._(TranslationsEs root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsEs _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'No se encontró ninguna interfaz de red';
|
||||
@override String get authenticationFailed => 'Autenticación fallida';
|
||||
@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';
|
||||
@override String get connectionLost => 'Conexión perdida';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesEs extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesEs._(TranslationsEs root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsEs {
|
||||
'common.settings' => 'Ajustes',
|
||||
'common.mute' => 'Silencio',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Desactivado',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Temporada ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Capítulo ${number}',
|
||||
'common.reconnect' => 'Reconectar',
|
||||
'common.exit' => 'Salir',
|
||||
'common.viewAll' => 'Ver todo',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsEs {
|
||||
'settings.dvConversionNative' => 'Nativo / desactivado',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Usar detección de capacidades del dispositivo y el comportamiento de respaldo normal',
|
||||
'settings.dvConversionNativeDescription' => 'Forzar DV7 nativo y suprimir el reintento de conversión DV',
|
||||
'settings.dvConversionDv81Description' => 'Forzar conversión RPU en línea a Dolby Vision perfil 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Quitar capas RPU/EL de Dolby Vision y presentar HEVC normal',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Pedir perfil al abrir la app',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Mostrar selección de perfil cada vez que se abre la aplicación',
|
||||
'settings.forceTvMode' => 'Forzar modo TV',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsEs {
|
||||
'search.enterTitleActorOrKeyword' => 'Introduce un título, actor o palabra clave',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Establecer atajo para ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Borrar atajo',
|
||||
'hotkeys.noShortcutSet' => 'Sin atajo asignado',
|
||||
'hotkeys.currentShortcut' => 'Atajo actual:',
|
||||
'hotkeys.actions.playPause' => 'Reproducir/Pausar',
|
||||
'hotkeys.actions.volumeUp' => 'Subir Volumen',
|
||||
'hotkeys.actions.volumeDown' => 'Bajar Volumen',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsEs {
|
||||
'mediaMenu.goToSeries' => 'Ir a la serie',
|
||||
'mediaMenu.goToSeason' => 'Ir a la temporada',
|
||||
'mediaMenu.shufflePlay' => 'Reproducción Aleatoria',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'La reproducción aleatoria no está disponible sin conexión',
|
||||
'mediaMenu.fileInfo' => 'Información del Archivo',
|
||||
'mediaMenu.deleteFromServer' => 'Eliminar del servidor',
|
||||
'mediaMenu.confirmDelete' => '¿Eliminar este medio y sus archivos de tu servidor?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsEs {
|
||||
'videoControls.searchSubtitles' => 'Buscar subtítulos',
|
||||
'videoControls.language' => 'Idioma',
|
||||
'videoControls.noSubtitlesFound' => 'No se encontraron subtítulos',
|
||||
'videoControls.downloadedSubtitle' => 'Descargado',
|
||||
'videoControls.noSubtitlesAvailable' => 'No hay subtítulos disponibles',
|
||||
'videoControls.noAudioTracksAvailable' => 'No hay pistas de audio disponibles',
|
||||
'videoControls.noTracksAvailable' => 'No hay pistas disponibles',
|
||||
'videoControls.subtitleDownloaded' => 'Subtítulo descargado',
|
||||
'videoControls.subtitleDownloadFailed' => 'Error al descargar subtítulo',
|
||||
'videoControls.searchLanguages' => 'Buscar idiomas...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsEs {
|
||||
'subtitlingStyling.borderColor' => 'Color de Borde',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacidad de Fondo',
|
||||
'subtitlingStyling.backgroundColor' => 'Color de Fondo',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Posición',
|
||||
'subtitlingStyling.assOverride' => 'Sobreescritura ASS',
|
||||
'subtitlingStyling.bold' => 'Negrita',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsEs {
|
||||
'mpvConfig.loadPreset' => 'Cargar',
|
||||
'mpvConfig.deletePreset' => 'Eliminar',
|
||||
'mpvConfig.presetSaved' => 'Ajuste guardado',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Ajuste cargado',
|
||||
'mpvConfig.presetDeleted' => 'Ajuste eliminado',
|
||||
'mpvConfig.confirmDeletePreset' => '¿Estás seguro de que quieres eliminar este ajuste?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsEs {
|
||||
'discover.movie' => 'Película',
|
||||
'discover.tvShow' => 'Serie de TV',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => 'quedan ${minutes} min',
|
||||
'discover.moreLikeThis' => 'Más como esto',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Error en la búsqueda: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Tiempo de conexión agotado al cargar ${context}',
|
||||
'errors.connectionFailed' => 'No se puede conectar al servidor multimedia',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsEs {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Error al eliminar ${displayName}',
|
||||
'errors.failedToRate' => 'No se pudo actualizar la calificación',
|
||||
'libraries.title' => 'Bibliotecas',
|
||||
'libraries.fallbackTitle' => 'Biblioteca',
|
||||
'libraries.scanLibraryFiles' => 'Escanear Archivos de la Biblioteca',
|
||||
'libraries.scanLibrary' => 'Escanear Biblioteca',
|
||||
'libraries.analyze' => 'Analizar',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsEs {
|
||||
'liveTv.noChannels' => 'No hay canales disponibles',
|
||||
'liveTv.noDvr' => 'No hay DVR configurado en ningún servidor',
|
||||
'liveTv.noPrograms' => 'No hay datos de programación disponibles',
|
||||
'liveTv.liveStreamFailed' => 'Falló la transmisión en vivo',
|
||||
'liveTv.unknownProgram' => 'Programa desconocido',
|
||||
'liveTv.unknownHub' => 'Desconocido',
|
||||
'liveTv.unknownError' => 'Error desconocido',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Canal ${number}',
|
||||
'liveTv.unknownChannel' => 'Canal desconocido',
|
||||
'liveTv.live' => 'EN VIVO',
|
||||
'liveTv.reloadGuide' => 'Recargar guía',
|
||||
'liveTv.now' => 'Ahora',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsEs {
|
||||
'downloads.deleteDownload' => 'Eliminar descarga',
|
||||
'downloads.retryDownload' => 'Reintentar descarga',
|
||||
'downloads.downloadQueued' => 'Descarga en cola',
|
||||
'downloads.downloadResumed' => 'Descarga reanudada',
|
||||
'downloads.serverErrorBitrate' => 'Error del servidor: el archivo puede superar el límite de bitrate remoto',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} episodios en cola para descargar',
|
||||
'downloads.downloadDeleted' => 'Descarga eliminada',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => '¿Eliminar "${title}" de este dispositivo?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Eliminando ${title}... (${current} de ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Descarga cancelada',
|
||||
'downloads.cancelledDownloadMessage' => 'Esta descarga se canceló. ¿Qué quieres hacer?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Todos los episodios ya están descargados',
|
||||
'downloads.resumeDownload' => 'Reanudar descarga',
|
||||
'downloads.cancelledDownload' => 'Descarga cancelada',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (sincronizando ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} descargado — haz clic para completar',
|
||||
'downloads.partialDownloadClickToComplete' => 'Descarga parcial — haz clic para completar',
|
||||
'downloads.deleting' => 'Eliminando...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Eliminando ${title}... (${current} de ${total})',
|
||||
'downloads.queuedTooltip' => 'En cola',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'En cola: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Descargando...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsEs {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => '¿Eliminar "${name}"?',
|
||||
'companionRemote.title' => 'Control remoto',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsEs {
|
||||
'companionRemote.remote.tabSettings' => 'Configuración',
|
||||
'companionRemote.remote.previous' => 'Anterior',
|
||||
'companionRemote.remote.playPause' => 'Reproducir/Pausar',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Siguiente',
|
||||
'companionRemote.remote.seekBack' => 'Retroceder',
|
||||
'companionRemote.remote.stop' => 'Detener',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsEs {
|
||||
'companionRemote.remote.subtitles' => 'Subtítulos',
|
||||
'companionRemote.remote.audio' => 'Audio',
|
||||
'companionRemote.remote.searchHint' => 'Buscar en escritorio...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'No se encontró ninguna interfaz de red',
|
||||
'companionRemote.errors.authenticationFailed' => 'Autenticación fallida',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Conexión perdida',
|
||||
'videoSettings.playbackSpeed' => 'Velocidad de reproducción',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Temporizador de apagado',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsEs {
|
||||
'videoSettings.performanceOverlay' => 'Indicador de rendimiento',
|
||||
'videoSettings.audioPassthrough' => 'Audio Passthrough',
|
||||
'videoSettings.audioNormalization' => 'Normalizar volumen',
|
||||
'performanceOverlay.color' => 'Color',
|
||||
'performanceOverlay.performance' => 'Rendimiento',
|
||||
'performanceOverlay.buffer' => 'Búfer',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Decodificador',
|
||||
'performanceOverlay.rawDecoder' => 'Decodificador raw',
|
||||
'performanceOverlay.tunneling' => 'Túnel',
|
||||
'performanceOverlay.aspect' => 'Aspecto',
|
||||
'performanceOverlay.rotation' => 'Rotación',
|
||||
'performanceOverlay.dvSource' => 'Origen DV',
|
||||
'performanceOverlay.dvPath' => 'Ruta DV',
|
||||
'performanceOverlay.p7Conversion' => 'Conv. P7',
|
||||
'performanceOverlay.sampleRate' => 'Frecuencia de muestreo',
|
||||
'performanceOverlay.pixelFormat' => 'Formato de píxel',
|
||||
'performanceOverlay.hwFormat' => 'Formato HW',
|
||||
'performanceOverlay.matrix' => 'Matriz',
|
||||
'performanceOverlay.primaries' => 'Primarios',
|
||||
'performanceOverlay.transfer' => 'Transferencia',
|
||||
'performanceOverlay.renderFps' => 'FPS render',
|
||||
'performanceOverlay.displayFps' => 'FPS pantalla',
|
||||
'performanceOverlay.avSync' => 'Sincronía A/V',
|
||||
'performanceOverlay.dropped' => 'Descartados',
|
||||
'performanceOverlay.dvRpus' => 'DV RPUs',
|
||||
'performanceOverlay.dvRpuAverage' => 'Prom. DV RPU',
|
||||
'performanceOverlay.dvSampleAverage' => 'Prom. muestra DV',
|
||||
'performanceOverlay.maxLuma' => 'Luma máx.',
|
||||
'performanceOverlay.minLuma' => 'Luma mín.',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Caché usada',
|
||||
'performanceOverlay.speed' => 'Velocidad',
|
||||
'performanceOverlay.player' => 'Reproductor',
|
||||
'performanceOverlay.memory' => 'Memoria',
|
||||
'performanceOverlay.uiFps' => 'FPS UI',
|
||||
'externalPlayer.title' => 'Reproductor externo',
|
||||
'externalPlayer.useExternalPlayer' => 'Usar reproductor externo',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Abrir videos en otra app',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsEs {
|
||||
'externalPlayer.systemDefault' => 'Predeterminado del sistema',
|
||||
'externalPlayer.addCustomPlayer' => 'Añadir reproductor personalizado',
|
||||
'externalPlayer.playerName' => 'Nombre del reproductor',
|
||||
'externalPlayer.playerNameHint' => 'Mi reproductor',
|
||||
'externalPlayer.playerCommand' => 'Comando',
|
||||
'externalPlayer.playerPackage' => 'Nombre del paquete',
|
||||
'externalPlayer.playerUrlScheme' => 'Esquema URL',
|
||||
'externalPlayer.off' => 'Desactivado',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'No se pudo abrir el reproductor externo',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} no está instalado',
|
||||
'externalPlayer.playInExternalPlayer' => 'Reproducir en reproductor externo',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsFr extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersFr shaders = _TranslationsShadersFr._(_root);
|
||||
@override late final _TranslationsCompanionRemoteFr companionRemote = _TranslationsCompanionRemoteFr._(_root);
|
||||
@override late final _TranslationsVideoSettingsFr videoSettings = _TranslationsVideoSettingsFr._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayFr performanceOverlay = _TranslationsPerformanceOverlayFr._(_root);
|
||||
@override late final _TranslationsExternalPlayerFr externalPlayer = _TranslationsExternalPlayerFr._(_root);
|
||||
@override late final _TranslationsMetadataEditFr metadataEdit = _TranslationsMetadataEditFr._(_root);
|
||||
@override late final _TranslationsMatchScreenFr matchScreen = _TranslationsMatchScreenFr._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonFr extends TranslationsCommonEn {
|
||||
@override String get settings => 'Réglages';
|
||||
@override String get mute => 'Muet';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Désactivé';
|
||||
@override String seasonNumber({required Object number}) => 'Saison ${number}';
|
||||
@override String chapterNumber({required Object number}) => 'Chapitre ${number}';
|
||||
@override String get reconnect => 'Reconnecter';
|
||||
@override String get exit => 'Quitter';
|
||||
@override String get viewAll => 'Tout afficher';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Natif / désactivé';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Utiliser la détection des capacités de l’appareil et le comportement de repli normal';
|
||||
@override String get dvConversionNativeDescription => 'Forcer le DV7 natif et bloquer la nouvelle tentative de conversion DV';
|
||||
@override String get dvConversionDv81Description => 'Forcer la conversion RPU intégrée vers Dolby Vision profil 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Supprimer les couches RPU/EL Dolby Vision et présenter du HEVC simple';
|
||||
@override String get requireProfileSelectionOnOpen => 'Demander le profil à l\'ouverture';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Afficher la sélection de profil à chaque ouverture de l\'application';
|
||||
@override String get forceTvMode => 'Forcer le mode TV';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysFr extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Définir un raccourci pour ${actionName}';
|
||||
@override String get clearShortcut => 'Effacer le raccourci';
|
||||
@override String get noShortcutSet => 'Aucun raccourci défini';
|
||||
@override String get currentShortcut => 'Raccourci actuel :';
|
||||
@override late final _TranslationsHotkeysActionsFr actions = _TranslationsHotkeysActionsFr._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuFr extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Aller à la série';
|
||||
@override String get goToSeason => 'Aller à la saison';
|
||||
@override String get shufflePlay => 'Lecture aléatoire';
|
||||
@override String get shuffleNotAvailableOffline => 'La lecture aléatoire n’est pas disponible hors ligne';
|
||||
@override String get fileInfo => 'Informations sur le fichier';
|
||||
@override String get deleteFromServer => 'Supprimer du serveur';
|
||||
@override String get confirmDelete => 'Supprimer ce média et ses fichiers de votre serveur ?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsFr extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Rechercher des sous-titres';
|
||||
@override String get language => 'Langue';
|
||||
@override String get noSubtitlesFound => 'Aucun sous-titre trouvé';
|
||||
@override String get downloadedSubtitle => 'Téléchargé';
|
||||
@override String get noSubtitlesAvailable => 'Aucun sous-titre disponible';
|
||||
@override String get noAudioTracksAvailable => 'Aucune piste audio disponible';
|
||||
@override String get noTracksAvailable => 'Aucune piste disponible';
|
||||
@override String get subtitleDownloaded => 'Sous-titre téléchargé';
|
||||
@override String get subtitleDownloadFailed => 'Échec du téléchargement du sous-titre';
|
||||
@override String get searchLanguages => 'Rechercher des langues...';
|
||||
@@ -808,6 +823,7 @@ 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 d’initialiser les services de profil';
|
||||
}
|
||||
|
||||
// Path: connections
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverFr extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Film';
|
||||
@override String get tvShow => 'Show TV';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} min restantes';
|
||||
@override String get moreLikeThis => 'Plus de contenus similaires';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesFr extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Bibliothèques';
|
||||
@override String get fallbackTitle => 'Bibliothèque';
|
||||
@override String get scanLibraryFiles => 'Scanner les fichiers de la bibliothèque';
|
||||
@override String get scanLibrary => 'Scanner la bibliothèque';
|
||||
@override String get analyze => 'Analyser';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvFr extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Aucune chaîne disponible';
|
||||
@override String get noDvr => 'Aucun DVR configuré sur les serveurs';
|
||||
@override String get noPrograms => 'Aucune donnée de programme disponible';
|
||||
@override String get liveStreamFailed => 'Échec du direct';
|
||||
@override String get unknownProgram => 'Programme inconnu';
|
||||
@override String get unknownHub => 'Inconnu';
|
||||
@override String get unknownError => 'Erreur inconnue';
|
||||
@override String channelNumber({required Object number}) => 'Chaîne ${number}';
|
||||
@override String get unknownChannel => 'Chaîne inconnue';
|
||||
@override String get live => 'EN DIRECT';
|
||||
@override String get reloadGuide => 'Recharger le guide';
|
||||
@override String get now => 'Maintenant';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsFr extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Supprimer le téléchargement';
|
||||
@override String get retryDownload => 'Réessayer le téléchargement';
|
||||
@override String get downloadQueued => 'Téléchargement en attente';
|
||||
@override String get downloadResumed => 'Téléchargement repris';
|
||||
@override String get serverErrorBitrate => 'Erreur serveur : le fichier peut dépasser la limite de bitrate distant';
|
||||
@override String episodesQueued({required Object count}) => '${count} épisodes en attente de téléchargement';
|
||||
@override String get downloadDeleted => 'Télécharger supprimé';
|
||||
@override String deleteConfirm({required Object title}) => 'Supprimer "${title}" de cet appareil ?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Suppression de ${title}... (${current} sur ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Téléchargement annulé';
|
||||
@override String get cancelledDownloadMessage => 'Ce téléchargement a été annulé. Que voulez-vous faire ?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Tous les épisodes sont déjà téléchargés';
|
||||
@override String get resumeDownload => 'Reprendre le téléchargement';
|
||||
@override String get cancelledDownload => 'Téléchargement annulé';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (synchronisation ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} téléchargé — cliquez pour terminer';
|
||||
@override String get partialDownloadClickToComplete => 'Téléchargement partiel — cliquez pour terminer';
|
||||
@override String get deleting => 'Suppression...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Suppression de ${title}... (${current} sur ${total})';
|
||||
@override String get queuedTooltip => 'En attente';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'En attente : ${files}';
|
||||
@override String get downloadingTooltip => 'Téléchargement...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteFr extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Télécommande compagnon';
|
||||
@override String connectedTo({required Object name}) => 'Connecté à ${name}';
|
||||
@override String get unknownDevice => 'Appareil inconnu';
|
||||
@override late final _TranslationsCompanionRemoteSessionFr session = _TranslationsCompanionRemoteSessionFr._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingFr pairing = _TranslationsCompanionRemotePairingFr._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteFr remote = _TranslationsCompanionRemoteRemoteFr._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsFr errors = _TranslationsCompanionRemoteErrorsFr._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsFr extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Normaliser le volume';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayFr extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayFr._(TranslationsFr root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsFr _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Couleur';
|
||||
@override String get performance => 'Performances';
|
||||
@override String get buffer => 'Tampon';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Décodeur';
|
||||
@override String get rawDecoder => 'Décodeur brut';
|
||||
@override String get tunneling => 'Tunneling';
|
||||
@override String get aspect => 'Format';
|
||||
@override String get rotation => 'Rotation';
|
||||
@override String get dvSource => 'Source DV';
|
||||
@override String get dvPath => 'Chemin DV';
|
||||
@override String get p7Conversion => 'Conv. P7';
|
||||
@override String get sampleRate => 'Fréquence';
|
||||
@override String get pixelFormat => 'Fmt pixel';
|
||||
@override String get hwFormat => 'Fmt HW';
|
||||
@override String get matrix => 'Matrice';
|
||||
@override String get primaries => 'Primaires';
|
||||
@override String get transfer => 'Transfert';
|
||||
@override String get renderFps => 'FPS rendu';
|
||||
@override String get displayFps => 'FPS écran';
|
||||
@override String get avSync => 'Synchro A/V';
|
||||
@override String get dropped => 'Perdues';
|
||||
@override String get dvRpus => 'DV RPU';
|
||||
@override String get dvRpuAverage => 'Moy. DV RPU';
|
||||
@override String get dvSampleAverage => 'Moy. échant. DV';
|
||||
@override String get maxLuma => 'Luma max.';
|
||||
@override String get minLuma => 'Luma min.';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Cache utilisé';
|
||||
@override String get speed => 'Vitesse';
|
||||
@override String get player => 'Lecteur';
|
||||
@override String get memory => 'Mémoire';
|
||||
@override String get uiFps => 'FPS UI';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerFr extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerFr._(TranslationsFr root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerFr extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Par défaut du système';
|
||||
@override String get addCustomPlayer => 'Ajouter un lecteur personnalisé';
|
||||
@override String get playerName => 'Nom du lecteur';
|
||||
@override String get playerNameHint => 'Mon lecteur';
|
||||
@override String get playerCommand => 'Commande';
|
||||
@override String get playerPackage => 'Nom du paquet';
|
||||
@override String get playerUrlScheme => 'Schéma URL';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteFr extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Rechercher sur le bureau...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsFr extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsFr._(TranslationsFr root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsFr _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Aucune interface réseau trouvée';
|
||||
@override String get authenticationFailed => 'Échec de l’authentification';
|
||||
@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';
|
||||
@override String get connectionLost => 'Connexion perdue';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesFr extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesFr._(TranslationsFr root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsFr {
|
||||
'common.settings' => 'Réglages',
|
||||
'common.mute' => 'Muet',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Désactivé',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Saison ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Chapitre ${number}',
|
||||
'common.reconnect' => 'Reconnecter',
|
||||
'common.exit' => 'Quitter',
|
||||
'common.viewAll' => 'Tout afficher',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsFr {
|
||||
'settings.dvConversionNative' => 'Natif / désactivé',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Utiliser la détection des capacités de l’appareil et le comportement de repli normal',
|
||||
'settings.dvConversionNativeDescription' => 'Forcer le DV7 natif et bloquer la nouvelle tentative de conversion DV',
|
||||
'settings.dvConversionDv81Description' => 'Forcer la conversion RPU intégrée vers Dolby Vision profil 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Supprimer les couches RPU/EL Dolby Vision et présenter du HEVC simple',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Demander le profil à l\'ouverture',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Afficher la sélection de profil à chaque ouverture de l\'application',
|
||||
'settings.forceTvMode' => 'Forcer le mode TV',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsFr {
|
||||
'search.enterTitleActorOrKeyword' => 'Entrez un titre, un acteur ou un mot-clé',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Définir un raccourci pour ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Effacer le raccourci',
|
||||
'hotkeys.noShortcutSet' => 'Aucun raccourci défini',
|
||||
'hotkeys.currentShortcut' => 'Raccourci actuel :',
|
||||
'hotkeys.actions.playPause' => 'Lecture/Pause',
|
||||
'hotkeys.actions.volumeUp' => 'Augmenter le volume',
|
||||
'hotkeys.actions.volumeDown' => 'Baisser le volume',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsFr {
|
||||
'mediaMenu.goToSeries' => 'Aller à la série',
|
||||
'mediaMenu.goToSeason' => 'Aller à la saison',
|
||||
'mediaMenu.shufflePlay' => 'Lecture aléatoire',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'La lecture aléatoire n’est pas disponible hors ligne',
|
||||
'mediaMenu.fileInfo' => 'Informations sur le fichier',
|
||||
'mediaMenu.deleteFromServer' => 'Supprimer du serveur',
|
||||
'mediaMenu.confirmDelete' => 'Supprimer ce média et ses fichiers de votre serveur ?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsFr {
|
||||
'videoControls.searchSubtitles' => 'Rechercher des sous-titres',
|
||||
'videoControls.language' => 'Langue',
|
||||
'videoControls.noSubtitlesFound' => 'Aucun sous-titre trouvé',
|
||||
'videoControls.downloadedSubtitle' => 'Téléchargé',
|
||||
'videoControls.noSubtitlesAvailable' => 'Aucun sous-titre disponible',
|
||||
'videoControls.noAudioTracksAvailable' => 'Aucune piste audio disponible',
|
||||
'videoControls.noTracksAvailable' => 'Aucune piste disponible',
|
||||
'videoControls.subtitleDownloaded' => 'Sous-titre téléchargé',
|
||||
'videoControls.subtitleDownloadFailed' => 'Échec du téléchargement du sous-titre',
|
||||
'videoControls.searchLanguages' => 'Rechercher des langues...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsFr {
|
||||
'subtitlingStyling.borderColor' => 'Couleur de la bordure',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacité d\'arrière-plan',
|
||||
'subtitlingStyling.backgroundColor' => 'Couleur d\'arrière-plan',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'Remplacement ASS',
|
||||
'subtitlingStyling.bold' => 'Gras',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsFr {
|
||||
'mpvConfig.loadPreset' => 'Charger',
|
||||
'mpvConfig.deletePreset' => 'Supprimer',
|
||||
'mpvConfig.presetSaved' => 'Préréglage enregistré',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Préréglage chargé',
|
||||
'mpvConfig.presetDeleted' => 'Préréglage supprimé',
|
||||
'mpvConfig.confirmDeletePreset' => 'Êtes-vous sûr de vouloir supprimer ce préréglage ?',
|
||||
@@ -2399,6 +2507,7 @@ 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 d’initialiser les services de profil',
|
||||
'connections.sectionTitle' => 'Connexions',
|
||||
'connections.addConnection' => 'Ajouter une connexion',
|
||||
'connections.addConnectionSubtitleNoProfile' => 'Connectez-vous avec Plex ou connectez un serveur Jellyfin',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsFr {
|
||||
'discover.movie' => 'Film',
|
||||
'discover.tvShow' => 'Show TV',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} min restantes',
|
||||
'discover.moreLikeThis' => 'Plus de contenus similaires',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Recherche échouée: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Délai d\'attente de connexion dépassé pendant le chargement ${context}',
|
||||
'errors.connectionFailed' => 'Impossible de se connecter au serveur multimédia',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsFr {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Impossible de supprimer ${displayName}',
|
||||
'errors.failedToRate' => 'Impossible de mettre à jour la note',
|
||||
'libraries.title' => 'Bibliothèques',
|
||||
'libraries.fallbackTitle' => 'Bibliothèque',
|
||||
'libraries.scanLibraryFiles' => 'Scanner les fichiers de la bibliothèque',
|
||||
'libraries.scanLibrary' => 'Scanner la bibliothèque',
|
||||
'libraries.analyze' => 'Analyser',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsFr {
|
||||
'liveTv.noChannels' => 'Aucune chaîne disponible',
|
||||
'liveTv.noDvr' => 'Aucun DVR configuré sur les serveurs',
|
||||
'liveTv.noPrograms' => 'Aucune donnée de programme disponible',
|
||||
'liveTv.liveStreamFailed' => 'Échec du direct',
|
||||
'liveTv.unknownProgram' => 'Programme inconnu',
|
||||
'liveTv.unknownHub' => 'Inconnu',
|
||||
'liveTv.unknownError' => 'Erreur inconnue',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Chaîne ${number}',
|
||||
'liveTv.unknownChannel' => 'Chaîne inconnue',
|
||||
'liveTv.live' => 'EN DIRECT',
|
||||
'liveTv.reloadGuide' => 'Recharger le guide',
|
||||
'liveTv.now' => 'Maintenant',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsFr {
|
||||
'downloads.deleteDownload' => 'Supprimer le téléchargement',
|
||||
'downloads.retryDownload' => 'Réessayer le téléchargement',
|
||||
'downloads.downloadQueued' => 'Téléchargement en attente',
|
||||
'downloads.downloadResumed' => 'Téléchargement repris',
|
||||
'downloads.serverErrorBitrate' => 'Erreur serveur : le fichier peut dépasser la limite de bitrate distant',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} épisodes en attente de téléchargement',
|
||||
'downloads.downloadDeleted' => 'Télécharger supprimé',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Supprimer "${title}" de cet appareil ?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Suppression de ${title}... (${current} sur ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Téléchargement annulé',
|
||||
'downloads.cancelledDownloadMessage' => 'Ce téléchargement a été annulé. Que voulez-vous faire ?',
|
||||
'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é',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (synchronisation ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} téléchargé — cliquez pour terminer',
|
||||
'downloads.partialDownloadClickToComplete' => 'Téléchargement partiel — cliquez pour terminer',
|
||||
'downloads.deleting' => 'Suppression...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Suppression de ${title}... (${current} sur ${total})',
|
||||
'downloads.queuedTooltip' => 'En attente',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'En attente : ${files}',
|
||||
'downloads.downloadingTooltip' => 'Téléchargement...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsFr {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Supprimer "${name}" ?',
|
||||
'companionRemote.title' => 'Télécommande compagnon',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsFr {
|
||||
'companionRemote.remote.tabSettings' => 'Paramètres',
|
||||
'companionRemote.remote.previous' => 'Précédent',
|
||||
'companionRemote.remote.playPause' => 'Lecture/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Suivant',
|
||||
'companionRemote.remote.seekBack' => 'Reculer',
|
||||
'companionRemote.remote.stop' => 'Arrêter',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsFr {
|
||||
'companionRemote.remote.subtitles' => 'Sous-titres',
|
||||
'companionRemote.remote.audio' => 'Audio',
|
||||
'companionRemote.remote.searchHint' => 'Rechercher sur le bureau...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Aucune interface réseau trouvée',
|
||||
'companionRemote.errors.authenticationFailed' => 'Échec de l’authentification',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Connexion perdue',
|
||||
'videoSettings.playbackSpeed' => 'Vitesse de lecture',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Minuterie de mise en veille',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsFr {
|
||||
'videoSettings.performanceOverlay' => 'Superposition de performance',
|
||||
'videoSettings.audioPassthrough' => 'Audio Pass-Through',
|
||||
'videoSettings.audioNormalization' => 'Normaliser le volume',
|
||||
'performanceOverlay.color' => 'Couleur',
|
||||
'performanceOverlay.performance' => 'Performances',
|
||||
'performanceOverlay.buffer' => 'Tampon',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Décodeur',
|
||||
'performanceOverlay.rawDecoder' => 'Décodeur brut',
|
||||
'performanceOverlay.tunneling' => 'Tunneling',
|
||||
'performanceOverlay.aspect' => 'Format',
|
||||
'performanceOverlay.rotation' => 'Rotation',
|
||||
'performanceOverlay.dvSource' => 'Source DV',
|
||||
'performanceOverlay.dvPath' => 'Chemin DV',
|
||||
'performanceOverlay.p7Conversion' => 'Conv. P7',
|
||||
'performanceOverlay.sampleRate' => 'Fréquence',
|
||||
'performanceOverlay.pixelFormat' => 'Fmt pixel',
|
||||
'performanceOverlay.hwFormat' => 'Fmt HW',
|
||||
'performanceOverlay.matrix' => 'Matrice',
|
||||
'performanceOverlay.primaries' => 'Primaires',
|
||||
'performanceOverlay.transfer' => 'Transfert',
|
||||
'performanceOverlay.renderFps' => 'FPS rendu',
|
||||
'performanceOverlay.displayFps' => 'FPS écran',
|
||||
'performanceOverlay.avSync' => 'Synchro A/V',
|
||||
'performanceOverlay.dropped' => 'Perdues',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU',
|
||||
'performanceOverlay.dvRpuAverage' => 'Moy. DV RPU',
|
||||
'performanceOverlay.dvSampleAverage' => 'Moy. échant. DV',
|
||||
'performanceOverlay.maxLuma' => 'Luma max.',
|
||||
'performanceOverlay.minLuma' => 'Luma min.',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Cache utilisé',
|
||||
'performanceOverlay.speed' => 'Vitesse',
|
||||
'performanceOverlay.player' => 'Lecteur',
|
||||
'performanceOverlay.memory' => 'Mémoire',
|
||||
'performanceOverlay.uiFps' => 'FPS UI',
|
||||
'externalPlayer.title' => 'Lecteur externe',
|
||||
'externalPlayer.useExternalPlayer' => 'Utiliser un lecteur externe',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Ouvrir les vidéos dans une autre app',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsFr {
|
||||
'externalPlayer.systemDefault' => 'Par défaut du système',
|
||||
'externalPlayer.addCustomPlayer' => 'Ajouter un lecteur personnalisé',
|
||||
'externalPlayer.playerName' => 'Nom du lecteur',
|
||||
'externalPlayer.playerNameHint' => 'Mon lecteur',
|
||||
'externalPlayer.playerCommand' => 'Commande',
|
||||
'externalPlayer.playerPackage' => 'Nom du paquet',
|
||||
'externalPlayer.playerUrlScheme' => 'Schéma URL',
|
||||
'externalPlayer.off' => 'Désactivé',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Impossible d\'ouvrir le lecteur externe',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} n\'est pas installé',
|
||||
'externalPlayer.playInExternalPlayer' => 'Lire dans un lecteur externe',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsIt extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersIt shaders = _TranslationsShadersIt._(_root);
|
||||
@override late final _TranslationsCompanionRemoteIt companionRemote = _TranslationsCompanionRemoteIt._(_root);
|
||||
@override late final _TranslationsVideoSettingsIt videoSettings = _TranslationsVideoSettingsIt._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayIt performanceOverlay = _TranslationsPerformanceOverlayIt._(_root);
|
||||
@override late final _TranslationsExternalPlayerIt externalPlayer = _TranslationsExternalPlayerIt._(_root);
|
||||
@override late final _TranslationsMetadataEditIt metadataEdit = _TranslationsMetadataEditIt._(_root);
|
||||
@override late final _TranslationsMatchScreenIt matchScreen = _TranslationsMatchScreenIt._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonIt extends TranslationsCommonEn {
|
||||
@override String get settings => 'Opzioni';
|
||||
@override String get mute => 'Muto';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Disattivato';
|
||||
@override String seasonNumber({required Object number}) => 'Stagione ${number}';
|
||||
@override String chapterNumber({required Object number}) => 'Capitolo ${number}';
|
||||
@override String get reconnect => 'Riconnetti';
|
||||
@override String get exit => 'Esci';
|
||||
@override String get viewAll => 'Mostra tutto';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Nativo / disattivato';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Usa il rilevamento delle capacità del dispositivo e il normale comportamento di fallback';
|
||||
@override String get dvConversionNativeDescription => 'Forza DV7 nativo e sopprime il nuovo tentativo di conversione DV';
|
||||
@override String get dvConversionDv81Description => 'Forza la conversione RPU inline a Dolby Vision profilo 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Rimuove i livelli RPU/EL Dolby Vision e presenta HEVC semplice';
|
||||
@override String get requireProfileSelectionOnOpen => 'Chiedi profilo all\'apertura';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Mostra la selezione del profilo ogni volta che l\'app viene aperta';
|
||||
@override String get forceTvMode => 'Forza modalità TV';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysIt extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Imposta scorciatoia per ${actionName}';
|
||||
@override String get clearShortcut => 'Elimina scorciatoia';
|
||||
@override String get noShortcutSet => 'Nessuna scorciatoia impostata';
|
||||
@override String get currentShortcut => 'Scorciatoia attuale:';
|
||||
@override late final _TranslationsHotkeysActionsIt actions = _TranslationsHotkeysActionsIt._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuIt extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Vai alle serie';
|
||||
@override String get goToSeason => 'Vai alla stagione';
|
||||
@override String get shufflePlay => 'Riproduzione casuale';
|
||||
@override String get shuffleNotAvailableOffline => 'Riproduzione casuale non disponibile offline';
|
||||
@override String get fileInfo => 'Info sul file';
|
||||
@override String get deleteFromServer => 'Elimina dal server';
|
||||
@override String get confirmDelete => 'Eliminare questo media e i suoi file dal server?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsIt extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Cerca sottotitoli';
|
||||
@override String get language => 'Lingua';
|
||||
@override String get noSubtitlesFound => 'Nessun sottotitolo trovato';
|
||||
@override String get downloadedSubtitle => 'Scaricato';
|
||||
@override String get noSubtitlesAvailable => 'Nessun sottotitolo disponibile';
|
||||
@override String get noAudioTracksAvailable => 'Nessuna traccia audio disponibile';
|
||||
@override String get noTracksAvailable => 'Nessuna traccia disponibile';
|
||||
@override String get subtitleDownloaded => 'Sottotitolo scaricato';
|
||||
@override String get subtitleDownloadFailed => 'Impossibile scaricare il sottotitolo';
|
||||
@override String get searchLanguages => 'Cerca lingue...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverIt extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Film';
|
||||
@override String get tvShow => 'Serie TV';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} minuti rimanenti';
|
||||
@override String get moreLikeThis => 'Altri contenuti simili';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesIt extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Librerie';
|
||||
@override String get fallbackTitle => 'Libreria';
|
||||
@override String get scanLibraryFiles => 'Scansiona file libreria';
|
||||
@override String get scanLibrary => 'Scansiona libreria';
|
||||
@override String get analyze => 'Analizza';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvIt extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Nessun canale disponibile';
|
||||
@override String get noDvr => 'Nessun DVR configurato su nessun server';
|
||||
@override String get noPrograms => 'Nessun dato di programma disponibile';
|
||||
@override String get liveStreamFailed => 'Streaming live non riuscito';
|
||||
@override String get unknownProgram => 'Programma sconosciuto';
|
||||
@override String get unknownHub => 'Sconosciuto';
|
||||
@override String get unknownError => 'Errore sconosciuto';
|
||||
@override String channelNumber({required Object number}) => 'Canale ${number}';
|
||||
@override String get unknownChannel => 'Canale sconosciuto';
|
||||
@override String get live => 'IN DIRETTA';
|
||||
@override String get reloadGuide => 'Ricarica guida';
|
||||
@override String get now => 'Ora';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsIt extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Elimina download';
|
||||
@override String get retryDownload => 'Riprova download';
|
||||
@override String get downloadQueued => 'Download in coda';
|
||||
@override String get downloadResumed => 'Download ripreso';
|
||||
@override String get serverErrorBitrate => 'Errore server: il file può superare il limite di bitrate remoto';
|
||||
@override String episodesQueued({required Object count}) => '${count} episodi in coda per il download';
|
||||
@override String get downloadDeleted => 'Download eliminato';
|
||||
@override String deleteConfirm({required Object title}) => 'Eliminare "${title}" da questo dispositivo?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Eliminazione di ${title}... (${current} di ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Download annullato';
|
||||
@override String get cancelledDownloadMessage => 'Questo download è stato annullato. Cosa vuoi fare?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Tutti gli episodi sono già stati scaricati';
|
||||
@override String get resumeDownload => 'Riprendi download';
|
||||
@override String get cancelledDownload => 'Download annullato';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (sincronizzazione ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} scaricato — fai clic per completare';
|
||||
@override String get partialDownloadClickToComplete => 'Scaricato parzialmente — fai clic per completare';
|
||||
@override String get deleting => 'Eliminazione...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Eliminazione di ${title}... (${current} di ${total})';
|
||||
@override String get queuedTooltip => 'In coda';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'In coda: ${files}';
|
||||
@override String get downloadingTooltip => 'Download in corso...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteIt extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Telecomando';
|
||||
@override String connectedTo({required Object name}) => 'Connesso a ${name}';
|
||||
@override String get unknownDevice => 'Dispositivo sconosciuto';
|
||||
@override late final _TranslationsCompanionRemoteSessionIt session = _TranslationsCompanionRemoteSessionIt._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingIt pairing = _TranslationsCompanionRemotePairingIt._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteIt remote = _TranslationsCompanionRemoteRemoteIt._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsIt errors = _TranslationsCompanionRemoteErrorsIt._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsIt extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Normalizza volume';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayIt extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayIt._(TranslationsIt root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsIt _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Colore';
|
||||
@override String get performance => 'Prestazioni';
|
||||
@override String get buffer => 'Buffer';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Decoder';
|
||||
@override String get rawDecoder => 'Decoder raw';
|
||||
@override String get tunneling => 'Tunneling';
|
||||
@override String get aspect => 'Aspetto';
|
||||
@override String get rotation => 'Rotazione';
|
||||
@override String get dvSource => 'Sorgente DV';
|
||||
@override String get dvPath => 'Percorso DV';
|
||||
@override String get p7Conversion => 'Conv. P7';
|
||||
@override String get sampleRate => 'Frequenza camp.';
|
||||
@override String get pixelFormat => 'Formato pixel';
|
||||
@override String get hwFormat => 'Formato HW';
|
||||
@override String get matrix => 'Matrice';
|
||||
@override String get primaries => 'Primari';
|
||||
@override String get transfer => 'Transfer';
|
||||
@override String get renderFps => 'FPS render';
|
||||
@override String get displayFps => 'FPS display';
|
||||
@override String get avSync => 'Sync A/V';
|
||||
@override String get dropped => 'Scartati';
|
||||
@override String get dvRpus => 'DV RPU';
|
||||
@override String get dvRpuAverage => 'Media DV RPU';
|
||||
@override String get dvSampleAverage => 'Media camp. DV';
|
||||
@override String get maxLuma => 'Luma max';
|
||||
@override String get minLuma => 'Luma min';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Cache usata';
|
||||
@override String get speed => 'Velocità';
|
||||
@override String get player => 'Player';
|
||||
@override String get memory => 'Memoria';
|
||||
@override String get uiFps => 'FPS UI';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerIt extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerIt._(TranslationsIt root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerIt extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Predefinito di sistema';
|
||||
@override String get addCustomPlayer => 'Aggiungi lettore personalizzato';
|
||||
@override String get playerName => 'Nome lettore';
|
||||
@override String get playerNameHint => 'Il mio player';
|
||||
@override String get playerCommand => 'Comando';
|
||||
@override String get playerPackage => 'Nome pacchetto';
|
||||
@override String get playerUrlScheme => 'Schema URL';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteIt extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Cerca sul desktop...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsIt extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsIt._(TranslationsIt root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsIt _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Nessuna interfaccia di rete trovata';
|
||||
@override String get authenticationFailed => 'Autenticazione non riuscita';
|
||||
@override String get joinTimedOut => 'Tempo scaduto durante l’accesso alla sessione';
|
||||
@override String get failedToConnectAnyAddress => 'Impossibile connettersi a qualsiasi indirizzo';
|
||||
@override String connectionLostAfterAttempts({required Object attempts}) => 'Connessione persa dopo ${attempts} tentativi';
|
||||
@override String get connectionLost => 'Connessione persa';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesIt extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesIt._(TranslationsIt root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsIt {
|
||||
'common.settings' => 'Opzioni',
|
||||
'common.mute' => 'Muto',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Disattivato',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Stagione ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Capitolo ${number}',
|
||||
'common.reconnect' => 'Riconnetti',
|
||||
'common.exit' => 'Esci',
|
||||
'common.viewAll' => 'Mostra tutto',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsIt {
|
||||
'settings.dvConversionNative' => 'Nativo / disattivato',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Usa il rilevamento delle capacità del dispositivo e il normale comportamento di fallback',
|
||||
'settings.dvConversionNativeDescription' => 'Forza DV7 nativo e sopprime il nuovo tentativo di conversione DV',
|
||||
'settings.dvConversionDv81Description' => 'Forza la conversione RPU inline a Dolby Vision profilo 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Rimuove i livelli RPU/EL Dolby Vision e presenta HEVC semplice',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Chiedi profilo all\'apertura',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Mostra la selezione del profilo ogni volta che l\'app viene aperta',
|
||||
'settings.forceTvMode' => 'Forza modalità TV',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsIt {
|
||||
'search.enterTitleActorOrKeyword' => 'Inserisci un titolo, attore o parola chiave',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Imposta scorciatoia per ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Elimina scorciatoia',
|
||||
'hotkeys.noShortcutSet' => 'Nessuna scorciatoia impostata',
|
||||
'hotkeys.currentShortcut' => 'Scorciatoia attuale:',
|
||||
'hotkeys.actions.playPause' => 'Riproduci/Pausa',
|
||||
'hotkeys.actions.volumeUp' => 'Alza volume',
|
||||
'hotkeys.actions.volumeDown' => 'Abbassa volume',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsIt {
|
||||
'mediaMenu.goToSeries' => 'Vai alle serie',
|
||||
'mediaMenu.goToSeason' => 'Vai alla stagione',
|
||||
'mediaMenu.shufflePlay' => 'Riproduzione casuale',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Riproduzione casuale non disponibile offline',
|
||||
'mediaMenu.fileInfo' => 'Info sul file',
|
||||
'mediaMenu.deleteFromServer' => 'Elimina dal server',
|
||||
'mediaMenu.confirmDelete' => 'Eliminare questo media e i suoi file dal server?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsIt {
|
||||
'videoControls.searchSubtitles' => 'Cerca sottotitoli',
|
||||
'videoControls.language' => 'Lingua',
|
||||
'videoControls.noSubtitlesFound' => 'Nessun sottotitolo trovato',
|
||||
'videoControls.downloadedSubtitle' => 'Scaricato',
|
||||
'videoControls.noSubtitlesAvailable' => 'Nessun sottotitolo disponibile',
|
||||
'videoControls.noAudioTracksAvailable' => 'Nessuna traccia audio disponibile',
|
||||
'videoControls.noTracksAvailable' => 'Nessuna traccia disponibile',
|
||||
'videoControls.subtitleDownloaded' => 'Sottotitolo scaricato',
|
||||
'videoControls.subtitleDownloadFailed' => 'Impossibile scaricare il sottotitolo',
|
||||
'videoControls.searchLanguages' => 'Cerca lingue...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsIt {
|
||||
'subtitlingStyling.borderColor' => 'Colore bordo',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacità sfondo',
|
||||
'subtitlingStyling.backgroundColor' => 'Colore sfondo',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Posizione',
|
||||
'subtitlingStyling.assOverride' => 'Sovrascrittura ASS',
|
||||
'subtitlingStyling.bold' => 'Grassetto',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsIt {
|
||||
'mpvConfig.loadPreset' => 'Carica',
|
||||
'mpvConfig.deletePreset' => 'Elimina',
|
||||
'mpvConfig.presetSaved' => 'Preset salvato',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Preset caricato',
|
||||
'mpvConfig.presetDeleted' => 'Preset eliminato',
|
||||
'mpvConfig.confirmDeletePreset' => 'Sei sicuro di voler eliminare questo preset?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsIt {
|
||||
'discover.movie' => 'Film',
|
||||
'discover.tvShow' => 'Serie TV',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} minuti rimanenti',
|
||||
'discover.moreLikeThis' => 'Altri contenuti simili',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Ricerca fallita: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Timeout connessione durante caricamento di ${context}',
|
||||
'errors.connectionFailed' => 'Impossibile connettersi al server multimediale',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsIt {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Impossibile eliminare ${displayName}',
|
||||
'errors.failedToRate' => 'Impossibile aggiornare la valutazione',
|
||||
'libraries.title' => 'Librerie',
|
||||
'libraries.fallbackTitle' => 'Libreria',
|
||||
'libraries.scanLibraryFiles' => 'Scansiona file libreria',
|
||||
'libraries.scanLibrary' => 'Scansiona libreria',
|
||||
'libraries.analyze' => 'Analizza',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsIt {
|
||||
'liveTv.noChannels' => 'Nessun canale disponibile',
|
||||
'liveTv.noDvr' => 'Nessun DVR configurato su nessun server',
|
||||
'liveTv.noPrograms' => 'Nessun dato di programma disponibile',
|
||||
'liveTv.liveStreamFailed' => 'Streaming live non riuscito',
|
||||
'liveTv.unknownProgram' => 'Programma sconosciuto',
|
||||
'liveTv.unknownHub' => 'Sconosciuto',
|
||||
'liveTv.unknownError' => 'Errore sconosciuto',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Canale ${number}',
|
||||
'liveTv.unknownChannel' => 'Canale sconosciuto',
|
||||
'liveTv.live' => 'IN DIRETTA',
|
||||
'liveTv.reloadGuide' => 'Ricarica guida',
|
||||
'liveTv.now' => 'Ora',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsIt {
|
||||
'downloads.deleteDownload' => 'Elimina download',
|
||||
'downloads.retryDownload' => 'Riprova download',
|
||||
'downloads.downloadQueued' => 'Download in coda',
|
||||
'downloads.downloadResumed' => 'Download ripreso',
|
||||
'downloads.serverErrorBitrate' => 'Errore server: il file può superare il limite di bitrate remoto',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} episodi in coda per il download',
|
||||
'downloads.downloadDeleted' => 'Download eliminato',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Eliminare "${title}" da questo dispositivo?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Eliminazione di ${title}... (${current} di ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Download annullato',
|
||||
'downloads.cancelledDownloadMessage' => 'Questo download è stato annullato. Cosa vuoi fare?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Tutti gli episodi sono già stati scaricati',
|
||||
'downloads.resumeDownload' => 'Riprendi download',
|
||||
'downloads.cancelledDownload' => 'Download annullato',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (sincronizzazione ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} scaricato — fai clic per completare',
|
||||
'downloads.partialDownloadClickToComplete' => 'Scaricato parzialmente — fai clic per completare',
|
||||
'downloads.deleting' => 'Eliminazione...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Eliminazione di ${title}... (${current} di ${total})',
|
||||
'downloads.queuedTooltip' => 'In coda',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'In coda: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Download in corso...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsIt {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Eliminare "${name}"?',
|
||||
'companionRemote.title' => 'Telecomando',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsIt {
|
||||
'companionRemote.remote.tabSettings' => 'Impostazioni',
|
||||
'companionRemote.remote.previous' => 'Precedente',
|
||||
'companionRemote.remote.playPause' => 'Riproduci/Pausa',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Successivo',
|
||||
'companionRemote.remote.seekBack' => 'Riavvolgi',
|
||||
'companionRemote.remote.stop' => 'Ferma',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsIt {
|
||||
'companionRemote.remote.subtitles' => 'Sottotitoli',
|
||||
'companionRemote.remote.audio' => 'Audio',
|
||||
'companionRemote.remote.searchHint' => 'Cerca sul desktop...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Nessuna interfaccia di rete trovata',
|
||||
'companionRemote.errors.authenticationFailed' => 'Autenticazione non riuscita',
|
||||
'companionRemote.errors.joinTimedOut' => 'Tempo scaduto durante l’accesso alla sessione',
|
||||
'companionRemote.errors.failedToConnectAnyAddress' => 'Impossibile connettersi a qualsiasi indirizzo',
|
||||
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Connessione persa dopo ${attempts} tentativi',
|
||||
'companionRemote.errors.connectionLost' => 'Connessione persa',
|
||||
'videoSettings.playbackSpeed' => 'Velocità di riproduzione',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Timer di spegnimento',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsIt {
|
||||
'videoSettings.performanceOverlay' => 'Overlay prestazioni',
|
||||
'videoSettings.audioPassthrough' => 'Audio Passthrough',
|
||||
'videoSettings.audioNormalization' => 'Normalizza volume',
|
||||
'performanceOverlay.color' => 'Colore',
|
||||
'performanceOverlay.performance' => 'Prestazioni',
|
||||
'performanceOverlay.buffer' => 'Buffer',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Decoder',
|
||||
'performanceOverlay.rawDecoder' => 'Decoder raw',
|
||||
'performanceOverlay.tunneling' => 'Tunneling',
|
||||
'performanceOverlay.aspect' => 'Aspetto',
|
||||
'performanceOverlay.rotation' => 'Rotazione',
|
||||
'performanceOverlay.dvSource' => 'Sorgente DV',
|
||||
'performanceOverlay.dvPath' => 'Percorso DV',
|
||||
'performanceOverlay.p7Conversion' => 'Conv. P7',
|
||||
'performanceOverlay.sampleRate' => 'Frequenza camp.',
|
||||
'performanceOverlay.pixelFormat' => 'Formato pixel',
|
||||
'performanceOverlay.hwFormat' => 'Formato HW',
|
||||
'performanceOverlay.matrix' => 'Matrice',
|
||||
'performanceOverlay.primaries' => 'Primari',
|
||||
'performanceOverlay.transfer' => 'Transfer',
|
||||
'performanceOverlay.renderFps' => 'FPS render',
|
||||
'performanceOverlay.displayFps' => 'FPS display',
|
||||
'performanceOverlay.avSync' => 'Sync A/V',
|
||||
'performanceOverlay.dropped' => 'Scartati',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU',
|
||||
'performanceOverlay.dvRpuAverage' => 'Media DV RPU',
|
||||
'performanceOverlay.dvSampleAverage' => 'Media camp. DV',
|
||||
'performanceOverlay.maxLuma' => 'Luma max',
|
||||
'performanceOverlay.minLuma' => 'Luma min',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Cache usata',
|
||||
'performanceOverlay.speed' => 'Velocità',
|
||||
'performanceOverlay.player' => 'Player',
|
||||
'performanceOverlay.memory' => 'Memoria',
|
||||
'performanceOverlay.uiFps' => 'FPS UI',
|
||||
'externalPlayer.title' => 'Lettore esterno',
|
||||
'externalPlayer.useExternalPlayer' => 'Usa lettore esterno',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Apri video in un\'altra app',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsIt {
|
||||
'externalPlayer.systemDefault' => 'Predefinito di sistema',
|
||||
'externalPlayer.addCustomPlayer' => 'Aggiungi lettore personalizzato',
|
||||
'externalPlayer.playerName' => 'Nome lettore',
|
||||
'externalPlayer.playerNameHint' => 'Il mio player',
|
||||
'externalPlayer.playerCommand' => 'Comando',
|
||||
'externalPlayer.playerPackage' => 'Nome pacchetto',
|
||||
'externalPlayer.playerUrlScheme' => 'Schema URL',
|
||||
'externalPlayer.off' => 'Disattivato',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Impossibile aprire il lettore esterno',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} non è installato',
|
||||
'externalPlayer.playInExternalPlayer' => 'Riproduci in lettore esterno',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsJa extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersJa shaders = _TranslationsShadersJa._(_root);
|
||||
@override late final _TranslationsCompanionRemoteJa companionRemote = _TranslationsCompanionRemoteJa._(_root);
|
||||
@override late final _TranslationsVideoSettingsJa videoSettings = _TranslationsVideoSettingsJa._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayJa performanceOverlay = _TranslationsPerformanceOverlayJa._(_root);
|
||||
@override late final _TranslationsExternalPlayerJa externalPlayer = _TranslationsExternalPlayerJa._(_root);
|
||||
@override late final _TranslationsMetadataEditJa metadataEdit = _TranslationsMetadataEditJa._(_root);
|
||||
@override late final _TranslationsMatchScreenJa matchScreen = _TranslationsMatchScreenJa._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonJa extends TranslationsCommonEn {
|
||||
@override String get settings => '設定';
|
||||
@override String get mute => 'ミュート';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'オフ';
|
||||
@override String seasonNumber({required Object number}) => 'シーズン${number}';
|
||||
@override String chapterNumber({required Object number}) => 'チャプター${number}';
|
||||
@override String get reconnect => '再接続';
|
||||
@override String get exit => '終了';
|
||||
@override String get viewAll => 'すべて表示';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'ネイティブ / 無効';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'デバイスの機能検出と通常のフォールバック動作を使用します';
|
||||
@override String get dvConversionNativeDescription => 'ネイティブ DV7 を強制し、DV 変換の再試行を抑制します';
|
||||
@override String get dvConversionDv81Description => 'Dolby Vision プロファイル 8.1 へのインライン RPU 変換を強制します';
|
||||
@override String get dvConversionHevcStripDescription => 'Dolby Vision の RPU/EL レイヤーを削除し、通常の HEVC として扱います';
|
||||
@override String get requireProfileSelectionOnOpen => 'アプリ起動時にプロフィールを確認';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'アプリを開くたびにプロフィール選択を表示';
|
||||
@override String get forceTvMode => 'TVモードを強制';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysJa extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => '${actionName}のショートカットを設定';
|
||||
@override String get clearShortcut => 'ショートカットをクリア';
|
||||
@override String get noShortcutSet => 'ショートカット未設定';
|
||||
@override String get currentShortcut => '現在のショートカット:';
|
||||
@override late final _TranslationsHotkeysActionsJa actions = _TranslationsHotkeysActionsJa._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuJa extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'シリーズへ移動';
|
||||
@override String get goToSeason => 'シーズンへ移動';
|
||||
@override String get shufflePlay => 'シャッフル再生';
|
||||
@override String get shuffleNotAvailableOffline => 'オフラインではシャッフルを利用できません';
|
||||
@override String get fileInfo => 'ファイル情報';
|
||||
@override String get deleteFromServer => 'サーバーから削除';
|
||||
@override String get confirmDelete => 'このメディアとそのファイルをサーバーから削除しますか?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsJa extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => '字幕を検索';
|
||||
@override String get language => '言語';
|
||||
@override String get noSubtitlesFound => '字幕が見つかりません';
|
||||
@override String get downloadedSubtitle => 'ダウンロード済み';
|
||||
@override String get noSubtitlesAvailable => '利用可能な字幕はありません';
|
||||
@override String get noAudioTracksAvailable => '利用可能な音声トラックはありません';
|
||||
@override String get noTracksAvailable => '利用可能なトラックはありません';
|
||||
@override String get subtitleDownloaded => '字幕をダウンロードしました';
|
||||
@override String get subtitleDownloadFailed => '字幕のダウンロードに失敗しました';
|
||||
@override String get searchLanguages => '言語を検索...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverJa extends TranslationsDiscoverEn {
|
||||
@override String get movie => '映画';
|
||||
@override String get tvShow => 'テレビ番組';
|
||||
@override String minutesLeft({required Object minutes}) => '残り${minutes}分';
|
||||
@override String get moreLikeThis => '似ている作品';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesJa extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'ライブラリ';
|
||||
@override String get fallbackTitle => 'ライブラリ';
|
||||
@override String get scanLibraryFiles => 'ライブラリファイルをスキャン';
|
||||
@override String get scanLibrary => 'ライブラリをスキャン';
|
||||
@override String get analyze => '解析';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvJa extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'チャンネルがありません';
|
||||
@override String get noDvr => 'どのサーバーにもDVRが設定されていません';
|
||||
@override String get noPrograms => '番組データがありません';
|
||||
@override String get liveStreamFailed => 'ライブストリームに失敗しました';
|
||||
@override String get unknownProgram => '不明な番組';
|
||||
@override String get unknownHub => '不明';
|
||||
@override String get unknownError => '不明なエラー';
|
||||
@override String channelNumber({required Object number}) => 'チャンネル ${number}';
|
||||
@override String get unknownChannel => '不明なチャンネル';
|
||||
@override String get live => 'ライブ';
|
||||
@override String get reloadGuide => '番組表を再読込';
|
||||
@override String get now => '現在';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsJa extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'ダウンロードを削除';
|
||||
@override String get retryDownload => 'ダウンロードを再試行';
|
||||
@override String get downloadQueued => 'ダウンロードをキューに追加しました';
|
||||
@override String get downloadResumed => 'ダウンロードを再開しました';
|
||||
@override String get serverErrorBitrate => 'サーバーエラー: ファイルがリモートビットレート制限を超えている可能性があります';
|
||||
@override String episodesQueued({required Object count}) => '${count}エピソードをダウンロードキューに追加しました';
|
||||
@override String get downloadDeleted => 'ダウンロードを削除しました';
|
||||
@override String deleteConfirm({required Object title}) => 'このデバイスから「${title}」を削除しますか?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => '${title}を削除中... (${current}/${total})';
|
||||
@override String get cancelledDownloadTitle => 'キャンセルされたダウンロード';
|
||||
@override String get cancelledDownloadMessage => 'このダウンロードはキャンセルされました。どうしますか?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'すべてのエピソードはすでにダウンロード済みです';
|
||||
@override String get resumeDownload => 'ダウンロードを再開';
|
||||
@override String get cancelledDownload => 'キャンセルされたダウンロード';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file}(${status}を同期中)';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} をダウンロード済み — クリックして完了';
|
||||
@override String get partialDownloadClickToComplete => '一部ダウンロード済み — クリックして完了';
|
||||
@override String get deleting => '削除中...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => '${title}を削除中... (${current}/${total})';
|
||||
@override String get queuedTooltip => 'キュー';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'キュー: ${files}';
|
||||
@override String get downloadingTooltip => 'ダウンロード中...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteJa extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'コンパニオンリモート';
|
||||
@override String connectedTo({required Object name}) => '${name}に接続中';
|
||||
@override String get unknownDevice => '不明なデバイス';
|
||||
@override late final _TranslationsCompanionRemoteSessionJa session = _TranslationsCompanionRemoteSessionJa._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingJa pairing = _TranslationsCompanionRemotePairingJa._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteJa remote = _TranslationsCompanionRemoteRemoteJa._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsJa errors = _TranslationsCompanionRemoteErrorsJa._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsJa extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'ラウドネス正規化';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayJa extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayJa._(TranslationsJa root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsJa _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => '色';
|
||||
@override String get performance => 'パフォーマンス';
|
||||
@override String get buffer => 'バッファ';
|
||||
@override String get app => 'アプリ';
|
||||
@override String get decoder => 'デコーダー';
|
||||
@override String get rawDecoder => 'Raw デコーダー';
|
||||
@override String get tunneling => 'トンネリング';
|
||||
@override String get aspect => 'アスペクト';
|
||||
@override String get rotation => '回転';
|
||||
@override String get dvSource => 'DV ソース';
|
||||
@override String get dvPath => 'DV パス';
|
||||
@override String get p7Conversion => 'P7 変換';
|
||||
@override String get sampleRate => 'サンプルレート';
|
||||
@override String get pixelFormat => 'ピクセル形式';
|
||||
@override String get hwFormat => 'HW 形式';
|
||||
@override String get matrix => 'マトリクス';
|
||||
@override String get primaries => 'プライマリ';
|
||||
@override String get transfer => '転送';
|
||||
@override String get renderFps => '描画 FPS';
|
||||
@override String get displayFps => '表示 FPS';
|
||||
@override String get avSync => 'A/V 同期';
|
||||
@override String get dropped => 'ドロップ';
|
||||
@override String get dvRpus => 'DV RPU';
|
||||
@override String get dvRpuAverage => 'DV RPU 平均';
|
||||
@override String get dvSampleAverage => 'DV サンプル平均';
|
||||
@override String get maxLuma => '最大輝度';
|
||||
@override String get minLuma => '最小輝度';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => '使用キャッシュ';
|
||||
@override String get speed => '速度';
|
||||
@override String get player => 'プレーヤー';
|
||||
@override String get memory => 'メモリ';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerJa extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerJa._(TranslationsJa root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerJa extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'システムデフォルト';
|
||||
@override String get addCustomPlayer => 'カスタムプレーヤーを追加';
|
||||
@override String get playerName => 'プレーヤー名';
|
||||
@override String get playerNameHint => 'マイプレーヤー';
|
||||
@override String get playerCommand => 'コマンド';
|
||||
@override String get playerPackage => 'パッケージ名';
|
||||
@override String get playerUrlScheme => 'URLスキーム';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteJa extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'デスクトップで検索...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsJa extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsJa._(TranslationsJa root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsJa _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'ネットワークインターフェースが見つかりません';
|
||||
@override String get authenticationFailed => '認証に失敗しました';
|
||||
@override String get joinTimedOut => 'セッション参加がタイムアウトしました';
|
||||
@override String get failedToConnectAnyAddress => 'どのアドレスにも接続できませんでした';
|
||||
@override String connectionLostAfterAttempts({required Object attempts}) => '${attempts}回試行後に接続が切断されました';
|
||||
@override String get connectionLost => '接続が切断されました';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesJa extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesJa._(TranslationsJa root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsJa {
|
||||
'common.settings' => '設定',
|
||||
'common.mute' => 'ミュート',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'オフ',
|
||||
'common.seasonNumber' => ({required Object number}) => 'シーズン${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'チャプター${number}',
|
||||
'common.reconnect' => '再接続',
|
||||
'common.exit' => '終了',
|
||||
'common.viewAll' => 'すべて表示',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsJa {
|
||||
'settings.dvConversionNative' => 'ネイティブ / 無効',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'デバイスの機能検出と通常のフォールバック動作を使用します',
|
||||
'settings.dvConversionNativeDescription' => 'ネイティブ DV7 を強制し、DV 変換の再試行を抑制します',
|
||||
'settings.dvConversionDv81Description' => 'Dolby Vision プロファイル 8.1 へのインライン RPU 変換を強制します',
|
||||
'settings.dvConversionHevcStripDescription' => 'Dolby Vision の RPU/EL レイヤーを削除し、通常の HEVC として扱います',
|
||||
'settings.requireProfileSelectionOnOpen' => 'アプリ起動時にプロフィールを確認',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'アプリを開くたびにプロフィール選択を表示',
|
||||
'settings.forceTvMode' => 'TVモードを強制',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsJa {
|
||||
'search.enterTitleActorOrKeyword' => 'タイトル、俳優、またはキーワードを入力',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => '${actionName}のショートカットを設定',
|
||||
'hotkeys.clearShortcut' => 'ショートカットをクリア',
|
||||
'hotkeys.noShortcutSet' => 'ショートカット未設定',
|
||||
'hotkeys.currentShortcut' => '現在のショートカット:',
|
||||
'hotkeys.actions.playPause' => '再生/一時停止',
|
||||
'hotkeys.actions.volumeUp' => '音量を上げる',
|
||||
'hotkeys.actions.volumeDown' => '音量を下げる',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsJa {
|
||||
'mediaMenu.goToSeries' => 'シリーズへ移動',
|
||||
'mediaMenu.goToSeason' => 'シーズンへ移動',
|
||||
'mediaMenu.shufflePlay' => 'シャッフル再生',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'オフラインではシャッフルを利用できません',
|
||||
'mediaMenu.fileInfo' => 'ファイル情報',
|
||||
'mediaMenu.deleteFromServer' => 'サーバーから削除',
|
||||
'mediaMenu.confirmDelete' => 'このメディアとそのファイルをサーバーから削除しますか?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsJa {
|
||||
'videoControls.searchSubtitles' => '字幕を検索',
|
||||
'videoControls.language' => '言語',
|
||||
'videoControls.noSubtitlesFound' => '字幕が見つかりません',
|
||||
'videoControls.downloadedSubtitle' => 'ダウンロード済み',
|
||||
'videoControls.noSubtitlesAvailable' => '利用可能な字幕はありません',
|
||||
'videoControls.noAudioTracksAvailable' => '利用可能な音声トラックはありません',
|
||||
'videoControls.noTracksAvailable' => '利用可能なトラックはありません',
|
||||
'videoControls.subtitleDownloaded' => '字幕をダウンロードしました',
|
||||
'videoControls.subtitleDownloadFailed' => '字幕のダウンロードに失敗しました',
|
||||
'videoControls.searchLanguages' => '言語を検索...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsJa {
|
||||
'subtitlingStyling.borderColor' => '枠線の色',
|
||||
'subtitlingStyling.backgroundOpacity' => '背景の不透明度',
|
||||
'subtitlingStyling.backgroundColor' => '背景色',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => '位置',
|
||||
'subtitlingStyling.assOverride' => 'ASSオーバーライド',
|
||||
'subtitlingStyling.bold' => '太字',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsJa {
|
||||
'mpvConfig.loadPreset' => '読み込み',
|
||||
'mpvConfig.deletePreset' => '削除',
|
||||
'mpvConfig.presetSaved' => 'プリセットを保存しました',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'プリセットを読み込みました',
|
||||
'mpvConfig.presetDeleted' => 'プリセットを削除しました',
|
||||
'mpvConfig.confirmDeletePreset' => 'このプリセットを削除してもよろしいですか?',
|
||||
@@ -2399,6 +2507,7 @@ extension on TranslationsJa {
|
||||
'profiles.pinExplain' => 'プロフィール切り替えには4桁のPINが必要です。',
|
||||
'profiles.continueButton' => '続ける',
|
||||
'profiles.pinsDontMatch' => 'PINが一致しません',
|
||||
'profiles.initializeServicesFailed' => 'プロフィールサービスの初期化に失敗しました',
|
||||
'connections.sectionTitle' => '接続',
|
||||
'connections.addConnection' => '接続を追加',
|
||||
'connections.addConnectionSubtitleNoProfile' => 'Plexでサインインするか、Jellyfinサーバーに接続',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsJa {
|
||||
'discover.movie' => '映画',
|
||||
'discover.tvShow' => 'テレビ番組',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '残り${minutes}分',
|
||||
'discover.moreLikeThis' => '似ている作品',
|
||||
'errors.searchFailed' => ({required Object error}) => '検索に失敗しました: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => '${context}の読み込み中に接続がタイムアウトしました',
|
||||
'errors.connectionFailed' => 'メディアサーバーに接続できません',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsJa {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => '${displayName}の削除に失敗しました',
|
||||
'errors.failedToRate' => '評価を更新できませんでした',
|
||||
'libraries.title' => 'ライブラリ',
|
||||
'libraries.fallbackTitle' => 'ライブラリ',
|
||||
'libraries.scanLibraryFiles' => 'ライブラリファイルをスキャン',
|
||||
'libraries.scanLibrary' => 'ライブラリをスキャン',
|
||||
'libraries.analyze' => '解析',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsJa {
|
||||
'liveTv.noChannels' => 'チャンネルがありません',
|
||||
'liveTv.noDvr' => 'どのサーバーにもDVRが設定されていません',
|
||||
'liveTv.noPrograms' => '番組データがありません',
|
||||
'liveTv.liveStreamFailed' => 'ライブストリームに失敗しました',
|
||||
'liveTv.unknownProgram' => '不明な番組',
|
||||
'liveTv.unknownHub' => '不明',
|
||||
'liveTv.unknownError' => '不明なエラー',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'チャンネル ${number}',
|
||||
'liveTv.unknownChannel' => '不明なチャンネル',
|
||||
'liveTv.live' => 'ライブ',
|
||||
'liveTv.reloadGuide' => '番組表を再読込',
|
||||
'liveTv.now' => '現在',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsJa {
|
||||
'downloads.deleteDownload' => 'ダウンロードを削除',
|
||||
'downloads.retryDownload' => 'ダウンロードを再試行',
|
||||
'downloads.downloadQueued' => 'ダウンロードをキューに追加しました',
|
||||
'downloads.downloadResumed' => 'ダウンロードを再開しました',
|
||||
'downloads.serverErrorBitrate' => 'サーバーエラー: ファイルがリモートビットレート制限を超えている可能性があります',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count}エピソードをダウンロードキューに追加しました',
|
||||
'downloads.downloadDeleted' => 'ダウンロードを削除しました',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'このデバイスから「${title}」を削除しますか?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => '${title}を削除中... (${current}/${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'キャンセルされたダウンロード',
|
||||
'downloads.cancelledDownloadMessage' => 'このダウンロードはキャンセルされました。どうしますか?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'すべてのエピソードはすでにダウンロード済みです',
|
||||
'downloads.resumeDownload' => 'ダウンロードを再開',
|
||||
'downloads.cancelledDownload' => 'キャンセルされたダウンロード',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file}(${status}を同期中)',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} をダウンロード済み — クリックして完了',
|
||||
'downloads.partialDownloadClickToComplete' => '一部ダウンロード済み — クリックして完了',
|
||||
'downloads.deleting' => '削除中...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => '${title}を削除中... (${current}/${total})',
|
||||
'downloads.queuedTooltip' => 'キュー',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'キュー: ${files}',
|
||||
'downloads.downloadingTooltip' => 'ダウンロード中...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsJa {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => '"${name}"を削除しますか?',
|
||||
'companionRemote.title' => 'コンパニオンリモート',
|
||||
'companionRemote.connectedTo' => ({required Object name}) => '${name}に接続中',
|
||||
'companionRemote.unknownDevice' => '不明なデバイス',
|
||||
'companionRemote.session.startingServer' => 'リモートサーバーを起動中...',
|
||||
'companionRemote.session.failedToCreate' => 'リモートサーバーの起動に失敗しました:',
|
||||
'companionRemote.session.hostAddress' => 'ホストアドレス',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsJa {
|
||||
'companionRemote.remote.tabSettings' => '設定',
|
||||
'companionRemote.remote.previous' => '前へ',
|
||||
'companionRemote.remote.playPause' => '再生/一時停止',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => '次へ',
|
||||
'companionRemote.remote.seekBack' => '巻き戻し',
|
||||
'companionRemote.remote.stop' => '停止',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsJa {
|
||||
'companionRemote.remote.subtitles' => '字幕',
|
||||
'companionRemote.remote.audio' => '音声',
|
||||
'companionRemote.remote.searchHint' => 'デスクトップで検索...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'ネットワークインターフェースが見つかりません',
|
||||
'companionRemote.errors.authenticationFailed' => '認証に失敗しました',
|
||||
'companionRemote.errors.joinTimedOut' => 'セッション参加がタイムアウトしました',
|
||||
'companionRemote.errors.failedToConnectAnyAddress' => 'どのアドレスにも接続できませんでした',
|
||||
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => '${attempts}回試行後に接続が切断されました',
|
||||
'companionRemote.errors.connectionLost' => '接続が切断されました',
|
||||
'videoSettings.playbackSpeed' => '再生速度',
|
||||
'videoSettings.zoom' => 'ズーム',
|
||||
'videoSettings.sleepTimer' => 'スリープタイマー',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsJa {
|
||||
'videoSettings.performanceOverlay' => 'パフォーマンスオーバーレイ',
|
||||
'videoSettings.audioPassthrough' => 'オーディオパススルー',
|
||||
'videoSettings.audioNormalization' => 'ラウドネス正規化',
|
||||
'performanceOverlay.color' => '色',
|
||||
'performanceOverlay.performance' => 'パフォーマンス',
|
||||
'performanceOverlay.buffer' => 'バッファ',
|
||||
'performanceOverlay.app' => 'アプリ',
|
||||
'performanceOverlay.decoder' => 'デコーダー',
|
||||
'performanceOverlay.rawDecoder' => 'Raw デコーダー',
|
||||
'performanceOverlay.tunneling' => 'トンネリング',
|
||||
'performanceOverlay.aspect' => 'アスペクト',
|
||||
'performanceOverlay.rotation' => '回転',
|
||||
'performanceOverlay.dvSource' => 'DV ソース',
|
||||
'performanceOverlay.dvPath' => 'DV パス',
|
||||
'performanceOverlay.p7Conversion' => 'P7 変換',
|
||||
'performanceOverlay.sampleRate' => 'サンプルレート',
|
||||
'performanceOverlay.pixelFormat' => 'ピクセル形式',
|
||||
'performanceOverlay.hwFormat' => 'HW 形式',
|
||||
'performanceOverlay.matrix' => 'マトリクス',
|
||||
'performanceOverlay.primaries' => 'プライマリ',
|
||||
'performanceOverlay.transfer' => '転送',
|
||||
'performanceOverlay.renderFps' => '描画 FPS',
|
||||
'performanceOverlay.displayFps' => '表示 FPS',
|
||||
'performanceOverlay.avSync' => 'A/V 同期',
|
||||
'performanceOverlay.dropped' => 'ドロップ',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV RPU 平均',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV サンプル平均',
|
||||
'performanceOverlay.maxLuma' => '最大輝度',
|
||||
'performanceOverlay.minLuma' => '最小輝度',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => '使用キャッシュ',
|
||||
'performanceOverlay.speed' => '速度',
|
||||
'performanceOverlay.player' => 'プレーヤー',
|
||||
'performanceOverlay.memory' => 'メモリ',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => '外部プレーヤー',
|
||||
'externalPlayer.useExternalPlayer' => '外部プレーヤーを使用',
|
||||
'externalPlayer.useExternalPlayerDescription' => '動画を別のアプリで開きます',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsJa {
|
||||
'externalPlayer.systemDefault' => 'システムデフォルト',
|
||||
'externalPlayer.addCustomPlayer' => 'カスタムプレーヤーを追加',
|
||||
'externalPlayer.playerName' => 'プレーヤー名',
|
||||
'externalPlayer.playerNameHint' => 'マイプレーヤー',
|
||||
'externalPlayer.playerCommand' => 'コマンド',
|
||||
'externalPlayer.playerPackage' => 'パッケージ名',
|
||||
'externalPlayer.playerUrlScheme' => 'URLスキーム',
|
||||
'externalPlayer.off' => 'オフ',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => '外部プレーヤーの起動に失敗しました',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name}がインストールされていません',
|
||||
'externalPlayer.playInExternalPlayer' => '外部プレーヤーで再生',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsKo extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersKo shaders = _TranslationsShadersKo._(_root);
|
||||
@override late final _TranslationsCompanionRemoteKo companionRemote = _TranslationsCompanionRemoteKo._(_root);
|
||||
@override late final _TranslationsVideoSettingsKo videoSettings = _TranslationsVideoSettingsKo._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayKo performanceOverlay = _TranslationsPerformanceOverlayKo._(_root);
|
||||
@override late final _TranslationsExternalPlayerKo externalPlayer = _TranslationsExternalPlayerKo._(_root);
|
||||
@override late final _TranslationsMetadataEditKo metadataEdit = _TranslationsMetadataEditKo._(_root);
|
||||
@override late final _TranslationsMatchScreenKo matchScreen = _TranslationsMatchScreenKo._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonKo extends TranslationsCommonEn {
|
||||
@override String get settings => '설정';
|
||||
@override String get mute => '음소거';
|
||||
@override String get ok => '확인';
|
||||
@override String get off => '끔';
|
||||
@override String seasonNumber({required Object number}) => '시즌 ${number}';
|
||||
@override String chapterNumber({required Object number}) => '챕터 ${number}';
|
||||
@override String get reconnect => '다시 연결';
|
||||
@override String get exit => '종료';
|
||||
@override String get viewAll => '모두 보기';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsKo extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => '네이티브 / 비활성화';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => '기기 기능 감지와 일반 폴백 동작을 사용합니다';
|
||||
@override String get dvConversionNativeDescription => '네이티브 DV7을 강제하고 DV 변환 재시도를 억제합니다';
|
||||
@override String get dvConversionDv81Description => 'Dolby Vision 프로필 8.1로 인라인 RPU 변환을 강제합니다';
|
||||
@override String get dvConversionHevcStripDescription => 'Dolby Vision RPU/EL 레이어를 제거하고 일반 HEVC로 제공합니다';
|
||||
@override String get requireProfileSelectionOnOpen => '앱 실행 시 프로필 선택';
|
||||
@override String get requireProfileSelectionOnOpenDescription => '앱을 열 때마다 프로필 선택 화면을 표시합니다';
|
||||
@override String get forceTvMode => 'TV 모드 강제 사용';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysKo extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => '${actionName}에 대한 단축키 설정';
|
||||
@override String get clearShortcut => '단축키 삭제';
|
||||
@override String get noShortcutSet => '설정된 단축키 없음';
|
||||
@override String get currentShortcut => '현재 단축키:';
|
||||
@override late final _TranslationsHotkeysActionsKo actions = _TranslationsHotkeysActionsKo._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuKo extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => '시리즈로 이동';
|
||||
@override String get goToSeason => '시즌으로 이동';
|
||||
@override String get shufflePlay => '무작위 재생';
|
||||
@override String get shuffleNotAvailableOffline => '오프라인에서는 셔플을 사용할 수 없습니다';
|
||||
@override String get fileInfo => '파일 정보';
|
||||
@override String get deleteFromServer => '서버에서 삭제';
|
||||
@override String get confirmDelete => '이 미디어와 해당 파일을 서버에서 삭제할까요?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsKo extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => '자막 검색';
|
||||
@override String get language => '언어';
|
||||
@override String get noSubtitlesFound => '자막을 찾을 수 없습니다';
|
||||
@override String get downloadedSubtitle => '다운로드됨';
|
||||
@override String get noSubtitlesAvailable => '사용 가능한 자막 없음';
|
||||
@override String get noAudioTracksAvailable => '사용 가능한 오디오 트랙 없음';
|
||||
@override String get noTracksAvailable => '사용 가능한 트랙 없음';
|
||||
@override String get subtitleDownloaded => '자막이 다운로드되었습니다';
|
||||
@override String get subtitleDownloadFailed => '자막 다운로드에 실패했습니다';
|
||||
@override String get searchLanguages => '언어 검색...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverKo extends TranslationsDiscoverEn {
|
||||
@override String get movie => '영화';
|
||||
@override String get tvShow => 'TV 시리즈';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes}분 남음';
|
||||
@override String get moreLikeThis => '비슷한 콘텐츠';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesKo extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => '미디어 라이브러리';
|
||||
@override String get fallbackTitle => '라이브러리';
|
||||
@override String get scanLibraryFiles => '미디어 라이브러리 파일 스캔';
|
||||
@override String get scanLibrary => '미디어 라이브러리 스캔';
|
||||
@override String get analyze => '분석';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvKo extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => '사용 가능한 채널이 없습니다';
|
||||
@override String get noDvr => '서버에 DVR이 구성되어 있지 않습니다';
|
||||
@override String get noPrograms => '프로그램 데이터가 없습니다';
|
||||
@override String get liveStreamFailed => '라이브 스트림 실패';
|
||||
@override String get unknownProgram => '알 수 없는 프로그램';
|
||||
@override String get unknownHub => '알 수 없음';
|
||||
@override String get unknownError => '알 수 없는 오류';
|
||||
@override String channelNumber({required Object number}) => '채널 ${number}';
|
||||
@override String get unknownChannel => '알 수 없는 채널';
|
||||
@override String get live => '실시간';
|
||||
@override String get reloadGuide => '편성표 새로고침';
|
||||
@override String get now => '지금';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsKo extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => '다운로드 삭제';
|
||||
@override String get retryDownload => '다운로드 재시도';
|
||||
@override String get downloadQueued => '다운로드 대기 중';
|
||||
@override String get downloadResumed => '다운로드를 재개했습니다';
|
||||
@override String get serverErrorBitrate => '서버 오류: 파일이 원격 비트레이트 제한을 초과할 수 있습니다';
|
||||
@override String episodesQueued({required Object count}) => '${count} 에피소드가 다운로드 대기열에 추가 되었습니다';
|
||||
@override String get downloadDeleted => '다운로드 삭제됨';
|
||||
@override String deleteConfirm({required Object title}) => '이 기기에서 "${title}"을(를) 삭제할까요?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => '${title} 삭제 중... (${current}/${total})';
|
||||
@override String get cancelledDownloadTitle => '취소된 다운로드';
|
||||
@override String get cancelledDownloadMessage => '이 다운로드가 취소되었습니다. 어떻게 하시겠습니까?';
|
||||
@override String get allEpisodesAlreadyDownloaded => '모든 에피소드가 이미 다운로드되었습니다';
|
||||
@override String get resumeDownload => '다운로드 재개';
|
||||
@override String get cancelledDownload => '취소된 다운로드';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (${status} 동기화 중)';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} 다운로드됨 — 클릭하여 완료';
|
||||
@override String get partialDownloadClickToComplete => '부분 다운로드됨 — 클릭하여 완료';
|
||||
@override String get deleting => '삭제 중...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => '${title} 삭제 중... (${current}/${total})';
|
||||
@override String get queuedTooltip => '대기 중';
|
||||
@override String queuedFilesTooltip({required Object files}) => '대기 중: ${files}';
|
||||
@override String get downloadingTooltip => '다운로드 중...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteKo extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => '컴패니언 리모컨';
|
||||
@override String connectedTo({required Object name}) => '${name}에 연결됨';
|
||||
@override String get unknownDevice => '알 수 없는 기기';
|
||||
@override late final _TranslationsCompanionRemoteSessionKo session = _TranslationsCompanionRemoteSessionKo._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingKo pairing = _TranslationsCompanionRemotePairingKo._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteKo remote = _TranslationsCompanionRemoteRemoteKo._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsKo errors = _TranslationsCompanionRemoteErrorsKo._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsKo extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => '음량 정규화';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayKo extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayKo._(TranslationsKo root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsKo _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => '색상';
|
||||
@override String get performance => '성능';
|
||||
@override String get buffer => '버퍼';
|
||||
@override String get app => '앱';
|
||||
@override String get decoder => '디코더';
|
||||
@override String get rawDecoder => '원본 디코더';
|
||||
@override String get tunneling => '터널링';
|
||||
@override String get aspect => '화면비';
|
||||
@override String get rotation => '회전';
|
||||
@override String get dvSource => 'DV 소스';
|
||||
@override String get dvPath => 'DV 경로';
|
||||
@override String get p7Conversion => 'P7 변환';
|
||||
@override String get sampleRate => '샘플 레이트';
|
||||
@override String get pixelFormat => '픽셀 형식';
|
||||
@override String get hwFormat => 'HW 형식';
|
||||
@override String get matrix => '매트릭스';
|
||||
@override String get primaries => '원색';
|
||||
@override String get transfer => '전송';
|
||||
@override String get renderFps => '렌더 FPS';
|
||||
@override String get displayFps => '디스플레이 FPS';
|
||||
@override String get avSync => 'A/V 동기화';
|
||||
@override String get dropped => '드롭됨';
|
||||
@override String get dvRpus => 'DV RPU';
|
||||
@override String get dvRpuAverage => 'DV RPU 평균';
|
||||
@override String get dvSampleAverage => 'DV 샘플 평균';
|
||||
@override String get maxLuma => '최대 휘도';
|
||||
@override String get minLuma => '최소 휘도';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => '사용 캐시';
|
||||
@override String get speed => '속도';
|
||||
@override String get player => '플레이어';
|
||||
@override String get memory => '메모리';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerKo extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerKo._(TranslationsKo root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerKo extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => '시스템 기본값';
|
||||
@override String get addCustomPlayer => '사용자 정의 플레이어 추가';
|
||||
@override String get playerName => '플레이어 이름';
|
||||
@override String get playerNameHint => '내 플레이어';
|
||||
@override String get playerCommand => '명령어';
|
||||
@override String get playerPackage => '패키지 이름';
|
||||
@override String get playerUrlScheme => 'URL 스킴';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteKo extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => '데스크톱에서 검색...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsKo extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsKo._(TranslationsKo root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsKo _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => '네트워크 인터페이스를 찾을 수 없습니다';
|
||||
@override String get authenticationFailed => '인증 실패';
|
||||
@override String get joinTimedOut => '세션 참가 시간이 초과되었습니다';
|
||||
@override String get failedToConnectAnyAddress => '어떤 주소에도 연결하지 못했습니다';
|
||||
@override String connectionLostAfterAttempts({required Object attempts}) => '${attempts}회 시도 후 연결이 끊어졌습니다';
|
||||
@override String get connectionLost => '연결이 끊어졌습니다';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesKo extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesKo._(TranslationsKo root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsKo {
|
||||
'common.settings' => '설정',
|
||||
'common.mute' => '음소거',
|
||||
'common.ok' => '확인',
|
||||
'common.off' => '끔',
|
||||
'common.seasonNumber' => ({required Object number}) => '시즌 ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => '챕터 ${number}',
|
||||
'common.reconnect' => '다시 연결',
|
||||
'common.exit' => '종료',
|
||||
'common.viewAll' => '모두 보기',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsKo {
|
||||
'settings.dvConversionNative' => '네이티브 / 비활성화',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => '기기 기능 감지와 일반 폴백 동작을 사용합니다',
|
||||
'settings.dvConversionNativeDescription' => '네이티브 DV7을 강제하고 DV 변환 재시도를 억제합니다',
|
||||
'settings.dvConversionDv81Description' => 'Dolby Vision 프로필 8.1로 인라인 RPU 변환을 강제합니다',
|
||||
'settings.dvConversionHevcStripDescription' => 'Dolby Vision RPU/EL 레이어를 제거하고 일반 HEVC로 제공합니다',
|
||||
'settings.requireProfileSelectionOnOpen' => '앱 실행 시 프로필 선택',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => '앱을 열 때마다 프로필 선택 화면을 표시합니다',
|
||||
'settings.forceTvMode' => 'TV 모드 강제 사용',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsKo {
|
||||
'search.enterTitleActorOrKeyword' => '제목, 배우 또는 키워드를 입력하세요',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => '${actionName}에 대한 단축키 설정',
|
||||
'hotkeys.clearShortcut' => '단축키 삭제',
|
||||
'hotkeys.noShortcutSet' => '설정된 단축키 없음',
|
||||
'hotkeys.currentShortcut' => '현재 단축키:',
|
||||
'hotkeys.actions.playPause' => '재생/일시정지',
|
||||
'hotkeys.actions.volumeUp' => '볼륨 높이기',
|
||||
'hotkeys.actions.volumeDown' => '볼륨 낮추기',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsKo {
|
||||
'mediaMenu.goToSeries' => '시리즈로 이동',
|
||||
'mediaMenu.goToSeason' => '시즌으로 이동',
|
||||
'mediaMenu.shufflePlay' => '무작위 재생',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => '오프라인에서는 셔플을 사용할 수 없습니다',
|
||||
'mediaMenu.fileInfo' => '파일 정보',
|
||||
'mediaMenu.deleteFromServer' => '서버에서 삭제',
|
||||
'mediaMenu.confirmDelete' => '이 미디어와 해당 파일을 서버에서 삭제할까요?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsKo {
|
||||
'videoControls.searchSubtitles' => '자막 검색',
|
||||
'videoControls.language' => '언어',
|
||||
'videoControls.noSubtitlesFound' => '자막을 찾을 수 없습니다',
|
||||
'videoControls.downloadedSubtitle' => '다운로드됨',
|
||||
'videoControls.noSubtitlesAvailable' => '사용 가능한 자막 없음',
|
||||
'videoControls.noAudioTracksAvailable' => '사용 가능한 오디오 트랙 없음',
|
||||
'videoControls.noTracksAvailable' => '사용 가능한 트랙 없음',
|
||||
'videoControls.subtitleDownloaded' => '자막이 다운로드되었습니다',
|
||||
'videoControls.subtitleDownloadFailed' => '자막 다운로드에 실패했습니다',
|
||||
'videoControls.searchLanguages' => '언어 검색...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsKo {
|
||||
'subtitlingStyling.borderColor' => '테두리 색상',
|
||||
'subtitlingStyling.backgroundOpacity' => '배경 불투명도',
|
||||
'subtitlingStyling.backgroundColor' => '배경색',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => '위치',
|
||||
'subtitlingStyling.assOverride' => 'ASS 오버라이드',
|
||||
'subtitlingStyling.bold' => '굵게',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsKo {
|
||||
'mpvConfig.loadPreset' => '로드',
|
||||
'mpvConfig.deletePreset' => '삭제',
|
||||
'mpvConfig.presetSaved' => '프리셋이 저장 되었습니다',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => '프리셋이 로드 되었습니다',
|
||||
'mpvConfig.presetDeleted' => '프리셋이 삭제 되었습니다',
|
||||
'mpvConfig.confirmDeletePreset' => '이 프리셋을 삭제 하시겠습니까?',
|
||||
@@ -2399,6 +2507,7 @@ extension on TranslationsKo {
|
||||
'profiles.pinExplain' => '프로필 전환에는 4자리 PIN이 필요합니다.',
|
||||
'profiles.continueButton' => '계속',
|
||||
'profiles.pinsDontMatch' => 'PIN이 일치하지 않습니다',
|
||||
'profiles.initializeServicesFailed' => '프로필 서비스를 초기화하지 못했습니다',
|
||||
'connections.sectionTitle' => '연결',
|
||||
'connections.addConnection' => '연결 추가',
|
||||
'connections.addConnectionSubtitleNoProfile' => 'Plex로 로그인하거나 Jellyfin 서버에 연결',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsKo {
|
||||
'discover.movie' => '영화',
|
||||
'discover.tvShow' => 'TV 시리즈',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes}분 남음',
|
||||
'discover.moreLikeThis' => '비슷한 콘텐츠',
|
||||
'errors.searchFailed' => ({required Object error}) => '검색 실패: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => '${context} 로드 중 연결 시간 초과',
|
||||
'errors.connectionFailed' => '미디어 서버에 연결할 수 없습니다',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsKo {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => '${displayName}을(를) 삭제할 수 없습니다',
|
||||
'errors.failedToRate' => '평점을 업데이트하지 못했습니다',
|
||||
'libraries.title' => '미디어 라이브러리',
|
||||
'libraries.fallbackTitle' => '라이브러리',
|
||||
'libraries.scanLibraryFiles' => '미디어 라이브러리 파일 스캔',
|
||||
'libraries.scanLibrary' => '미디어 라이브러리 스캔',
|
||||
'libraries.analyze' => '분석',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsKo {
|
||||
'liveTv.noChannels' => '사용 가능한 채널이 없습니다',
|
||||
'liveTv.noDvr' => '서버에 DVR이 구성되어 있지 않습니다',
|
||||
'liveTv.noPrograms' => '프로그램 데이터가 없습니다',
|
||||
'liveTv.liveStreamFailed' => '라이브 스트림 실패',
|
||||
'liveTv.unknownProgram' => '알 수 없는 프로그램',
|
||||
'liveTv.unknownHub' => '알 수 없음',
|
||||
'liveTv.unknownError' => '알 수 없는 오류',
|
||||
'liveTv.channelNumber' => ({required Object number}) => '채널 ${number}',
|
||||
'liveTv.unknownChannel' => '알 수 없는 채널',
|
||||
'liveTv.live' => '실시간',
|
||||
'liveTv.reloadGuide' => '편성표 새로고침',
|
||||
'liveTv.now' => '지금',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsKo {
|
||||
'downloads.deleteDownload' => '다운로드 삭제',
|
||||
'downloads.retryDownload' => '다운로드 재시도',
|
||||
'downloads.downloadQueued' => '다운로드 대기 중',
|
||||
'downloads.downloadResumed' => '다운로드를 재개했습니다',
|
||||
'downloads.serverErrorBitrate' => '서버 오류: 파일이 원격 비트레이트 제한을 초과할 수 있습니다',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} 에피소드가 다운로드 대기열에 추가 되었습니다',
|
||||
'downloads.downloadDeleted' => '다운로드 삭제됨',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => '이 기기에서 "${title}"을(를) 삭제할까요?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => '${title} 삭제 중... (${current}/${total})',
|
||||
'downloads.cancelledDownloadTitle' => '취소된 다운로드',
|
||||
'downloads.cancelledDownloadMessage' => '이 다운로드가 취소되었습니다. 어떻게 하시겠습니까?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => '모든 에피소드가 이미 다운로드되었습니다',
|
||||
'downloads.resumeDownload' => '다운로드 재개',
|
||||
'downloads.cancelledDownload' => '취소된 다운로드',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (${status} 동기화 중)',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} 다운로드됨 — 클릭하여 완료',
|
||||
'downloads.partialDownloadClickToComplete' => '부분 다운로드됨 — 클릭하여 완료',
|
||||
'downloads.deleting' => '삭제 중...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => '${title} 삭제 중... (${current}/${total})',
|
||||
'downloads.queuedTooltip' => '대기 중',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => '대기 중: ${files}',
|
||||
'downloads.downloadingTooltip' => '다운로드 중...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsKo {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => '"${name}"을(를) 삭제하시겠습니까?',
|
||||
'companionRemote.title' => '컴패니언 리모컨',
|
||||
'companionRemote.connectedTo' => ({required Object name}) => '${name}에 연결됨',
|
||||
'companionRemote.unknownDevice' => '알 수 없는 기기',
|
||||
'companionRemote.session.startingServer' => '원격 서버 시작 중...',
|
||||
'companionRemote.session.failedToCreate' => '원격 서버를 시작하지 못했습니다:',
|
||||
'companionRemote.session.hostAddress' => '호스트 주소',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsKo {
|
||||
'companionRemote.remote.tabSettings' => '설정',
|
||||
'companionRemote.remote.previous' => '이전',
|
||||
'companionRemote.remote.playPause' => '재생/일시정지',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => '다음',
|
||||
'companionRemote.remote.seekBack' => '되감기',
|
||||
'companionRemote.remote.stop' => '정지',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsKo {
|
||||
'companionRemote.remote.subtitles' => '자막',
|
||||
'companionRemote.remote.audio' => '오디오',
|
||||
'companionRemote.remote.searchHint' => '데스크톱에서 검색...',
|
||||
'companionRemote.errors.noNetworkInterface' => '네트워크 인터페이스를 찾을 수 없습니다',
|
||||
'companionRemote.errors.authenticationFailed' => '인증 실패',
|
||||
'companionRemote.errors.joinTimedOut' => '세션 참가 시간이 초과되었습니다',
|
||||
'companionRemote.errors.failedToConnectAnyAddress' => '어떤 주소에도 연결하지 못했습니다',
|
||||
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => '${attempts}회 시도 후 연결이 끊어졌습니다',
|
||||
'companionRemote.errors.connectionLost' => '연결이 끊어졌습니다',
|
||||
'videoSettings.playbackSpeed' => '재생 속도',
|
||||
'videoSettings.zoom' => '확대/축소',
|
||||
'videoSettings.sleepTimer' => '취침 타이머',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsKo {
|
||||
'videoSettings.performanceOverlay' => '성능 오버레이',
|
||||
'videoSettings.audioPassthrough' => '오디오 패스스루',
|
||||
'videoSettings.audioNormalization' => '음량 정규화',
|
||||
'performanceOverlay.color' => '색상',
|
||||
'performanceOverlay.performance' => '성능',
|
||||
'performanceOverlay.buffer' => '버퍼',
|
||||
'performanceOverlay.app' => '앱',
|
||||
'performanceOverlay.decoder' => '디코더',
|
||||
'performanceOverlay.rawDecoder' => '원본 디코더',
|
||||
'performanceOverlay.tunneling' => '터널링',
|
||||
'performanceOverlay.aspect' => '화면비',
|
||||
'performanceOverlay.rotation' => '회전',
|
||||
'performanceOverlay.dvSource' => 'DV 소스',
|
||||
'performanceOverlay.dvPath' => 'DV 경로',
|
||||
'performanceOverlay.p7Conversion' => 'P7 변환',
|
||||
'performanceOverlay.sampleRate' => '샘플 레이트',
|
||||
'performanceOverlay.pixelFormat' => '픽셀 형식',
|
||||
'performanceOverlay.hwFormat' => 'HW 형식',
|
||||
'performanceOverlay.matrix' => '매트릭스',
|
||||
'performanceOverlay.primaries' => '원색',
|
||||
'performanceOverlay.transfer' => '전송',
|
||||
'performanceOverlay.renderFps' => '렌더 FPS',
|
||||
'performanceOverlay.displayFps' => '디스플레이 FPS',
|
||||
'performanceOverlay.avSync' => 'A/V 동기화',
|
||||
'performanceOverlay.dropped' => '드롭됨',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV RPU 평균',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV 샘플 평균',
|
||||
'performanceOverlay.maxLuma' => '최대 휘도',
|
||||
'performanceOverlay.minLuma' => '최소 휘도',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => '사용 캐시',
|
||||
'performanceOverlay.speed' => '속도',
|
||||
'performanceOverlay.player' => '플레이어',
|
||||
'performanceOverlay.memory' => '메모리',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => '외부 플레이어',
|
||||
'externalPlayer.useExternalPlayer' => '외부 플레이어 사용',
|
||||
'externalPlayer.useExternalPlayerDescription' => '동영상을 다른 앱에서 열기',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsKo {
|
||||
'externalPlayer.systemDefault' => '시스템 기본값',
|
||||
'externalPlayer.addCustomPlayer' => '사용자 정의 플레이어 추가',
|
||||
'externalPlayer.playerName' => '플레이어 이름',
|
||||
'externalPlayer.playerNameHint' => '내 플레이어',
|
||||
'externalPlayer.playerCommand' => '명령어',
|
||||
'externalPlayer.playerPackage' => '패키지 이름',
|
||||
'externalPlayer.playerUrlScheme' => 'URL 스킴',
|
||||
'externalPlayer.off' => '꺼짐',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => '외부 플레이어를 열 수 없습니다',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name}이(가) 설치되어 있지 않습니다',
|
||||
'externalPlayer.playInExternalPlayer' => '외부 플레이어에서 재생',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsNb extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersNb shaders = _TranslationsShadersNb._(_root);
|
||||
@override late final _TranslationsCompanionRemoteNb companionRemote = _TranslationsCompanionRemoteNb._(_root);
|
||||
@override late final _TranslationsVideoSettingsNb videoSettings = _TranslationsVideoSettingsNb._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayNb performanceOverlay = _TranslationsPerformanceOverlayNb._(_root);
|
||||
@override late final _TranslationsExternalPlayerNb externalPlayer = _TranslationsExternalPlayerNb._(_root);
|
||||
@override late final _TranslationsMetadataEditNb metadataEdit = _TranslationsMetadataEditNb._(_root);
|
||||
@override late final _TranslationsMatchScreenNb matchScreen = _TranslationsMatchScreenNb._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonNb extends TranslationsCommonEn {
|
||||
@override String get settings => 'Innstillinger';
|
||||
@override String get mute => 'Demp';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Av';
|
||||
@override String seasonNumber({required Object number}) => 'Sesong ${number}';
|
||||
@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';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Innebygd / deaktivert';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Bruk enhetens kapabilitetsdeteksjon og normal reserveoppførsel';
|
||||
@override String get dvConversionNativeDescription => 'Tving native DV7 og undertrykk forsøk på DV-konvertering';
|
||||
@override String get dvConversionDv81Description => 'Tving inline RPU-konvertering til Dolby Vision profil 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Fjern Dolby Vision RPU/EL-lag og presenter vanlig HEVC';
|
||||
@override String get requireProfileSelectionOnOpen => 'Spør om profil ved appåpning';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Vis profilvalg hver gang appen åpnes';
|
||||
@override String get forceTvMode => 'Tving TV-modus';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysNb extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Angi snarvei for ${actionName}';
|
||||
@override String get clearShortcut => 'Fjern snarvei';
|
||||
@override String get noShortcutSet => 'Ingen snarvei satt';
|
||||
@override String get currentShortcut => 'Gjeldende snarvei:';
|
||||
@override late final _TranslationsHotkeysActionsNb actions = _TranslationsHotkeysActionsNb._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuNb extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Gå til serie';
|
||||
@override String get goToSeason => 'Gå til sesong';
|
||||
@override String get shufflePlay => 'Tilfeldig avspilling';
|
||||
@override String get shuffleNotAvailableOffline => 'Tilfeldig avspilling er ikke tilgjengelig offline';
|
||||
@override String get fileInfo => 'Filinformasjon';
|
||||
@override String get deleteFromServer => 'Slett fra server';
|
||||
@override String get confirmDelete => 'Slette dette mediet og filene fra serveren?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsNb extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Søk etter undertekster';
|
||||
@override String get language => 'Språk';
|
||||
@override String get noSubtitlesFound => 'Ingen undertekster funnet';
|
||||
@override String get downloadedSubtitle => 'Lastet ned';
|
||||
@override String get noSubtitlesAvailable => 'Ingen undertekster tilgjengelig';
|
||||
@override String get noAudioTracksAvailable => 'Ingen lydspor tilgjengelig';
|
||||
@override String get noTracksAvailable => 'Ingen spor tilgjengelig';
|
||||
@override String get subtitleDownloaded => 'Undertekst lastet ned';
|
||||
@override String get subtitleDownloadFailed => 'Kunne ikke laste ned undertekst';
|
||||
@override String get searchLanguages => 'Søk etter språk...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverNb extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Film';
|
||||
@override String get tvShow => 'TV-serie';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} min igjen';
|
||||
@override String get moreLikeThis => 'Mer som dette';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesNb extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Biblioteker';
|
||||
@override String get fallbackTitle => 'Bibliotek';
|
||||
@override String get scanLibraryFiles => 'Skann bibliotekfiler';
|
||||
@override String get scanLibrary => 'Skann bibliotek';
|
||||
@override String get analyze => 'Analyser';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvNb extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Ingen kanaler tilgjengelig';
|
||||
@override String get noDvr => 'Ingen DVR konfigurert på noen server';
|
||||
@override String get noPrograms => 'Ingen programdata tilgjengelig';
|
||||
@override String get liveStreamFailed => 'Direktesending mislyktes';
|
||||
@override String get unknownProgram => 'Ukjent program';
|
||||
@override String get unknownHub => 'Ukjent';
|
||||
@override String get unknownError => 'Ukjent feil';
|
||||
@override String channelNumber({required Object number}) => 'Kanal ${number}';
|
||||
@override String get unknownChannel => 'Ukjent kanal';
|
||||
@override String get live => 'DIREKTE';
|
||||
@override String get reloadGuide => 'Last inn programguide på nytt';
|
||||
@override String get now => 'Nå';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsNb extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Slett nedlasting';
|
||||
@override String get retryDownload => 'Prøv nedlasting på nytt';
|
||||
@override String get downloadQueued => 'Nedlasting i kø';
|
||||
@override String get downloadResumed => 'Nedlasting gjenopptatt';
|
||||
@override String get serverErrorBitrate => 'Serverfeil: filen kan overskride grensen for ekstern bitrate';
|
||||
@override String episodesQueued({required Object count}) => '${count} episoder i nedlastingskø';
|
||||
@override String get downloadDeleted => 'Nedlasting slettet';
|
||||
@override String deleteConfirm({required Object title}) => 'Slette "${title}" fra denne enheten?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Sletter ${title}... (${current} av ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Avbrutt nedlasting';
|
||||
@override String get cancelledDownloadMessage => 'Denne nedlastingen ble avbrutt. Hva vil du gjøre?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Alle episoder er allerede lastet ned';
|
||||
@override String get resumeDownload => 'Gjenoppta nedlasting';
|
||||
@override String get cancelledDownload => 'Avbrutt nedlasting';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (synkroniserer ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} lastet ned – klikk for å fullføre';
|
||||
@override String get partialDownloadClickToComplete => 'Delvis lastet ned – klikk for å fullføre';
|
||||
@override String get deleting => 'Sletter...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Sletter ${title}... (${current} av ${total})';
|
||||
@override String get queuedTooltip => 'I kø';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'I kø: ${files}';
|
||||
@override String get downloadingTooltip => 'Laster ned...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteNb extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Følgesvenn-fjernkontroll';
|
||||
@override String connectedTo({required Object name}) => 'Tilkoblet ${name}';
|
||||
@override String get unknownDevice => 'Ukjent enhet';
|
||||
@override late final _TranslationsCompanionRemoteSessionNb session = _TranslationsCompanionRemoteSessionNb._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingNb pairing = _TranslationsCompanionRemotePairingNb._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteNb remote = _TranslationsCompanionRemoteRemoteNb._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsNb errors = _TranslationsCompanionRemoteErrorsNb._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsNb extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Normaliser lydstyrke';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayNb extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayNb._(TranslationsNb root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsNb _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Farge';
|
||||
@override String get performance => 'Ytelse';
|
||||
@override String get buffer => 'Buffer';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Dekoder';
|
||||
@override String get rawDecoder => 'Rå dekoder';
|
||||
@override String get tunneling => 'Tunneling';
|
||||
@override String get aspect => 'Format';
|
||||
@override String get rotation => 'Rotasjon';
|
||||
@override String get dvSource => 'DV-kilde';
|
||||
@override String get dvPath => 'DV-sti';
|
||||
@override String get p7Conversion => 'P7-konv.';
|
||||
@override String get sampleRate => 'Samplingsrate';
|
||||
@override String get pixelFormat => 'Pikselformat';
|
||||
@override String get hwFormat => 'HW-format';
|
||||
@override String get matrix => 'Matrise';
|
||||
@override String get primaries => 'Primærfarger';
|
||||
@override String get transfer => 'Overføring';
|
||||
@override String get renderFps => 'Render-FPS';
|
||||
@override String get displayFps => 'Skjerm-FPS';
|
||||
@override String get avSync => 'A/V-synk';
|
||||
@override String get dropped => 'Droppet';
|
||||
@override String get dvRpus => 'DV RPU-er';
|
||||
@override String get dvRpuAverage => 'DV RPU snitt';
|
||||
@override String get dvSampleAverage => 'DV-sample snitt';
|
||||
@override String get maxLuma => 'Maks luma';
|
||||
@override String get minLuma => 'Min luma';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Cache brukt';
|
||||
@override String get speed => 'Hastighet';
|
||||
@override String get player => 'Spiller';
|
||||
@override String get memory => 'Minne';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerNb extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerNb._(TranslationsNb root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerNb extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Systemstandard';
|
||||
@override String get addCustomPlayer => 'Legg til egendefinert spiller';
|
||||
@override String get playerName => 'Spillernavn';
|
||||
@override String get playerNameHint => 'Min spiller';
|
||||
@override String get playerCommand => 'Kommando';
|
||||
@override String get playerPackage => 'Pakkenavn';
|
||||
@override String get playerUrlScheme => 'URL-skjema';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteNb extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Søk på stasjonær...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsNb extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsNb._(TranslationsNb root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsNb _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Fant ingen nettverksgrensesnitt';
|
||||
@override String get authenticationFailed => 'Autentisering mislyktes';
|
||||
@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';
|
||||
@override String get connectionLost => 'Tilkobling mistet';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesNb extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesNb._(TranslationsNb root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsNb {
|
||||
'common.settings' => 'Innstillinger',
|
||||
'common.mute' => 'Demp',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Av',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Sesong ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Kapittel ${number}',
|
||||
'common.reconnect' => 'Koble til på nytt',
|
||||
'common.exit' => 'Avslutt',
|
||||
'common.viewAll' => 'Vis alle',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsNb {
|
||||
'settings.dvConversionNative' => 'Innebygd / deaktivert',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Bruk enhetens kapabilitetsdeteksjon og normal reserveoppførsel',
|
||||
'settings.dvConversionNativeDescription' => 'Tving native DV7 og undertrykk forsøk på DV-konvertering',
|
||||
'settings.dvConversionDv81Description' => 'Tving inline RPU-konvertering til Dolby Vision profil 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Fjern Dolby Vision RPU/EL-lag og presenter vanlig HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Spør om profil ved appåpning',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Vis profilvalg hver gang appen åpnes',
|
||||
'settings.forceTvMode' => 'Tving TV-modus',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsNb {
|
||||
'search.enterTitleActorOrKeyword' => 'Skriv inn tittel, skuespiller eller nøkkelord',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Angi snarvei for ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Fjern snarvei',
|
||||
'hotkeys.noShortcutSet' => 'Ingen snarvei satt',
|
||||
'hotkeys.currentShortcut' => 'Gjeldende snarvei:',
|
||||
'hotkeys.actions.playPause' => 'Spill av/Pause',
|
||||
'hotkeys.actions.volumeUp' => 'Volum opp',
|
||||
'hotkeys.actions.volumeDown' => 'Volum ned',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsNb {
|
||||
'mediaMenu.goToSeries' => 'Gå til serie',
|
||||
'mediaMenu.goToSeason' => 'Gå til sesong',
|
||||
'mediaMenu.shufflePlay' => 'Tilfeldig avspilling',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Tilfeldig avspilling er ikke tilgjengelig offline',
|
||||
'mediaMenu.fileInfo' => 'Filinformasjon',
|
||||
'mediaMenu.deleteFromServer' => 'Slett fra server',
|
||||
'mediaMenu.confirmDelete' => 'Slette dette mediet og filene fra serveren?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsNb {
|
||||
'videoControls.searchSubtitles' => 'Søk etter undertekster',
|
||||
'videoControls.language' => 'Språk',
|
||||
'videoControls.noSubtitlesFound' => 'Ingen undertekster funnet',
|
||||
'videoControls.downloadedSubtitle' => 'Lastet ned',
|
||||
'videoControls.noSubtitlesAvailable' => 'Ingen undertekster tilgjengelig',
|
||||
'videoControls.noAudioTracksAvailable' => 'Ingen lydspor tilgjengelig',
|
||||
'videoControls.noTracksAvailable' => 'Ingen spor tilgjengelig',
|
||||
'videoControls.subtitleDownloaded' => 'Undertekst lastet ned',
|
||||
'videoControls.subtitleDownloadFailed' => 'Kunne ikke laste ned undertekst',
|
||||
'videoControls.searchLanguages' => 'Søk etter språk...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsNb {
|
||||
'subtitlingStyling.borderColor' => 'Kantfarge',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Bakgrunnsopasitet',
|
||||
'subtitlingStyling.backgroundColor' => 'Bakgrunnsfarge',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Posisjon',
|
||||
'subtitlingStyling.assOverride' => 'ASS-overstyring',
|
||||
'subtitlingStyling.bold' => 'Fet',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsNb {
|
||||
'mpvConfig.loadPreset' => 'Last inn',
|
||||
'mpvConfig.deletePreset' => 'Slett',
|
||||
'mpvConfig.presetSaved' => 'Forhåndsinnstilling lagret',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Forhåndsinnstilling lastet inn',
|
||||
'mpvConfig.presetDeleted' => 'Forhåndsinnstilling slettet',
|
||||
'mpvConfig.confirmDeletePreset' => 'Er du sikker på at du vil slette denne forhåndsinnstillingen?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsNb {
|
||||
'discover.movie' => 'Film',
|
||||
'discover.tvShow' => 'TV-serie',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} min igjen',
|
||||
'discover.moreLikeThis' => 'Mer som dette',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Søk mislyktes: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Tidsavbrudd ved lasting av ${context}',
|
||||
'errors.connectionFailed' => 'Kan ikke koble til medieserver',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsNb {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Kunne ikke slette ${displayName}',
|
||||
'errors.failedToRate' => 'Kunne ikke oppdatere vurderingen',
|
||||
'libraries.title' => 'Biblioteker',
|
||||
'libraries.fallbackTitle' => 'Bibliotek',
|
||||
'libraries.scanLibraryFiles' => 'Skann bibliotekfiler',
|
||||
'libraries.scanLibrary' => 'Skann bibliotek',
|
||||
'libraries.analyze' => 'Analyser',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsNb {
|
||||
'liveTv.noChannels' => 'Ingen kanaler tilgjengelig',
|
||||
'liveTv.noDvr' => 'Ingen DVR konfigurert på noen server',
|
||||
'liveTv.noPrograms' => 'Ingen programdata tilgjengelig',
|
||||
'liveTv.liveStreamFailed' => 'Direktesending mislyktes',
|
||||
'liveTv.unknownProgram' => 'Ukjent program',
|
||||
'liveTv.unknownHub' => 'Ukjent',
|
||||
'liveTv.unknownError' => 'Ukjent feil',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Kanal ${number}',
|
||||
'liveTv.unknownChannel' => 'Ukjent kanal',
|
||||
'liveTv.live' => 'DIREKTE',
|
||||
'liveTv.reloadGuide' => 'Last inn programguide på nytt',
|
||||
'liveTv.now' => 'Nå',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsNb {
|
||||
'downloads.deleteDownload' => 'Slett nedlasting',
|
||||
'downloads.retryDownload' => 'Prøv nedlasting på nytt',
|
||||
'downloads.downloadQueued' => 'Nedlasting i kø',
|
||||
'downloads.downloadResumed' => 'Nedlasting gjenopptatt',
|
||||
'downloads.serverErrorBitrate' => 'Serverfeil: filen kan overskride grensen for ekstern bitrate',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} episoder i nedlastingskø',
|
||||
'downloads.downloadDeleted' => 'Nedlasting slettet',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Slette "${title}" fra denne enheten?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Sletter ${title}... (${current} av ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Avbrutt nedlasting',
|
||||
'downloads.cancelledDownloadMessage' => 'Denne nedlastingen ble avbrutt. Hva vil du gjøre?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Alle episoder er allerede lastet ned',
|
||||
'downloads.resumeDownload' => 'Gjenoppta nedlasting',
|
||||
'downloads.cancelledDownload' => 'Avbrutt nedlasting',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (synkroniserer ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} lastet ned – klikk for å fullføre',
|
||||
'downloads.partialDownloadClickToComplete' => 'Delvis lastet ned – klikk for å fullføre',
|
||||
'downloads.deleting' => 'Sletter...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Sletter ${title}... (${current} av ${total})',
|
||||
'downloads.queuedTooltip' => 'I kø',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'I kø: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Laster ned...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsNb {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Slette "${name}"?',
|
||||
'companionRemote.title' => 'Følgesvenn-fjernkontroll',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsNb {
|
||||
'companionRemote.remote.tabSettings' => 'Innstillinger',
|
||||
'companionRemote.remote.previous' => 'Forrige',
|
||||
'companionRemote.remote.playPause' => 'Spill av/Pause',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Neste',
|
||||
'companionRemote.remote.seekBack' => 'Spol tilbake',
|
||||
'companionRemote.remote.stop' => 'Stopp',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsNb {
|
||||
'companionRemote.remote.subtitles' => 'Undertekster',
|
||||
'companionRemote.remote.audio' => 'Lyd',
|
||||
'companionRemote.remote.searchHint' => 'Søk på stasjonær...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Fant ingen nettverksgrensesnitt',
|
||||
'companionRemote.errors.authenticationFailed' => 'Autentisering mislyktes',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Tilkobling mistet',
|
||||
'videoSettings.playbackSpeed' => 'Avspillingshastighet',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Søvntimer',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsNb {
|
||||
'videoSettings.performanceOverlay' => 'Ytelsesoverlegg',
|
||||
'videoSettings.audioPassthrough' => 'Lydgjennomgang',
|
||||
'videoSettings.audioNormalization' => 'Normaliser lydstyrke',
|
||||
'performanceOverlay.color' => 'Farge',
|
||||
'performanceOverlay.performance' => 'Ytelse',
|
||||
'performanceOverlay.buffer' => 'Buffer',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Dekoder',
|
||||
'performanceOverlay.rawDecoder' => 'Rå dekoder',
|
||||
'performanceOverlay.tunneling' => 'Tunneling',
|
||||
'performanceOverlay.aspect' => 'Format',
|
||||
'performanceOverlay.rotation' => 'Rotasjon',
|
||||
'performanceOverlay.dvSource' => 'DV-kilde',
|
||||
'performanceOverlay.dvPath' => 'DV-sti',
|
||||
'performanceOverlay.p7Conversion' => 'P7-konv.',
|
||||
'performanceOverlay.sampleRate' => 'Samplingsrate',
|
||||
'performanceOverlay.pixelFormat' => 'Pikselformat',
|
||||
'performanceOverlay.hwFormat' => 'HW-format',
|
||||
'performanceOverlay.matrix' => 'Matrise',
|
||||
'performanceOverlay.primaries' => 'Primærfarger',
|
||||
'performanceOverlay.transfer' => 'Overføring',
|
||||
'performanceOverlay.renderFps' => 'Render-FPS',
|
||||
'performanceOverlay.displayFps' => 'Skjerm-FPS',
|
||||
'performanceOverlay.avSync' => 'A/V-synk',
|
||||
'performanceOverlay.dropped' => 'Droppet',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU-er',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV RPU snitt',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV-sample snitt',
|
||||
'performanceOverlay.maxLuma' => 'Maks luma',
|
||||
'performanceOverlay.minLuma' => 'Min luma',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Cache brukt',
|
||||
'performanceOverlay.speed' => 'Hastighet',
|
||||
'performanceOverlay.player' => 'Spiller',
|
||||
'performanceOverlay.memory' => 'Minne',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'Ekstern spiller',
|
||||
'externalPlayer.useExternalPlayer' => 'Bruk ekstern spiller',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Åpne videoer i en annen app',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsNb {
|
||||
'externalPlayer.systemDefault' => 'Systemstandard',
|
||||
'externalPlayer.addCustomPlayer' => 'Legg til egendefinert spiller',
|
||||
'externalPlayer.playerName' => 'Spillernavn',
|
||||
'externalPlayer.playerNameHint' => 'Min spiller',
|
||||
'externalPlayer.playerCommand' => 'Kommando',
|
||||
'externalPlayer.playerPackage' => 'Pakkenavn',
|
||||
'externalPlayer.playerUrlScheme' => 'URL-skjema',
|
||||
'externalPlayer.off' => 'Av',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Kunne ikke åpne ekstern spiller',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} er ikke installert',
|
||||
'externalPlayer.playInExternalPlayer' => 'Spill av i ekstern spiller',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsNl extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersNl shaders = _TranslationsShadersNl._(_root);
|
||||
@override late final _TranslationsCompanionRemoteNl companionRemote = _TranslationsCompanionRemoteNl._(_root);
|
||||
@override late final _TranslationsVideoSettingsNl videoSettings = _TranslationsVideoSettingsNl._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayNl performanceOverlay = _TranslationsPerformanceOverlayNl._(_root);
|
||||
@override late final _TranslationsExternalPlayerNl externalPlayer = _TranslationsExternalPlayerNl._(_root);
|
||||
@override late final _TranslationsMetadataEditNl metadataEdit = _TranslationsMetadataEditNl._(_root);
|
||||
@override late final _TranslationsMatchScreenNl matchScreen = _TranslationsMatchScreenNl._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonNl extends TranslationsCommonEn {
|
||||
@override String get settings => 'Opties';
|
||||
@override String get mute => 'Dempen';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Uit';
|
||||
@override String seasonNumber({required Object number}) => 'Seizoen ${number}';
|
||||
@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';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Native / uitgeschakeld';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Gebruik apparaatdetectie en normaal fallbackgedrag';
|
||||
@override String get dvConversionNativeDescription => 'Forceer native DV7 en onderdruk DV-conversie opnieuw proberen';
|
||||
@override String get dvConversionDv81Description => 'Forceer inline RPU-conversie naar Dolby Vision-profiel 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Strip Dolby Vision RPU/EL-lagen en presenteer gewone HEVC';
|
||||
@override String get requireProfileSelectionOnOpen => 'Vraag om profiel bij openen';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Toon profielselectie telkens wanneer de app wordt geopend';
|
||||
@override String get forceTvMode => 'TV-modus forceren';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysNl extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Stel sneltoets in voor ${actionName}';
|
||||
@override String get clearShortcut => 'Wis sneltoets';
|
||||
@override String get noShortcutSet => 'Geen sneltoets ingesteld';
|
||||
@override String get currentShortcut => 'Huidige sneltoets:';
|
||||
@override late final _TranslationsHotkeysActionsNl actions = _TranslationsHotkeysActionsNl._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuNl extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Ga naar serie';
|
||||
@override String get goToSeason => 'Ga naar seizoen';
|
||||
@override String get shufflePlay => 'Willekeurig afspelen';
|
||||
@override String get shuffleNotAvailableOffline => 'Shuffle is offline niet beschikbaar';
|
||||
@override String get fileInfo => 'Bestand info';
|
||||
@override String get deleteFromServer => 'Verwijderen van server';
|
||||
@override String get confirmDelete => 'Deze media en bestanden van je server verwijderen?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsNl extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Ondertitels zoeken';
|
||||
@override String get language => 'Taal';
|
||||
@override String get noSubtitlesFound => 'Geen ondertitels gevonden';
|
||||
@override String get downloadedSubtitle => 'Gedownload';
|
||||
@override String get noSubtitlesAvailable => 'Geen ondertitels beschikbaar';
|
||||
@override String get noAudioTracksAvailable => 'Geen audiotracks beschikbaar';
|
||||
@override String get noTracksAvailable => 'Geen tracks beschikbaar';
|
||||
@override String get subtitleDownloaded => 'Ondertitel gedownload';
|
||||
@override String get subtitleDownloadFailed => 'Ondertitel downloaden mislukt';
|
||||
@override String get searchLanguages => 'Talen zoeken...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverNl extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Film';
|
||||
@override String get tvShow => 'TV Serie';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} min over';
|
||||
@override String get moreLikeThis => 'Meer zoals dit';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesNl extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Bibliotheken';
|
||||
@override String get fallbackTitle => 'Bibliotheek';
|
||||
@override String get scanLibraryFiles => 'Scan bibliotheek bestanden';
|
||||
@override String get scanLibrary => 'Scan bibliotheek';
|
||||
@override String get analyze => 'Analyseren';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvNl extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Geen zenders beschikbaar';
|
||||
@override String get noDvr => 'Geen DVR geconfigureerd op een server';
|
||||
@override String get noPrograms => 'Geen programmagegevens beschikbaar';
|
||||
@override String get liveStreamFailed => 'Livestream mislukt';
|
||||
@override String get unknownProgram => 'Onbekend programma';
|
||||
@override String get unknownHub => 'Onbekend';
|
||||
@override String get unknownError => 'Onbekende fout';
|
||||
@override String channelNumber({required Object number}) => 'Kanaal ${number}';
|
||||
@override String get unknownChannel => 'Onbekend kanaal';
|
||||
@override String get live => 'LIVE';
|
||||
@override String get reloadGuide => 'Gids herladen';
|
||||
@override String get now => 'Nu';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsNl extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Download verwijderen';
|
||||
@override String get retryDownload => 'Download opnieuw proberen';
|
||||
@override String get downloadQueued => 'Download in wachtrij';
|
||||
@override String get downloadResumed => 'Download hervat';
|
||||
@override String get serverErrorBitrate => 'Serverfout: bestand overschrijdt mogelijk de externe bitrate-limiet';
|
||||
@override String episodesQueued({required Object count}) => '${count} afleveringen in wachtrij voor download';
|
||||
@override String get downloadDeleted => 'Download verwijderd';
|
||||
@override String deleteConfirm({required Object title}) => '"${title}" van dit apparaat verwijderen?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Verwijderen van ${title}... (${current} van ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Geannuleerde download';
|
||||
@override String get cancelledDownloadMessage => 'Deze download is geannuleerd. Wat wil je doen?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Alle afleveringen zijn al gedownload';
|
||||
@override String get resumeDownload => 'Download hervatten';
|
||||
@override String get cancelledDownload => 'Geannuleerde download';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (${status} synchroniseren)';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} gedownload — klik om te voltooien';
|
||||
@override String get partialDownloadClickToComplete => 'Gedeeltelijk gedownload — klik om te voltooien';
|
||||
@override String get deleting => 'Verwijderen...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Verwijderen van ${title}... (${current} van ${total})';
|
||||
@override String get queuedTooltip => 'In wachtrij';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'In wachtrij: ${files}';
|
||||
@override String get downloadingTooltip => 'Downloaden...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteNl extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Afstandsbediening';
|
||||
@override String connectedTo({required Object name}) => 'Verbonden met ${name}';
|
||||
@override String get unknownDevice => 'Onbekend apparaat';
|
||||
@override late final _TranslationsCompanionRemoteSessionNl session = _TranslationsCompanionRemoteSessionNl._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingNl pairing = _TranslationsCompanionRemotePairingNl._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteNl remote = _TranslationsCompanionRemoteRemoteNl._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsNl errors = _TranslationsCompanionRemoteErrorsNl._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsNl extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Volume normaliseren';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayNl extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayNl._(TranslationsNl root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsNl _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Kleur';
|
||||
@override String get performance => 'Prestaties';
|
||||
@override String get buffer => 'Buffer';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Decoder';
|
||||
@override String get rawDecoder => 'Raw decoder';
|
||||
@override String get tunneling => 'Tunneling';
|
||||
@override String get aspect => 'Verhouding';
|
||||
@override String get rotation => 'Rotatie';
|
||||
@override String get dvSource => 'DV-bron';
|
||||
@override String get dvPath => 'DV-pad';
|
||||
@override String get p7Conversion => 'P7-conv.';
|
||||
@override String get sampleRate => 'Samplefrequentie';
|
||||
@override String get pixelFormat => 'Pixelformaat';
|
||||
@override String get hwFormat => 'HW-formaat';
|
||||
@override String get matrix => 'Matrix';
|
||||
@override String get primaries => 'Primaire kleuren';
|
||||
@override String get transfer => 'Transfer';
|
||||
@override String get renderFps => 'Render-FPS';
|
||||
@override String get displayFps => 'Scherm-FPS';
|
||||
@override String get avSync => 'A/V-sync';
|
||||
@override String get dropped => 'Gedropt';
|
||||
@override String get dvRpus => 'DV RPU’s';
|
||||
@override String get dvRpuAverage => 'DV RPU gem.';
|
||||
@override String get dvSampleAverage => 'DV-sample gem.';
|
||||
@override String get maxLuma => 'Max luma';
|
||||
@override String get minLuma => 'Min luma';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Cache gebruikt';
|
||||
@override String get speed => 'Snelheid';
|
||||
@override String get player => 'Speler';
|
||||
@override String get memory => 'Geheugen';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerNl extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerNl._(TranslationsNl root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerNl extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Systeemstandaard';
|
||||
@override String get addCustomPlayer => 'Aangepaste speler toevoegen';
|
||||
@override String get playerName => 'Spelernaam';
|
||||
@override String get playerNameHint => 'Mijn speler';
|
||||
@override String get playerCommand => 'Commando';
|
||||
@override String get playerPackage => 'Pakketnaam';
|
||||
@override String get playerUrlScheme => 'URL-schema';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteNl extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Zoeken op desktop...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsNl extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsNl._(TranslationsNl root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsNl _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Geen netwerkinterface gevonden';
|
||||
@override String get authenticationFailed => 'Authenticatie mislukt';
|
||||
@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';
|
||||
@override String get connectionLost => 'Verbinding verloren';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesNl extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesNl._(TranslationsNl root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsNl {
|
||||
'common.settings' => 'Opties',
|
||||
'common.mute' => 'Dempen',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Uit',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Seizoen ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Hoofdstuk ${number}',
|
||||
'common.reconnect' => 'Opnieuw verbinden',
|
||||
'common.exit' => 'Afsluiten',
|
||||
'common.viewAll' => 'Alles weergeven',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsNl {
|
||||
'settings.dvConversionNative' => 'Native / uitgeschakeld',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Gebruik apparaatdetectie en normaal fallbackgedrag',
|
||||
'settings.dvConversionNativeDescription' => 'Forceer native DV7 en onderdruk DV-conversie opnieuw proberen',
|
||||
'settings.dvConversionDv81Description' => 'Forceer inline RPU-conversie naar Dolby Vision-profiel 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Strip Dolby Vision RPU/EL-lagen en presenteer gewone HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Vraag om profiel bij openen',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Toon profielselectie telkens wanneer de app wordt geopend',
|
||||
'settings.forceTvMode' => 'TV-modus forceren',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsNl {
|
||||
'search.enterTitleActorOrKeyword' => 'Voer een titel, acteur of trefwoord in',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Stel sneltoets in voor ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Wis sneltoets',
|
||||
'hotkeys.noShortcutSet' => 'Geen sneltoets ingesteld',
|
||||
'hotkeys.currentShortcut' => 'Huidige sneltoets:',
|
||||
'hotkeys.actions.playPause' => 'Afspelen/Pauzeren',
|
||||
'hotkeys.actions.volumeUp' => 'Volume omhoog',
|
||||
'hotkeys.actions.volumeDown' => 'Volume omlaag',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsNl {
|
||||
'mediaMenu.goToSeries' => 'Ga naar serie',
|
||||
'mediaMenu.goToSeason' => 'Ga naar seizoen',
|
||||
'mediaMenu.shufflePlay' => 'Willekeurig afspelen',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Shuffle is offline niet beschikbaar',
|
||||
'mediaMenu.fileInfo' => 'Bestand info',
|
||||
'mediaMenu.deleteFromServer' => 'Verwijderen van server',
|
||||
'mediaMenu.confirmDelete' => 'Deze media en bestanden van je server verwijderen?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsNl {
|
||||
'videoControls.searchSubtitles' => 'Ondertitels zoeken',
|
||||
'videoControls.language' => 'Taal',
|
||||
'videoControls.noSubtitlesFound' => 'Geen ondertitels gevonden',
|
||||
'videoControls.downloadedSubtitle' => 'Gedownload',
|
||||
'videoControls.noSubtitlesAvailable' => 'Geen ondertitels beschikbaar',
|
||||
'videoControls.noAudioTracksAvailable' => 'Geen audiotracks beschikbaar',
|
||||
'videoControls.noTracksAvailable' => 'Geen tracks beschikbaar',
|
||||
'videoControls.subtitleDownloaded' => 'Ondertitel gedownload',
|
||||
'videoControls.subtitleDownloadFailed' => 'Ondertitel downloaden mislukt',
|
||||
'videoControls.searchLanguages' => 'Talen zoeken...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsNl {
|
||||
'subtitlingStyling.borderColor' => 'Randkleur',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Achtergrond transparantie',
|
||||
'subtitlingStyling.backgroundColor' => 'Achtergrondkleur',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Positie',
|
||||
'subtitlingStyling.assOverride' => 'ASS-overschrijving',
|
||||
'subtitlingStyling.bold' => 'Vet',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsNl {
|
||||
'mpvConfig.loadPreset' => 'Laden',
|
||||
'mpvConfig.deletePreset' => 'Verwijderen',
|
||||
'mpvConfig.presetSaved' => 'Voorinstelling opgeslagen',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Voorinstelling geladen',
|
||||
'mpvConfig.presetDeleted' => 'Voorinstelling verwijderd',
|
||||
'mpvConfig.confirmDeletePreset' => 'Weet je zeker dat je deze voorinstelling wilt verwijderen?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsNl {
|
||||
'discover.movie' => 'Film',
|
||||
'discover.tvShow' => 'TV Serie',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} min over',
|
||||
'discover.moreLikeThis' => 'Meer zoals dit',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Zoeken mislukt: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Verbinding time-out tijdens laden ${context}',
|
||||
'errors.connectionFailed' => 'Kan geen verbinding maken met mediaserver',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsNl {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Kon ${displayName} niet verwijderen',
|
||||
'errors.failedToRate' => 'Beoordeling kon niet worden bijgewerkt',
|
||||
'libraries.title' => 'Bibliotheken',
|
||||
'libraries.fallbackTitle' => 'Bibliotheek',
|
||||
'libraries.scanLibraryFiles' => 'Scan bibliotheek bestanden',
|
||||
'libraries.scanLibrary' => 'Scan bibliotheek',
|
||||
'libraries.analyze' => 'Analyseren',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsNl {
|
||||
'liveTv.noChannels' => 'Geen zenders beschikbaar',
|
||||
'liveTv.noDvr' => 'Geen DVR geconfigureerd op een server',
|
||||
'liveTv.noPrograms' => 'Geen programmagegevens beschikbaar',
|
||||
'liveTv.liveStreamFailed' => 'Livestream mislukt',
|
||||
'liveTv.unknownProgram' => 'Onbekend programma',
|
||||
'liveTv.unknownHub' => 'Onbekend',
|
||||
'liveTv.unknownError' => 'Onbekende fout',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Kanaal ${number}',
|
||||
'liveTv.unknownChannel' => 'Onbekend kanaal',
|
||||
'liveTv.live' => 'LIVE',
|
||||
'liveTv.reloadGuide' => 'Gids herladen',
|
||||
'liveTv.now' => 'Nu',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsNl {
|
||||
'downloads.deleteDownload' => 'Download verwijderen',
|
||||
'downloads.retryDownload' => 'Download opnieuw proberen',
|
||||
'downloads.downloadQueued' => 'Download in wachtrij',
|
||||
'downloads.downloadResumed' => 'Download hervat',
|
||||
'downloads.serverErrorBitrate' => 'Serverfout: bestand overschrijdt mogelijk de externe bitrate-limiet',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} afleveringen in wachtrij voor download',
|
||||
'downloads.downloadDeleted' => 'Download verwijderd',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => '"${title}" van dit apparaat verwijderen?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Verwijderen van ${title}... (${current} van ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Geannuleerde download',
|
||||
'downloads.cancelledDownloadMessage' => 'Deze download is geannuleerd. Wat wil je doen?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Alle afleveringen zijn al gedownload',
|
||||
'downloads.resumeDownload' => 'Download hervatten',
|
||||
'downloads.cancelledDownload' => 'Geannuleerde download',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (${status} synchroniseren)',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} gedownload — klik om te voltooien',
|
||||
'downloads.partialDownloadClickToComplete' => 'Gedeeltelijk gedownload — klik om te voltooien',
|
||||
'downloads.deleting' => 'Verwijderen...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Verwijderen van ${title}... (${current} van ${total})',
|
||||
'downloads.queuedTooltip' => 'In wachtrij',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'In wachtrij: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Downloaden...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsNl {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => '"${name}" verwijderen?',
|
||||
'companionRemote.title' => 'Afstandsbediening',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsNl {
|
||||
'companionRemote.remote.tabSettings' => 'Instellingen',
|
||||
'companionRemote.remote.previous' => 'Vorige',
|
||||
'companionRemote.remote.playPause' => 'Afspelen/Pauzeren',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Volgende',
|
||||
'companionRemote.remote.seekBack' => 'Terugspoelen',
|
||||
'companionRemote.remote.stop' => 'Stoppen',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsNl {
|
||||
'companionRemote.remote.subtitles' => 'Ondertitels',
|
||||
'companionRemote.remote.audio' => 'Audio',
|
||||
'companionRemote.remote.searchHint' => 'Zoeken op desktop...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Geen netwerkinterface gevonden',
|
||||
'companionRemote.errors.authenticationFailed' => 'Authenticatie mislukt',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Verbinding verloren',
|
||||
'videoSettings.playbackSpeed' => 'Afspeelsnelheid',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Slaaptimer',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsNl {
|
||||
'videoSettings.performanceOverlay' => 'Prestatie-overlay',
|
||||
'videoSettings.audioPassthrough' => 'Audio-doorvoer',
|
||||
'videoSettings.audioNormalization' => 'Volume normaliseren',
|
||||
'performanceOverlay.color' => 'Kleur',
|
||||
'performanceOverlay.performance' => 'Prestaties',
|
||||
'performanceOverlay.buffer' => 'Buffer',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Decoder',
|
||||
'performanceOverlay.rawDecoder' => 'Raw decoder',
|
||||
'performanceOverlay.tunneling' => 'Tunneling',
|
||||
'performanceOverlay.aspect' => 'Verhouding',
|
||||
'performanceOverlay.rotation' => 'Rotatie',
|
||||
'performanceOverlay.dvSource' => 'DV-bron',
|
||||
'performanceOverlay.dvPath' => 'DV-pad',
|
||||
'performanceOverlay.p7Conversion' => 'P7-conv.',
|
||||
'performanceOverlay.sampleRate' => 'Samplefrequentie',
|
||||
'performanceOverlay.pixelFormat' => 'Pixelformaat',
|
||||
'performanceOverlay.hwFormat' => 'HW-formaat',
|
||||
'performanceOverlay.matrix' => 'Matrix',
|
||||
'performanceOverlay.primaries' => 'Primaire kleuren',
|
||||
'performanceOverlay.transfer' => 'Transfer',
|
||||
'performanceOverlay.renderFps' => 'Render-FPS',
|
||||
'performanceOverlay.displayFps' => 'Scherm-FPS',
|
||||
'performanceOverlay.avSync' => 'A/V-sync',
|
||||
'performanceOverlay.dropped' => 'Gedropt',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU’s',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV RPU gem.',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV-sample gem.',
|
||||
'performanceOverlay.maxLuma' => 'Max luma',
|
||||
'performanceOverlay.minLuma' => 'Min luma',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Cache gebruikt',
|
||||
'performanceOverlay.speed' => 'Snelheid',
|
||||
'performanceOverlay.player' => 'Speler',
|
||||
'performanceOverlay.memory' => 'Geheugen',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'Externe speler',
|
||||
'externalPlayer.useExternalPlayer' => 'Externe speler gebruiken',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Open video\'s in een andere app',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsNl {
|
||||
'externalPlayer.systemDefault' => 'Systeemstandaard',
|
||||
'externalPlayer.addCustomPlayer' => 'Aangepaste speler toevoegen',
|
||||
'externalPlayer.playerName' => 'Spelernaam',
|
||||
'externalPlayer.playerNameHint' => 'Mijn speler',
|
||||
'externalPlayer.playerCommand' => 'Commando',
|
||||
'externalPlayer.playerPackage' => 'Pakketnaam',
|
||||
'externalPlayer.playerUrlScheme' => 'URL-schema',
|
||||
'externalPlayer.off' => 'Uit',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Kan externe speler niet openen',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} is niet geïnstalleerd',
|
||||
'externalPlayer.playInExternalPlayer' => 'Afspelen in externe speler',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsPl extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersPl shaders = _TranslationsShadersPl._(_root);
|
||||
@override late final _TranslationsCompanionRemotePl companionRemote = _TranslationsCompanionRemotePl._(_root);
|
||||
@override late final _TranslationsVideoSettingsPl videoSettings = _TranslationsVideoSettingsPl._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayPl performanceOverlay = _TranslationsPerformanceOverlayPl._(_root);
|
||||
@override late final _TranslationsExternalPlayerPl externalPlayer = _TranslationsExternalPlayerPl._(_root);
|
||||
@override late final _TranslationsMetadataEditPl metadataEdit = _TranslationsMetadataEditPl._(_root);
|
||||
@override late final _TranslationsMatchScreenPl matchScreen = _TranslationsMatchScreenPl._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonPl extends TranslationsCommonEn {
|
||||
@override String get settings => 'Ustawienia';
|
||||
@override String get mute => 'Wycisz';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Wył.';
|
||||
@override String seasonNumber({required Object number}) => 'Sezon ${number}';
|
||||
@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';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Natywnie / wyłączone';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Użyj wykrywania możliwości urządzenia i normalnego zachowania awaryjnego';
|
||||
@override String get dvConversionNativeDescription => 'Wymuś natywne DV7 i wyłącz ponowną próbę konwersji DV';
|
||||
@override String get dvConversionDv81Description => 'Wymuś wbudowaną konwersję RPU do profilu Dolby Vision 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Usuń warstwy Dolby Vision RPU/EL i przedstaw zwykłe HEVC';
|
||||
@override String get requireProfileSelectionOnOpen => 'Pytaj o profil przy otwarciu aplikacji';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Pokaż wybór profilu za każdym razem, gdy aplikacja jest otwierana';
|
||||
@override String get forceTvMode => 'Wymuś tryb TV';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysPl extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Ustaw skrót dla ${actionName}';
|
||||
@override String get clearShortcut => 'Wyczyść skrót';
|
||||
@override String get noShortcutSet => 'Brak ustawionego skrótu';
|
||||
@override String get currentShortcut => 'Bieżący skrót:';
|
||||
@override late final _TranslationsHotkeysActionsPl actions = _TranslationsHotkeysActionsPl._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuPl extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Przejdź do serialu';
|
||||
@override String get goToSeason => 'Przejdź do sezonu';
|
||||
@override String get shufflePlay => 'Odtwarzanie losowe';
|
||||
@override String get shuffleNotAvailableOffline => 'Odtwarzanie losowe nie jest dostępne offline';
|
||||
@override String get fileInfo => 'Informacje o pliku';
|
||||
@override String get deleteFromServer => 'Usuń z serwera';
|
||||
@override String get confirmDelete => 'Usunąć to medium i jego pliki z serwera?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsPl extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Szukaj napisów';
|
||||
@override String get language => 'Język';
|
||||
@override String get noSubtitlesFound => 'Nie znaleziono napisów';
|
||||
@override String get downloadedSubtitle => 'Pobrano';
|
||||
@override String get noSubtitlesAvailable => 'Brak dostępnych napisów';
|
||||
@override String get noAudioTracksAvailable => 'Brak dostępnych ścieżek audio';
|
||||
@override String get noTracksAvailable => 'Brak dostępnych ścieżek';
|
||||
@override String get subtitleDownloaded => 'Napisy pobrane';
|
||||
@override String get subtitleDownloadFailed => 'Nie udało się pobrać napisów';
|
||||
@override String get searchLanguages => 'Szukaj języków...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverPl extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Film';
|
||||
@override String get tvShow => 'Serial TV';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} min pozostało';
|
||||
@override String get moreLikeThis => 'Więcej podobnych';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesPl extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Biblioteki';
|
||||
@override String get fallbackTitle => 'Biblioteka';
|
||||
@override String get scanLibraryFiles => 'Skanuj pliki biblioteki';
|
||||
@override String get scanLibrary => 'Skanuj bibliotekę';
|
||||
@override String get analyze => 'Analizuj';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvPl extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Brak dostępnych kanałów';
|
||||
@override String get noDvr => 'Brak skonfigurowanego DVR na żadnym serwerze';
|
||||
@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';
|
||||
@override String get unknownHub => 'Nieznane';
|
||||
@override String get unknownError => 'Nieznany błąd';
|
||||
@override String channelNumber({required Object number}) => 'Kanał ${number}';
|
||||
@override String get unknownChannel => 'Nieznany kanał';
|
||||
@override String get live => 'NA ŻYWO';
|
||||
@override String get reloadGuide => 'Odśwież przewodnik';
|
||||
@override String get now => 'Teraz';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsPl extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Usuń pobranie';
|
||||
@override String get retryDownload => 'Ponów pobieranie';
|
||||
@override String get downloadQueued => 'Pobranie w kolejce';
|
||||
@override String get downloadResumed => 'Pobieranie wznowione';
|
||||
@override String get serverErrorBitrate => 'Błąd serwera: plik może przekraczać zdalny limit bitrate';
|
||||
@override String episodesQueued({required Object count}) => '${count} odcinków w kolejce pobierania';
|
||||
@override String get downloadDeleted => 'Pobranie usunięte';
|
||||
@override String deleteConfirm({required Object title}) => 'Usunąć "${title}" z tego urządzenia?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Usuwanie ${title}... (${current} z ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Anulowane pobieranie';
|
||||
@override String get cancelledDownloadMessage => 'To pobieranie zostało anulowane. Co chcesz zrobić?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Wszystkie odcinki są już pobrane';
|
||||
@override String get resumeDownload => 'Wznów pobieranie';
|
||||
@override String get cancelledDownload => 'Anulowane pobieranie';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (synchronizowanie ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => 'Pobrano ${file} — kliknij, aby dokończyć';
|
||||
@override String get partialDownloadClickToComplete => 'Pobrano częściowo — kliknij, aby dokończyć';
|
||||
@override String get deleting => 'Usuwanie...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Usuwanie ${title}... (${current} z ${total})';
|
||||
@override String get queuedTooltip => 'W kolejce';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'W kolejce: ${files}';
|
||||
@override String get downloadingTooltip => 'Pobieranie...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemotePl extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Pilot zdalny';
|
||||
@override String connectedTo({required Object name}) => 'Połączono z ${name}';
|
||||
@override String get unknownDevice => 'Nieznane urządzenie';
|
||||
@override late final _TranslationsCompanionRemoteSessionPl session = _TranslationsCompanionRemoteSessionPl._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingPl pairing = _TranslationsCompanionRemotePairingPl._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemotePl remote = _TranslationsCompanionRemoteRemotePl._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsPl errors = _TranslationsCompanionRemoteErrorsPl._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsPl extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Normalizacja głośności';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayPl extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayPl._(TranslationsPl root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsPl _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Kolor';
|
||||
@override String get performance => 'Wydajność';
|
||||
@override String get buffer => 'Bufor';
|
||||
@override String get app => 'Aplikacja';
|
||||
@override String get decoder => 'Dekoder';
|
||||
@override String get rawDecoder => 'Surowy dekoder';
|
||||
@override String get tunneling => 'Tunelowanie';
|
||||
@override String get aspect => 'Proporcje';
|
||||
@override String get rotation => 'Obrót';
|
||||
@override String get dvSource => 'Źródło DV';
|
||||
@override String get dvPath => 'Ścieżka DV';
|
||||
@override String get p7Conversion => 'Konw. P7';
|
||||
@override String get sampleRate => 'Częstotliwość próbkowania';
|
||||
@override String get pixelFormat => 'Format pikseli';
|
||||
@override String get hwFormat => 'Format HW';
|
||||
@override String get matrix => 'Macierz';
|
||||
@override String get primaries => 'Barwy podstawowe';
|
||||
@override String get transfer => 'Transfer';
|
||||
@override String get renderFps => 'FPS renderowania';
|
||||
@override String get displayFps => 'FPS ekranu';
|
||||
@override String get avSync => 'Sync A/V';
|
||||
@override String get dropped => 'Porzucone';
|
||||
@override String get dvRpus => 'DV RPU';
|
||||
@override String get dvRpuAverage => 'Śr. DV RPU';
|
||||
@override String get dvSampleAverage => 'Śr. próbki DV';
|
||||
@override String get maxLuma => 'Maks. luma';
|
||||
@override String get minLuma => 'Min. luma';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Użyty cache';
|
||||
@override String get speed => 'Szybkość';
|
||||
@override String get player => 'Odtwarzacz';
|
||||
@override String get memory => 'Pamięć';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerPl extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerPl._(TranslationsPl root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerPl extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Domyślny systemowy';
|
||||
@override String get addCustomPlayer => 'Dodaj niestandardowy odtwarzacz';
|
||||
@override String get playerName => 'Nazwa odtwarzacza';
|
||||
@override String get playerNameHint => 'Mój odtwarzacz';
|
||||
@override String get playerCommand => 'Polecenie';
|
||||
@override String get playerPackage => 'Nazwa pakietu';
|
||||
@override String get playerUrlScheme => 'Schemat URL';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemotePl extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Szukaj na komputerze...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsPl extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsPl._(TranslationsPl root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsPl _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Nie znaleziono interfejsu sieciowego';
|
||||
@override String get authenticationFailed => 'Uwierzytelnianie nie powiodło się';
|
||||
@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';
|
||||
@override String get connectionLost => 'Połączenie utracone';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesPl extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesPl._(TranslationsPl root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsPl {
|
||||
'common.settings' => 'Ustawienia',
|
||||
'common.mute' => 'Wycisz',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Wył.',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Sezon ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Rozdział ${number}',
|
||||
'common.reconnect' => 'Połącz ponownie',
|
||||
'common.exit' => 'Wyjdź',
|
||||
'common.viewAll' => 'Pokaż wszystko',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsPl {
|
||||
'settings.dvConversionNative' => 'Natywnie / wyłączone',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Użyj wykrywania możliwości urządzenia i normalnego zachowania awaryjnego',
|
||||
'settings.dvConversionNativeDescription' => 'Wymuś natywne DV7 i wyłącz ponowną próbę konwersji DV',
|
||||
'settings.dvConversionDv81Description' => 'Wymuś wbudowaną konwersję RPU do profilu Dolby Vision 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Usuń warstwy Dolby Vision RPU/EL i przedstaw zwykłe HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Pytaj o profil przy otwarciu aplikacji',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Pokaż wybór profilu za każdym razem, gdy aplikacja jest otwierana',
|
||||
'settings.forceTvMode' => 'Wymuś tryb TV',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsPl {
|
||||
'search.enterTitleActorOrKeyword' => 'Wprowadź tytuł, aktora lub słowo kluczowe',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Ustaw skrót dla ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Wyczyść skrót',
|
||||
'hotkeys.noShortcutSet' => 'Brak ustawionego skrótu',
|
||||
'hotkeys.currentShortcut' => 'Bieżący skrót:',
|
||||
'hotkeys.actions.playPause' => 'Odtwórz/Pauza',
|
||||
'hotkeys.actions.volumeUp' => 'Głośniej',
|
||||
'hotkeys.actions.volumeDown' => 'Ciszej',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsPl {
|
||||
'mediaMenu.goToSeries' => 'Przejdź do serialu',
|
||||
'mediaMenu.goToSeason' => 'Przejdź do sezonu',
|
||||
'mediaMenu.shufflePlay' => 'Odtwarzanie losowe',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Odtwarzanie losowe nie jest dostępne offline',
|
||||
'mediaMenu.fileInfo' => 'Informacje o pliku',
|
||||
'mediaMenu.deleteFromServer' => 'Usuń z serwera',
|
||||
'mediaMenu.confirmDelete' => 'Usunąć to medium i jego pliki z serwera?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsPl {
|
||||
'videoControls.searchSubtitles' => 'Szukaj napisów',
|
||||
'videoControls.language' => 'Język',
|
||||
'videoControls.noSubtitlesFound' => 'Nie znaleziono napisów',
|
||||
'videoControls.downloadedSubtitle' => 'Pobrano',
|
||||
'videoControls.noSubtitlesAvailable' => 'Brak dostępnych napisów',
|
||||
'videoControls.noAudioTracksAvailable' => 'Brak dostępnych ścieżek audio',
|
||||
'videoControls.noTracksAvailable' => 'Brak dostępnych ścieżek',
|
||||
'videoControls.subtitleDownloaded' => 'Napisy pobrane',
|
||||
'videoControls.subtitleDownloadFailed' => 'Nie udało się pobrać napisów',
|
||||
'videoControls.searchLanguages' => 'Szukaj języków...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsPl {
|
||||
'subtitlingStyling.borderColor' => 'Kolor obramowania',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Przezroczystość tła',
|
||||
'subtitlingStyling.backgroundColor' => 'Kolor tła',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Pozycja',
|
||||
'subtitlingStyling.assOverride' => 'Nadpisywanie ASS',
|
||||
'subtitlingStyling.bold' => 'Pogrubienie',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsPl {
|
||||
'mpvConfig.loadPreset' => 'Załaduj',
|
||||
'mpvConfig.deletePreset' => 'Usuń',
|
||||
'mpvConfig.presetSaved' => 'Preset zapisany',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Preset załadowany',
|
||||
'mpvConfig.presetDeleted' => 'Preset usunięty',
|
||||
'mpvConfig.confirmDeletePreset' => 'Czy na pewno chcesz usunąć ten preset?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsPl {
|
||||
'discover.movie' => 'Film',
|
||||
'discover.tvShow' => 'Serial TV',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} min pozostało',
|
||||
'discover.moreLikeThis' => 'Więcej podobnych',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Wyszukiwanie nie powiodło się: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Limit czasu połączenia przy ładowaniu ${context}',
|
||||
'errors.connectionFailed' => 'Nie można połączyć się z serwerem multimediów',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsPl {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Nie udało się usunąć ${displayName}',
|
||||
'errors.failedToRate' => 'Nie udało się zaktualizować oceny',
|
||||
'libraries.title' => 'Biblioteki',
|
||||
'libraries.fallbackTitle' => 'Biblioteka',
|
||||
'libraries.scanLibraryFiles' => 'Skanuj pliki biblioteki',
|
||||
'libraries.scanLibrary' => 'Skanuj bibliotekę',
|
||||
'libraries.analyze' => 'Analizuj',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsPl {
|
||||
'liveTv.noChannels' => 'Brak dostępnych kanałów',
|
||||
'liveTv.noDvr' => 'Brak skonfigurowanego DVR na żadnym serwerze',
|
||||
'liveTv.noPrograms' => 'Brak danych o programach',
|
||||
'liveTv.liveStreamFailed' => 'Transmisja na żywo nie powiodła się',
|
||||
'liveTv.unknownProgram' => 'Nieznany program',
|
||||
'liveTv.unknownHub' => 'Nieznane',
|
||||
'liveTv.unknownError' => 'Nieznany błąd',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Kanał ${number}',
|
||||
'liveTv.unknownChannel' => 'Nieznany kanał',
|
||||
'liveTv.live' => 'NA ŻYWO',
|
||||
'liveTv.reloadGuide' => 'Odśwież przewodnik',
|
||||
'liveTv.now' => 'Teraz',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsPl {
|
||||
'downloads.deleteDownload' => 'Usuń pobranie',
|
||||
'downloads.retryDownload' => 'Ponów pobieranie',
|
||||
'downloads.downloadQueued' => 'Pobranie w kolejce',
|
||||
'downloads.downloadResumed' => 'Pobieranie wznowione',
|
||||
'downloads.serverErrorBitrate' => 'Błąd serwera: plik może przekraczać zdalny limit bitrate',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} odcinków w kolejce pobierania',
|
||||
'downloads.downloadDeleted' => 'Pobranie usunięte',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Usunąć "${title}" z tego urządzenia?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Usuwanie ${title}... (${current} z ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Anulowane pobieranie',
|
||||
'downloads.cancelledDownloadMessage' => 'To pobieranie zostało anulowane. Co chcesz zrobić?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Wszystkie odcinki są już pobrane',
|
||||
'downloads.resumeDownload' => 'Wznów pobieranie',
|
||||
'downloads.cancelledDownload' => 'Anulowane pobieranie',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (synchronizowanie ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => 'Pobrano ${file} — kliknij, aby dokończyć',
|
||||
'downloads.partialDownloadClickToComplete' => 'Pobrano częściowo — kliknij, aby dokończyć',
|
||||
'downloads.deleting' => 'Usuwanie...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Usuwanie ${title}... (${current} z ${total})',
|
||||
'downloads.queuedTooltip' => 'W kolejce',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'W kolejce: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Pobieranie...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsPl {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Usunąć "${name}"?',
|
||||
'companionRemote.title' => 'Pilot zdalny',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsPl {
|
||||
'companionRemote.remote.tabSettings' => 'Ustawienia',
|
||||
'companionRemote.remote.previous' => 'Poprzedni',
|
||||
'companionRemote.remote.playPause' => 'Odtwórz/Pauza',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Następny',
|
||||
'companionRemote.remote.seekBack' => 'Przewiń wstecz',
|
||||
'companionRemote.remote.stop' => 'Stop',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsPl {
|
||||
'companionRemote.remote.subtitles' => 'Napisy',
|
||||
'companionRemote.remote.audio' => 'Audio',
|
||||
'companionRemote.remote.searchHint' => 'Szukaj na komputerze...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Nie znaleziono interfejsu sieciowego',
|
||||
'companionRemote.errors.authenticationFailed' => 'Uwierzytelnianie nie powiodło się',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Połączenie utracone',
|
||||
'videoSettings.playbackSpeed' => 'Prędkość odtwarzania',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Wyłącznik czasowy',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsPl {
|
||||
'videoSettings.performanceOverlay' => 'Nakładka wydajności',
|
||||
'videoSettings.audioPassthrough' => 'Bezpośrednie audio',
|
||||
'videoSettings.audioNormalization' => 'Normalizacja głośności',
|
||||
'performanceOverlay.color' => 'Kolor',
|
||||
'performanceOverlay.performance' => 'Wydajność',
|
||||
'performanceOverlay.buffer' => 'Bufor',
|
||||
'performanceOverlay.app' => 'Aplikacja',
|
||||
'performanceOverlay.decoder' => 'Dekoder',
|
||||
'performanceOverlay.rawDecoder' => 'Surowy dekoder',
|
||||
'performanceOverlay.tunneling' => 'Tunelowanie',
|
||||
'performanceOverlay.aspect' => 'Proporcje',
|
||||
'performanceOverlay.rotation' => 'Obrót',
|
||||
'performanceOverlay.dvSource' => 'Źródło DV',
|
||||
'performanceOverlay.dvPath' => 'Ścieżka DV',
|
||||
'performanceOverlay.p7Conversion' => 'Konw. P7',
|
||||
'performanceOverlay.sampleRate' => 'Częstotliwość próbkowania',
|
||||
'performanceOverlay.pixelFormat' => 'Format pikseli',
|
||||
'performanceOverlay.hwFormat' => 'Format HW',
|
||||
'performanceOverlay.matrix' => 'Macierz',
|
||||
'performanceOverlay.primaries' => 'Barwy podstawowe',
|
||||
'performanceOverlay.transfer' => 'Transfer',
|
||||
'performanceOverlay.renderFps' => 'FPS renderowania',
|
||||
'performanceOverlay.displayFps' => 'FPS ekranu',
|
||||
'performanceOverlay.avSync' => 'Sync A/V',
|
||||
'performanceOverlay.dropped' => 'Porzucone',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU',
|
||||
'performanceOverlay.dvRpuAverage' => 'Śr. DV RPU',
|
||||
'performanceOverlay.dvSampleAverage' => 'Śr. próbki DV',
|
||||
'performanceOverlay.maxLuma' => 'Maks. luma',
|
||||
'performanceOverlay.minLuma' => 'Min. luma',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Użyty cache',
|
||||
'performanceOverlay.speed' => 'Szybkość',
|
||||
'performanceOverlay.player' => 'Odtwarzacz',
|
||||
'performanceOverlay.memory' => 'Pamięć',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'Zewnętrzny odtwarzacz',
|
||||
'externalPlayer.useExternalPlayer' => 'Użyj zewnętrznego odtwarzacza',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Otwieraj wideo w innej aplikacji',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsPl {
|
||||
'externalPlayer.systemDefault' => 'Domyślny systemowy',
|
||||
'externalPlayer.addCustomPlayer' => 'Dodaj niestandardowy odtwarzacz',
|
||||
'externalPlayer.playerName' => 'Nazwa odtwarzacza',
|
||||
'externalPlayer.playerNameHint' => 'Mój odtwarzacz',
|
||||
'externalPlayer.playerCommand' => 'Polecenie',
|
||||
'externalPlayer.playerPackage' => 'Nazwa pakietu',
|
||||
'externalPlayer.playerUrlScheme' => 'Schemat URL',
|
||||
'externalPlayer.off' => 'Wyłączony',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Nie udało się otworzyć zewnętrznego odtwarzacza',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} nie jest zainstalowany',
|
||||
'externalPlayer.playInExternalPlayer' => 'Odtwórz w zewnętrznym odtwarzaczu',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsPt extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersPt shaders = _TranslationsShadersPt._(_root);
|
||||
@override late final _TranslationsCompanionRemotePt companionRemote = _TranslationsCompanionRemotePt._(_root);
|
||||
@override late final _TranslationsVideoSettingsPt videoSettings = _TranslationsVideoSettingsPt._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayPt performanceOverlay = _TranslationsPerformanceOverlayPt._(_root);
|
||||
@override late final _TranslationsExternalPlayerPt externalPlayer = _TranslationsExternalPlayerPt._(_root);
|
||||
@override late final _TranslationsMetadataEditPt metadataEdit = _TranslationsMetadataEditPt._(_root);
|
||||
@override late final _TranslationsMatchScreenPt matchScreen = _TranslationsMatchScreenPt._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonPt extends TranslationsCommonEn {
|
||||
@override String get settings => 'Configurações';
|
||||
@override String get mute => 'Silenciar';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Desativado';
|
||||
@override String seasonNumber({required Object number}) => 'Temporada ${number}';
|
||||
@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';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Nativo / desativado';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Usar detecção de recursos do dispositivo e comportamento normal de fallback';
|
||||
@override String get dvConversionNativeDescription => 'Forçar DV7 nativo e suprimir nova tentativa de conversão DV';
|
||||
@override String get dvConversionDv81Description => 'Forçar conversão RPU inline para Dolby Vision perfil 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Remover camadas RPU/EL do Dolby Vision e apresentar HEVC simples';
|
||||
@override String get requireProfileSelectionOnOpen => 'Pedir perfil ao abrir o app';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Mostrar seleção de perfil toda vez que o app for aberto';
|
||||
@override String get forceTvMode => 'Forçar modo TV';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysPt extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Definir Atalho para ${actionName}';
|
||||
@override String get clearShortcut => 'Limpar atalho';
|
||||
@override String get noShortcutSet => 'Nenhum atalho definido';
|
||||
@override String get currentShortcut => 'Atalho atual:';
|
||||
@override late final _TranslationsHotkeysActionsPt actions = _TranslationsHotkeysActionsPt._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuPt extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Ir para a série';
|
||||
@override String get goToSeason => 'Ir para a temporada';
|
||||
@override String get shufflePlay => 'Reprodução Aleatória';
|
||||
@override String get shuffleNotAvailableOffline => 'Reprodução aleatória indisponível offline';
|
||||
@override String get fileInfo => 'Info do Arquivo';
|
||||
@override String get deleteFromServer => 'Excluir do servidor';
|
||||
@override String get confirmDelete => 'Excluir esta mídia e seus arquivos do servidor?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsPt extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Pesquisar legendas';
|
||||
@override String get language => 'Idioma';
|
||||
@override String get noSubtitlesFound => 'Nenhuma legenda encontrada';
|
||||
@override String get downloadedSubtitle => 'Baixado';
|
||||
@override String get noSubtitlesAvailable => 'Nenhuma legenda disponível';
|
||||
@override String get noAudioTracksAvailable => 'Nenhuma faixa de áudio disponível';
|
||||
@override String get noTracksAvailable => 'Nenhuma faixa disponível';
|
||||
@override String get subtitleDownloaded => 'Legenda baixada';
|
||||
@override String get subtitleDownloadFailed => 'Falha ao baixar legenda';
|
||||
@override String get searchLanguages => 'Pesquisar idiomas...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverPt extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Filme';
|
||||
@override String get tvShow => 'Série de TV';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} min restantes';
|
||||
@override String get moreLikeThis => 'Mais como este';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesPt extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Bibliotecas';
|
||||
@override String get fallbackTitle => 'Biblioteca';
|
||||
@override String get scanLibraryFiles => 'Escanear Arquivos da Biblioteca';
|
||||
@override String get scanLibrary => 'Escanear Biblioteca';
|
||||
@override String get analyze => 'Analisar';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvPt extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Nenhum canal disponível';
|
||||
@override String get noDvr => 'Nenhum DVR configurado em nenhum servidor';
|
||||
@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';
|
||||
@override String get unknownHub => 'Desconhecido';
|
||||
@override String get unknownError => 'Erro desconhecido';
|
||||
@override String channelNumber({required Object number}) => 'Canal ${number}';
|
||||
@override String get unknownChannel => 'Canal desconhecido';
|
||||
@override String get live => 'AO VIVO';
|
||||
@override String get reloadGuide => 'Recarregar Guia';
|
||||
@override String get now => 'Agora';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsPt extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Excluir download';
|
||||
@override String get retryDownload => 'Tentar download novamente';
|
||||
@override String get downloadQueued => 'Download na fila';
|
||||
@override String get downloadResumed => 'Download retomado';
|
||||
@override String get serverErrorBitrate => 'Erro do servidor: o arquivo pode exceder o limite remoto de bitrate';
|
||||
@override String episodesQueued({required Object count}) => '${count} episódios na fila de download';
|
||||
@override String get downloadDeleted => 'Download excluído';
|
||||
@override String deleteConfirm({required Object title}) => 'Excluir "${title}" deste dispositivo?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Excluindo ${title}... (${current} de ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Download cancelado';
|
||||
@override String get cancelledDownloadMessage => 'Este download foi cancelado. O que você deseja fazer?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Todos os episódios já foram baixados';
|
||||
@override String get resumeDownload => 'Retomar download';
|
||||
@override String get cancelledDownload => 'Download cancelado';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (sincronizando ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} baixado — clique para concluir';
|
||||
@override String get partialDownloadClickToComplete => 'Parcialmente baixado — clique para concluir';
|
||||
@override String get deleting => 'Excluindo...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Excluindo ${title}... (${current} de ${total})';
|
||||
@override String get queuedTooltip => 'Na fila';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'Na fila: ${files}';
|
||||
@override String get downloadingTooltip => 'Baixando...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemotePt extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Controle Remoto';
|
||||
@override String connectedTo({required Object name}) => 'Conectado a ${name}';
|
||||
@override String get unknownDevice => 'Dispositivo desconhecido';
|
||||
@override late final _TranslationsCompanionRemoteSessionPt session = _TranslationsCompanionRemoteSessionPt._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingPt pairing = _TranslationsCompanionRemotePairingPt._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemotePt remote = _TranslationsCompanionRemoteRemotePt._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsPt errors = _TranslationsCompanionRemoteErrorsPt._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsPt extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Normalizar Volume';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayPt extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayPt._(TranslationsPt root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsPt _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Cor';
|
||||
@override String get performance => 'Desempenho';
|
||||
@override String get buffer => 'Buffer';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Decodificador';
|
||||
@override String get rawDecoder => 'Decodificador bruto';
|
||||
@override String get tunneling => 'Túnel';
|
||||
@override String get aspect => 'Aspecto';
|
||||
@override String get rotation => 'Rotação';
|
||||
@override String get dvSource => 'Fonte DV';
|
||||
@override String get dvPath => 'Caminho DV';
|
||||
@override String get p7Conversion => 'Conv. P7';
|
||||
@override String get sampleRate => 'Taxa de amostragem';
|
||||
@override String get pixelFormat => 'Formato de pixel';
|
||||
@override String get hwFormat => 'Formato HW';
|
||||
@override String get matrix => 'Matriz';
|
||||
@override String get primaries => 'Primárias';
|
||||
@override String get transfer => 'Transferência';
|
||||
@override String get renderFps => 'FPS render';
|
||||
@override String get displayFps => 'FPS tela';
|
||||
@override String get avSync => 'Sync A/V';
|
||||
@override String get dropped => 'Descartados';
|
||||
@override String get dvRpus => 'DV RPUs';
|
||||
@override String get dvRpuAverage => 'Média DV RPU';
|
||||
@override String get dvSampleAverage => 'Média amostra DV';
|
||||
@override String get maxLuma => 'Luma máx.';
|
||||
@override String get minLuma => 'Luma mín.';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Cache usado';
|
||||
@override String get speed => 'Velocidade';
|
||||
@override String get player => 'Player';
|
||||
@override String get memory => 'Memória';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerPt extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerPt._(TranslationsPt root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerPt extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Padrão do Sistema';
|
||||
@override String get addCustomPlayer => 'Adicionar Player Personalizado';
|
||||
@override String get playerName => 'Nome do Player';
|
||||
@override String get playerNameHint => 'Meu player';
|
||||
@override String get playerCommand => 'Comando';
|
||||
@override String get playerPackage => 'Nome do Pacote';
|
||||
@override String get playerUrlScheme => 'Esquema de URL';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemotePt extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Buscar no desktop...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsPt extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsPt._(TranslationsPt root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsPt _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Nenhuma interface de rede encontrada';
|
||||
@override String get authenticationFailed => 'Falha na autenticação';
|
||||
@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';
|
||||
@override String get connectionLost => 'Conexão perdida';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesPt extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesPt._(TranslationsPt root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsPt {
|
||||
'common.settings' => 'Configurações',
|
||||
'common.mute' => 'Silenciar',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Desativado',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Temporada ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Capítulo ${number}',
|
||||
'common.reconnect' => 'Reconectar',
|
||||
'common.exit' => 'Sair',
|
||||
'common.viewAll' => 'Ver Tudo',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsPt {
|
||||
'settings.dvConversionNative' => 'Nativo / desativado',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Usar detecção de recursos do dispositivo e comportamento normal de fallback',
|
||||
'settings.dvConversionNativeDescription' => 'Forçar DV7 nativo e suprimir nova tentativa de conversão DV',
|
||||
'settings.dvConversionDv81Description' => 'Forçar conversão RPU inline para Dolby Vision perfil 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Remover camadas RPU/EL do Dolby Vision e apresentar HEVC simples',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Pedir perfil ao abrir o app',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Mostrar seleção de perfil toda vez que o app for aberto',
|
||||
'settings.forceTvMode' => 'Forçar modo TV',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsPt {
|
||||
'search.enterTitleActorOrKeyword' => 'Insira um título, ator ou palavra-chave',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Definir Atalho para ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Limpar atalho',
|
||||
'hotkeys.noShortcutSet' => 'Nenhum atalho definido',
|
||||
'hotkeys.currentShortcut' => 'Atalho atual:',
|
||||
'hotkeys.actions.playPause' => 'Reproduzir/Pausar',
|
||||
'hotkeys.actions.volumeUp' => 'Aumentar Volume',
|
||||
'hotkeys.actions.volumeDown' => 'Diminuir Volume',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsPt {
|
||||
'mediaMenu.goToSeries' => 'Ir para a série',
|
||||
'mediaMenu.goToSeason' => 'Ir para a temporada',
|
||||
'mediaMenu.shufflePlay' => 'Reprodução Aleatória',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Reprodução aleatória indisponível offline',
|
||||
'mediaMenu.fileInfo' => 'Info do Arquivo',
|
||||
'mediaMenu.deleteFromServer' => 'Excluir do servidor',
|
||||
'mediaMenu.confirmDelete' => 'Excluir esta mídia e seus arquivos do servidor?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsPt {
|
||||
'videoControls.searchSubtitles' => 'Pesquisar legendas',
|
||||
'videoControls.language' => 'Idioma',
|
||||
'videoControls.noSubtitlesFound' => 'Nenhuma legenda encontrada',
|
||||
'videoControls.downloadedSubtitle' => 'Baixado',
|
||||
'videoControls.noSubtitlesAvailable' => 'Nenhuma legenda disponível',
|
||||
'videoControls.noAudioTracksAvailable' => 'Nenhuma faixa de áudio disponível',
|
||||
'videoControls.noTracksAvailable' => 'Nenhuma faixa disponível',
|
||||
'videoControls.subtitleDownloaded' => 'Legenda baixada',
|
||||
'videoControls.subtitleDownloadFailed' => 'Falha ao baixar legenda',
|
||||
'videoControls.searchLanguages' => 'Pesquisar idiomas...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsPt {
|
||||
'subtitlingStyling.borderColor' => 'Cor da Borda',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Opacidade do Fundo',
|
||||
'subtitlingStyling.backgroundColor' => 'Cor de Fundo',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Posição',
|
||||
'subtitlingStyling.assOverride' => 'Substituição ASS',
|
||||
'subtitlingStyling.bold' => 'Negrito',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsPt {
|
||||
'mpvConfig.loadPreset' => 'Carregar',
|
||||
'mpvConfig.deletePreset' => 'Excluir',
|
||||
'mpvConfig.presetSaved' => 'Predefinição salva',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Predefinição carregada',
|
||||
'mpvConfig.presetDeleted' => 'Predefinição excluída',
|
||||
'mpvConfig.confirmDeletePreset' => 'Tem certeza que deseja excluir esta predefinição?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsPt {
|
||||
'discover.movie' => 'Filme',
|
||||
'discover.tvShow' => 'Série de TV',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} min restantes',
|
||||
'discover.moreLikeThis' => 'Mais como este',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Falha na busca: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Tempo de conexão esgotado ao carregar ${context}',
|
||||
'errors.connectionFailed' => 'Não foi possível conectar ao servidor de mídia',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsPt {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Falha ao excluir ${displayName}',
|
||||
'errors.failedToRate' => 'Não foi possível atualizar a classificação',
|
||||
'libraries.title' => 'Bibliotecas',
|
||||
'libraries.fallbackTitle' => 'Biblioteca',
|
||||
'libraries.scanLibraryFiles' => 'Escanear Arquivos da Biblioteca',
|
||||
'libraries.scanLibrary' => 'Escanear Biblioteca',
|
||||
'libraries.analyze' => 'Analisar',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsPt {
|
||||
'liveTv.noChannels' => 'Nenhum canal disponível',
|
||||
'liveTv.noDvr' => 'Nenhum DVR configurado em nenhum servidor',
|
||||
'liveTv.noPrograms' => 'Nenhum dado de programação disponível',
|
||||
'liveTv.liveStreamFailed' => 'Falha no stream ao vivo',
|
||||
'liveTv.unknownProgram' => 'Programa desconhecido',
|
||||
'liveTv.unknownHub' => 'Desconhecido',
|
||||
'liveTv.unknownError' => 'Erro desconhecido',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Canal ${number}',
|
||||
'liveTv.unknownChannel' => 'Canal desconhecido',
|
||||
'liveTv.live' => 'AO VIVO',
|
||||
'liveTv.reloadGuide' => 'Recarregar Guia',
|
||||
'liveTv.now' => 'Agora',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsPt {
|
||||
'downloads.deleteDownload' => 'Excluir download',
|
||||
'downloads.retryDownload' => 'Tentar download novamente',
|
||||
'downloads.downloadQueued' => 'Download na fila',
|
||||
'downloads.downloadResumed' => 'Download retomado',
|
||||
'downloads.serverErrorBitrate' => 'Erro do servidor: o arquivo pode exceder o limite remoto de bitrate',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} episódios na fila de download',
|
||||
'downloads.downloadDeleted' => 'Download excluído',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Excluir "${title}" deste dispositivo?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Excluindo ${title}... (${current} de ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Download cancelado',
|
||||
'downloads.cancelledDownloadMessage' => 'Este download foi cancelado. O que você deseja fazer?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Todos os episódios já foram baixados',
|
||||
'downloads.resumeDownload' => 'Retomar download',
|
||||
'downloads.cancelledDownload' => 'Download cancelado',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (sincronizando ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} baixado — clique para concluir',
|
||||
'downloads.partialDownloadClickToComplete' => 'Parcialmente baixado — clique para concluir',
|
||||
'downloads.deleting' => 'Excluindo...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Excluindo ${title}... (${current} de ${total})',
|
||||
'downloads.queuedTooltip' => 'Na fila',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'Na fila: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Baixando...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsPt {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Excluir "${name}"?',
|
||||
'companionRemote.title' => 'Controle Remoto',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsPt {
|
||||
'companionRemote.remote.tabSettings' => 'Configurações',
|
||||
'companionRemote.remote.previous' => 'Anterior',
|
||||
'companionRemote.remote.playPause' => 'Reproduzir/Pausar',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Próximo',
|
||||
'companionRemote.remote.seekBack' => 'Retroceder',
|
||||
'companionRemote.remote.stop' => 'Parar',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsPt {
|
||||
'companionRemote.remote.subtitles' => 'Legendas',
|
||||
'companionRemote.remote.audio' => 'Áudio',
|
||||
'companionRemote.remote.searchHint' => 'Buscar no desktop...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Nenhuma interface de rede encontrada',
|
||||
'companionRemote.errors.authenticationFailed' => 'Falha na autenticação',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Conexão perdida',
|
||||
'videoSettings.playbackSpeed' => 'Velocidade de Reprodução',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Timer de Sono',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsPt {
|
||||
'videoSettings.performanceOverlay' => 'Overlay de Desempenho',
|
||||
'videoSettings.audioPassthrough' => 'Passagem de Áudio',
|
||||
'videoSettings.audioNormalization' => 'Normalizar Volume',
|
||||
'performanceOverlay.color' => 'Cor',
|
||||
'performanceOverlay.performance' => 'Desempenho',
|
||||
'performanceOverlay.buffer' => 'Buffer',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Decodificador',
|
||||
'performanceOverlay.rawDecoder' => 'Decodificador bruto',
|
||||
'performanceOverlay.tunneling' => 'Túnel',
|
||||
'performanceOverlay.aspect' => 'Aspecto',
|
||||
'performanceOverlay.rotation' => 'Rotação',
|
||||
'performanceOverlay.dvSource' => 'Fonte DV',
|
||||
'performanceOverlay.dvPath' => 'Caminho DV',
|
||||
'performanceOverlay.p7Conversion' => 'Conv. P7',
|
||||
'performanceOverlay.sampleRate' => 'Taxa de amostragem',
|
||||
'performanceOverlay.pixelFormat' => 'Formato de pixel',
|
||||
'performanceOverlay.hwFormat' => 'Formato HW',
|
||||
'performanceOverlay.matrix' => 'Matriz',
|
||||
'performanceOverlay.primaries' => 'Primárias',
|
||||
'performanceOverlay.transfer' => 'Transferência',
|
||||
'performanceOverlay.renderFps' => 'FPS render',
|
||||
'performanceOverlay.displayFps' => 'FPS tela',
|
||||
'performanceOverlay.avSync' => 'Sync A/V',
|
||||
'performanceOverlay.dropped' => 'Descartados',
|
||||
'performanceOverlay.dvRpus' => 'DV RPUs',
|
||||
'performanceOverlay.dvRpuAverage' => 'Média DV RPU',
|
||||
'performanceOverlay.dvSampleAverage' => 'Média amostra DV',
|
||||
'performanceOverlay.maxLuma' => 'Luma máx.',
|
||||
'performanceOverlay.minLuma' => 'Luma mín.',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Cache usado',
|
||||
'performanceOverlay.speed' => 'Velocidade',
|
||||
'performanceOverlay.player' => 'Player',
|
||||
'performanceOverlay.memory' => 'Memória',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'Player Externo',
|
||||
'externalPlayer.useExternalPlayer' => 'Usar Player Externo',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Abrir vídeos em outro app',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsPt {
|
||||
'externalPlayer.systemDefault' => 'Padrão do Sistema',
|
||||
'externalPlayer.addCustomPlayer' => 'Adicionar Player Personalizado',
|
||||
'externalPlayer.playerName' => 'Nome do Player',
|
||||
'externalPlayer.playerNameHint' => 'Meu player',
|
||||
'externalPlayer.playerCommand' => 'Comando',
|
||||
'externalPlayer.playerPackage' => 'Nome do Pacote',
|
||||
'externalPlayer.playerUrlScheme' => 'Esquema de URL',
|
||||
'externalPlayer.off' => 'Desativado',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Falha ao abrir player externo',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} não está instalado',
|
||||
'externalPlayer.playInExternalPlayer' => 'Reproduzir no Player Externo',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsRu extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersRu shaders = _TranslationsShadersRu._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRu companionRemote = _TranslationsCompanionRemoteRu._(_root);
|
||||
@override late final _TranslationsVideoSettingsRu videoSettings = _TranslationsVideoSettingsRu._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayRu performanceOverlay = _TranslationsPerformanceOverlayRu._(_root);
|
||||
@override late final _TranslationsExternalPlayerRu externalPlayer = _TranslationsExternalPlayerRu._(_root);
|
||||
@override late final _TranslationsMetadataEditRu metadataEdit = _TranslationsMetadataEditRu._(_root);
|
||||
@override late final _TranslationsMatchScreenRu matchScreen = _TranslationsMatchScreenRu._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonRu extends TranslationsCommonEn {
|
||||
@override String get settings => 'Настройки';
|
||||
@override String get mute => 'Без звука';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Выкл.';
|
||||
@override String seasonNumber({required Object number}) => 'Сезон ${number}';
|
||||
@override String chapterNumber({required Object number}) => 'Глава ${number}';
|
||||
@override String get reconnect => 'Переподключить';
|
||||
@override String get exit => 'Выход';
|
||||
@override String get viewAll => 'Показать все';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Нативно / отключено';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Использовать определение возможностей устройства и обычное резервное поведение';
|
||||
@override String get dvConversionNativeDescription => 'Принудительно использовать нативный DV7 и не повторять DV-конвертацию';
|
||||
@override String get dvConversionDv81Description => 'Принудительно выполнять inline-конвертацию RPU в Dolby Vision профиль 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Удалять слои Dolby Vision RPU/EL и передавать обычный HEVC';
|
||||
@override String get requireProfileSelectionOnOpen => 'Запрашивать профиль при запуске';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Показывать выбор профиля при каждом открытии приложения';
|
||||
@override String get forceTvMode => 'Принудительный режим ТВ';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysRu extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Назначить клавишу для ${actionName}';
|
||||
@override String get clearShortcut => 'Очистить клавишу';
|
||||
@override String get noShortcutSet => 'Сочетание не задано';
|
||||
@override String get currentShortcut => 'Текущее сочетание:';
|
||||
@override late final _TranslationsHotkeysActionsRu actions = _TranslationsHotkeysActionsRu._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuRu extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Перейти к сериалу';
|
||||
@override String get goToSeason => 'Перейти к сезону';
|
||||
@override String get shufflePlay => 'Случайное воспроизведение';
|
||||
@override String get shuffleNotAvailableOffline => 'Перемешивание недоступно офлайн';
|
||||
@override String get fileInfo => 'Информация о файле';
|
||||
@override String get deleteFromServer => 'Удалить с сервера';
|
||||
@override String get confirmDelete => 'Удалить это медиа и его файлы с сервера?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsRu extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Поиск субтитров';
|
||||
@override String get language => 'Язык';
|
||||
@override String get noSubtitlesFound => 'Субтитры не найдены';
|
||||
@override String get downloadedSubtitle => 'Загружено';
|
||||
@override String get noSubtitlesAvailable => 'Нет доступных субтитров';
|
||||
@override String get noAudioTracksAvailable => 'Нет доступных аудиодорожек';
|
||||
@override String get noTracksAvailable => 'Нет доступных дорожек';
|
||||
@override String get subtitleDownloaded => 'Субтитры загружены';
|
||||
@override String get subtitleDownloadFailed => 'Не удалось загрузить субтитры';
|
||||
@override String get searchLanguages => 'Поиск языков...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverRu extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Фильм';
|
||||
@override String get tvShow => 'Сериал';
|
||||
@override String minutesLeft({required Object minutes}) => 'Осталось ${minutes} мин';
|
||||
@override String get moreLikeThis => 'Похожее';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesRu extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Библиотеки';
|
||||
@override String get fallbackTitle => 'Библиотека';
|
||||
@override String get scanLibraryFiles => 'Сканировать файлы библиотеки';
|
||||
@override String get scanLibrary => 'Сканировать библиотеку';
|
||||
@override String get analyze => 'Анализировать';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvRu extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Нет доступных каналов';
|
||||
@override String get noDvr => 'DVR не настроен ни на одном сервере';
|
||||
@override String get noPrograms => 'Нет данных о программах';
|
||||
@override String get liveStreamFailed => 'Не удалось запустить прямой эфир';
|
||||
@override String get unknownProgram => 'Неизвестная программа';
|
||||
@override String get unknownHub => 'Неизвестно';
|
||||
@override String get unknownError => 'Неизвестная ошибка';
|
||||
@override String channelNumber({required Object number}) => 'Канал ${number}';
|
||||
@override String get unknownChannel => 'Неизвестный канал';
|
||||
@override String get live => 'ЭФИР';
|
||||
@override String get reloadGuide => 'Перезагрузить программу';
|
||||
@override String get now => 'Сейчас';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsRu extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Удалить загрузку';
|
||||
@override String get retryDownload => 'Повторить загрузку';
|
||||
@override String get downloadQueued => 'Загрузка поставлена в очередь';
|
||||
@override String get downloadResumed => 'Загрузка возобновлена';
|
||||
@override String get serverErrorBitrate => 'Ошибка сервера: файл может превышать удаленный лимит bitrate';
|
||||
@override String episodesQueued({required Object count}) => '${count} эпизодов поставлено в очередь загрузки';
|
||||
@override String get downloadDeleted => 'Загрузка удалена';
|
||||
@override String deleteConfirm({required Object title}) => 'Удалить "${title}" с этого устройства?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Удаление ${title}... (${current} из ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Загрузка отменена';
|
||||
@override String get cancelledDownloadMessage => 'Эта загрузка была отменена. Что вы хотите сделать?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Все эпизоды уже загружены';
|
||||
@override String get resumeDownload => 'Возобновить загрузку';
|
||||
@override String get cancelledDownload => 'Загрузка отменена';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (синхронизация ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} загружен — нажмите, чтобы завершить';
|
||||
@override String get partialDownloadClickToComplete => 'Частично загружено — нажмите, чтобы завершить';
|
||||
@override String get deleting => 'Удаление...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Удаление ${title}... (${current} из ${total})';
|
||||
@override String get queuedTooltip => 'В очереди';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'В очереди: ${files}';
|
||||
@override String get downloadingTooltip => 'Загрузка...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteRu extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Пульт управления';
|
||||
@override String connectedTo({required Object name}) => 'Подключено к ${name}';
|
||||
@override String get unknownDevice => 'Неизвестное устройство';
|
||||
@override late final _TranslationsCompanionRemoteSessionRu session = _TranslationsCompanionRemoteSessionRu._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingRu pairing = _TranslationsCompanionRemotePairingRu._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteRu remote = _TranslationsCompanionRemoteRemoteRu._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsRu errors = _TranslationsCompanionRemoteErrorsRu._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsRu extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Нормализация громкости';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayRu extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayRu._(TranslationsRu root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsRu _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Цвет';
|
||||
@override String get performance => 'Производительность';
|
||||
@override String get buffer => 'Буфер';
|
||||
@override String get app => 'Приложение';
|
||||
@override String get decoder => 'Декодер';
|
||||
@override String get rawDecoder => 'Raw-декодер';
|
||||
@override String get tunneling => 'Туннелирование';
|
||||
@override String get aspect => 'Соотношение';
|
||||
@override String get rotation => 'Поворот';
|
||||
@override String get dvSource => 'Источник DV';
|
||||
@override String get dvPath => 'Путь DV';
|
||||
@override String get p7Conversion => 'Конв. P7';
|
||||
@override String get sampleRate => 'Частота дискр.';
|
||||
@override String get pixelFormat => 'Формат пикселей';
|
||||
@override String get hwFormat => 'Формат HW';
|
||||
@override String get matrix => 'Матрица';
|
||||
@override String get primaries => 'Основные цвета';
|
||||
@override String get transfer => 'Передача';
|
||||
@override String get renderFps => 'FPS рендера';
|
||||
@override String get displayFps => 'FPS дисплея';
|
||||
@override String get avSync => 'A/V синхр.';
|
||||
@override String get dropped => 'Пропущено';
|
||||
@override String get dvRpus => 'DV RPU';
|
||||
@override String get dvRpuAverage => 'Сред. DV RPU';
|
||||
@override String get dvSampleAverage => 'Сред. сэмпл DV';
|
||||
@override String get maxLuma => 'Макс. яркость';
|
||||
@override String get minLuma => 'Мин. яркость';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Кэш использован';
|
||||
@override String get speed => 'Скорость';
|
||||
@override String get player => 'Плеер';
|
||||
@override String get memory => 'Память';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerRu extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerRu._(TranslationsRu root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerRu extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Системный по умолчанию';
|
||||
@override String get addCustomPlayer => 'Добавить свой плеер';
|
||||
@override String get playerName => 'Название плеера';
|
||||
@override String get playerNameHint => 'Мой плеер';
|
||||
@override String get playerCommand => 'Команда';
|
||||
@override String get playerPackage => 'Имя пакета';
|
||||
@override String get playerUrlScheme => 'URL-схема';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteRu extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Поиск на десктопе...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsRu extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsRu._(TranslationsRu root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsRu _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Сетевой интерфейс не найден';
|
||||
@override String get authenticationFailed => 'Ошибка аутентификации';
|
||||
@override String get joinTimedOut => 'Время подключения к сеансу истекло';
|
||||
@override String get failedToConnectAnyAddress => 'Не удалось подключиться ни к одному адресу';
|
||||
@override String connectionLostAfterAttempts({required Object attempts}) => 'Соединение потеряно после ${attempts} попыток';
|
||||
@override String get connectionLost => 'Соединение потеряно';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesRu extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesRu._(TranslationsRu root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsRu {
|
||||
'common.settings' => 'Настройки',
|
||||
'common.mute' => 'Без звука',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Выкл.',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Сезон ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Глава ${number}',
|
||||
'common.reconnect' => 'Переподключить',
|
||||
'common.exit' => 'Выход',
|
||||
'common.viewAll' => 'Показать все',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsRu {
|
||||
'settings.dvConversionNative' => 'Нативно / отключено',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Использовать определение возможностей устройства и обычное резервное поведение',
|
||||
'settings.dvConversionNativeDescription' => 'Принудительно использовать нативный DV7 и не повторять DV-конвертацию',
|
||||
'settings.dvConversionDv81Description' => 'Принудительно выполнять inline-конвертацию RPU в Dolby Vision профиль 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Удалять слои Dolby Vision RPU/EL и передавать обычный HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Запрашивать профиль при запуске',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Показывать выбор профиля при каждом открытии приложения',
|
||||
'settings.forceTvMode' => 'Принудительный режим ТВ',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsRu {
|
||||
'search.enterTitleActorOrKeyword' => 'Введите название, актёра или ключевое слово',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Назначить клавишу для ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Очистить клавишу',
|
||||
'hotkeys.noShortcutSet' => 'Сочетание не задано',
|
||||
'hotkeys.currentShortcut' => 'Текущее сочетание:',
|
||||
'hotkeys.actions.playPause' => 'Воспроизведение/Пауза',
|
||||
'hotkeys.actions.volumeUp' => 'Громкость выше',
|
||||
'hotkeys.actions.volumeDown' => 'Громкость ниже',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsRu {
|
||||
'mediaMenu.goToSeries' => 'Перейти к сериалу',
|
||||
'mediaMenu.goToSeason' => 'Перейти к сезону',
|
||||
'mediaMenu.shufflePlay' => 'Случайное воспроизведение',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Перемешивание недоступно офлайн',
|
||||
'mediaMenu.fileInfo' => 'Информация о файле',
|
||||
'mediaMenu.deleteFromServer' => 'Удалить с сервера',
|
||||
'mediaMenu.confirmDelete' => 'Удалить это медиа и его файлы с сервера?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsRu {
|
||||
'videoControls.searchSubtitles' => 'Поиск субтитров',
|
||||
'videoControls.language' => 'Язык',
|
||||
'videoControls.noSubtitlesFound' => 'Субтитры не найдены',
|
||||
'videoControls.downloadedSubtitle' => 'Загружено',
|
||||
'videoControls.noSubtitlesAvailable' => 'Нет доступных субтитров',
|
||||
'videoControls.noAudioTracksAvailable' => 'Нет доступных аудиодорожек',
|
||||
'videoControls.noTracksAvailable' => 'Нет доступных дорожек',
|
||||
'videoControls.subtitleDownloaded' => 'Субтитры загружены',
|
||||
'videoControls.subtitleDownloadFailed' => 'Не удалось загрузить субтитры',
|
||||
'videoControls.searchLanguages' => 'Поиск языков...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsRu {
|
||||
'subtitlingStyling.borderColor' => 'Цвет обводки',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Прозрачность фона',
|
||||
'subtitlingStyling.backgroundColor' => 'Цвет фона',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Позиция',
|
||||
'subtitlingStyling.assOverride' => 'Переопределение ASS',
|
||||
'subtitlingStyling.bold' => 'Жирный',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsRu {
|
||||
'mpvConfig.loadPreset' => 'Загрузить',
|
||||
'mpvConfig.deletePreset' => 'Удалить',
|
||||
'mpvConfig.presetSaved' => 'Пресет сохранён',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Пресет загружен',
|
||||
'mpvConfig.presetDeleted' => 'Пресет удалён',
|
||||
'mpvConfig.confirmDeletePreset' => 'Вы уверены, что хотите удалить этот пресет?',
|
||||
@@ -2399,6 +2507,7 @@ extension on TranslationsRu {
|
||||
'profiles.pinExplain' => 'Для переключения профилей нужен 4-значный PIN.',
|
||||
'profiles.continueButton' => 'Продолжить',
|
||||
'profiles.pinsDontMatch' => 'PIN-коды не совпадают',
|
||||
'profiles.initializeServicesFailed' => 'Не удалось инициализировать службы профиля',
|
||||
'connections.sectionTitle' => 'Подключения',
|
||||
'connections.addConnection' => 'Добавить подключение',
|
||||
'connections.addConnectionSubtitleNoProfile' => 'Войдите через Plex или подключите сервер Jellyfin',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsRu {
|
||||
'discover.movie' => 'Фильм',
|
||||
'discover.tvShow' => 'Сериал',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => 'Осталось ${minutes} мин',
|
||||
'discover.moreLikeThis' => 'Похожее',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Ошибка поиска: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Таймаут подключения при загрузке ${context}',
|
||||
'errors.connectionFailed' => 'Не удалось подключиться к медиасерверу',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsRu {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Не удалось удалить ${displayName}',
|
||||
'errors.failedToRate' => 'Не удалось обновить оценку',
|
||||
'libraries.title' => 'Библиотеки',
|
||||
'libraries.fallbackTitle' => 'Библиотека',
|
||||
'libraries.scanLibraryFiles' => 'Сканировать файлы библиотеки',
|
||||
'libraries.scanLibrary' => 'Сканировать библиотеку',
|
||||
'libraries.analyze' => 'Анализировать',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsRu {
|
||||
'liveTv.noChannels' => 'Нет доступных каналов',
|
||||
'liveTv.noDvr' => 'DVR не настроен ни на одном сервере',
|
||||
'liveTv.noPrograms' => 'Нет данных о программах',
|
||||
'liveTv.liveStreamFailed' => 'Не удалось запустить прямой эфир',
|
||||
'liveTv.unknownProgram' => 'Неизвестная программа',
|
||||
'liveTv.unknownHub' => 'Неизвестно',
|
||||
'liveTv.unknownError' => 'Неизвестная ошибка',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Канал ${number}',
|
||||
'liveTv.unknownChannel' => 'Неизвестный канал',
|
||||
'liveTv.live' => 'ЭФИР',
|
||||
'liveTv.reloadGuide' => 'Перезагрузить программу',
|
||||
'liveTv.now' => 'Сейчас',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsRu {
|
||||
'downloads.deleteDownload' => 'Удалить загрузку',
|
||||
'downloads.retryDownload' => 'Повторить загрузку',
|
||||
'downloads.downloadQueued' => 'Загрузка поставлена в очередь',
|
||||
'downloads.downloadResumed' => 'Загрузка возобновлена',
|
||||
'downloads.serverErrorBitrate' => 'Ошибка сервера: файл может превышать удаленный лимит bitrate',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} эпизодов поставлено в очередь загрузки',
|
||||
'downloads.downloadDeleted' => 'Загрузка удалена',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Удалить "${title}" с этого устройства?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Удаление ${title}... (${current} из ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Загрузка отменена',
|
||||
'downloads.cancelledDownloadMessage' => 'Эта загрузка была отменена. Что вы хотите сделать?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Все эпизоды уже загружены',
|
||||
'downloads.resumeDownload' => 'Возобновить загрузку',
|
||||
'downloads.cancelledDownload' => 'Загрузка отменена',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (синхронизация ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} загружен — нажмите, чтобы завершить',
|
||||
'downloads.partialDownloadClickToComplete' => 'Частично загружено — нажмите, чтобы завершить',
|
||||
'downloads.deleting' => 'Удаление...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Удаление ${title}... (${current} из ${total})',
|
||||
'downloads.queuedTooltip' => 'В очереди',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'В очереди: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Загрузка...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsRu {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Удалить "${name}"?',
|
||||
'companionRemote.title' => 'Пульт управления',
|
||||
'companionRemote.connectedTo' => ({required Object name}) => 'Подключено к ${name}',
|
||||
'companionRemote.unknownDevice' => 'Неизвестное устройство',
|
||||
'companionRemote.session.startingServer' => 'Запуск удалённого сервера...',
|
||||
'companionRemote.session.failedToCreate' => 'Не удалось запустить удалённый сервер:',
|
||||
'companionRemote.session.hostAddress' => 'Адрес хоста',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsRu {
|
||||
'companionRemote.remote.tabSettings' => 'Настройки',
|
||||
'companionRemote.remote.previous' => 'Предыдущий',
|
||||
'companionRemote.remote.playPause' => 'Воспроизведение/Пауза',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Следующий',
|
||||
'companionRemote.remote.seekBack' => 'Назад',
|
||||
'companionRemote.remote.stop' => 'Стоп',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsRu {
|
||||
'companionRemote.remote.subtitles' => 'Субтитры',
|
||||
'companionRemote.remote.audio' => 'Аудио',
|
||||
'companionRemote.remote.searchHint' => 'Поиск на десктопе...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Сетевой интерфейс не найден',
|
||||
'companionRemote.errors.authenticationFailed' => 'Ошибка аутентификации',
|
||||
'companionRemote.errors.joinTimedOut' => 'Время подключения к сеансу истекло',
|
||||
'companionRemote.errors.failedToConnectAnyAddress' => 'Не удалось подключиться ни к одному адресу',
|
||||
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => 'Соединение потеряно после ${attempts} попыток',
|
||||
'companionRemote.errors.connectionLost' => 'Соединение потеряно',
|
||||
'videoSettings.playbackSpeed' => 'Скорость воспроизведения',
|
||||
'videoSettings.zoom' => 'Масштаб',
|
||||
'videoSettings.sleepTimer' => 'Таймер сна',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsRu {
|
||||
'videoSettings.performanceOverlay' => 'Оверлей производительности',
|
||||
'videoSettings.audioPassthrough' => 'Сквозной вывод аудио',
|
||||
'videoSettings.audioNormalization' => 'Нормализация громкости',
|
||||
'performanceOverlay.color' => 'Цвет',
|
||||
'performanceOverlay.performance' => 'Производительность',
|
||||
'performanceOverlay.buffer' => 'Буфер',
|
||||
'performanceOverlay.app' => 'Приложение',
|
||||
'performanceOverlay.decoder' => 'Декодер',
|
||||
'performanceOverlay.rawDecoder' => 'Raw-декодер',
|
||||
'performanceOverlay.tunneling' => 'Туннелирование',
|
||||
'performanceOverlay.aspect' => 'Соотношение',
|
||||
'performanceOverlay.rotation' => 'Поворот',
|
||||
'performanceOverlay.dvSource' => 'Источник DV',
|
||||
'performanceOverlay.dvPath' => 'Путь DV',
|
||||
'performanceOverlay.p7Conversion' => 'Конв. P7',
|
||||
'performanceOverlay.sampleRate' => 'Частота дискр.',
|
||||
'performanceOverlay.pixelFormat' => 'Формат пикселей',
|
||||
'performanceOverlay.hwFormat' => 'Формат HW',
|
||||
'performanceOverlay.matrix' => 'Матрица',
|
||||
'performanceOverlay.primaries' => 'Основные цвета',
|
||||
'performanceOverlay.transfer' => 'Передача',
|
||||
'performanceOverlay.renderFps' => 'FPS рендера',
|
||||
'performanceOverlay.displayFps' => 'FPS дисплея',
|
||||
'performanceOverlay.avSync' => 'A/V синхр.',
|
||||
'performanceOverlay.dropped' => 'Пропущено',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU',
|
||||
'performanceOverlay.dvRpuAverage' => 'Сред. DV RPU',
|
||||
'performanceOverlay.dvSampleAverage' => 'Сред. сэмпл DV',
|
||||
'performanceOverlay.maxLuma' => 'Макс. яркость',
|
||||
'performanceOverlay.minLuma' => 'Мин. яркость',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Кэш использован',
|
||||
'performanceOverlay.speed' => 'Скорость',
|
||||
'performanceOverlay.player' => 'Плеер',
|
||||
'performanceOverlay.memory' => 'Память',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'Внешний плеер',
|
||||
'externalPlayer.useExternalPlayer' => 'Использовать внешний плеер',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Открывать видео в другом приложении',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsRu {
|
||||
'externalPlayer.systemDefault' => 'Системный по умолчанию',
|
||||
'externalPlayer.addCustomPlayer' => 'Добавить свой плеер',
|
||||
'externalPlayer.playerName' => 'Название плеера',
|
||||
'externalPlayer.playerNameHint' => 'Мой плеер',
|
||||
'externalPlayer.playerCommand' => 'Команда',
|
||||
'externalPlayer.playerPackage' => 'Имя пакета',
|
||||
'externalPlayer.playerUrlScheme' => 'URL-схема',
|
||||
'externalPlayer.off' => 'Выкл.',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Не удалось открыть внешний плеер',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} не установлен',
|
||||
'externalPlayer.playInExternalPlayer' => 'Воспроизвести во внешнем плеере',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsSv extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersSv shaders = _TranslationsShadersSv._(_root);
|
||||
@override late final _TranslationsCompanionRemoteSv companionRemote = _TranslationsCompanionRemoteSv._(_root);
|
||||
@override late final _TranslationsVideoSettingsSv videoSettings = _TranslationsVideoSettingsSv._(_root);
|
||||
@override late final _TranslationsPerformanceOverlaySv performanceOverlay = _TranslationsPerformanceOverlaySv._(_root);
|
||||
@override late final _TranslationsExternalPlayerSv externalPlayer = _TranslationsExternalPlayerSv._(_root);
|
||||
@override late final _TranslationsMetadataEditSv metadataEdit = _TranslationsMetadataEditSv._(_root);
|
||||
@override late final _TranslationsMatchScreenSv matchScreen = _TranslationsMatchScreenSv._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonSv extends TranslationsCommonEn {
|
||||
@override String get settings => 'Mer';
|
||||
@override String get mute => 'Ljud av';
|
||||
@override String get ok => 'OK';
|
||||
@override String get off => 'Av';
|
||||
@override String seasonNumber({required Object number}) => 'Säsong ${number}';
|
||||
@override String chapterNumber({required Object number}) => 'Kapitel ${number}';
|
||||
@override String get reconnect => 'Återanslut';
|
||||
@override String get exit => 'Avsluta';
|
||||
@override String get viewAll => 'Visa alla';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => 'Inbyggt / inaktiverat';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => 'Använd enhetens kapabilitetsdetektering och normalt reservbeteende';
|
||||
@override String get dvConversionNativeDescription => 'Tvinga native DV7 och undertryck försök till DV-konvertering';
|
||||
@override String get dvConversionDv81Description => 'Tvinga inline RPU-konvertering till Dolby Vision profil 8.1';
|
||||
@override String get dvConversionHevcStripDescription => 'Ta bort Dolby Vision RPU/EL-lager och presentera vanlig HEVC';
|
||||
@override String get requireProfileSelectionOnOpen => 'Fråga efter profil vid appstart';
|
||||
@override String get requireProfileSelectionOnOpenDescription => 'Visa profilval varje gång appen öppnas';
|
||||
@override String get forceTvMode => 'Tvinga TV-läge';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysSv extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => 'Sätt genväg för ${actionName}';
|
||||
@override String get clearShortcut => 'Rensa genväg';
|
||||
@override String get noShortcutSet => 'Ingen genväg angiven';
|
||||
@override String get currentShortcut => 'Aktuell genväg:';
|
||||
@override late final _TranslationsHotkeysActionsSv actions = _TranslationsHotkeysActionsSv._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuSv extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => 'Gå till serie';
|
||||
@override String get goToSeason => 'Gå till säsong';
|
||||
@override String get shufflePlay => 'Blanda uppspelning';
|
||||
@override String get shuffleNotAvailableOffline => 'Blandad uppspelning är inte tillgänglig offline';
|
||||
@override String get fileInfo => 'Filinformation';
|
||||
@override String get deleteFromServer => 'Ta bort från servern';
|
||||
@override String get confirmDelete => 'Ta bort detta media och dess filer från din server?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsSv extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => 'Sök undertexter';
|
||||
@override String get language => 'Språk';
|
||||
@override String get noSubtitlesFound => 'Inga undertexter hittades';
|
||||
@override String get downloadedSubtitle => 'Nedladdad';
|
||||
@override String get noSubtitlesAvailable => 'Inga undertexter tillgängliga';
|
||||
@override String get noAudioTracksAvailable => 'Inga ljudspår tillgängliga';
|
||||
@override String get noTracksAvailable => 'Inga spår tillgängliga';
|
||||
@override String get subtitleDownloaded => 'Undertext nedladdad';
|
||||
@override String get subtitleDownloadFailed => 'Kunde inte ladda ner undertext';
|
||||
@override String get searchLanguages => 'Sök språk...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverSv extends TranslationsDiscoverEn {
|
||||
@override String get movie => 'Film';
|
||||
@override String get tvShow => 'TV-serie';
|
||||
@override String minutesLeft({required Object minutes}) => '${minutes} min kvar';
|
||||
@override String get moreLikeThis => 'Mer som detta';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesSv extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Bibliotek';
|
||||
@override String get fallbackTitle => 'Bibliotek';
|
||||
@override String get scanLibraryFiles => 'Skanna biblioteksfiler';
|
||||
@override String get scanLibrary => 'Skanna bibliotek';
|
||||
@override String get analyze => 'Analysera';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvSv extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => 'Inga kanaler tillgängliga';
|
||||
@override String get noDvr => 'Ingen DVR konfigurerad på någon server';
|
||||
@override String get noPrograms => 'Ingen programdata tillgänglig';
|
||||
@override String get liveStreamFailed => 'Liveström misslyckades';
|
||||
@override String get unknownProgram => 'Okänt program';
|
||||
@override String get unknownHub => 'Okänt';
|
||||
@override String get unknownError => 'Okänt fel';
|
||||
@override String channelNumber({required Object number}) => 'Kanal ${number}';
|
||||
@override String get unknownChannel => 'Okänd kanal';
|
||||
@override String get live => 'LIVE';
|
||||
@override String get reloadGuide => 'Ladda om programguide';
|
||||
@override String get now => 'Nu';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsSv extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => 'Ta bort nedladdning';
|
||||
@override String get retryDownload => 'Försök igen';
|
||||
@override String get downloadQueued => 'Nedladdning köad';
|
||||
@override String get downloadResumed => 'Nedladdning återupptagen';
|
||||
@override String get serverErrorBitrate => 'Serverfel: filen kan överskrida gränsen för fjärrbitrate';
|
||||
@override String episodesQueued({required Object count}) => '${count} avsnitt köade för nedladdning';
|
||||
@override String get downloadDeleted => 'Nedladdning borttagen';
|
||||
@override String deleteConfirm({required Object title}) => 'Ta bort "${title}" från den här enheten?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Tar bort ${title}... (${current} av ${total})';
|
||||
@override String get cancelledDownloadTitle => 'Avbruten nedladdning';
|
||||
@override String get cancelledDownloadMessage => 'Den här nedladdningen avbröts. Vad vill du göra?';
|
||||
@override String get allEpisodesAlreadyDownloaded => 'Alla avsnitt är redan nedladdade';
|
||||
@override String get resumeDownload => 'Återuppta nedladdning';
|
||||
@override String get cancelledDownload => 'Avbruten nedladdning';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file} (synkroniserar ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '${file} nedladdad – klicka för att slutföra';
|
||||
@override String get partialDownloadClickToComplete => 'Delvis nedladdad – klicka för att slutföra';
|
||||
@override String get deleting => 'Tar bort...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => 'Tar bort ${title}... (${current} av ${total})';
|
||||
@override String get queuedTooltip => 'I kö';
|
||||
@override String queuedFilesTooltip({required Object files}) => 'I kö: ${files}';
|
||||
@override String get downloadingTooltip => 'Laddar ned...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteSv extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => 'Fjärrkontroll';
|
||||
@override String connectedTo({required Object name}) => 'Ansluten till ${name}';
|
||||
@override String get unknownDevice => 'Okänd enhet';
|
||||
@override late final _TranslationsCompanionRemoteSessionSv session = _TranslationsCompanionRemoteSessionSv._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingSv pairing = _TranslationsCompanionRemotePairingSv._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteSv remote = _TranslationsCompanionRemoteRemoteSv._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsSv errors = _TranslationsCompanionRemoteErrorsSv._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsSv extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => 'Normalisera ljudstyrka';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlaySv extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlaySv._(TranslationsSv root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsSv _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => 'Färg';
|
||||
@override String get performance => 'Prestanda';
|
||||
@override String get buffer => 'Buffert';
|
||||
@override String get app => 'App';
|
||||
@override String get decoder => 'Dekoder';
|
||||
@override String get rawDecoder => 'Rå dekoder';
|
||||
@override String get tunneling => 'Tunneling';
|
||||
@override String get aspect => 'Bildformat';
|
||||
@override String get rotation => 'Rotation';
|
||||
@override String get dvSource => 'DV-källa';
|
||||
@override String get dvPath => 'DV-sökväg';
|
||||
@override String get p7Conversion => 'P7-konv.';
|
||||
@override String get sampleRate => 'Samplingsfrekvens';
|
||||
@override String get pixelFormat => 'Pixelformat';
|
||||
@override String get hwFormat => 'HW-format';
|
||||
@override String get matrix => 'Matris';
|
||||
@override String get primaries => 'Primärfärger';
|
||||
@override String get transfer => 'Transfer';
|
||||
@override String get renderFps => 'Render-FPS';
|
||||
@override String get displayFps => 'Skärm-FPS';
|
||||
@override String get avSync => 'A/V-synk';
|
||||
@override String get dropped => 'Tappade';
|
||||
@override String get dvRpus => 'DV RPU:er';
|
||||
@override String get dvRpuAverage => 'DV RPU snitt';
|
||||
@override String get dvSampleAverage => 'DV-sample snitt';
|
||||
@override String get maxLuma => 'Max luma';
|
||||
@override String get minLuma => 'Min luma';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => 'Cache använd';
|
||||
@override String get speed => 'Hastighet';
|
||||
@override String get player => 'Spelare';
|
||||
@override String get memory => 'Minne';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerSv extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerSv._(TranslationsSv root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerSv extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => 'Systemstandard';
|
||||
@override String get addCustomPlayer => 'Lägg till anpassad spelare';
|
||||
@override String get playerName => 'Spelarnamn';
|
||||
@override String get playerNameHint => 'Min spelare';
|
||||
@override String get playerCommand => 'Kommando';
|
||||
@override String get playerPackage => 'Paketnamn';
|
||||
@override String get playerUrlScheme => 'URL-schema';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteSv extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => 'Sök på datorn...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsSv extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsSv._(TranslationsSv root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsSv _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => 'Inget nätverksgränssnitt hittades';
|
||||
@override String get authenticationFailed => 'Autentisering misslyckades';
|
||||
@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';
|
||||
@override String get connectionLost => 'Anslutning förlorad';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesSv extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesSv._(TranslationsSv root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsSv {
|
||||
'common.settings' => 'Mer',
|
||||
'common.mute' => 'Ljud av',
|
||||
'common.ok' => 'OK',
|
||||
'common.off' => 'Av',
|
||||
'common.seasonNumber' => ({required Object number}) => 'Säsong ${number}',
|
||||
'common.chapterNumber' => ({required Object number}) => 'Kapitel ${number}',
|
||||
'common.reconnect' => 'Återanslut',
|
||||
'common.exit' => 'Avsluta',
|
||||
'common.viewAll' => 'Visa alla',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsSv {
|
||||
'settings.dvConversionNative' => 'Inbyggt / inaktiverat',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => 'Använd enhetens kapabilitetsdetektering och normalt reservbeteende',
|
||||
'settings.dvConversionNativeDescription' => 'Tvinga native DV7 och undertryck försök till DV-konvertering',
|
||||
'settings.dvConversionDv81Description' => 'Tvinga inline RPU-konvertering till Dolby Vision profil 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => 'Ta bort Dolby Vision RPU/EL-lager och presentera vanlig HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => 'Fråga efter profil vid appstart',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => 'Visa profilval varje gång appen öppnas',
|
||||
'settings.forceTvMode' => 'Tvinga TV-läge',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsSv {
|
||||
'search.enterTitleActorOrKeyword' => 'Ange en titel, skådespelare eller nyckelord',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => 'Sätt genväg för ${actionName}',
|
||||
'hotkeys.clearShortcut' => 'Rensa genväg',
|
||||
'hotkeys.noShortcutSet' => 'Ingen genväg angiven',
|
||||
'hotkeys.currentShortcut' => 'Aktuell genväg:',
|
||||
'hotkeys.actions.playPause' => 'Spela/Pausa',
|
||||
'hotkeys.actions.volumeUp' => 'Höj volym',
|
||||
'hotkeys.actions.volumeDown' => 'Sänk volym',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsSv {
|
||||
'mediaMenu.goToSeries' => 'Gå till serie',
|
||||
'mediaMenu.goToSeason' => 'Gå till säsong',
|
||||
'mediaMenu.shufflePlay' => 'Blanda uppspelning',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => 'Blandad uppspelning är inte tillgänglig offline',
|
||||
'mediaMenu.fileInfo' => 'Filinformation',
|
||||
'mediaMenu.deleteFromServer' => 'Ta bort från servern',
|
||||
'mediaMenu.confirmDelete' => 'Ta bort detta media och dess filer från din server?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsSv {
|
||||
'videoControls.searchSubtitles' => 'Sök undertexter',
|
||||
'videoControls.language' => 'Språk',
|
||||
'videoControls.noSubtitlesFound' => 'Inga undertexter hittades',
|
||||
'videoControls.downloadedSubtitle' => 'Nedladdad',
|
||||
'videoControls.noSubtitlesAvailable' => 'Inga undertexter tillgängliga',
|
||||
'videoControls.noAudioTracksAvailable' => 'Inga ljudspår tillgängliga',
|
||||
'videoControls.noTracksAvailable' => 'Inga spår tillgängliga',
|
||||
'videoControls.subtitleDownloaded' => 'Undertext nedladdad',
|
||||
'videoControls.subtitleDownloadFailed' => 'Kunde inte ladda ner undertext',
|
||||
'videoControls.searchLanguages' => 'Sök språk...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsSv {
|
||||
'subtitlingStyling.borderColor' => 'Kantfärg',
|
||||
'subtitlingStyling.backgroundOpacity' => 'Bakgrundsopacitet',
|
||||
'subtitlingStyling.backgroundColor' => 'Bakgrundsfärg',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => 'Position',
|
||||
'subtitlingStyling.assOverride' => 'ASS-åsidosättning',
|
||||
'subtitlingStyling.bold' => 'Fet',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsSv {
|
||||
'mpvConfig.loadPreset' => 'Ladda',
|
||||
'mpvConfig.deletePreset' => 'Ta bort',
|
||||
'mpvConfig.presetSaved' => 'Förval sparat',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => 'Förval laddat',
|
||||
'mpvConfig.presetDeleted' => 'Förval borttaget',
|
||||
'mpvConfig.confirmDeletePreset' => 'Är du säker på att du vill ta bort detta förval?',
|
||||
@@ -2399,6 +2507,7 @@ 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',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsSv {
|
||||
'discover.movie' => 'Film',
|
||||
'discover.tvShow' => 'TV-serie',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '${minutes} min kvar',
|
||||
'discover.moreLikeThis' => 'Mer som detta',
|
||||
'errors.searchFailed' => ({required Object error}) => 'Sökning misslyckades: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => 'Anslutnings-timeout vid laddning ${context}',
|
||||
'errors.connectionFailed' => 'Kan inte ansluta till mediaserver',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsSv {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => 'Misslyckades att ta bort ${displayName}',
|
||||
'errors.failedToRate' => 'Det gick inte att uppdatera betyget',
|
||||
'libraries.title' => 'Bibliotek',
|
||||
'libraries.fallbackTitle' => 'Bibliotek',
|
||||
'libraries.scanLibraryFiles' => 'Skanna biblioteksfiler',
|
||||
'libraries.scanLibrary' => 'Skanna bibliotek',
|
||||
'libraries.analyze' => 'Analysera',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsSv {
|
||||
'liveTv.noChannels' => 'Inga kanaler tillgängliga',
|
||||
'liveTv.noDvr' => 'Ingen DVR konfigurerad på någon server',
|
||||
'liveTv.noPrograms' => 'Ingen programdata tillgänglig',
|
||||
'liveTv.liveStreamFailed' => 'Liveström misslyckades',
|
||||
'liveTv.unknownProgram' => 'Okänt program',
|
||||
'liveTv.unknownHub' => 'Okänt',
|
||||
'liveTv.unknownError' => 'Okänt fel',
|
||||
'liveTv.channelNumber' => ({required Object number}) => 'Kanal ${number}',
|
||||
'liveTv.unknownChannel' => 'Okänd kanal',
|
||||
'liveTv.live' => 'LIVE',
|
||||
'liveTv.reloadGuide' => 'Ladda om programguide',
|
||||
'liveTv.now' => 'Nu',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsSv {
|
||||
'downloads.deleteDownload' => 'Ta bort nedladdning',
|
||||
'downloads.retryDownload' => 'Försök igen',
|
||||
'downloads.downloadQueued' => 'Nedladdning köad',
|
||||
'downloads.downloadResumed' => 'Nedladdning återupptagen',
|
||||
'downloads.serverErrorBitrate' => 'Serverfel: filen kan överskrida gränsen för fjärrbitrate',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} avsnitt köade för nedladdning',
|
||||
'downloads.downloadDeleted' => 'Nedladdning borttagen',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Ta bort "${title}" från den här enheten?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Tar bort ${title}... (${current} av ${total})',
|
||||
'downloads.cancelledDownloadTitle' => 'Avbruten nedladdning',
|
||||
'downloads.cancelledDownloadMessage' => 'Den här nedladdningen avbröts. Vad vill du göra?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'Alla avsnitt är redan nedladdade',
|
||||
'downloads.resumeDownload' => 'Återuppta nedladdning',
|
||||
'downloads.cancelledDownload' => 'Avbruten nedladdning',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file} (synkroniserar ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '${file} nedladdad – klicka för att slutföra',
|
||||
'downloads.partialDownloadClickToComplete' => 'Delvis nedladdad – klicka för att slutföra',
|
||||
'downloads.deleting' => 'Tar bort...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => 'Tar bort ${title}... (${current} av ${total})',
|
||||
'downloads.queuedTooltip' => 'I kö',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => 'I kö: ${files}',
|
||||
'downloads.downloadingTooltip' => 'Laddar ned...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsSv {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => 'Ta bort "${name}"?',
|
||||
'companionRemote.title' => 'Fjärrkontroll',
|
||||
'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',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsSv {
|
||||
'companionRemote.remote.tabSettings' => 'Inställningar',
|
||||
'companionRemote.remote.previous' => 'Föregående',
|
||||
'companionRemote.remote.playPause' => 'Spela/Pausa',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => 'Nästa',
|
||||
'companionRemote.remote.seekBack' => 'Spola bakåt',
|
||||
'companionRemote.remote.stop' => 'Stopp',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsSv {
|
||||
'companionRemote.remote.subtitles' => 'Undertexter',
|
||||
'companionRemote.remote.audio' => 'Ljud',
|
||||
'companionRemote.remote.searchHint' => 'Sök på datorn...',
|
||||
'companionRemote.errors.noNetworkInterface' => 'Inget nätverksgränssnitt hittades',
|
||||
'companionRemote.errors.authenticationFailed' => 'Autentisering misslyckades',
|
||||
'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',
|
||||
'companionRemote.errors.connectionLost' => 'Anslutning förlorad',
|
||||
'videoSettings.playbackSpeed' => 'Uppspelningshastighet',
|
||||
'videoSettings.zoom' => 'Zoom',
|
||||
'videoSettings.sleepTimer' => 'Sovtimer',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsSv {
|
||||
'videoSettings.performanceOverlay' => 'Prestandaöverlägg',
|
||||
'videoSettings.audioPassthrough' => 'Ljudgenomkoppling',
|
||||
'videoSettings.audioNormalization' => 'Normalisera ljudstyrka',
|
||||
'performanceOverlay.color' => 'Färg',
|
||||
'performanceOverlay.performance' => 'Prestanda',
|
||||
'performanceOverlay.buffer' => 'Buffert',
|
||||
'performanceOverlay.app' => 'App',
|
||||
'performanceOverlay.decoder' => 'Dekoder',
|
||||
'performanceOverlay.rawDecoder' => 'Rå dekoder',
|
||||
'performanceOverlay.tunneling' => 'Tunneling',
|
||||
'performanceOverlay.aspect' => 'Bildformat',
|
||||
'performanceOverlay.rotation' => 'Rotation',
|
||||
'performanceOverlay.dvSource' => 'DV-källa',
|
||||
'performanceOverlay.dvPath' => 'DV-sökväg',
|
||||
'performanceOverlay.p7Conversion' => 'P7-konv.',
|
||||
'performanceOverlay.sampleRate' => 'Samplingsfrekvens',
|
||||
'performanceOverlay.pixelFormat' => 'Pixelformat',
|
||||
'performanceOverlay.hwFormat' => 'HW-format',
|
||||
'performanceOverlay.matrix' => 'Matris',
|
||||
'performanceOverlay.primaries' => 'Primärfärger',
|
||||
'performanceOverlay.transfer' => 'Transfer',
|
||||
'performanceOverlay.renderFps' => 'Render-FPS',
|
||||
'performanceOverlay.displayFps' => 'Skärm-FPS',
|
||||
'performanceOverlay.avSync' => 'A/V-synk',
|
||||
'performanceOverlay.dropped' => 'Tappade',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU:er',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV RPU snitt',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV-sample snitt',
|
||||
'performanceOverlay.maxLuma' => 'Max luma',
|
||||
'performanceOverlay.minLuma' => 'Min luma',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => 'Cache använd',
|
||||
'performanceOverlay.speed' => 'Hastighet',
|
||||
'performanceOverlay.player' => 'Spelare',
|
||||
'performanceOverlay.memory' => 'Minne',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => 'Extern spelare',
|
||||
'externalPlayer.useExternalPlayer' => 'Använd extern spelare',
|
||||
'externalPlayer.useExternalPlayerDescription' => 'Öppna videor i en annan app',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsSv {
|
||||
'externalPlayer.systemDefault' => 'Systemstandard',
|
||||
'externalPlayer.addCustomPlayer' => 'Lägg till anpassad spelare',
|
||||
'externalPlayer.playerName' => 'Spelarnamn',
|
||||
'externalPlayer.playerNameHint' => 'Min spelare',
|
||||
'externalPlayer.playerCommand' => 'Kommando',
|
||||
'externalPlayer.playerPackage' => 'Paketnamn',
|
||||
'externalPlayer.playerUrlScheme' => 'URL-schema',
|
||||
'externalPlayer.off' => 'Av',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => 'Kunde inte öppna extern spelare',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} är inte installerad',
|
||||
'externalPlayer.playInExternalPlayer' => 'Spela i extern spelare',
|
||||
|
||||
+174
-6
@@ -77,6 +77,7 @@ class TranslationsZh extends Translations with BaseTranslations<AppLocale, Trans
|
||||
@override late final _TranslationsShadersZh shaders = _TranslationsShadersZh._(_root);
|
||||
@override late final _TranslationsCompanionRemoteZh companionRemote = _TranslationsCompanionRemoteZh._(_root);
|
||||
@override late final _TranslationsVideoSettingsZh videoSettings = _TranslationsVideoSettingsZh._(_root);
|
||||
@override late final _TranslationsPerformanceOverlayZh performanceOverlay = _TranslationsPerformanceOverlayZh._(_root);
|
||||
@override late final _TranslationsExternalPlayerZh externalPlayer = _TranslationsExternalPlayerZh._(_root);
|
||||
@override late final _TranslationsMetadataEditZh metadataEdit = _TranslationsMetadataEditZh._(_root);
|
||||
@override late final _TranslationsMatchScreenZh matchScreen = _TranslationsMatchScreenZh._(_root);
|
||||
@@ -159,6 +160,9 @@ class _TranslationsCommonZh extends TranslationsCommonEn {
|
||||
@override String get settings => '设置';
|
||||
@override String get mute => '静音';
|
||||
@override String get ok => '确定';
|
||||
@override String get off => '关闭';
|
||||
@override String seasonNumber({required Object number}) => '第${number}季';
|
||||
@override String chapterNumber({required Object number}) => '章节 ${number}';
|
||||
@override String get reconnect => '重新连接';
|
||||
@override String get exit => '退出';
|
||||
@override String get viewAll => '查看全部';
|
||||
@@ -385,6 +389,10 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
|
||||
@override String get dvConversionNative => '原生 / 禁用';
|
||||
@override String get dvConversionDv81 => 'P7 → P8.1';
|
||||
@override String get dvConversionHevcStrip => 'P7 → HEVC';
|
||||
@override String get dvConversionAutoDescription => '使用设备能力检测和正常回退行为';
|
||||
@override String get dvConversionNativeDescription => '强制原生 DV7 并抑制 DV 转换重试';
|
||||
@override String get dvConversionDv81Description => '强制内联 RPU 转换为 Dolby Vision Profile 8.1';
|
||||
@override String get dvConversionHevcStripDescription => '移除 Dolby Vision RPU/EL 层并呈现普通 HEVC';
|
||||
@override String get requireProfileSelectionOnOpen => '打开应用时询问配置文件';
|
||||
@override String get requireProfileSelectionOnOpenDescription => '每次打开应用时显示配置文件选择';
|
||||
@override String get forceTvMode => '强制 TV 模式';
|
||||
@@ -432,6 +440,8 @@ class _TranslationsHotkeysZh extends TranslationsHotkeysEn {
|
||||
// Translations
|
||||
@override String setShortcutFor({required Object actionName}) => '为 ${actionName} 设置快捷键';
|
||||
@override String get clearShortcut => '清除快捷键';
|
||||
@override String get noShortcutSet => '未设置快捷键';
|
||||
@override String get currentShortcut => '当前快捷键:';
|
||||
@override late final _TranslationsHotkeysActionsZh actions = _TranslationsHotkeysActionsZh._(_root);
|
||||
}
|
||||
|
||||
@@ -482,6 +492,7 @@ class _TranslationsMediaMenuZh extends TranslationsMediaMenuEn {
|
||||
@override String get goToSeries => '转到系列';
|
||||
@override String get goToSeason => '转到季';
|
||||
@override String get shufflePlay => '随机播放';
|
||||
@override String get shuffleNotAvailableOffline => '离线时无法随机播放';
|
||||
@override String get fileInfo => '文件信息';
|
||||
@override String get deleteFromServer => '从服务器删除';
|
||||
@override String get confirmDelete => '要从服务器删除此媒体及其文件吗?';
|
||||
@@ -620,6 +631,10 @@ class _TranslationsVideoControlsZh extends TranslationsVideoControlsEn {
|
||||
@override String get searchSubtitles => '搜索字幕';
|
||||
@override String get language => '语言';
|
||||
@override String get noSubtitlesFound => '未找到字幕';
|
||||
@override String get downloadedSubtitle => '已下载';
|
||||
@override String get noSubtitlesAvailable => '没有可用字幕';
|
||||
@override String get noAudioTracksAvailable => '没有可用音轨';
|
||||
@override String get noTracksAvailable => '没有可用轨道';
|
||||
@override String get subtitleDownloaded => '字幕已下载';
|
||||
@override String get subtitleDownloadFailed => '字幕下载失败';
|
||||
@override String get searchLanguages => '搜索语言...';
|
||||
@@ -808,6 +823,7 @@ 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
|
||||
@@ -854,6 +870,7 @@ class _TranslationsDiscoverZh extends TranslationsDiscoverEn {
|
||||
@override String get movie => '电影';
|
||||
@override String get tvShow => '电视剧';
|
||||
@override String minutesLeft({required Object minutes}) => '剩余 ${minutes} 分钟';
|
||||
@override String get moreLikeThis => '更多类似内容';
|
||||
}
|
||||
|
||||
// Path: errors
|
||||
@@ -886,6 +903,7 @@ class _TranslationsLibrariesZh extends TranslationsLibrariesEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => '媒体库';
|
||||
@override String get fallbackTitle => '媒体库';
|
||||
@override String get scanLibraryFiles => '扫描媒体库文件';
|
||||
@override String get scanLibrary => '扫描媒体库';
|
||||
@override String get analyze => '分析';
|
||||
@@ -1018,6 +1036,12 @@ class _TranslationsLiveTvZh extends TranslationsLiveTvEn {
|
||||
@override String get noChannels => '没有可用的频道';
|
||||
@override String get noDvr => '没有服务器配置了DVR';
|
||||
@override String get noPrograms => '没有可用的节目数据';
|
||||
@override String get liveStreamFailed => '直播流失败';
|
||||
@override String get unknownProgram => '未知节目';
|
||||
@override String get unknownHub => '未知';
|
||||
@override String get unknownError => '未知错误';
|
||||
@override String channelNumber({required Object number}) => '频道 ${number}';
|
||||
@override String get unknownChannel => '未知频道';
|
||||
@override String get live => '直播';
|
||||
@override String get reloadGuide => '重新加载节目指南';
|
||||
@override String get now => '现在';
|
||||
@@ -1224,12 +1248,21 @@ class _TranslationsDownloadsZh extends TranslationsDownloadsEn {
|
||||
@override String get deleteDownload => '删除下载';
|
||||
@override String get retryDownload => '重试下载';
|
||||
@override String get downloadQueued => '下载已排队';
|
||||
@override String get downloadResumed => '下载已继续';
|
||||
@override String get serverErrorBitrate => '服务器错误:文件可能超过远程比特率限制';
|
||||
@override String episodesQueued({required Object count}) => '${count} 集已加入下载队列';
|
||||
@override String get downloadDeleted => '下载已删除';
|
||||
@override String deleteConfirm({required Object title}) => '要从此设备删除“${title}”吗?';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => '正在删除 ${title}... (${current}/${total})';
|
||||
@override String get cancelledDownloadTitle => '已取消的下载';
|
||||
@override String get cancelledDownloadMessage => '此下载已取消。你想怎么做?';
|
||||
@override String get allEpisodesAlreadyDownloaded => '所有剧集均已下载';
|
||||
@override String get resumeDownload => '继续下载';
|
||||
@override String get cancelledDownload => '已取消的下载';
|
||||
@override String syncingFile({required Object file, required Object status}) => '${file}(正在同步 ${status})';
|
||||
@override String downloadedFileClickToComplete({required Object file}) => '已下载 ${file} — 点击完成';
|
||||
@override String get partialDownloadClickToComplete => '已部分下载 — 点击完成';
|
||||
@override String get deleting => '正在删除...';
|
||||
@override String deletingWithProgress({required Object title, required Object current, required Object total}) => '正在删除 ${title}... (${current}/${total})';
|
||||
@override String get queuedTooltip => '已排队';
|
||||
@override String queuedFilesTooltip({required Object files}) => '已排队:${files}';
|
||||
@override String get downloadingTooltip => '正在下载...';
|
||||
@@ -1304,9 +1337,11 @@ class _TranslationsCompanionRemoteZh extends TranslationsCompanionRemoteEn {
|
||||
// Translations
|
||||
@override String get title => '伴侣遥控';
|
||||
@override String connectedTo({required Object name}) => '已连接到 ${name}';
|
||||
@override String get unknownDevice => '未知设备';
|
||||
@override late final _TranslationsCompanionRemoteSessionZh session = _TranslationsCompanionRemoteSessionZh._(_root);
|
||||
@override late final _TranslationsCompanionRemotePairingZh pairing = _TranslationsCompanionRemotePairingZh._(_root);
|
||||
@override late final _TranslationsCompanionRemoteRemoteZh remote = _TranslationsCompanionRemoteRemoteZh._(_root);
|
||||
@override late final _TranslationsCompanionRemoteErrorsZh errors = _TranslationsCompanionRemoteErrorsZh._(_root);
|
||||
}
|
||||
|
||||
// Path: videoSettings
|
||||
@@ -1328,6 +1363,49 @@ class _TranslationsVideoSettingsZh extends TranslationsVideoSettingsEn {
|
||||
@override String get audioNormalization => '响度标准化';
|
||||
}
|
||||
|
||||
// Path: performanceOverlay
|
||||
class _TranslationsPerformanceOverlayZh extends TranslationsPerformanceOverlayEn {
|
||||
_TranslationsPerformanceOverlayZh._(TranslationsZh root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsZh _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get color => '颜色';
|
||||
@override String get performance => '性能';
|
||||
@override String get buffer => '缓冲';
|
||||
@override String get app => '应用';
|
||||
@override String get decoder => '解码器';
|
||||
@override String get rawDecoder => '原始解码器';
|
||||
@override String get tunneling => '隧道';
|
||||
@override String get aspect => '宽高比';
|
||||
@override String get rotation => '旋转';
|
||||
@override String get dvSource => 'DV 来源';
|
||||
@override String get dvPath => 'DV 路径';
|
||||
@override String get p7Conversion => 'P7 转换';
|
||||
@override String get sampleRate => '采样率';
|
||||
@override String get pixelFormat => '像素格式';
|
||||
@override String get hwFormat => '硬件格式';
|
||||
@override String get matrix => '矩阵';
|
||||
@override String get primaries => '基色';
|
||||
@override String get transfer => '传输';
|
||||
@override String get renderFps => '渲染 FPS';
|
||||
@override String get displayFps => '显示 FPS';
|
||||
@override String get avSync => 'A/V 同步';
|
||||
@override String get dropped => '丢帧';
|
||||
@override String get dvRpus => 'DV RPU';
|
||||
@override String get dvRpuAverage => 'DV RPU 平均';
|
||||
@override String get dvSampleAverage => 'DV 采样平均';
|
||||
@override String get maxLuma => '最大亮度';
|
||||
@override String get minLuma => '最小亮度';
|
||||
@override String get maxCll => 'MaxCLL';
|
||||
@override String get maxFall => 'MaxFALL';
|
||||
@override String get cacheUsed => '已用缓存';
|
||||
@override String get speed => '速度';
|
||||
@override String get player => '播放器';
|
||||
@override String get memory => '内存';
|
||||
@override String get uiFps => 'UI FPS';
|
||||
}
|
||||
|
||||
// Path: externalPlayer
|
||||
class _TranslationsExternalPlayerZh extends TranslationsExternalPlayerEn {
|
||||
_TranslationsExternalPlayerZh._(TranslationsZh root) : this._root = root, super.internal(root);
|
||||
@@ -1343,6 +1421,7 @@ class _TranslationsExternalPlayerZh extends TranslationsExternalPlayerEn {
|
||||
@override String get systemDefault => '系统默认';
|
||||
@override String get addCustomPlayer => '添加自定义播放器';
|
||||
@override String get playerName => '播放器名称';
|
||||
@override String get playerNameHint => '我的播放器';
|
||||
@override String get playerCommand => '命令';
|
||||
@override String get playerPackage => '包名';
|
||||
@override String get playerUrlScheme => 'URL 方案';
|
||||
@@ -1755,6 +1834,21 @@ class _TranslationsCompanionRemoteRemoteZh extends TranslationsCompanionRemoteRe
|
||||
@override String get searchHint => '在桌面上搜索...';
|
||||
}
|
||||
|
||||
// Path: companionRemote.errors
|
||||
class _TranslationsCompanionRemoteErrorsZh extends TranslationsCompanionRemoteErrorsEn {
|
||||
_TranslationsCompanionRemoteErrorsZh._(TranslationsZh root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsZh _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get noNetworkInterface => '未找到网络接口';
|
||||
@override String get authenticationFailed => '身份验证失败';
|
||||
@override String get joinTimedOut => '加入会话超时';
|
||||
@override String get failedToConnectAnyAddress => '无法连接到任何地址';
|
||||
@override String connectionLostAfterAttempts({required Object attempts}) => '${attempts} 次尝试后连接丢失';
|
||||
@override String get connectionLost => '连接丢失';
|
||||
}
|
||||
|
||||
// Path: trackers.services
|
||||
class _TranslationsTrackersServicesZh extends TranslationsTrackersServicesEn {
|
||||
_TranslationsTrackersServicesZh._(TranslationsZh root) : this._root = root, super.internal(root);
|
||||
@@ -1871,6 +1965,9 @@ extension on TranslationsZh {
|
||||
'common.settings' => '设置',
|
||||
'common.mute' => '静音',
|
||||
'common.ok' => '确定',
|
||||
'common.off' => '关闭',
|
||||
'common.seasonNumber' => ({required Object number}) => '第${number}季',
|
||||
'common.chapterNumber' => ({required Object number}) => '章节 ${number}',
|
||||
'common.reconnect' => '重新连接',
|
||||
'common.exit' => '退出',
|
||||
'common.viewAll' => '查看全部',
|
||||
@@ -2070,6 +2167,10 @@ extension on TranslationsZh {
|
||||
'settings.dvConversionNative' => '原生 / 禁用',
|
||||
'settings.dvConversionDv81' => 'P7 → P8.1',
|
||||
'settings.dvConversionHevcStrip' => 'P7 → HEVC',
|
||||
'settings.dvConversionAutoDescription' => '使用设备能力检测和正常回退行为',
|
||||
'settings.dvConversionNativeDescription' => '强制原生 DV7 并抑制 DV 转换重试',
|
||||
'settings.dvConversionDv81Description' => '强制内联 RPU 转换为 Dolby Vision Profile 8.1',
|
||||
'settings.dvConversionHevcStripDescription' => '移除 Dolby Vision RPU/EL 层并呈现普通 HEVC',
|
||||
'settings.requireProfileSelectionOnOpen' => '打开应用时询问配置文件',
|
||||
'settings.requireProfileSelectionOnOpenDescription' => '每次打开应用时显示配置文件选择',
|
||||
'settings.forceTvMode' => '强制 TV 模式',
|
||||
@@ -2099,6 +2200,8 @@ extension on TranslationsZh {
|
||||
'search.enterTitleActorOrKeyword' => '输入标题、演员或关键词',
|
||||
'hotkeys.setShortcutFor' => ({required Object actionName}) => '为 ${actionName} 设置快捷键',
|
||||
'hotkeys.clearShortcut' => '清除快捷键',
|
||||
'hotkeys.noShortcutSet' => '未设置快捷键',
|
||||
'hotkeys.currentShortcut' => '当前快捷键:',
|
||||
'hotkeys.actions.playPause' => '播放/暂停',
|
||||
'hotkeys.actions.volumeUp' => '增大音量',
|
||||
'hotkeys.actions.volumeDown' => '减小音量',
|
||||
@@ -2155,6 +2258,7 @@ extension on TranslationsZh {
|
||||
'mediaMenu.goToSeries' => '转到系列',
|
||||
'mediaMenu.goToSeason' => '转到季',
|
||||
'mediaMenu.shufflePlay' => '随机播放',
|
||||
'mediaMenu.shuffleNotAvailableOffline' => '离线时无法随机播放',
|
||||
'mediaMenu.fileInfo' => '文件信息',
|
||||
'mediaMenu.deleteFromServer' => '从服务器删除',
|
||||
'mediaMenu.confirmDelete' => '要从服务器删除此媒体及其文件吗?',
|
||||
@@ -2263,6 +2367,10 @@ extension on TranslationsZh {
|
||||
'videoControls.searchSubtitles' => '搜索字幕',
|
||||
'videoControls.language' => '语言',
|
||||
'videoControls.noSubtitlesFound' => '未找到字幕',
|
||||
'videoControls.downloadedSubtitle' => '已下载',
|
||||
'videoControls.noSubtitlesAvailable' => '没有可用字幕',
|
||||
'videoControls.noAudioTracksAvailable' => '没有可用音轨',
|
||||
'videoControls.noTracksAvailable' => '没有可用轨道',
|
||||
'videoControls.subtitleDownloaded' => '字幕已下载',
|
||||
'videoControls.subtitleDownloadFailed' => '字幕下载失败',
|
||||
'videoControls.searchLanguages' => '搜索语言...',
|
||||
@@ -2321,6 +2429,8 @@ extension on TranslationsZh {
|
||||
'subtitlingStyling.borderColor' => '边框颜色',
|
||||
'subtitlingStyling.backgroundOpacity' => '背景不透明度',
|
||||
'subtitlingStyling.backgroundColor' => '背景颜色',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'subtitlingStyling.position' => '位置',
|
||||
'subtitlingStyling.assOverride' => 'ASS 样式覆盖',
|
||||
'subtitlingStyling.bold' => '粗体',
|
||||
@@ -2335,8 +2445,6 @@ extension on TranslationsZh {
|
||||
'mpvConfig.loadPreset' => '加载',
|
||||
'mpvConfig.deletePreset' => '删除',
|
||||
'mpvConfig.presetSaved' => '预设已保存',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'mpvConfig.presetLoaded' => '预设已加载',
|
||||
'mpvConfig.presetDeleted' => '预设已删除',
|
||||
'mpvConfig.confirmDeletePreset' => '确定要删除此预设吗?',
|
||||
@@ -2399,6 +2507,7 @@ extension on TranslationsZh {
|
||||
'profiles.pinExplain' => '切换个人资料需要 4 位 PIN。',
|
||||
'profiles.continueButton' => '继续',
|
||||
'profiles.pinsDontMatch' => 'PIN 不匹配',
|
||||
'profiles.initializeServicesFailed' => '无法初始化个人资料服务',
|
||||
'connections.sectionTitle' => '连接',
|
||||
'connections.addConnection' => '添加连接',
|
||||
'connections.addConnectionSubtitleNoProfile' => '使用 Plex 登录或连接 Jellyfin 服务器',
|
||||
@@ -2427,6 +2536,7 @@ extension on TranslationsZh {
|
||||
'discover.movie' => '电影',
|
||||
'discover.tvShow' => '电视剧',
|
||||
'discover.minutesLeft' => ({required Object minutes}) => '剩余 ${minutes} 分钟',
|
||||
'discover.moreLikeThis' => '更多类似内容',
|
||||
'errors.searchFailed' => ({required Object error}) => '搜索失败: ${error}',
|
||||
'errors.connectionTimeout' => ({required Object context}) => '加载 ${context} 时连接超时',
|
||||
'errors.connectionFailed' => '无法连接到媒体服务器',
|
||||
@@ -2441,6 +2551,7 @@ extension on TranslationsZh {
|
||||
'errors.failedToDeleteProfile' => ({required Object displayName}) => '无法删除 ${displayName}',
|
||||
'errors.failedToRate' => '无法更新评分',
|
||||
'libraries.title' => '媒体库',
|
||||
'libraries.fallbackTitle' => '媒体库',
|
||||
'libraries.scanLibraryFiles' => '扫描媒体库文件',
|
||||
'libraries.scanLibrary' => '扫描媒体库',
|
||||
'libraries.analyze' => '分析',
|
||||
@@ -2541,6 +2652,12 @@ extension on TranslationsZh {
|
||||
'liveTv.noChannels' => '没有可用的频道',
|
||||
'liveTv.noDvr' => '没有服务器配置了DVR',
|
||||
'liveTv.noPrograms' => '没有可用的节目数据',
|
||||
'liveTv.liveStreamFailed' => '直播流失败',
|
||||
'liveTv.unknownProgram' => '未知节目',
|
||||
'liveTv.unknownHub' => '未知',
|
||||
'liveTv.unknownError' => '未知错误',
|
||||
'liveTv.channelNumber' => ({required Object number}) => '频道 ${number}',
|
||||
'liveTv.unknownChannel' => '未知频道',
|
||||
'liveTv.live' => '直播',
|
||||
'liveTv.reloadGuide' => '重新加载节目指南',
|
||||
'liveTv.now' => '现在',
|
||||
@@ -2711,12 +2828,21 @@ extension on TranslationsZh {
|
||||
'downloads.deleteDownload' => '删除下载',
|
||||
'downloads.retryDownload' => '重试下载',
|
||||
'downloads.downloadQueued' => '下载已排队',
|
||||
'downloads.downloadResumed' => '下载已继续',
|
||||
'downloads.serverErrorBitrate' => '服务器错误:文件可能超过远程比特率限制',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} 集已加入下载队列',
|
||||
'downloads.downloadDeleted' => '下载已删除',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => '要从此设备删除“${title}”吗?',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => '正在删除 ${title}... (${current}/${total})',
|
||||
'downloads.cancelledDownloadTitle' => '已取消的下载',
|
||||
'downloads.cancelledDownloadMessage' => '此下载已取消。你想怎么做?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => '所有剧集均已下载',
|
||||
'downloads.resumeDownload' => '继续下载',
|
||||
'downloads.cancelledDownload' => '已取消的下载',
|
||||
'downloads.syncingFile' => ({required Object file, required Object status}) => '${file}(正在同步 ${status})',
|
||||
'downloads.downloadedFileClickToComplete' => ({required Object file}) => '已下载 ${file} — 点击完成',
|
||||
'downloads.partialDownloadClickToComplete' => '已部分下载 — 点击完成',
|
||||
'downloads.deleting' => '正在删除...',
|
||||
'downloads.deletingWithProgress' => ({required Object title, required Object current, required Object total}) => '正在删除 ${title}... (${current}/${total})',
|
||||
'downloads.queuedTooltip' => '已排队',
|
||||
'downloads.queuedFilesTooltip' => ({required Object files}) => '已排队:${files}',
|
||||
'downloads.downloadingTooltip' => '正在下载...',
|
||||
@@ -2773,6 +2899,7 @@ extension on TranslationsZh {
|
||||
'shaders.deleteShaderConfirm' => ({required Object name}) => '删除"${name}"?',
|
||||
'companionRemote.title' => '伴侣遥控',
|
||||
'companionRemote.connectedTo' => ({required Object name}) => '已连接到 ${name}',
|
||||
'companionRemote.unknownDevice' => '未知设备',
|
||||
'companionRemote.session.startingServer' => '正在启动远程服务器...',
|
||||
'companionRemote.session.failedToCreate' => '启动远程服务器失败:',
|
||||
'companionRemote.session.hostAddress' => '主机地址',
|
||||
@@ -2816,6 +2943,8 @@ extension on TranslationsZh {
|
||||
'companionRemote.remote.tabSettings' => '设置',
|
||||
'companionRemote.remote.previous' => '上一个',
|
||||
'companionRemote.remote.playPause' => '播放/暂停',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'companionRemote.remote.next' => '下一个',
|
||||
'companionRemote.remote.seekBack' => '后退',
|
||||
'companionRemote.remote.stop' => '停止',
|
||||
@@ -2827,6 +2956,12 @@ extension on TranslationsZh {
|
||||
'companionRemote.remote.subtitles' => '字幕',
|
||||
'companionRemote.remote.audio' => '音频',
|
||||
'companionRemote.remote.searchHint' => '在桌面上搜索...',
|
||||
'companionRemote.errors.noNetworkInterface' => '未找到网络接口',
|
||||
'companionRemote.errors.authenticationFailed' => '身份验证失败',
|
||||
'companionRemote.errors.joinTimedOut' => '加入会话超时',
|
||||
'companionRemote.errors.failedToConnectAnyAddress' => '无法连接到任何地址',
|
||||
'companionRemote.errors.connectionLostAfterAttempts' => ({required Object attempts}) => '${attempts} 次尝试后连接丢失',
|
||||
'companionRemote.errors.connectionLost' => '连接丢失',
|
||||
'videoSettings.playbackSpeed' => '播放速度',
|
||||
'videoSettings.zoom' => '缩放',
|
||||
'videoSettings.sleepTimer' => '睡眠定时器',
|
||||
@@ -2837,6 +2972,40 @@ extension on TranslationsZh {
|
||||
'videoSettings.performanceOverlay' => '性能监控',
|
||||
'videoSettings.audioPassthrough' => '音频直通',
|
||||
'videoSettings.audioNormalization' => '响度标准化',
|
||||
'performanceOverlay.color' => '颜色',
|
||||
'performanceOverlay.performance' => '性能',
|
||||
'performanceOverlay.buffer' => '缓冲',
|
||||
'performanceOverlay.app' => '应用',
|
||||
'performanceOverlay.decoder' => '解码器',
|
||||
'performanceOverlay.rawDecoder' => '原始解码器',
|
||||
'performanceOverlay.tunneling' => '隧道',
|
||||
'performanceOverlay.aspect' => '宽高比',
|
||||
'performanceOverlay.rotation' => '旋转',
|
||||
'performanceOverlay.dvSource' => 'DV 来源',
|
||||
'performanceOverlay.dvPath' => 'DV 路径',
|
||||
'performanceOverlay.p7Conversion' => 'P7 转换',
|
||||
'performanceOverlay.sampleRate' => '采样率',
|
||||
'performanceOverlay.pixelFormat' => '像素格式',
|
||||
'performanceOverlay.hwFormat' => '硬件格式',
|
||||
'performanceOverlay.matrix' => '矩阵',
|
||||
'performanceOverlay.primaries' => '基色',
|
||||
'performanceOverlay.transfer' => '传输',
|
||||
'performanceOverlay.renderFps' => '渲染 FPS',
|
||||
'performanceOverlay.displayFps' => '显示 FPS',
|
||||
'performanceOverlay.avSync' => 'A/V 同步',
|
||||
'performanceOverlay.dropped' => '丢帧',
|
||||
'performanceOverlay.dvRpus' => 'DV RPU',
|
||||
'performanceOverlay.dvRpuAverage' => 'DV RPU 平均',
|
||||
'performanceOverlay.dvSampleAverage' => 'DV 采样平均',
|
||||
'performanceOverlay.maxLuma' => '最大亮度',
|
||||
'performanceOverlay.minLuma' => '最小亮度',
|
||||
'performanceOverlay.maxCll' => 'MaxCLL',
|
||||
'performanceOverlay.maxFall' => 'MaxFALL',
|
||||
'performanceOverlay.cacheUsed' => '已用缓存',
|
||||
'performanceOverlay.speed' => '速度',
|
||||
'performanceOverlay.player' => '播放器',
|
||||
'performanceOverlay.memory' => '内存',
|
||||
'performanceOverlay.uiFps' => 'UI FPS',
|
||||
'externalPlayer.title' => '外部播放器',
|
||||
'externalPlayer.useExternalPlayer' => '使用外部播放器',
|
||||
'externalPlayer.useExternalPlayerDescription' => '在其他应用中打开视频',
|
||||
@@ -2845,12 +3014,11 @@ extension on TranslationsZh {
|
||||
'externalPlayer.systemDefault' => '系统默认',
|
||||
'externalPlayer.addCustomPlayer' => '添加自定义播放器',
|
||||
'externalPlayer.playerName' => '播放器名称',
|
||||
'externalPlayer.playerNameHint' => '我的播放器',
|
||||
'externalPlayer.playerCommand' => '命令',
|
||||
'externalPlayer.playerPackage' => '包名',
|
||||
'externalPlayer.playerUrlScheme' => 'URL 方案',
|
||||
'externalPlayer.off' => '关闭',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'externalPlayer.launchFailed' => '无法打开外部播放器',
|
||||
'externalPlayer.appNotInstalled' => ({required Object name}) => '${name} 未安装',
|
||||
'externalPlayer.playInExternalPlayer' => '在外部播放器中播放',
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "Mer",
|
||||
"mute": "Ljud av",
|
||||
"ok": "OK",
|
||||
"off": "Av",
|
||||
"seasonNumber": "Säsong ${number}",
|
||||
"chapterNumber": "Kapitel ${number}",
|
||||
"reconnect": "Återanslut",
|
||||
"exit": "Avsluta",
|
||||
"viewAll": "Visa alla",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "Inbyggt / inaktiverat",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Använd enhetens kapabilitetsdetektering och normalt reservbeteende",
|
||||
"dvConversionNativeDescription": "Tvinga native DV7 och undertryck försök till DV-konvertering",
|
||||
"dvConversionDv81Description": "Tvinga inline RPU-konvertering till Dolby Vision profil 8.1",
|
||||
"dvConversionHevcStripDescription": "Ta bort Dolby Vision RPU/EL-lager och presentera vanlig HEVC",
|
||||
"requireProfileSelectionOnOpen": "Fråga efter profil vid appstart",
|
||||
"requireProfileSelectionOnOpenDescription": "Visa profilval varje gång appen öppnas",
|
||||
"forceTvMode": "Tvinga TV-läge",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Sätt genväg för ${actionName}",
|
||||
"clearShortcut": "Rensa genväg",
|
||||
"noShortcutSet": "Ingen genväg angiven",
|
||||
"currentShortcut": "Aktuell genväg:",
|
||||
"actions": {
|
||||
"playPause": "Spela/Pausa",
|
||||
"volumeUp": "Höj volym",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "Gå till serie",
|
||||
"goToSeason": "Gå till säsong",
|
||||
"shufflePlay": "Blanda uppspelning",
|
||||
"shuffleNotAvailableOffline": "Blandad uppspelning är inte tillgänglig offline",
|
||||
"fileInfo": "Filinformation",
|
||||
"deleteFromServer": "Ta bort från servern",
|
||||
"confirmDelete": "Ta bort detta media och dess filer från din server?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "Sök undertexter",
|
||||
"language": "Språk",
|
||||
"noSubtitlesFound": "Inga undertexter hittades",
|
||||
"downloadedSubtitle": "Nedladdad",
|
||||
"noSubtitlesAvailable": "Inga undertexter tillgängliga",
|
||||
"noAudioTracksAvailable": "Inga ljudspår tillgängliga",
|
||||
"noTracksAvailable": "Inga spår tillgängliga",
|
||||
"subtitleDownloaded": "Undertext nedladdad",
|
||||
"subtitleDownloadFailed": "Kunde inte ladda ner undertext",
|
||||
"searchLanguages": "Sök språk..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"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"
|
||||
"pinsDontMatch": "PIN-koderna stämmer inte överens",
|
||||
"initializeServicesFailed": "Kunde inte initiera profiltjänster"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Anslutningar",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "Åldersgräns",
|
||||
"movie": "Film",
|
||||
"tvShow": "TV-serie",
|
||||
"minutesLeft": "${minutes} min kvar"
|
||||
"minutesLeft": "${minutes} min kvar",
|
||||
"moreLikeThis": "Mer som detta"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Sökning misslyckades: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "Bibliotek",
|
||||
"fallbackTitle": "Bibliotek",
|
||||
"scanLibraryFiles": "Skanna biblioteksfiler",
|
||||
"scanLibrary": "Skanna bibliotek",
|
||||
"analyze": "Analysera",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "Inga kanaler tillgängliga",
|
||||
"noDvr": "Ingen DVR konfigurerad på någon server",
|
||||
"noPrograms": "Ingen programdata tillgänglig",
|
||||
"liveStreamFailed": "Liveström misslyckades",
|
||||
"unknownProgram": "Okänt program",
|
||||
"unknownHub": "Okänt",
|
||||
"unknownError": "Okänt fel",
|
||||
"channelNumber": "Kanal ${number}",
|
||||
"unknownChannel": "Okänd kanal",
|
||||
"live": "LIVE",
|
||||
"reloadGuide": "Ladda om programguide",
|
||||
"now": "Nu",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "Ta bort nedladdning",
|
||||
"retryDownload": "Försök igen",
|
||||
"downloadQueued": "Nedladdning köad",
|
||||
"downloadResumed": "Nedladdning återupptagen",
|
||||
"serverErrorBitrate": "Serverfel: filen kan överskrida gränsen för fjärrbitrate",
|
||||
"episodesQueued": "${count} avsnitt köade för nedladdning",
|
||||
"downloadDeleted": "Nedladdning borttagen",
|
||||
"deleteConfirm": "Ta bort \"${title}\" från den här enheten?",
|
||||
"deletingWithProgress": "Tar bort ${title}... (${current} av ${total})",
|
||||
"cancelledDownloadTitle": "Avbruten nedladdning",
|
||||
"cancelledDownloadMessage": "Den här nedladdningen avbröts. Vad vill du göra?",
|
||||
"allEpisodesAlreadyDownloaded": "Alla avsnitt är redan nedladdade",
|
||||
"resumeDownload": "Återuppta nedladdning",
|
||||
"cancelledDownload": "Avbruten nedladdning",
|
||||
"syncingFile": "${file} (synkroniserar ${status})",
|
||||
"downloadedFileClickToComplete": "${file} nedladdad – klicka för att slutföra",
|
||||
"partialDownloadClickToComplete": "Delvis nedladdad – klicka för att slutföra",
|
||||
"deleting": "Tar bort...",
|
||||
"deletingWithProgress": "Tar bort ${title}... (${current} av ${total})",
|
||||
"queuedTooltip": "I kö",
|
||||
"queuedFilesTooltip": "I kö: ${files}",
|
||||
"downloadingTooltip": "Laddar ned...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "Fjärrkontroll",
|
||||
"connectedTo": "Ansluten till ${name}",
|
||||
"unknownDevice": "Okänd enhet",
|
||||
"session": {
|
||||
"startingServer": "Startar fjärrserver...",
|
||||
"failedToCreate": "Kunde inte starta fjärrserver:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "Undertexter",
|
||||
"audio": "Ljud",
|
||||
"searchHint": "Sök på datorn..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Inget nätverksgränssnitt hittades",
|
||||
"authenticationFailed": "Autentisering misslyckades",
|
||||
"joinTimedOut": "Tidsgräns vid anslutning till session",
|
||||
"failedToConnectAnyAddress": "Kunde inte ansluta till någon adress",
|
||||
"connectionLostAfterAttempts": "Anslutning förlorad efter ${attempts} försök",
|
||||
"connectionLost": "Anslutning förlorad"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "Ljudgenomkoppling",
|
||||
"audioNormalization": "Normalisera ljudstyrka"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "Färg",
|
||||
"performance": "Prestanda",
|
||||
"buffer": "Buffert",
|
||||
"app": "App",
|
||||
"decoder": "Dekoder",
|
||||
"rawDecoder": "Rå dekoder",
|
||||
"tunneling": "Tunneling",
|
||||
"aspect": "Bildformat",
|
||||
"rotation": "Rotation",
|
||||
"dvSource": "DV-källa",
|
||||
"dvPath": "DV-sökväg",
|
||||
"p7Conversion": "P7-konv.",
|
||||
"sampleRate": "Samplingsfrekvens",
|
||||
"pixelFormat": "Pixelformat",
|
||||
"hwFormat": "HW-format",
|
||||
"matrix": "Matris",
|
||||
"primaries": "Primärfärger",
|
||||
"transfer": "Transfer",
|
||||
"renderFps": "Render-FPS",
|
||||
"displayFps": "Skärm-FPS",
|
||||
"avSync": "A/V-synk",
|
||||
"dropped": "Tappade",
|
||||
"dvRpus": "DV RPU:er",
|
||||
"dvRpuAverage": "DV RPU snitt",
|
||||
"dvSampleAverage": "DV-sample snitt",
|
||||
"maxLuma": "Max luma",
|
||||
"minLuma": "Min luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache använd",
|
||||
"speed": "Hastighet",
|
||||
"player": "Spelare",
|
||||
"memory": "Minne",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Extern spelare",
|
||||
"useExternalPlayer": "Använd extern spelare",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "Systemstandard",
|
||||
"addCustomPlayer": "Lägg till anpassad spelare",
|
||||
"playerName": "Spelarnamn",
|
||||
"playerNameHint": "Min spelare",
|
||||
"playerCommand": "Kommando",
|
||||
"playerPackage": "Paketnamn",
|
||||
"playerUrlScheme": "URL-schema",
|
||||
|
||||
+81
-3
@@ -52,6 +52,9 @@
|
||||
"settings": "设置",
|
||||
"mute": "静音",
|
||||
"ok": "确定",
|
||||
"off": "关闭",
|
||||
"seasonNumber": "第${number}季",
|
||||
"chapterNumber": "章节 ${number}",
|
||||
"reconnect": "重新连接",
|
||||
"exit": "退出",
|
||||
"viewAll": "查看全部",
|
||||
@@ -257,6 +260,10 @@
|
||||
"dvConversionNative": "原生 / 禁用",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "使用设备能力检测和正常回退行为",
|
||||
"dvConversionNativeDescription": "强制原生 DV7 并抑制 DV 转换重试",
|
||||
"dvConversionDv81Description": "强制内联 RPU 转换为 Dolby Vision Profile 8.1",
|
||||
"dvConversionHevcStripDescription": "移除 Dolby Vision RPU/EL 层并呈现普通 HEVC",
|
||||
"requireProfileSelectionOnOpen": "打开应用时询问配置文件",
|
||||
"requireProfileSelectionOnOpenDescription": "每次打开应用时显示配置文件选择",
|
||||
"forceTvMode": "强制 TV 模式",
|
||||
@@ -290,6 +297,8 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "为 ${actionName} 设置快捷键",
|
||||
"clearShortcut": "清除快捷键",
|
||||
"noShortcutSet": "未设置快捷键",
|
||||
"currentShortcut": "当前快捷键:",
|
||||
"actions": {
|
||||
"playPause": "播放/暂停",
|
||||
"volumeUp": "增大音量",
|
||||
@@ -352,6 +361,7 @@
|
||||
"goToSeries": "转到系列",
|
||||
"goToSeason": "转到季",
|
||||
"shufflePlay": "随机播放",
|
||||
"shuffleNotAvailableOffline": "离线时无法随机播放",
|
||||
"fileInfo": "文件信息",
|
||||
"deleteFromServer": "从服务器删除",
|
||||
"confirmDelete": "要从服务器删除此媒体及其文件吗?",
|
||||
@@ -470,6 +480,10 @@
|
||||
"searchSubtitles": "搜索字幕",
|
||||
"language": "语言",
|
||||
"noSubtitlesFound": "未找到字幕",
|
||||
"downloadedSubtitle": "已下载",
|
||||
"noSubtitlesAvailable": "没有可用字幕",
|
||||
"noAudioTracksAvailable": "没有可用音轨",
|
||||
"noTracksAvailable": "没有可用轨道",
|
||||
"subtitleDownloaded": "字幕已下载",
|
||||
"subtitleDownloadFailed": "字幕下载失败",
|
||||
"searchLanguages": "搜索语言..."
|
||||
@@ -615,7 +629,8 @@
|
||||
"pinProtectionOptional": "PIN 保护(可选)",
|
||||
"pinExplain": "切换个人资料需要 4 位 PIN。",
|
||||
"continueButton": "继续",
|
||||
"pinsDontMatch": "PIN 不匹配"
|
||||
"pinsDontMatch": "PIN 不匹配",
|
||||
"initializeServicesFailed": "无法初始化个人资料服务"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "连接",
|
||||
@@ -647,7 +662,8 @@
|
||||
"rating": "年龄分级",
|
||||
"movie": "电影",
|
||||
"tvShow": "电视剧",
|
||||
"minutesLeft": "剩余 ${minutes} 分钟"
|
||||
"minutesLeft": "剩余 ${minutes} 分钟",
|
||||
"moreLikeThis": "更多类似内容"
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "搜索失败: ${error}",
|
||||
@@ -666,6 +682,7 @@
|
||||
},
|
||||
"libraries": {
|
||||
"title": "媒体库",
|
||||
"fallbackTitle": "媒体库",
|
||||
"scanLibraryFiles": "扫描媒体库文件",
|
||||
"scanLibrary": "扫描媒体库",
|
||||
"analyze": "分析",
|
||||
@@ -788,6 +805,12 @@
|
||||
"noChannels": "没有可用的频道",
|
||||
"noDvr": "没有服务器配置了DVR",
|
||||
"noPrograms": "没有可用的节目数据",
|
||||
"liveStreamFailed": "直播流失败",
|
||||
"unknownProgram": "未知节目",
|
||||
"unknownHub": "未知",
|
||||
"unknownError": "未知错误",
|
||||
"channelNumber": "频道 ${number}",
|
||||
"unknownChannel": "未知频道",
|
||||
"live": "直播",
|
||||
"reloadGuide": "重新加载节目指南",
|
||||
"now": "现在",
|
||||
@@ -966,12 +989,21 @@
|
||||
"deleteDownload": "删除下载",
|
||||
"retryDownload": "重试下载",
|
||||
"downloadQueued": "下载已排队",
|
||||
"downloadResumed": "下载已继续",
|
||||
"serverErrorBitrate": "服务器错误:文件可能超过远程比特率限制",
|
||||
"episodesQueued": "${count} 集已加入下载队列",
|
||||
"downloadDeleted": "下载已删除",
|
||||
"deleteConfirm": "要从此设备删除“${title}”吗?",
|
||||
"deletingWithProgress": "正在删除 ${title}... (${current}/${total})",
|
||||
"cancelledDownloadTitle": "已取消的下载",
|
||||
"cancelledDownloadMessage": "此下载已取消。你想怎么做?",
|
||||
"allEpisodesAlreadyDownloaded": "所有剧集均已下载",
|
||||
"resumeDownload": "继续下载",
|
||||
"cancelledDownload": "已取消的下载",
|
||||
"syncingFile": "${file}(正在同步 ${status})",
|
||||
"downloadedFileClickToComplete": "已下载 ${file} — 点击完成",
|
||||
"partialDownloadClickToComplete": "已部分下载 — 点击完成",
|
||||
"deleting": "正在删除...",
|
||||
"deletingWithProgress": "正在删除 ${title}... (${current}/${total})",
|
||||
"queuedTooltip": "已排队",
|
||||
"queuedFilesTooltip": "已排队:${files}",
|
||||
"downloadingTooltip": "正在下载...",
|
||||
@@ -1032,6 +1064,7 @@
|
||||
"companionRemote": {
|
||||
"title": "伴侣遥控",
|
||||
"connectedTo": "已连接到 ${name}",
|
||||
"unknownDevice": "未知设备",
|
||||
"session": {
|
||||
"startingServer": "正在启动远程服务器...",
|
||||
"failedToCreate": "启动远程服务器失败:",
|
||||
@@ -1091,6 +1124,14 @@
|
||||
"subtitles": "字幕",
|
||||
"audio": "音频",
|
||||
"searchHint": "在桌面上搜索..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "未找到网络接口",
|
||||
"authenticationFailed": "身份验证失败",
|
||||
"joinTimedOut": "加入会话超时",
|
||||
"failedToConnectAnyAddress": "无法连接到任何地址",
|
||||
"connectionLostAfterAttempts": "${attempts} 次尝试后连接丢失",
|
||||
"connectionLost": "连接丢失"
|
||||
}
|
||||
},
|
||||
"videoSettings": {
|
||||
@@ -1105,6 +1146,42 @@
|
||||
"audioPassthrough": "音频直通",
|
||||
"audioNormalization": "响度标准化"
|
||||
},
|
||||
"performanceOverlay": {
|
||||
"color": "颜色",
|
||||
"performance": "性能",
|
||||
"buffer": "缓冲",
|
||||
"app": "应用",
|
||||
"decoder": "解码器",
|
||||
"rawDecoder": "原始解码器",
|
||||
"tunneling": "隧道",
|
||||
"aspect": "宽高比",
|
||||
"rotation": "旋转",
|
||||
"dvSource": "DV 来源",
|
||||
"dvPath": "DV 路径",
|
||||
"p7Conversion": "P7 转换",
|
||||
"sampleRate": "采样率",
|
||||
"pixelFormat": "像素格式",
|
||||
"hwFormat": "硬件格式",
|
||||
"matrix": "矩阵",
|
||||
"primaries": "基色",
|
||||
"transfer": "传输",
|
||||
"renderFps": "渲染 FPS",
|
||||
"displayFps": "显示 FPS",
|
||||
"avSync": "A/V 同步",
|
||||
"dropped": "丢帧",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "DV RPU 平均",
|
||||
"dvSampleAverage": "DV 采样平均",
|
||||
"maxLuma": "最大亮度",
|
||||
"minLuma": "最小亮度",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "已用缓存",
|
||||
"speed": "速度",
|
||||
"player": "播放器",
|
||||
"memory": "内存",
|
||||
"uiFps": "UI FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "外部播放器",
|
||||
"useExternalPlayer": "使用外部播放器",
|
||||
@@ -1114,6 +1191,7 @@
|
||||
"systemDefault": "系统默认",
|
||||
"addCustomPlayer": "添加自定义播放器",
|
||||
"playerName": "播放器名称",
|
||||
"playerNameHint": "我的播放器",
|
||||
"playerCommand": "命令",
|
||||
"playerPackage": "包名",
|
||||
"playerUrlScheme": "URL 方案",
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../utils/codec_utils.dart';
|
||||
import '../utils/track_label_builder.dart' show TrackLabelBuilder, buildTrackLabel;
|
||||
import 'media_display_criteria.dart';
|
||||
@@ -232,7 +233,7 @@ class MediaChapter {
|
||||
return chapters;
|
||||
}
|
||||
|
||||
String get label => title ?? 'Chapter ${(index ?? 0) + 1}';
|
||||
String get label => title ?? t.common.chapterNumber(number: (index ?? 0) + 1);
|
||||
|
||||
Duration get startTime => Duration(milliseconds: startTimeOffset ?? 0);
|
||||
Duration? get endTime => endTimeOffset != null ? Duration(milliseconds: endTimeOffset!) : null;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../utils/codec_utils.dart';
|
||||
import '../utils/formatters.dart';
|
||||
import '../utils/json_utils.dart';
|
||||
@@ -88,7 +89,7 @@ class MediaVersion {
|
||||
parts.add(container!.toUpperCase());
|
||||
}
|
||||
|
||||
String label = parts.isNotEmpty ? parts.join(' ') : 'Unknown';
|
||||
String label = parts.isNotEmpty ? parts.join(' ') : t.common.unknown;
|
||||
|
||||
if (bitrate != null && bitrate! > 0) {
|
||||
label += ' (${ByteFormatter.formatBitrate(bitrate!)})';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../utils/json_utils.dart';
|
||||
import 'mixins/multi_server_fields.dart';
|
||||
|
||||
@@ -133,7 +134,8 @@ class LiveTvChannel with MultiServerFields {
|
||||
}
|
||||
|
||||
/// Display name: prefer callSign, fallback to title
|
||||
String get displayName => callSign ?? title ?? 'Channel $number';
|
||||
String get displayName =>
|
||||
callSign ?? title ?? (number == null ? t.liveTv.unknownChannel : t.liveTv.channelNumber(number: number!));
|
||||
}
|
||||
|
||||
/// A channel entry in the Plex cloud favorites list.
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../utils/json_utils.dart';
|
||||
import '../media/ids.dart';
|
||||
|
||||
@@ -78,7 +79,7 @@ class LiveTvProgram {
|
||||
key: json['key'] as String?,
|
||||
ratingKey: json['ratingKey'] as String?,
|
||||
guid: json['guid'] as String?,
|
||||
title: json['title'] as String? ?? 'Unknown Program',
|
||||
title: json['title'] as String? ?? t.liveTv.unknownProgram,
|
||||
summary: json['summary'] as String?,
|
||||
type: json['type'] as String?,
|
||||
year: flexibleInt(json['year']),
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:device_info_plus/device_info_plus.dart';
|
||||
|
||||
import '../connection/connection.dart';
|
||||
import '../connection/connection_registry.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../models/companion_remote/remote_command.dart';
|
||||
import '../models/companion_remote/remote_session.dart';
|
||||
import '../models/plex/plex_home.dart';
|
||||
@@ -29,7 +30,7 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
|
||||
RemoteSession? _session;
|
||||
CompanionRemotePeerService? _peerService;
|
||||
LanDiscoveryService? _discoveryService;
|
||||
String _deviceName = 'Unknown Device';
|
||||
String _deviceName = t.companionRemote.unknownDevice;
|
||||
String _platform = 'unknown';
|
||||
bool _isPlayerActive = false;
|
||||
|
||||
@@ -99,7 +100,7 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
|
||||
}
|
||||
} catch (e) {
|
||||
appLogger.e('CompanionRemote: Failed to get device info', error: e);
|
||||
_deviceName = 'Unknown Device';
|
||||
_deviceName = t.companionRemote.unknownDevice;
|
||||
_platform = Platform.operatingSystem;
|
||||
}
|
||||
|
||||
@@ -724,7 +725,7 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
|
||||
appLogger.w('CompanionRemote: Max reconnect attempts reached');
|
||||
_session = _session?.copyWith(
|
||||
status: RemoteSessionStatus.error,
|
||||
errorMessage: 'Connection lost after $_maxReconnectAttempts attempts',
|
||||
errorMessage: t.companionRemote.errors.connectionLostAfterAttempts(attempts: _maxReconnectAttempts),
|
||||
);
|
||||
_reconnectAttempts = 0;
|
||||
safeNotifyListeners();
|
||||
@@ -742,7 +743,10 @@ class CompanionRemoteProvider with ChangeNotifier, DisposableChangeNotifierMixin
|
||||
Future<void> _attemptReconnect() async {
|
||||
if (_lastHostAddresses == null || !isCryptoReady) {
|
||||
appLogger.w('CompanionRemote: No stored context for reconnect');
|
||||
_session = _session?.copyWith(status: RemoteSessionStatus.error, errorMessage: 'Connection lost');
|
||||
_session = _session?.copyWith(
|
||||
status: RemoteSessionStatus.error,
|
||||
errorMessage: t.companionRemote.errors.connectionLost,
|
||||
);
|
||||
safeNotifyListeners();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'dart:async';
|
||||
import '../media/ids.dart';
|
||||
import 'dart:io';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../media/media_backend.dart';
|
||||
import '../media/media_item.dart';
|
||||
import '../media/media_item_types.dart';
|
||||
@@ -527,7 +528,7 @@ class DownloadProvider extends ChangeNotifier with DisposableChangeNotifierMixin
|
||||
id: showRatingKey,
|
||||
backend: meta.backend,
|
||||
kind: MediaKind.show,
|
||||
title: meta.grandparentTitle ?? 'Unknown Show',
|
||||
title: meta.grandparentTitle ?? t.common.unknown,
|
||||
thumbPath: meta.grandparentThumbPath,
|
||||
artPath: meta.grandparentArtPath,
|
||||
serverId: meta.serverId,
|
||||
@@ -1721,7 +1722,7 @@ class DownloadProvider extends ChangeNotifier with DisposableChangeNotifierMixin
|
||||
|
||||
/// Exception thrown when download is blocked due to cellular-only setting
|
||||
class CellularDownloadBlockedException implements Exception {
|
||||
final String message = 'Downloads are disabled on cellular data';
|
||||
String get message => t.settings.cellularDownloadBlocked;
|
||||
|
||||
@override
|
||||
String toString() => message;
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
|
||||
|
||||
import '../connection/connection.dart';
|
||||
import '../connection/connection_registry.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../media/media_server_user_profile.dart';
|
||||
import '../mixins/disposable_change_notifier_mixin.dart';
|
||||
import '../profiles/active_profile_provider.dart';
|
||||
@@ -133,7 +134,7 @@ class UserProfileProvider extends ChangeNotifier with DisposableChangeNotifierMi
|
||||
_isInitialized = true;
|
||||
} catch (e) {
|
||||
appLogger.e('UserProfileProvider: critical initialization failure', error: e);
|
||||
_setError('Failed to initialize profile services');
|
||||
_setError(t.profiles.initializeServicesFailed);
|
||||
_authService = null;
|
||||
_storageService = null;
|
||||
_isInitialized = false;
|
||||
|
||||
@@ -833,7 +833,7 @@ class _DiscoverScreenState extends State<DiscoverScreen>
|
||||
appLogger.e('Failed to load discover content', error: e);
|
||||
if (!mounted) return;
|
||||
setState(() {
|
||||
_errorMessage = 'Failed to load content: $e';
|
||||
_errorMessage = t.errors.failedToLoad(context: t.discover.title, error: e.toString());
|
||||
_isLoading = false;
|
||||
_areHubsLoading = false;
|
||||
});
|
||||
@@ -1258,7 +1258,7 @@ class _DiscoverScreenState extends State<DiscoverScreen>
|
||||
context,
|
||||
MaterialPageRoute(builder: (_) => const WatchTogetherScreen()),
|
||||
),
|
||||
tooltip: 'Watch Together',
|
||||
tooltip: t.watchTogether.title,
|
||||
),
|
||||
if (watchTogether.isInSession && watchTogether.participantCount > 1)
|
||||
Positioned(
|
||||
|
||||
@@ -383,7 +383,7 @@ extension _MediaDetailActionButtons on _MediaDetailScreenState {
|
||||
final client = _getMediaClientForMetadata(context);
|
||||
if (client == null) return;
|
||||
await downloadProvider.resumeDownload(globalKey, client);
|
||||
if (mounted) showAppSnackBar(context, 'Download resumed');
|
||||
if (mounted) showAppSnackBar(context, t.downloads.downloadResumed);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -407,10 +407,10 @@ extension _MediaDetailActionButtons on _MediaDetailScreenState {
|
||||
if (progress?.status == DownloadStatus.cancelled) {
|
||||
final retry = await showConfirmDialog(
|
||||
context,
|
||||
title: 'Cancelled Download',
|
||||
message: 'This download was cancelled. What would you like to do?',
|
||||
title: t.downloads.cancelledDownloadTitle,
|
||||
message: t.downloads.cancelledDownloadMessage,
|
||||
cancelText: t.common.delete,
|
||||
confirmText: 'Retry',
|
||||
confirmText: t.common.retry,
|
||||
);
|
||||
|
||||
if (!retry && mounted) {
|
||||
@@ -448,7 +448,7 @@ extension _MediaDetailActionButtons on _MediaDetailScreenState {
|
||||
|
||||
final count = await downloadProvider.queueMissingEpisodes(metadata, client, versionConfig: versionConfig);
|
||||
if (mounted) {
|
||||
final message = count > 0 ? t.downloads.episodesQueued(count: count) : 'All episodes already downloaded';
|
||||
final message = count > 0 ? t.downloads.episodesQueued(count: count) : t.downloads.allEpisodesAlreadyDownloaded;
|
||||
showAppSnackBar(context, message);
|
||||
}
|
||||
return;
|
||||
@@ -582,7 +582,7 @@ extension _MediaDetailActionButtons on _MediaDetailScreenState {
|
||||
return IconButton.filledTonal(
|
||||
onPressed: () => unawaited(_handleDownloadButtonPressed(metadata)),
|
||||
icon: const AppIcon(Symbols.pause_circle_outline_rounded, fill: 1),
|
||||
tooltip: 'Resume download',
|
||||
tooltip: t.downloads.resumeDownload,
|
||||
iconSize: iconSize,
|
||||
style: actionButtonStyle(foregroundColor: Colors.amber, showFocus: showFocus),
|
||||
);
|
||||
@@ -593,7 +593,7 @@ extension _MediaDetailActionButtons on _MediaDetailScreenState {
|
||||
return IconButton.filledTonal(
|
||||
onPressed: () => unawaited(_handleDownloadButtonPressed(metadata)),
|
||||
icon: const AppIcon(Symbols.error_outline_rounded, fill: 1),
|
||||
tooltip: 'Retry download',
|
||||
tooltip: t.downloads.retryDownload,
|
||||
iconSize: iconSize,
|
||||
style: actionButtonStyle(foregroundColor: Colors.red, showFocus: showFocus),
|
||||
);
|
||||
@@ -604,7 +604,7 @@ extension _MediaDetailActionButtons on _MediaDetailScreenState {
|
||||
return IconButton.filledTonal(
|
||||
onPressed: () => unawaited(_handleDownloadButtonPressed(metadata)),
|
||||
icon: const AppIcon(Symbols.cancel_rounded, fill: 1),
|
||||
tooltip: 'Cancelled download',
|
||||
tooltip: t.downloads.cancelledDownload,
|
||||
iconSize: iconSize,
|
||||
style: actionButtonStyle(foregroundColor: Colors.grey, showFocus: showFocus),
|
||||
);
|
||||
@@ -620,7 +620,10 @@ extension _MediaDetailActionButtons on _MediaDetailScreenState {
|
||||
final syncRule = downloadProvider.getSyncRule(ruleKey);
|
||||
final isEnabled = syncRule?.enabled ?? true;
|
||||
final tooltip = currentFile != null
|
||||
? '$currentFile (syncing ${t.downloads.keepNUnwatched(count: syncRule?.episodeCount.toString() ?? '?')})'
|
||||
? t.downloads.syncingFile(
|
||||
file: currentFile,
|
||||
status: t.downloads.keepNUnwatched(count: syncRule?.episodeCount.toString() ?? '?'),
|
||||
)
|
||||
: t.downloads.keepSynced;
|
||||
|
||||
return IconButton.filledTonal(
|
||||
@@ -633,8 +636,8 @@ extension _MediaDetailActionButtons on _MediaDetailScreenState {
|
||||
}
|
||||
|
||||
final tooltip = currentFile != null
|
||||
? 'Downloaded $currentFile - Click to complete'
|
||||
: 'Partially downloaded - Click to complete';
|
||||
? t.downloads.downloadedFileClickToComplete(file: currentFile)
|
||||
: t.downloads.partialDownloadClickToComplete;
|
||||
|
||||
return IconButton.filledTonal(
|
||||
onPressed: () => unawaited(_handleDownloadButtonPressed(metadata)),
|
||||
|
||||
@@ -1666,7 +1666,7 @@ class _MediaDetailScreenState extends State<MediaDetailScreen>
|
||||
id: seasonId,
|
||||
backend: _metadata.backend,
|
||||
kind: MediaKind.season,
|
||||
title: firstEp.parentTitle ?? 'Season ${entry.key}',
|
||||
title: firstEp.parentTitle ?? t.common.seasonNumber(number: entry.key),
|
||||
index: entry.key,
|
||||
leafCount: entry.value.length,
|
||||
thumbPath: firstEp.parentThumbPath,
|
||||
@@ -3010,7 +3010,7 @@ class _MediaDetailScreenState extends State<MediaDetailScreen>
|
||||
Future<void> _handleShufflePlayWithQueue(BuildContext context, MediaItem metadata) async {
|
||||
if (widget.isOffline) {
|
||||
if (context.mounted) {
|
||||
showErrorSnackBar(context, 'Shuffle not available offline');
|
||||
showErrorSnackBar(context, t.mediaMenu.shuffleNotAvailableOffline);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ class _AddPlexAccountScreenState extends State<AddPlexAccountScreen> with AsyncF
|
||||
},
|
||||
);
|
||||
if (mounted && completed != true) {
|
||||
throw StateError(errorText ?? t.addServer.failedToRegisterAccount(error: 'Unknown error'));
|
||||
throw StateError(errorText ?? t.addServer.failedToRegisterAccount(error: t.common.unknown));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -187,7 +187,10 @@ class _AddCustomPlayerDialogState extends State<_AddCustomPlayerDialog> {
|
||||
children: [
|
||||
FocusableTextField(
|
||||
controller: _nameController,
|
||||
decoration: InputDecoration(labelText: t.externalPlayer.playerName, hintText: 'My Player'),
|
||||
decoration: InputDecoration(
|
||||
labelText: t.externalPlayer.playerName,
|
||||
hintText: t.externalPlayer.playerNameHint,
|
||||
),
|
||||
autofocus: true,
|
||||
textInputAction: TextInputAction.next,
|
||||
onSubmitted: (_) => _valueFocusNode.requestFocus(),
|
||||
|
||||
@@ -43,7 +43,10 @@ class _HotKeyRecorderWidgetState extends State<HotKeyRecorderWidget> {
|
||||
mainAxisSize: .min,
|
||||
crossAxisAlignment: .start,
|
||||
children: [
|
||||
Text('Current shortcut:', style: Theme.of(context).textTheme.bodyMedium?.copyWith(fontWeight: .bold)),
|
||||
Text(
|
||||
t.hotkeys.currentShortcut,
|
||||
style: Theme.of(context).textTheme.bodyMedium?.copyWith(fontWeight: .bold),
|
||||
),
|
||||
const SizedBox(height: 6),
|
||||
Container(
|
||||
width: double.infinity,
|
||||
|
||||
@@ -232,7 +232,9 @@ class _PlaybackSettingsScreenState extends State<PlaybackSettingsScreen> {
|
||||
return SettingNavigationTile(
|
||||
icon: Symbols.open_in_new_rounded,
|
||||
title: t.externalPlayer.title,
|
||||
subtitle: useExt ? player.name : t.externalPlayer.off,
|
||||
subtitle: useExt
|
||||
? (player.id == 'system_default' ? t.externalPlayer.systemDefault : player.name)
|
||||
: t.externalPlayer.off,
|
||||
destinationBuilder: (_) => const ExternalPlayerScreen(),
|
||||
);
|
||||
},
|
||||
|
||||
@@ -99,7 +99,7 @@ extension _VideoPlayerLiveTvMethods on VideoPlayerScreenState {
|
||||
final dvrKey = _liveDvrKey;
|
||||
if (channels == null || channelIndex < 0 || channelIndex >= channels.length || dvrKey == null) {
|
||||
appLogger.w('Cannot retry live stream — missing session info');
|
||||
showGlobalErrorSnackBar(_redactPlayerError(_lastLogError ?? 'Live stream failed'));
|
||||
showGlobalErrorSnackBar(_redactPlayerError(_lastLogError ?? t.liveTv.liveStreamFailed));
|
||||
unawaited(_handleBackButton());
|
||||
return;
|
||||
}
|
||||
@@ -109,7 +109,7 @@ extension _VideoPlayerLiveTvMethods on VideoPlayerScreenState {
|
||||
// Re-tune to get a fresh capture session — the previous one is dead.
|
||||
final tuneResult = await client.tuneChannel(dvrKey, channel.key);
|
||||
if (tuneResult == null || !mounted) {
|
||||
showGlobalErrorSnackBar(_redactPlayerError(_lastLogError ?? 'Live stream failed'));
|
||||
showGlobalErrorSnackBar(_redactPlayerError(_lastLogError ?? t.liveTv.liveStreamFailed));
|
||||
unawaited(_handleBackButton());
|
||||
return;
|
||||
}
|
||||
@@ -126,7 +126,7 @@ extension _VideoPlayerLiveTvMethods on VideoPlayerScreenState {
|
||||
directStreamAudio: dsa,
|
||||
);
|
||||
if (streamPath == null || !mounted) {
|
||||
showGlobalErrorSnackBar(_redactPlayerError(_lastLogError ?? 'Live stream failed'));
|
||||
showGlobalErrorSnackBar(_redactPlayerError(_lastLogError ?? t.liveTv.liveStreamFailed));
|
||||
unawaited(_handleBackButton());
|
||||
return;
|
||||
}
|
||||
@@ -154,7 +154,7 @@ extension _VideoPlayerLiveTvMethods on VideoPlayerScreenState {
|
||||
}
|
||||
|
||||
appLogger.w('Cannot retry live stream — no compatible client/URL available');
|
||||
showGlobalErrorSnackBar(_redactPlayerError(_lastLogError ?? 'Live stream failed'));
|
||||
showGlobalErrorSnackBar(_redactPlayerError(_lastLogError ?? t.liveTv.liveStreamFailed));
|
||||
unawaited(_handleBackButton());
|
||||
}
|
||||
|
||||
|
||||
@@ -1060,9 +1060,9 @@ class VideoPlayerScreenState extends State<VideoPlayerScreen> with WidgetsBindin
|
||||
if (_watchTogetherProvider != null && _watchTogetherProvider!.isInSession && !_watchTogetherProvider!.isHost) {
|
||||
final confirmed = await showConfirmDialog(
|
||||
context,
|
||||
title: 'Leave Session?',
|
||||
message: 'You will be removed from the session.',
|
||||
confirmText: 'Leave',
|
||||
title: t.watchTogether.leaveSessionQuestion,
|
||||
message: t.watchTogether.leaveSessionConfirm,
|
||||
confirmText: t.watchTogether.leave,
|
||||
isDestructive: true,
|
||||
);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'dart:math';
|
||||
import 'package:web_socket_channel/io.dart';
|
||||
import '../../utils/future_extensions.dart';
|
||||
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../models/companion_remote/remote_command.dart';
|
||||
import '../../models/companion_remote/remote_session.dart';
|
||||
import '../../utils/app_logger.dart';
|
||||
@@ -97,7 +98,10 @@ class CompanionRemotePeerService with KeepaliveMixin {
|
||||
|
||||
final all = [...preferred, ...others];
|
||||
if (all.isEmpty) {
|
||||
throw const RemotePeerError(type: RemotePeerErrorType.networkError, message: 'No network interface found');
|
||||
throw RemotePeerError(
|
||||
type: RemotePeerErrorType.networkError,
|
||||
message: t.companionRemote.errors.noNetworkInterface,
|
||||
);
|
||||
}
|
||||
return all;
|
||||
} catch (e) {
|
||||
@@ -535,7 +539,10 @@ class CompanionRemotePeerService with KeepaliveMixin {
|
||||
} else if (json['type'] == 'authFailed') {
|
||||
if (!completer.isCompleted) {
|
||||
completer.completeError(
|
||||
const RemotePeerError(type: RemotePeerErrorType.authFailed, message: 'Authentication failed'),
|
||||
RemotePeerError(
|
||||
type: RemotePeerErrorType.authFailed,
|
||||
message: t.companionRemote.errors.authenticationFailed,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -636,11 +643,17 @@ class CompanionRemotePeerService with KeepaliveMixin {
|
||||
appLogger.w('CompanionRemote: Authentication failed');
|
||||
if (!completer.isCompleted) {
|
||||
completer.completeError(
|
||||
const RemotePeerError(type: RemotePeerErrorType.authFailed, message: 'Authentication failed'),
|
||||
RemotePeerError(
|
||||
type: RemotePeerErrorType.authFailed,
|
||||
message: t.companionRemote.errors.authenticationFailed,
|
||||
),
|
||||
);
|
||||
}
|
||||
_errorController.add(
|
||||
const RemotePeerError(type: RemotePeerErrorType.authFailed, message: 'Authentication failed'),
|
||||
RemotePeerError(
|
||||
type: RemotePeerErrorType.authFailed,
|
||||
message: t.companionRemote.errors.authenticationFailed,
|
||||
),
|
||||
);
|
||||
_connectionStateController.add(RemoteSessionStatus.error);
|
||||
}
|
||||
@@ -699,7 +712,7 @@ class CompanionRemotePeerService with KeepaliveMixin {
|
||||
}
|
||||
_channel = null;
|
||||
}
|
||||
throw const RemotePeerError(type: RemotePeerErrorType.timeout, message: 'Timed out joining session');
|
||||
throw RemotePeerError(type: RemotePeerErrorType.timeout, message: t.companionRemote.errors.joinTimedOut);
|
||||
},
|
||||
);
|
||||
}
|
||||
@@ -809,9 +822,9 @@ class CompanionRemotePeerService with KeepaliveMixin {
|
||||
}
|
||||
|
||||
if (channels.isEmpty) {
|
||||
throw const RemotePeerError(
|
||||
throw RemotePeerError(
|
||||
type: RemotePeerErrorType.connectionFailed,
|
||||
message: 'Failed to connect to any address',
|
||||
message: t.companionRemote.errors.failedToConnectAnyAddress,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1209,7 +1209,7 @@ mixin _JellyfinBrowseMethods on MediaServerCacheMixin {
|
||||
JellyfinMappers.syntheticHub(
|
||||
mapItem: _mapItem,
|
||||
identifier: 'item.$id.similar',
|
||||
title: 'More Like This',
|
||||
title: t.discover.moreLikeThis,
|
||||
type: 'mixed',
|
||||
items: _itemsArray(response.data),
|
||||
serverId: serverId,
|
||||
|
||||
@@ -86,7 +86,7 @@ mixin _JellyfinLiveTvMethods on MediaServerCacheMixin {
|
||||
key: id,
|
||||
ratingKey: id,
|
||||
guid: null,
|
||||
title: json['Name'] as String? ?? 'Unknown Program',
|
||||
title: json['Name'] as String? ?? t.liveTv.unknownProgram,
|
||||
summary: json['Overview'] as String?,
|
||||
type: 'episode',
|
||||
year: (json['ProductionYear'] as num?)?.toInt(),
|
||||
|
||||
@@ -94,7 +94,7 @@ mixin _JellyfinPlaylistMethods on MediaServerCacheMixin {
|
||||
return MediaPlaylist(
|
||||
id: item.id,
|
||||
backend: MediaBackend.jellyfin,
|
||||
title: item.title ?? 'Playlist',
|
||||
title: item.title ?? t.playlists.playlist,
|
||||
summary: item.summary,
|
||||
smart: false,
|
||||
playlistType: _playlistMediaType(item),
|
||||
@@ -230,7 +230,7 @@ mixin _JellyfinPlaylistMethods on MediaServerCacheMixin {
|
||||
return MediaPlaylist(
|
||||
id: id,
|
||||
backend: MediaBackend.jellyfin,
|
||||
title: json['Name'] as String? ?? 'Playlist',
|
||||
title: json['Name'] as String? ?? t.playlists.playlist,
|
||||
summary: json['Overview'] as String?,
|
||||
smart: false,
|
||||
playlistType: (json['MediaType'] as String?)?.toLowerCase() ?? 'video',
|
||||
|
||||
@@ -8,6 +8,7 @@ import '../media/media_part.dart';
|
||||
import '../media/media_role.dart';
|
||||
import '../media/media_stream.dart';
|
||||
import '../media/media_version.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../utils/jellyfin_time.dart';
|
||||
import '../utils/json_utils.dart';
|
||||
import '../utils/resolution_label.dart';
|
||||
@@ -237,7 +238,7 @@ class JellyfinMappers {
|
||||
return MediaLibrary(
|
||||
id: id,
|
||||
backend: MediaBackend.jellyfin,
|
||||
title: view['Name'] as String? ?? 'Library',
|
||||
title: view['Name'] as String? ?? t.libraries.fallbackTitle,
|
||||
kind: _libraryKindFromCollectionType(collectionType, view['Type'] as String?),
|
||||
updatedAt: jellyfinIsoToEpochSeconds(view['DateLastSaved'] as String? ?? view['DateModified'] as String?),
|
||||
createdAt: jellyfinIsoToEpochSeconds(view['DateCreated'] as String?),
|
||||
|
||||
@@ -135,7 +135,7 @@ class KeyboardShortcutsService extends ChangeNotifier {
|
||||
}
|
||||
|
||||
String formatHotkey(HotKey? hotKey) {
|
||||
if (hotKey == null) return 'No shortcut set';
|
||||
if (hotKey == null) return t.hotkeys.noShortcutSet;
|
||||
|
||||
final isMac = Platform.isMacOS;
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ class PipService {
|
||||
'not_supported' => t.videoControls.pipErrors.notSupported,
|
||||
'vo_switch_failed' => t.videoControls.pipErrors.voSwitchFailed,
|
||||
'failed' => t.videoControls.pipErrors.failed,
|
||||
_ => t.videoControls.pipErrors.unknown(error: errorMessage ?? 'Unknown error'),
|
||||
_ => t.videoControls.pipErrors.unknown(error: errorMessage ?? t.common.unknown),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -638,7 +638,7 @@ mixin _PlexLiveTvClientMethods on MediaServerCacheMixin {
|
||||
|
||||
if (entries.isEmpty) return null;
|
||||
return LiveTvHubResult(
|
||||
title: hubJson['title'] as String? ?? 'Unknown',
|
||||
title: hubJson['title'] as String? ?? t.liveTv.unknownHub,
|
||||
hubKey: hubJson['key'] as String? ?? '',
|
||||
entries: entries,
|
||||
);
|
||||
@@ -825,7 +825,7 @@ mixin _PlexLiveTvClientMethods on MediaServerCacheMixin {
|
||||
? int.tryParse(containerStatus)
|
||||
: null;
|
||||
if (statusInt != null && statusInt != 0 && statusInt != 200) {
|
||||
final msg = container['message'] ?? 'Unknown error';
|
||||
final msg = container['message'] ?? t.liveTv.unknownError;
|
||||
appLogger.w('Tune channel error: $msg (status: $containerStatus)');
|
||||
throw Exception(msg);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:uuid/uuid.dart';
|
||||
import '../../utils/future_extensions.dart';
|
||||
import 'package:web_socket_channel/web_socket_channel.dart';
|
||||
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../services/base_peer_service.dart';
|
||||
import '../../utils/app_logger.dart';
|
||||
import '../models/sync_message.dart';
|
||||
@@ -214,7 +215,7 @@ class WatchTogetherPeerService with KeepaliveMixin {
|
||||
|
||||
case 'error':
|
||||
final code = msg['code'] as String? ?? 'unknown';
|
||||
final message = msg['message'] as String? ?? 'Unknown error';
|
||||
final message = msg['message'] as String? ?? t.common.unknown;
|
||||
appLogger.e('WatchTogether: Server error: $code - $message');
|
||||
final error = PeerError(type: PeerErrorType.serverError, message: '$code: $message', serverCode: code);
|
||||
_safeAdd(_errorController, error);
|
||||
@@ -400,7 +401,7 @@ class WatchTogetherPeerService with KeepaliveMixin {
|
||||
await completer.future.timeout(
|
||||
const Duration(seconds: 10),
|
||||
onTimeout: () {
|
||||
throw const PeerError(type: PeerErrorType.timeout, message: 'Timed out joining session');
|
||||
throw PeerError(type: PeerErrorType.timeout, message: t.watchTogether.failedToJoin);
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -1017,7 +1017,7 @@ void _navigateToSeason(BuildContext context, MediaItem episode, {bool isOffline
|
||||
id: episode.parentId!,
|
||||
backend: episode.backend,
|
||||
kind: MediaKind.season,
|
||||
title: episode.parentTitle ?? 'Season ${episode.parentIndex ?? ''}',
|
||||
title: episode.parentTitle ?? t.common.seasonNumber(number: episode.parentIndex ?? ''),
|
||||
index: episode.parentIndex,
|
||||
parentId: episode.grandparentId,
|
||||
thumbPath: episode.parentThumbPath,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:plezy/widgets/app_icon.dart';
|
||||
import 'package:material_symbols_icons/symbols.dart';
|
||||
import '../../../i18n/strings.g.dart';
|
||||
import '../../../mpv/mpv.dart';
|
||||
import '../../../widgets/focusable_list_tile.dart';
|
||||
|
||||
@@ -8,11 +9,11 @@ class TrackSelectionHelper {
|
||||
/// Get the appropriate empty message based on track type
|
||||
static String getEmptyMessage<T>() {
|
||||
if (T == SubtitleTrack) {
|
||||
return 'No subtitles available';
|
||||
return t.videoControls.noSubtitlesAvailable;
|
||||
} else if (T == AudioTrack) {
|
||||
return 'No audio tracks available';
|
||||
return t.videoControls.noAudioTracksAvailable;
|
||||
}
|
||||
return 'No tracks available';
|
||||
return t.videoControls.noTracksAvailable;
|
||||
}
|
||||
|
||||
static Widget buildEmptyState<T>() {
|
||||
@@ -46,7 +47,7 @@ class TrackSelectionHelper {
|
||||
return _buildSelectableTile(
|
||||
context: context,
|
||||
key: key,
|
||||
label: 'Off',
|
||||
label: t.common.off,
|
||||
isSelected: isSelected,
|
||||
onTap: onTap,
|
||||
focusNode: focusNode,
|
||||
|
||||
@@ -121,7 +121,7 @@ extension _PlexVideoControlsNavigationMethods on _PlexVideoControlsState {
|
||||
|
||||
await widget.player.addSubtitleTrack(
|
||||
uri: newUrl,
|
||||
title: newTrack.displayTitle ?? newTrack.language ?? 'Downloaded',
|
||||
title: newTrack.displayTitle ?? newTrack.language ?? t.videoControls.downloadedSubtitle,
|
||||
language: newTrack.languageCode,
|
||||
select: true,
|
||||
);
|
||||
|
||||
@@ -270,7 +270,7 @@ class _SubtitleSearchSheetState extends State<SubtitleSearchSheet> with Controll
|
||||
focusNode: _titleFocusNode,
|
||||
decoration: pillInputDecoration(
|
||||
context,
|
||||
hintText: widget.mediaTitle ?? 'Title',
|
||||
hintText: widget.mediaTitle ?? t.metadataEdit.title,
|
||||
prefixIcon: const Icon(Symbols.search_rounded, size: 20),
|
||||
),
|
||||
onChanged: _onTitleChanged,
|
||||
@@ -347,7 +347,7 @@ class _SubtitleSearchSheetState extends State<SubtitleSearchSheet> with Controll
|
||||
|
||||
return FocusableListTile(
|
||||
focusNode: index == 0 ? _firstResultFocusNode : null,
|
||||
title: Text(result.title ?? result.displayTitle ?? 'Unknown', maxLines: 1, overflow: .ellipsis),
|
||||
title: Text(result.title ?? result.displayTitle ?? t.common.unknown, maxLines: 1, overflow: .ellipsis),
|
||||
subtitle: Text(
|
||||
result.displayTitle ?? '',
|
||||
maxLines: 1,
|
||||
|
||||
@@ -376,10 +376,10 @@ class _VideoSettingsSheetState extends State<VideoSettingsSheet> {
|
||||
|
||||
String _formatDvConversionMode(String mode) {
|
||||
return switch (_normalizeDvConversionMode(mode)) {
|
||||
'disabled' => 'Native / Disabled',
|
||||
'dv81' => 'P7 → P8.1',
|
||||
'hevc_strip' => 'P7 → HEVC',
|
||||
_ => 'Auto',
|
||||
'disabled' => t.settings.dvConversionNative,
|
||||
'dv81' => t.settings.dvConversionDv81,
|
||||
'hevc_strip' => t.settings.dvConversionHevcStrip,
|
||||
_ => t.settings.dvConversionAuto,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -570,7 +570,9 @@ class _VideoSettingsSheetState extends State<VideoSettingsSheet> {
|
||||
_SettingsMenuItem(
|
||||
icon: Symbols.auto_fix_high_rounded,
|
||||
title: t.shaders.title,
|
||||
valueText: widget.shaderService!.currentPreset.name,
|
||||
valueText: widget.shaderService!.currentPreset.id == ShaderPreset.none.id
|
||||
? t.common.off
|
||||
: widget.shaderService!.currentPreset.name,
|
||||
isHighlighted: widget.shaderService!.currentPreset.isEnabled,
|
||||
onTap: () => _navigateTo(_SettingsView.shader),
|
||||
),
|
||||
@@ -608,7 +610,7 @@ class _VideoSettingsSheetState extends State<VideoSettingsSheet> {
|
||||
if (_showDebugDvConversionMode)
|
||||
_SettingsMenuItem(
|
||||
icon: Symbols.hdr_strong_rounded,
|
||||
title: 'DV Conversion Mode',
|
||||
title: t.settings.dvConversionMode,
|
||||
valueText: _formatDvConversionMode(_dvConversionMode),
|
||||
isHighlighted: _dvConversionMode != 'auto',
|
||||
onTap: () => _navigateTo(_SettingsView.dvConversion),
|
||||
@@ -642,11 +644,15 @@ class _VideoSettingsSheetState extends State<VideoSettingsSheet> {
|
||||
}
|
||||
|
||||
Widget _buildDvConversionView() {
|
||||
const modes = [
|
||||
(value: 'auto', title: 'Auto', subtitle: 'Use device capability detection and normal fallback behavior'),
|
||||
(value: 'disabled', title: 'Native / Disabled', subtitle: 'Force native DV7 and suppress DV conversion retry'),
|
||||
(value: 'dv81', title: 'P7 → P8.1', subtitle: 'Force inline RPU conversion to Dolby Vision profile 8.1'),
|
||||
(value: 'hevc_strip', title: 'P7 → HEVC', subtitle: 'Strip Dolby Vision RPU/EL layers and present plain HEVC'),
|
||||
final modes = [
|
||||
(value: 'auto', title: t.settings.dvConversionAuto, subtitle: t.settings.dvConversionAutoDescription),
|
||||
(value: 'disabled', title: t.settings.dvConversionNative, subtitle: t.settings.dvConversionNativeDescription),
|
||||
(value: 'dv81', title: t.settings.dvConversionDv81, subtitle: t.settings.dvConversionDv81Description),
|
||||
(
|
||||
value: 'hevc_strip',
|
||||
title: t.settings.dvConversionHevcStrip,
|
||||
subtitle: t.settings.dvConversionHevcStripDescription,
|
||||
),
|
||||
];
|
||||
final primary = Theme.of(context).colorScheme.primary;
|
||||
|
||||
@@ -868,9 +874,10 @@ class _VideoSettingsSheetState extends State<VideoSettingsSheet> {
|
||||
final preset = presets[index];
|
||||
final isSelected = preset.id == currentPreset.id;
|
||||
final isCustom = preset.type == ShaderPresetType.custom;
|
||||
final presetName = preset.id == ShaderPreset.none.id ? t.common.off : preset.name;
|
||||
|
||||
return FocusableListTile(
|
||||
title: Text(preset.name, style: TextStyle(color: isSelected ? Colors.amber : null)),
|
||||
title: Text(presetName, style: TextStyle(color: isSelected ? Colors.amber : null)),
|
||||
subtitle: _getShaderSubtitle(preset) != null
|
||||
? Text(_getShaderSubtitle(preset)!, style: TextStyle(color: tokens(context).textMuted, fontSize: 12))
|
||||
: null,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:material_symbols_icons/symbols.dart';
|
||||
|
||||
import '../../../../i18n/strings.g.dart';
|
||||
import '../../../../mpv/mpv.dart';
|
||||
import '../../../../widgets/app_icon.dart';
|
||||
import 'performance_stats.dart';
|
||||
@@ -48,61 +49,64 @@ class _PlayerPerformanceOverlayState extends State<PlayerPerformanceOverlay> {
|
||||
final isMpv = _stats.playerType == 'mpv';
|
||||
|
||||
final sections = <Widget>[
|
||||
_buildSection(Symbols.videocam_rounded, 'Video', [
|
||||
_metric('Codec', _stats.videoCodec ?? 'N/A'),
|
||||
_metric('Resolution', _stats.resolution),
|
||||
_buildSection(Symbols.videocam_rounded, t.fileInfo.video, [
|
||||
_metric(t.fileInfo.codec, _stats.videoCodec ?? 'N/A'),
|
||||
_metric(t.fileInfo.resolution, _stats.resolution),
|
||||
if (_stats.hasValidVideoFps) _metric('FPS', _stats.videoFpsFormatted),
|
||||
if (_stats.hasValidVideoBitrate) _metric('Bitrate', _stats.videoBitrateFormatted),
|
||||
_metric('Decoder', _stats.hwdecFormatted),
|
||||
if (!isMpv && _stats.videoDecoderName != null) _metric('Raw Decoder', _stats.videoDecoderRaw),
|
||||
if (!isMpv) _metric('Tunneling', _stats.tunneledPlaybackFormatted),
|
||||
if (_stats.aspectName != null && _stats.aspectName!.isNotEmpty) _metric('Aspect', _stats.aspectName!),
|
||||
if (_stats.rotate != null && _stats.rotate != 0) _metric('Rotation', _stats.rotateFormatted),
|
||||
if (_stats.dvSourceProfile != null) _metric('DV Source', _stats.dvSourceProfileFormatted),
|
||||
if (_stats.dvPlaybackPath != null) _metric('DV Path', _stats.dvPlaybackPathFormatted),
|
||||
if (_stats.dvConversionActive) _metric('P7 Conv', _stats.dvConversionFormatted),
|
||||
if (_stats.hasValidVideoBitrate) _metric(t.fileInfo.bitrate, _stats.videoBitrateFormatted),
|
||||
_metric(t.performanceOverlay.decoder, _stats.hwdecFormatted),
|
||||
if (!isMpv && _stats.videoDecoderName != null) _metric(t.performanceOverlay.rawDecoder, _stats.videoDecoderRaw),
|
||||
if (!isMpv) _metric(t.performanceOverlay.tunneling, _stats.tunneledPlaybackFormatted),
|
||||
if (_stats.aspectName != null && _stats.aspectName!.isNotEmpty)
|
||||
_metric(t.performanceOverlay.aspect, _stats.aspectName!),
|
||||
if (_stats.rotate != null && _stats.rotate != 0) _metric(t.performanceOverlay.rotation, _stats.rotateFormatted),
|
||||
if (_stats.dvSourceProfile != null) _metric(t.performanceOverlay.dvSource, _stats.dvSourceProfileFormatted),
|
||||
if (_stats.dvPlaybackPath != null) _metric(t.performanceOverlay.dvPath, _stats.dvPlaybackPathFormatted),
|
||||
if (_stats.dvConversionActive) _metric(t.performanceOverlay.p7Conversion, _stats.dvConversionFormatted),
|
||||
]),
|
||||
_buildSection(Symbols.volume_up_rounded, 'Audio', [
|
||||
if (_stats.audioCodec != null) _metric('Codec', _stats.audioCodec!),
|
||||
_metric('Sample Rate', _stats.sampleRateFormatted),
|
||||
_metric('Channels', _stats.audioChannels ?? 'N/A'),
|
||||
if (_stats.hasValidAudioBitrate) _metric('Bitrate', _stats.audioBitrateFormatted),
|
||||
if (!isMpv && _stats.audioDecoderName != null) _metric('Decoder', _stats.audioDecoderFormatted),
|
||||
_buildSection(Symbols.volume_up_rounded, t.fileInfo.audio, [
|
||||
if (_stats.audioCodec != null) _metric(t.fileInfo.codec, _stats.audioCodec!),
|
||||
_metric(t.performanceOverlay.sampleRate, _stats.sampleRateFormatted),
|
||||
_metric(t.fileInfo.channels, _stats.audioChannels ?? 'N/A'),
|
||||
if (_stats.hasValidAudioBitrate) _metric(t.fileInfo.bitrate, _stats.audioBitrateFormatted),
|
||||
if (!isMpv && _stats.audioDecoderName != null)
|
||||
_metric(t.performanceOverlay.decoder, _stats.audioDecoderFormatted),
|
||||
]),
|
||||
if (isMpv)
|
||||
_buildSection(Symbols.palette_rounded, 'Color', [
|
||||
_metric('Pixel Fmt', _stats.pixelformat ?? 'N/A'),
|
||||
_buildSection(Symbols.palette_rounded, t.performanceOverlay.color, [
|
||||
_metric(t.performanceOverlay.pixelFormat, _stats.pixelformat ?? 'N/A'),
|
||||
if (_stats.hwPixelformat != null && _stats.hwPixelformat != _stats.pixelformat)
|
||||
_metric('HW Fmt', _stats.hwPixelformat!),
|
||||
_metric('Matrix', _stats.colormatrix ?? 'N/A'),
|
||||
_metric('Primaries', _stats.primaries ?? 'N/A'),
|
||||
_metric('Transfer', _stats.gamma ?? 'N/A'),
|
||||
_metric(t.performanceOverlay.hwFormat, _stats.hwPixelformat!),
|
||||
_metric(t.performanceOverlay.matrix, _stats.colormatrix ?? 'N/A'),
|
||||
_metric(t.performanceOverlay.primaries, _stats.primaries ?? 'N/A'),
|
||||
_metric(t.performanceOverlay.transfer, _stats.gamma ?? 'N/A'),
|
||||
]),
|
||||
_buildSection(Symbols.speed_rounded, 'Performance', [
|
||||
if (isMpv) _metric('Render FPS', _stats.actualFpsFormatted),
|
||||
if (isMpv) _metric('Display FPS', _stats.displayFpsFormatted),
|
||||
if (isMpv) _metric('A/V Sync', _stats.avsyncFormatted),
|
||||
_metric('Dropped', _stats.droppedFramesFormatted),
|
||||
if (_stats.dvConversionActive) _metric('DV RPUs', _stats.dvRpuCountFormatted),
|
||||
if (_stats.dvConversionActive) _metric('DV RPU Avg', _stats.dvAvgRpuConversionFormatted),
|
||||
if (_stats.dvConversionActive) _metric('DV Sample Avg', _stats.dvAvgSampleProcessingFormatted),
|
||||
_buildSection(Symbols.speed_rounded, t.performanceOverlay.performance, [
|
||||
if (isMpv) _metric(t.performanceOverlay.renderFps, _stats.actualFpsFormatted),
|
||||
if (isMpv) _metric(t.performanceOverlay.displayFps, _stats.displayFpsFormatted),
|
||||
if (isMpv) _metric(t.performanceOverlay.avSync, _stats.avsyncFormatted),
|
||||
_metric(t.performanceOverlay.dropped, _stats.droppedFramesFormatted),
|
||||
if (_stats.dvConversionActive) _metric(t.performanceOverlay.dvRpus, _stats.dvRpuCountFormatted),
|
||||
if (_stats.dvConversionActive) _metric(t.performanceOverlay.dvRpuAverage, _stats.dvAvgRpuConversionFormatted),
|
||||
if (_stats.dvConversionActive)
|
||||
_metric(t.performanceOverlay.dvSampleAverage, _stats.dvAvgSampleProcessingFormatted),
|
||||
]),
|
||||
if (_stats.hasHdrMetadata)
|
||||
_buildSection(Symbols.hdr_on_rounded, 'HDR', [
|
||||
if (_stats.maxLuma != null) _metric('Max Luma', _stats.maxLumaFormatted),
|
||||
if (_stats.minLuma != null) _metric('Min Luma', _stats.minLumaFormatted),
|
||||
if (_stats.maxCll != null) _metric('MaxCLL', _stats.maxCllFormatted),
|
||||
if (_stats.maxFall != null) _metric('MaxFALL', _stats.maxFallFormatted),
|
||||
if (_stats.maxLuma != null) _metric(t.performanceOverlay.maxLuma, _stats.maxLumaFormatted),
|
||||
if (_stats.minLuma != null) _metric(t.performanceOverlay.minLuma, _stats.minLumaFormatted),
|
||||
if (_stats.maxCll != null) _metric(t.performanceOverlay.maxCll, _stats.maxCllFormatted),
|
||||
if (_stats.maxFall != null) _metric(t.performanceOverlay.maxFall, _stats.maxFallFormatted),
|
||||
]),
|
||||
_buildSection(Symbols.memory_rounded, 'Buffer', [
|
||||
_metric('Duration', _stats.cacheDurationFormatted),
|
||||
if (isMpv) _metric('Cache Used', _stats.cacheUsedFormatted),
|
||||
if (isMpv) _metric('Speed', _stats.cacheSpeedFormatted),
|
||||
_buildSection(Symbols.memory_rounded, t.performanceOverlay.buffer, [
|
||||
_metric(t.fileInfo.duration, _stats.cacheDurationFormatted),
|
||||
if (isMpv) _metric(t.performanceOverlay.cacheUsed, _stats.cacheUsedFormatted),
|
||||
if (isMpv) _metric(t.performanceOverlay.speed, _stats.cacheSpeedFormatted),
|
||||
]),
|
||||
_buildSection(Symbols.apps_rounded, 'App', [
|
||||
_metric('Player', _stats.playerTypeFormatted),
|
||||
_metric('Memory', _stats.appMemoryFormatted),
|
||||
_metric('UI FPS', _stats.uiFpsFormatted),
|
||||
_buildSection(Symbols.apps_rounded, t.performanceOverlay.app, [
|
||||
_metric(t.performanceOverlay.player, _stats.playerTypeFormatted),
|
||||
_metric(t.performanceOverlay.memory, _stats.appMemoryFormatted),
|
||||
_metric(t.performanceOverlay.uiFps, _stats.uiFpsFormatted),
|
||||
]),
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user