feat(i18n): add Hungarian and Traditional Chinese locales
Complete and revise every shipped locale against the current English source, preserve locale-specific plurals, and map script-specific Chinese locales through device, Intl, duration, and Plex boundaries. Co-authored-by: emgeje <mgj@mgj.hu> Co-authored-by: junyou1998 <junyou1998@gmail.com>
This commit is contained in:
co-authored by
emgeje
junyou1998
parent
0c6dab01b3
commit
ad7ef112fc
@@ -0,0 +1,43 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
import 'strings.g.dart';
|
||||
|
||||
/// Resolves device locales in preference order while preserving Chinese script.
|
||||
///
|
||||
/// Slang's generic resolver cannot disambiguate `zh` and `zh-Hant` after an
|
||||
/// exact script-and-region miss, so common Traditional Chinese device tags need
|
||||
/// an application-owned canonicalization step.
|
||||
AppLocale resolvePreferredAppLocale(Iterable<Locale> preferredLocales) {
|
||||
for (final locale in preferredLocales) {
|
||||
final resolved = _resolveChineseLocale(locale) ?? AppLocaleUtils.parse(locale.toLanguageTag());
|
||||
if (resolved != AppLocale.en || locale.languageCode == AppLocale.en.languageCode) return resolved;
|
||||
}
|
||||
return AppLocale.en;
|
||||
}
|
||||
|
||||
AppLocale? _resolveChineseLocale(Locale locale) {
|
||||
if (locale.languageCode.toLowerCase() != 'zh') return null;
|
||||
|
||||
switch (locale.scriptCode?.toLowerCase()) {
|
||||
case 'hant':
|
||||
return AppLocale.zhHant;
|
||||
case 'hans':
|
||||
return AppLocale.zh;
|
||||
}
|
||||
|
||||
return switch (locale.countryCode?.toUpperCase()) {
|
||||
'TW' || 'HK' || 'MO' => AppLocale.zhHant,
|
||||
_ => AppLocale.zh,
|
||||
};
|
||||
}
|
||||
|
||||
extension AppLocaleExternalFormats on AppLocale {
|
||||
/// Locale name accepted by `package:intl`.
|
||||
String get intlLocaleName => this == AppLocale.zhHant ? 'zh_TW' : languageCode;
|
||||
|
||||
/// Locale name accepted by `package:duration`.
|
||||
String get durationLocaleName => this == AppLocale.zhHant ? 'zh_Hant' : languageCode;
|
||||
|
||||
/// Locale identifier sent in Plex request headers.
|
||||
String get plexLanguageCode => this == AppLocale.zhHant ? 'zh-TW' : languageCode;
|
||||
}
|
||||
+118
-118
@@ -5,19 +5,19 @@
|
||||
"auth": {
|
||||
"signInWithPlex": "Вход с Plex",
|
||||
"showQRCode": "Покажи QR код",
|
||||
"authenticate": "Удостовери",
|
||||
"authenticate": "Удостовери се",
|
||||
"authenticationTimeout": "Времето за удостоверяване изтече. Моля, опитайте отново.",
|
||||
"scanQRToSignIn": "Сканирайте този QR код, за да влезете",
|
||||
"waitingForAuth": "Изчакване на удостоверяване...\nВлезте от браузъра си.",
|
||||
"useBrowser": "Използвай браузър",
|
||||
"or": "или",
|
||||
"connectToJellyfin": "Свързване с Jellyfin",
|
||||
"connectToJellyfin": "Свържи се с Jellyfin",
|
||||
"useQuickConnect": "Използвай Quick Connect",
|
||||
"quickConnectInstructions": "Отворете Quick Connect в Jellyfin и въведете този код.",
|
||||
"quickConnectWaiting": "Изчакване на одобрение…",
|
||||
"quickConnectCancel": "Отказ",
|
||||
"quickConnectExpired": "Quick Connect изтече. Опитайте отново.",
|
||||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||||
"localDataRecoveryRequired": "Plezy не успя безопасно да възстанови локалните данни за вход и несинхронизираните данни за възпроизвеждане. Моля, влезте отново."
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Отказ",
|
||||
@@ -99,9 +99,9 @@
|
||||
"showHeroSectionDescription": "Показване на карусел с избрано съдържание на началния екран",
|
||||
"secondsLabel": "Секунди",
|
||||
"minutesLabel": "Минути",
|
||||
"secondsShort": "сек",
|
||||
"minutesShort": "мин",
|
||||
"durationHint": "Въведете продължителност (${min}-${max})",
|
||||
"secondsShort": "сек.",
|
||||
"minutesShort": "мин.",
|
||||
"durationHint": "Въведете продължителност (${min}–${max})",
|
||||
"systemTheme": "Системна",
|
||||
"lightTheme": "Светла",
|
||||
"darkTheme": "Тъмна",
|
||||
@@ -109,8 +109,8 @@
|
||||
"libraryDensity": "Плътност на библиотеката",
|
||||
"compact": "Компактна",
|
||||
"comfortable": "Удобна",
|
||||
"tvCornerSpotlightBackdrop": "",
|
||||
"tvCornerSpotlightBackdropDescription": "",
|
||||
"tvCornerSpotlightBackdrop": "Фон с акцент в ъгъла",
|
||||
"tvCornerSpotlightBackdropDescription": "Показвай акцентното изображение в горния десен ъгъл, вместо на целия екран",
|
||||
"viewMode": "Режим на изглед",
|
||||
"gridView": "Мрежа",
|
||||
"listView": "Списък",
|
||||
@@ -135,27 +135,27 @@
|
||||
"showEpisodeNumberOnCardsDescription": "Показвай сезон и номер на епизод върху картите на епизодите",
|
||||
"showSeasonPostersOnTabs": "Показвай постери на сезоните в табовете",
|
||||
"showSeasonPostersOnTabsDescription": "Показвай постера на всеки сезон над неговия таб",
|
||||
"tvFullCardLayout": "Пълни TV карти",
|
||||
"tvFullCardLayoutDescription": "Използвай TV карти само с изображения, с насложени имена на актьорите",
|
||||
"tvFullCardLayout": "Пълни телевизионни карти",
|
||||
"tvFullCardLayoutDescription": "Използвай телевизионни карти само с изображения и насложени имена на актьорите",
|
||||
"focusGlow": "Сияние при фокус",
|
||||
"focusGlowDescription": "Показвай меко сияние около фокусираната карта",
|
||||
"visualEffects": "Визуални ефекти",
|
||||
"visualEffectsAuto": "Автоматично",
|
||||
"visualEffectsAutoDescription": "Автоматично намалявай ефектите на по-слаби устройства",
|
||||
"visualEffectsFull": "Пълни",
|
||||
"visualEffectsFull": "Всички",
|
||||
"visualEffectsReduced": "Намалени",
|
||||
"visualEffectsReducedDescription": "По-малко анимации и изображения с по-ниска резолюция",
|
||||
"hideSpoilers": "Скривай спойлери за негледани епизоди",
|
||||
"hideSpoilersDescription": "Замазвай миниатюри и описания за негледани епизоди",
|
||||
"playerBackend": "Енджин на плеъра",
|
||||
"playerBackend": "Система за възпроизвеждане",
|
||||
"exoPlayer": "ExoPlayer",
|
||||
"mpv": "mpv",
|
||||
"hardwareDecoding": "Хардуерно декодиране",
|
||||
"hardwareDecodingDescription": "Използвай хардуерно ускорение, когато е налично",
|
||||
"bufferSize": "Размер на буфера",
|
||||
"bufferSizeMB": "${size}MB",
|
||||
"bufferSizeMB": "${size} MB",
|
||||
"bufferSizeAuto": "Автоматично (препоръчително)",
|
||||
"bufferSizeWarning": "Налична памет ${heap}MB. Буфер ${size}MB може да повлияе на възпроизвеждането.",
|
||||
"bufferSizeWarning": "Налична памет: ${heap} MB. Буфер от ${size} MB може да повлияе на възпроизвеждането.",
|
||||
"defaultQualityTitle": "Качество по подразбиране",
|
||||
"musicQualityTitle": "Качество на музиката",
|
||||
"subtitleStyling": "Стил на субтитрите",
|
||||
@@ -166,8 +166,8 @@
|
||||
"secondsUnit": "${seconds} секунди",
|
||||
"defaultSleepTimer": "Таймер за заспиване по подразбиране",
|
||||
"minutesUnit": "${minutes} минути",
|
||||
"rememberTrackSelections": "Запомняй избора на аудио/субтитри за сериал/филм",
|
||||
"rememberTrackSelectionsDescription": "Запомняй избора на аудио и субтитри за всяко заглавие",
|
||||
"rememberTrackSelections": "Запомняй избора на аудио и субтитри за всеки сериал или филм",
|
||||
"rememberTrackSelectionsDescription": "Запомняй избора на аудиопътечка и субтитри за всяко заглавие",
|
||||
"showChapterMarkersOnTimeline": "Показвай маркери на глави върху времевата линия",
|
||||
"showChapterMarkersOnTimelineDescription": "Разделяй времевата линия на сегменти по границите на главите",
|
||||
"clickVideoTogglesPlayback": "Клик върху видеото превключва възпроизвеждане/пауза",
|
||||
@@ -177,10 +177,10 @@
|
||||
"keyboardShortcutsDescription": "Настройване на клавишните комбинации",
|
||||
"videoPlayerNavigation": "Навигация във видео плейъра",
|
||||
"videoPlayerNavigationDescription": "Използвай стрелките за навигация в контролите на видео плейъра",
|
||||
"watchTogetherRelay": "Релей сървър за гледане заедно",
|
||||
"watchTogetherRelayDescription": "Задай собствен релей сървър. Всички трябва да използват същия сървър.",
|
||||
"watchTogetherRelay": "Релеен сървър за гледане заедно",
|
||||
"watchTogetherRelayDescription": "Задай собствен релеен сървър. Всички трябва да използват един и същ сървър.",
|
||||
"watchTogetherRelayHint": "https://my-relay.example.com",
|
||||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||||
"watchTogetherRelayInvalid": "Въведете валиден основен HTTP или HTTPS URL адрес на релейния сървър.",
|
||||
"crashReporting": "Докладване на сривове",
|
||||
"crashReportingDescription": "Изпращай доклади за сривове, за да помогнеш за подобряване на приложението",
|
||||
"debugLogging": "Логове за отстраняване на грешки",
|
||||
@@ -215,7 +215,7 @@
|
||||
"validationErrorDuration": "Продължителността трябва да е между ${min} и ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Клавишната комбинация вече е назначена за ${action}",
|
||||
"shortcutUpdated": "Клавишната комбинация е обновена за ${action}",
|
||||
"saveFailed": "Could not save changes. Try again.",
|
||||
"saveFailed": "Промените не можаха да бъдат запазени. Опитайте отново.",
|
||||
"autoSkip": "Автоматично прескачане",
|
||||
"autoSkipIntro": "Автоматично прескачане на интро",
|
||||
"autoSkipIntroDescription": "Автоматично прескачай интро маркери след няколко секунди",
|
||||
@@ -234,7 +234,7 @@
|
||||
"downloads": "Изтегляния",
|
||||
"downloadLocationDescription": "Изберете къде да се съхранява изтегленото съдържание",
|
||||
"downloadLocationDefault": "По подразбиране (хранилище на приложението)",
|
||||
"downloadLocationCustom": "Персонална локация",
|
||||
"downloadLocationCustom": "Потребителско местоположение",
|
||||
"selectFolder": "Избери папка",
|
||||
"resetToDefault": "Върни по подразбиране",
|
||||
"currentPath": "Текущ: ${path}",
|
||||
@@ -242,11 +242,11 @@
|
||||
"downloadLocationReset": "Местоположението за изтегляния е върнато по подразбиране",
|
||||
"downloadLocationInvalid": "Избраната папка не е записваема",
|
||||
"downloadLocationPickerUnavailable": "Изборът на папка не е наличен на това устройство",
|
||||
"downloadOnWifiOnly": "Изтегляне само през WiFi",
|
||||
"downloadOnWifiOnly": "Изтегляне само през Wi-Fi",
|
||||
"downloadOnWifiOnlyDescription": "Предотвратявай изтегляния през мобилни данни",
|
||||
"autoRemoveWatchedDownloads": "Автоматично премахвай изгледаните изтегляния",
|
||||
"autoRemoveWatchedDownloadsDescription": "Изтривай изгледаните изтегляния автоматично",
|
||||
"cellularDownloadBlocked": "Изтеглянията са блокирани през мобилни данни. Използвайте WiFi или променете настройката.",
|
||||
"cellularDownloadBlocked": "Изтеглянията през мобилни данни са блокирани. Използвайте Wi-Fi или променете настройката.",
|
||||
"maxVolume": "Максимална сила на звука",
|
||||
"maxVolumeDescription": "Позволи усилване на звука над 100% за тихи медии",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
@@ -258,7 +258,7 @@
|
||||
"companionRemoteServer": "Сървър за дистанционно управление",
|
||||
"companionRemoteServerDescription": "Позволи на мобилни устройства във вашата мрежа да управляват това приложение",
|
||||
"autoPip": "Автоматичен режим картина в картината",
|
||||
"autoPipDescription": "Влизай в режим картина в картината при напускане по време на възпроизвеждане",
|
||||
"autoPipDescription": "Автоматично включвай режима картина в картината при излизане от приложението по време на възпроизвеждане",
|
||||
"matchContentFrameRate": "Напасване към кадровата честота на съдържанието",
|
||||
"matchContentFrameRateDescription": "Напасни честотата на опресняване на дисплея към видео съдържанието",
|
||||
"matchRefreshRate": "Напасване на честотата на опресняване",
|
||||
@@ -268,9 +268,9 @@
|
||||
"displaySwitchDelay": "Забавяне при смяна на дисплея",
|
||||
"tunneledPlayback": "Тунелно възпроизвеждане",
|
||||
"tunneledPlaybackDescription": "Използвай видео тунелиране. Изключете, ако HDR възпроизвеждането показва черен екран.",
|
||||
"audioPassthrough": "Аудио passthrough",
|
||||
"audioPassthroughDescription": "Изпращай Dolby/DTS звук към ресийвъра или телевизора без прекодиране, запазвайки съраунд звука. Изключете, ако няма звук.",
|
||||
"audioPassthroughDescriptionAppleTv": "Предава Dolby Digital Plus (вкл. Atmos) на системата като битов поток. DTS и TrueHD продължават да се възпроизвеждат като многоканален PCM. При превъртане може да има кратки прекъсвания на звука.",
|
||||
"audioPassthrough": "Директно предаване на аудио",
|
||||
"audioPassthroughDescription": "Изпращай Dolby/DTS звук към приемника или телевизора без прекодиране, за да запазиш съраунд звука. Изключи настройката, ако няма звук.",
|
||||
"audioPassthroughDescriptionAppleTv": "Използвай вградения декодер на Apple за Dolby Digital Plus, включително Atmos. DTS и TrueHD продължават да се възпроизвеждат като многоканален PCM. Изключи настройката, ако няма звук.",
|
||||
"audioDownmix": "Смесване до стерео",
|
||||
"audioDownmixDescription": "Смесва съраунд звука до два канала за стерео тонколони или слушалки",
|
||||
"downmixCenterBoost": "Усилване на централния канал",
|
||||
@@ -294,16 +294,16 @@
|
||||
"atmosTestUrlDescription": "HTTP URL на суров .ec3 Dolby Atmos файл (напр. извлечен с ffmpeg)",
|
||||
"atmosTestUrlMissing": "Първо задайте URL на тестовия файл",
|
||||
"atmosTestStatus": "Състояние",
|
||||
"dvConversionMode": "Dolby Vision конвертиране",
|
||||
"dvConversionModeDescription": "Изберете как ExoPlayer обработва Dolby Vision Profile 7 файлове.",
|
||||
"dvConversionMode": "Преобразуване на Dolby Vision",
|
||||
"dvConversionModeDescription": "Изберете как ExoPlayer обработва файлове с Dolby Vision Profile 7.",
|
||||
"dvConversionAuto": "Автоматично",
|
||||
"dvConversionNative": "Нативно / изключено",
|
||||
"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",
|
||||
"dvConversionAutoDescription": "Засича възможностите на устройството и използва обичайното резервно поведение",
|
||||
"dvConversionNativeDescription": "Принуждава директно възпроизвеждане на DV7 и изключва повторния опит за преобразуване",
|
||||
"dvConversionDv81Description": "Принуждава директно преобразуване на RPU към Dolby Vision Profile 8.1",
|
||||
"dvConversionHevcStripDescription": "Премахва слоевете Dolby Vision RPU/EL и подава обикновен HEVC поток",
|
||||
"requireProfileSelectionOnOpen": "Питай за профил при отваряне на приложението",
|
||||
"requireProfileSelectionOnOpenDescription": "Показвай избор на профил всеки път при отваряне на приложението",
|
||||
"forceTvMode": "Принуди TV режим",
|
||||
@@ -332,7 +332,7 @@
|
||||
"search": {
|
||||
"hint": "Търсене на филми, сериали, музика...",
|
||||
"tryDifferentTerm": "Опитайте с различна дума за търсене",
|
||||
"searchYourMedia": "Търсете във вашата медия",
|
||||
"searchYourMedia": "Търсете в медийното си съдържание",
|
||||
"enterTitleActorOrKeyword": "Въведете заглавие, актьор или ключова дума"
|
||||
},
|
||||
"hotkeys": {
|
||||
@@ -346,13 +346,13 @@
|
||||
"playPause": "Пускане/пауза",
|
||||
"volumeUp": "Увеличи звука",
|
||||
"volumeDown": "Намали звука",
|
||||
"seekForward": "Превърти напред (${seconds}сек)",
|
||||
"seekBackward": "Превърти назад (${seconds}сек)",
|
||||
"seekForward": "Превърти напред (${seconds} сек.)",
|
||||
"seekBackward": "Превърти назад (${seconds} сек.)",
|
||||
"fullscreenToggle": "Превключи цял екран",
|
||||
"muteToggle": "Превключи заглушаване",
|
||||
"subtitleToggle": "Превключи субтитри",
|
||||
"audioTrackNext": "Следващ аудио запис",
|
||||
"subtitleTrackNext": "Следващ субтитърен запис",
|
||||
"audioTrackNext": "Следваща аудиопътечка",
|
||||
"subtitleTrackNext": "Следваща пътечка със субтитри",
|
||||
"chapterNext": "Следваща глава",
|
||||
"chapterPrevious": "Предишна глава",
|
||||
"episodeNext": "Следващ епизод",
|
||||
@@ -407,10 +407,10 @@
|
||||
"shuffleNotAvailableOffline": "Разбърканото възпроизвеждане не е налично офлайн",
|
||||
"fileInfo": "Информация за файла",
|
||||
"deleteFromServer": "Изтрий от сървъра",
|
||||
"confirmDelete": "Да се изтрие ли тази медия и файловете ѝ от вашия сървър?",
|
||||
"confirmDelete": "Да се изтрият ли този елемент и файловете му от вашия сървър?",
|
||||
"deleteMultipleWarning": "Това включва всички епизоди и техните файлове.",
|
||||
"mediaDeletedSuccessfully": "Медията е изтрита успешно",
|
||||
"mediaFailedToDelete": "Неуспешно изтриване на медията",
|
||||
"mediaDeletedSuccessfully": "Елементът е изтрит успешно",
|
||||
"mediaFailedToDelete": "Неуспешно изтриване на елемента",
|
||||
"rate": "Оцени",
|
||||
"playFromBeginning": "Пусни от началото",
|
||||
"playVersion": "Пусни версия..."
|
||||
@@ -422,7 +422,7 @@
|
||||
"favorited": "Добавено в любими",
|
||||
"saved": "Запазено",
|
||||
"notAvailable": "Няма намерено съвпадение",
|
||||
"noConnectedServices": "Свържи услуга в Настройки, за да оценяваш там."
|
||||
"noConnectedServices": "Свържи услуга от настройките, за да оценяваш и в нея."
|
||||
},
|
||||
"accessibility": {
|
||||
"mediaCardMovie": "${title}, филм",
|
||||
@@ -432,7 +432,7 @@
|
||||
"mediaCardWatched": "гледано",
|
||||
"mediaCardPartiallyWatched": "${percent} процента изгледано",
|
||||
"mediaCardUnwatched": "негледано",
|
||||
"tapToPlay": "Докоснете за възпроизвеждане",
|
||||
"tapToPlay": "Докосни за възпроизвеждане",
|
||||
"decrease": "Намали",
|
||||
"increase": "Увеличи",
|
||||
"decreaseValue": "Намали ${label}",
|
||||
@@ -444,7 +444,7 @@
|
||||
"expandText": "Разгъни текста",
|
||||
"collapseText": "Свий текста",
|
||||
"alphabetNavigation": "Навигация по азбуката",
|
||||
"alphabetScrollHint": "Плъзнете нагоре или надолу, за да преминете по буква",
|
||||
"alphabetScrollHint": "Плъзни нагоре или надолу, за да преминеш към друга буква",
|
||||
"rowColumnPosition": "Ред ${row} от ${rowCount}, колона ${column} от ${columnCount}",
|
||||
"rowPosition": "Ред ${row} от ${rowCount}"
|
||||
},
|
||||
@@ -455,7 +455,7 @@
|
||||
"markAsUnwatched": "Маркирай като негледано"
|
||||
},
|
||||
"audioTracks": {
|
||||
"track": "Аудио пътечка ${n}"
|
||||
"track": "Аудиопътечка ${n}"
|
||||
},
|
||||
"videoControls": {
|
||||
"audioLabel": "Аудио",
|
||||
@@ -469,8 +469,8 @@
|
||||
"letterbox": "Черни ленти",
|
||||
"fillScreen": "Запълни екрана",
|
||||
"stretch": "Разтегни",
|
||||
"lockRotation": "Заключи ротацията",
|
||||
"unlockRotation": "Отключи ротацията",
|
||||
"lockRotation": "Заключи завъртането",
|
||||
"unlockRotation": "Отключи завъртането",
|
||||
"timerActive": "Таймерът е активен",
|
||||
"playbackWillPauseIn": "Възпроизвеждането ще спре след ${duration}",
|
||||
"sleepTimerEndOfVideo": "Край на текущото видео",
|
||||
@@ -478,14 +478,14 @@
|
||||
"sleepTimerDurationHeader": "Таймер",
|
||||
"playbackWillPauseAtEnd": "Възпроизвеждането ще спре в края на това видео",
|
||||
"stillWatching": "Още ли гледате?",
|
||||
"pausingIn": "Пауза след ${seconds}сек",
|
||||
"pausingIn": "Пауза след ${seconds} сек.",
|
||||
"continueWatching": "Продължи",
|
||||
"autoPlayNext": "Автоматично пусни следващото",
|
||||
"playNext": "Пусни следващото",
|
||||
"playButton": "Пусни",
|
||||
"pauseButton": "Пауза",
|
||||
"showPlaybackControls": "",
|
||||
"hidePlaybackControls": "",
|
||||
"showPlaybackControls": "Покажи контролите за възпроизвеждане",
|
||||
"hidePlaybackControls": "Скрий контролите за възпроизвеждане",
|
||||
"seekBackwardButton": "Превърти назад ${seconds} секунди",
|
||||
"seekForwardButton": "Превърти напред ${seconds} секунди",
|
||||
"previousButton": "Предишен епизод",
|
||||
@@ -510,10 +510,10 @@
|
||||
"fullscreenButton": "Влез на цял екран",
|
||||
"exitFullscreenButton": "Излез от цял екран",
|
||||
"alwaysOnTopButton": "Винаги отгоре",
|
||||
"rotationLockButton": "Заключване на ротацията",
|
||||
"rotationLockButton": "Заключване на завъртането",
|
||||
"lockScreen": "Заключи екрана",
|
||||
"screenLockButton": "Заключване на екрана",
|
||||
"longPressToUnlock": "Задръжте продължително за отключване",
|
||||
"longPressToUnlock": "Задръж продължително за отключване",
|
||||
"timelineSlider": "Видео времева линия",
|
||||
"volumeSlider": "Ниво на звука",
|
||||
"endsAt": "Свършва в ${time}",
|
||||
@@ -524,7 +524,7 @@
|
||||
"pipErrors": {
|
||||
"androidVersion": "Изисква Android 8.0 или по-нова версия",
|
||||
"iosVersion": "Изисква iOS 15.0 или по-нова версия",
|
||||
"permissionDisabled": "Режимът картина в картината е изключен. Включете го в системните настройки.",
|
||||
"permissionDisabled": "Режимът картина в картината е изключен. Включете го от системните настройки.",
|
||||
"notSupported": "Устройството не поддържа режим картина в картината",
|
||||
"voSwitchFailed": "Неуспешна смяна на видео изхода за режим картина в картината",
|
||||
"failed": "Режимът картина в картината не успя да стартира",
|
||||
@@ -538,8 +538,8 @@
|
||||
"language": "Език",
|
||||
"noSubtitlesFound": "Не са намерени субтитри",
|
||||
"noSubtitlesAvailable": "Няма налични субтитри",
|
||||
"noAudioTracksAvailable": "Няма налични аудио писти",
|
||||
"noTracksAvailable": "Няма налични писти",
|
||||
"noAudioTracksAvailable": "Няма налични аудиопътечки",
|
||||
"noTracksAvailable": "Няма налични пътечки",
|
||||
"subtitleDownloaded": "Субтитърът е изтеглен",
|
||||
"subtitleDownloadedNotApplied": "Субтитрите са изтеглени, но не можаха да бъдат избрани",
|
||||
"subtitleDownloadFailed": "Неуспешно изтегляне на субтитър",
|
||||
@@ -561,11 +561,11 @@
|
||||
"streamInterrupted": "Потокът прекъсна. Натиснете „Пусни“ или превъртете, за да опитате отново.",
|
||||
"liveStreamInterrupted": "Потокът на живо прекъсна. Натиснете „Пусни“, за да опитате отново.",
|
||||
"fileInfoNotAvailable": "Информацията за файла не е налична",
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"playbackAuthenticationRequired": "Влезте отново в медийния сървър, за да възпроизведете този елемент.",
|
||||
"playbackServerUnavailable": "Медийният сървър не е достъпен. Опитайте отново по-късно.",
|
||||
"playbackDataInvalid": "Сървърът върна невалидна информация за възпроизвеждането.",
|
||||
"playbackCancelled": "Възпроизвеждането беше отменено.",
|
||||
"playbackFailed": "Възпроизвеждането не можа да бъде стартирано.",
|
||||
"errorLoadingFileInfo": "Грешка при зареждане на информация за файла: ${error}",
|
||||
"errorLoadingSeries": "Грешка при зареждане на сериала",
|
||||
"musicNotSupported": "Възпроизвеждането на музика все още не се поддържа",
|
||||
@@ -602,16 +602,16 @@
|
||||
},
|
||||
"subtitlingStyling": {
|
||||
"text": "Текст",
|
||||
"border": "Рамка",
|
||||
"border": "Контур",
|
||||
"background": "Фон",
|
||||
"fontSize": "Размер на шрифта",
|
||||
"textColor": "Цвят на текста",
|
||||
"borderSize": "Размер на рамката",
|
||||
"borderColor": "Цвят на рамката",
|
||||
"backgroundOpacity": "Прозрачност на фона",
|
||||
"borderSize": "Дебелина на контура",
|
||||
"borderColor": "Цвят на контура",
|
||||
"backgroundOpacity": "Непрозрачност на фона",
|
||||
"backgroundColor": "Цвят на фона",
|
||||
"position": "Позиция",
|
||||
"assOverride": "ASS презаписване",
|
||||
"assOverride": "Промяна на ASS стиловете",
|
||||
"overrideScale": "Мащабиране",
|
||||
"overrideForce": "Принудително",
|
||||
"overrideStrip": "Премахване на стиловете",
|
||||
@@ -688,7 +688,7 @@
|
||||
"borrowExplain": "Използвай връзка от друг профил. PIN-защитените профили изискват PIN.",
|
||||
"borrowEmpty": "Все още няма какво да се използва.",
|
||||
"borrowEmptySubtitle": "Първо свържете Plex или Jellyfin към друг профил.",
|
||||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||||
"borrowLoadFailed": "Наличните връзки не можаха да бъдат заредени. Опитайте отново.",
|
||||
"borrowFromProfile": "От ${displayName}",
|
||||
"borrowConnectionBorrowed": "Връзката е използвана.",
|
||||
"borrowFailed": "Неуспешно използване на връзка.",
|
||||
@@ -848,7 +848,7 @@
|
||||
"title": "Относно",
|
||||
"openSourceLicenses": "Лицензи с отворен код",
|
||||
"versionLabel": "Версия ${version}",
|
||||
"appDescription": "Красив Plex и Jellyfin клиент за Flutter",
|
||||
"appDescription": "Красив клиент за Plex и Jellyfin, създаден с Flutter",
|
||||
"viewLicensesDescription": "Виж лицензите на библиотеки на трети страни"
|
||||
},
|
||||
"serverSelection": {
|
||||
@@ -886,15 +886,15 @@
|
||||
"watchlist": "Списък за гледане",
|
||||
"recommendedMovies": "Препоръчани филми",
|
||||
"recommendedShows": "Препоръчани сериали",
|
||||
"trendingMovies": "Актуални филми",
|
||||
"trendingShows": "Актуални сериали",
|
||||
"trendingMovies": "Набиращи популярност филми",
|
||||
"trendingShows": "Набиращи популярност сериали",
|
||||
"popularMovies": "Популярни филми",
|
||||
"popularShows": "Популярни сериали",
|
||||
"trendingAnime": "Актуални аниме",
|
||||
"trendingAnime": "Набиращи популярност аниме",
|
||||
"suggestedAnime": "Препоръчани аниме",
|
||||
"airingAnime": "Топ излъчвани аниме",
|
||||
"popularAnime": "Най-популярни аниме",
|
||||
"trending": "Актуални",
|
||||
"trending": "Набиращи популярност",
|
||||
"upcomingMovies": "Предстоящи филми",
|
||||
"upcomingShows": "Предстоящи сериали"
|
||||
},
|
||||
@@ -931,7 +931,7 @@
|
||||
"serverUnavailable": "Сървърът за телевизия на живо не е наличен.",
|
||||
"serverNotConnected": "Сървърът за телевизия на живо не е свързан.",
|
||||
"noPrograms": "Няма налични програмни данни",
|
||||
"liveStreamFailed": "Потокът на живо се провали",
|
||||
"liveStreamFailed": "Потокът на живо не можа да бъде пуснат",
|
||||
"unknownProgram": "Неизвестна програма",
|
||||
"unknownHub": "Неизвестно",
|
||||
"unknownError": "Неизвестна грешка",
|
||||
@@ -953,7 +953,7 @@
|
||||
"favorites": "Любими",
|
||||
"reorderFavorites": "Пренареди любимите",
|
||||
"favoritesLoadFailed": "Любимите не можаха да се заредят. Проверете връзката си и опитайте отново.",
|
||||
"favoritesUpdateFailed": "Could not update favorites. Check your connection and try again.",
|
||||
"favoritesUpdateFailed": "Любимите не можаха да бъдат обновени. Проверете връзката си и опитайте отново.",
|
||||
"joinSession": "Присъедини се към текуща сесия",
|
||||
"watchFromStart": "Гледай от началото (преди ${minutes} мин)",
|
||||
"watchLive": "Гледай на живо",
|
||||
@@ -1057,17 +1057,17 @@
|
||||
"playingFrom": "Възпроизвеждане от ${title}",
|
||||
"queue": "Опашка",
|
||||
"clearQueue": "Изчисти опашката",
|
||||
"lyrics": "Текст",
|
||||
"noLyrics": "Няма наличен текст",
|
||||
"lyrics": "Текст на песента",
|
||||
"noLyrics": "Няма наличен текст на песента",
|
||||
"sleepTimer": "Таймер за заспиване",
|
||||
"sleepTimerEndOfTrack": "Край на песента",
|
||||
"sleepTimerMinutes": "${n} минути",
|
||||
"stopPlayback": "Спри възпроизвеждането",
|
||||
"previousTrack": "Предишна песен",
|
||||
"nextTrack": "Следваща песен",
|
||||
"repeat": "Повтори",
|
||||
"repeatAll": "Повтори всички",
|
||||
"repeatOne": "Повтори една"
|
||||
"repeat": "Повтаряне",
|
||||
"repeatAll": "Повтаряне на всички",
|
||||
"repeatOne": "Повтаряне на една"
|
||||
},
|
||||
"watchTogether": {
|
||||
"title": "Гледане заедно",
|
||||
@@ -1078,21 +1078,21 @@
|
||||
"joining": "Присъединяване...",
|
||||
"controlMode": "Режим на управление",
|
||||
"controlModeQuestion": "Кой може да управлява възпроизвеждането?",
|
||||
"hostOnly": "Само домакинът",
|
||||
"hostOnly": "Само организаторът",
|
||||
"anyone": "Всеки",
|
||||
"hostingSession": "Сесия с домакин",
|
||||
"hostingSession": "Организирана сесия",
|
||||
"inSession": "В сесия",
|
||||
"sessionCode": "Код на сесията",
|
||||
"openSessionControls": "Отвори контролите за сесията „Гледане заедно“",
|
||||
"copySessionCode": "Копирай кода на сесията",
|
||||
"hostControlsPlayback": "Домакинът управлява възпроизвеждането",
|
||||
"hostControlsPlayback": "Организаторът управлява възпроизвеждането",
|
||||
"anyoneCanControl": "Всеки може да управлява възпроизвеждането",
|
||||
"hostControls": "Контроли на домакина",
|
||||
"hostControls": "Контроли на организатора",
|
||||
"anyoneControls": "Всеки управлява",
|
||||
"participants": "Участници",
|
||||
"host": "Домакин",
|
||||
"hostBadge": "ДОМАКИН",
|
||||
"youAreHost": "Вие сте домакин",
|
||||
"host": "Организатор",
|
||||
"hostBadge": "ОРГАНИЗАТОР",
|
||||
"youAreHost": "Вие сте организаторът",
|
||||
"watchingWithOthers": "Гледате с други",
|
||||
"endSession": "Край на сесията",
|
||||
"leaveSession": "Напусни сесията",
|
||||
@@ -1110,21 +1110,21 @@
|
||||
"pasteFromClipboard": "Постави от клипборда",
|
||||
"pleaseEnterCode": "Моля, въведете код на сесия",
|
||||
"codeMustBe5Chars": "Кодът на сесията трябва да е 5 символа",
|
||||
"joinInstructions": "Въведете кода на сесията от домакина, за да се присъедините.",
|
||||
"joinInstructions": "Въведете кода на сесията от организатора, за да се присъедините.",
|
||||
"failedToCreate": "Неуспешно създаване на сесия",
|
||||
"failedToJoin": "Неуспешно присъединяване към сесия",
|
||||
"sessionCodeCopied": "Кодът на сесията е копиран в клипборда",
|
||||
"relayUnreachable": "Релей сървърът е недостъпен. Блокиране от доставчика може да пречи на гледането заедно.",
|
||||
"reconnectingToHost": "Повторно свързване с домакина...",
|
||||
"relayUnreachable": "Релейният сървър е недостъпен. Възможно е интернет доставчикът да блокира гледането заедно.",
|
||||
"reconnectingToHost": "Повторно свързване с организатора...",
|
||||
"currentPlayback": "Текущо възпроизвеждане",
|
||||
"joinCurrentPlayback": "Присъедини се към текущото възпроизвеждане",
|
||||
"joinCurrentPlaybackDescription": "Върнете се към това, което домакинът гледа в момента",
|
||||
"joinCurrentPlaybackDescription": "Върнете се към това, което организаторът гледа в момента",
|
||||
"failedToOpenCurrentPlayback": "Неуспешно отваряне на текущото възпроизвеждане",
|
||||
"participantJoined": "${name} се присъедини",
|
||||
"participantLeft": "${name} напусна",
|
||||
"participantPaused": "${name} постави на пауза",
|
||||
"participantResumed": "${name} продължи",
|
||||
"participantSeeked": "${name} превъртя",
|
||||
"participantSeeked": "${name} промени позицията на възпроизвеждане",
|
||||
"participantBuffering": "${name} буферира",
|
||||
"participantNeedsUpdate": "${name} е с по-стара версия на приложението — синхронизирането не е налично",
|
||||
"resumingWithout": "Продължаване без ${name}",
|
||||
@@ -1160,8 +1160,8 @@
|
||||
"resumeDownload": "Възобнови изтеглянето",
|
||||
"cancelledDownload": "Отменено изтегляне",
|
||||
"syncingFile": "${file} (синхронизира се ${status})",
|
||||
"downloadedFileClickToComplete": "Изтеглен ${file} — щракнете за довършване",
|
||||
"partialDownloadClickToComplete": "Частично изтеглено — щракнете за довършване",
|
||||
"downloadedFileClickToComplete": "${file} е изтеглен — щракнете, за да завършите",
|
||||
"partialDownloadClickToComplete": "Частично изтеглено — щракнете, за да завършите",
|
||||
"deleting": "Изтриване...",
|
||||
"deletingWithProgress": "Изтриване на ${title}... (${current} от ${total})",
|
||||
"queuedTooltip": "В опашката",
|
||||
@@ -1176,7 +1176,7 @@
|
||||
"allEpisodes": "Всички епизоди",
|
||||
"unwatchedOnly": "Само негледани",
|
||||
"nextNUnwatched": "Следващите ${count} негледани",
|
||||
"customAmount": "Персонален брой...",
|
||||
"customAmount": "Друг брой...",
|
||||
"includeSpecials": "Включи специалните",
|
||||
"howManyEpisodes": "Колко епизода?",
|
||||
"invalidEpisodeCount": "Въведете валиден брой епизоди.",
|
||||
@@ -1224,7 +1224,7 @@
|
||||
},
|
||||
"companionRemote": {
|
||||
"title": "Дистанционно управление",
|
||||
"connectedTo": "Свързан към ${name}",
|
||||
"connectedTo": "Връзка с ${name}",
|
||||
"unknownDevice": "Непознато устройство",
|
||||
"session": {
|
||||
"startingServer": "Стартиране на сървър за дистанционно управление...",
|
||||
@@ -1245,7 +1245,7 @@
|
||||
"connecting": "Свързване...",
|
||||
"searchingForDevices": "Търсене на устройства...",
|
||||
"noDevicesFound": "Не са намерени устройства във вашата мрежа",
|
||||
"noDevicesHint": "Отворете Plezy на настолен компютър и използвайте същия WiFi",
|
||||
"noDevicesHint": "Отворете Plezy на настолен компютър и използвайте същата Wi-Fi мрежа",
|
||||
"availableDevices": "Налични устройства",
|
||||
"manualConnection": "Ръчно свързване",
|
||||
"cryptoInitFailed": "Не може да се стартира защитена връзка. Първо влезте в Plex.",
|
||||
@@ -1288,8 +1288,8 @@
|
||||
"errors": {
|
||||
"noNetworkInterface": "Не е намерен мрежов интерфейс",
|
||||
"authenticationFailed": "Неуспешно удостоверяване",
|
||||
"serverStartFailed": "Неуспешно стартиране на отдалечения сървър: ${error}",
|
||||
"commandFailed": "Неуспешно изпращане на отдалечена команда: ${error}",
|
||||
"serverStartFailed": "Неуспешно стартиране на сървъра за дистанционно управление: ${error}",
|
||||
"commandFailed": "Неуспешно изпращане на команда за дистанционно управление: ${error}",
|
||||
"joinTimedOut": "Времето за присъединяване към сесията изтече",
|
||||
"failedToConnectAnyAddress": "Неуспешно свързване към който и да е адрес",
|
||||
"connectionLostAfterAttempts": "Връзката е загубена след ${attempts} опита",
|
||||
@@ -1307,7 +1307,7 @@
|
||||
"hdr": "HDR",
|
||||
"audioOutput": "Аудио изход",
|
||||
"performanceOverlay": "Оверлей за производителност",
|
||||
"audioPassthrough": "Аудио passthrough",
|
||||
"audioPassthrough": "Директно предаване на аудио",
|
||||
"audioNormalization": "Нормализиране на силата на звука",
|
||||
"audioDownmix": "Смесване до стерео"
|
||||
},
|
||||
@@ -1330,10 +1330,10 @@
|
||||
"matrix": "Матрица",
|
||||
"primaries": "Основни цветове",
|
||||
"transfer": "Трансфер",
|
||||
"renderFps": "Render FPS",
|
||||
"displayFps": "Display FPS",
|
||||
"renderFps": "FPS при изобразяване",
|
||||
"displayFps": "FPS на дисплея",
|
||||
"avSync": "A/V синхр.",
|
||||
"dropped": "Изпуснати",
|
||||
"dropped": "Пропуснати кадри",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "Средно DV RPU",
|
||||
"dvSampleAverage": "Средно DV семпл",
|
||||
@@ -1346,16 +1346,16 @@
|
||||
"speed": "Скорост",
|
||||
"player": "Плеър",
|
||||
"memory": "Памет",
|
||||
"uiFps": "UI FPS"
|
||||
"uiFps": "FPS на интерфейса"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Външен плеър",
|
||||
"useExternalPlayer": "Използвай външен плеър",
|
||||
"useExternalPlayerDescription": "Отваряй видеата в друго приложение",
|
||||
"selectPlayer": "Избери плейър",
|
||||
"customPlayers": "Персонални плейъри",
|
||||
"customPlayers": "Потребителски плейъри",
|
||||
"systemDefault": "Системен по подразбиране",
|
||||
"addCustomPlayer": "Добави персонален плейър",
|
||||
"addCustomPlayer": "Добави потребителски плейър",
|
||||
"playerName": "Име на плейъра",
|
||||
"playerNameHint": "Моят плеър",
|
||||
"playerCommand": "Команда",
|
||||
@@ -1406,7 +1406,7 @@
|
||||
"episodeSorting": "Сортиране на епизоди",
|
||||
"oldestFirst": "Най-старите първо",
|
||||
"newestFirst": "Най-новите първо",
|
||||
"keep": "Пази",
|
||||
"keep": "Запазвай",
|
||||
"allEpisodes": "Всички епизоди",
|
||||
"latestEpisodes": "${count} последни епизода",
|
||||
"latestEpisode": "Последен епизод",
|
||||
@@ -1421,17 +1421,17 @@
|
||||
"show": "Покажи",
|
||||
"hide": "Скрий",
|
||||
"episodeOrdering": "Подредба на епизодите",
|
||||
"tmdbAiring": "The Movie Database (Aired)",
|
||||
"tvdbAiring": "TheTVDB (Aired)",
|
||||
"tvdbAbsolute": "TheTVDB (Absolute)",
|
||||
"tmdbAiring": "The Movie Database (по излъчване)",
|
||||
"tvdbAiring": "TheTVDB (по излъчване)",
|
||||
"tvdbAbsolute": "TheTVDB (абсолютна подредба)",
|
||||
"metadataLanguage": "Език на метаданните",
|
||||
"useOriginalTitle": "Използвай оригиналното заглавие",
|
||||
"preferredAudioLanguage": "Предпочитан аудио език",
|
||||
"preferredSubtitleLanguage": "Предпочитан език за субтитри",
|
||||
"subtitleMode": "Режим за автоматичен избор на субтитри",
|
||||
"manuallySelected": "Ръчно избрано",
|
||||
"shownWithForeignAudio": "Показва се при чуждо аудио",
|
||||
"alwaysEnabled": "Винаги включено",
|
||||
"manuallySelected": "Ръчно избрани",
|
||||
"shownWithForeignAudio": "Показване при чуждоезично аудио",
|
||||
"alwaysEnabled": "Винаги включени",
|
||||
"tags": "Тагове",
|
||||
"addTag": "Добави таг",
|
||||
"genre": "Жанр",
|
||||
@@ -1472,7 +1472,7 @@
|
||||
"scrobble": "Скроблиране в реално време",
|
||||
"scrobbleDescription": "Изпращай събития за пускане, пауза и спиране към Trakt по време на възпроизвеждане.",
|
||||
"watchedSync": "Синхронизирай статус гледано",
|
||||
"watchedSyncDescription": "Когато маркирате елементи като гледани в Plezy, маркирай ги и в Trakt."
|
||||
"watchedSyncDescription": "Когато маркирате елементи като гледани в Plezy, те се маркират и в Trakt."
|
||||
},
|
||||
"seerr": {
|
||||
"title": "Seerr",
|
||||
@@ -1509,7 +1509,7 @@
|
||||
"services": {
|
||||
"title": "Услуги",
|
||||
"hubSubtitle": "Синхронизирай прогреса на гледане и заявявай нови заглавия.",
|
||||
"notConnected": "Не е свързан",
|
||||
"notConnected": "Няма връзка",
|
||||
"connectedAs": "Свързан като @${username}",
|
||||
"scrobble": "Проследявай прогреса автоматично",
|
||||
"scrobbleDescription": "Обновявай списъка си, когато завършиш епизод или филм.",
|
||||
@@ -1544,9 +1544,9 @@
|
||||
"subtitleBlocked": "${count} блокирани",
|
||||
"subtitleAllowed": "${count} разрешени",
|
||||
"mode": "Режим на филтъра",
|
||||
"modeBlacklist": "Черен списък",
|
||||
"modeWhitelist": "Бял списък",
|
||||
"modeHintBlacklist": "Синхронизирай всяка библиотека, освен отметнатите по-долу.",
|
||||
"modeBlacklist": "Списък за изключване",
|
||||
"modeWhitelist": "Списък за включване",
|
||||
"modeHintBlacklist": "Синхронизирай всички библиотеки освен отметнатите по-долу.",
|
||||
"modeHintWhitelist": "Синхронизирай само отметнатите по-долу библиотеки.",
|
||||
"libraries": "Библиотеки",
|
||||
"noLibraries": "Няма налични библиотеки"
|
||||
@@ -1566,7 +1566,7 @@
|
||||
"required": "Задължително",
|
||||
"couldNotReachServer": "Сървърът не може да бъде достигнат: ${error}",
|
||||
"signInFailed": "Входът е неуспешен: ${error}",
|
||||
"quickConnectFailed": "Quick Connect е неуспешен: ${error}",
|
||||
"quickConnectFailed": "Quick Connect не бе успешно: ${error}",
|
||||
"addPlexTitle": "Вход с Plex",
|
||||
"pinExpired": "PIN-ът изтече преди вход. Моля, опитайте отново.",
|
||||
"failedToRegisterAccount": "Неуспешна регистрация на акаунт: ${error}",
|
||||
|
||||
+188
-188
@@ -6,18 +6,18 @@
|
||||
"signInWithPlex": "Log ind med Plex",
|
||||
"showQRCode": "Vis QR-kode",
|
||||
"authenticate": "Godkend",
|
||||
"authenticationTimeout": "Godkendelse fik timeout. Prøv igen.",
|
||||
"authenticationTimeout": "Godkendelsen tog for lang tid. Prøv igen.",
|
||||
"scanQRToSignIn": "Scan denne QR-kode for at logge ind",
|
||||
"waitingForAuth": "Venter på godkendelse...\nLog ind fra din browser.",
|
||||
"useBrowser": "Brug browser",
|
||||
"useBrowser": "Brug browseren",
|
||||
"or": "eller",
|
||||
"connectToJellyfin": "Forbind til Jellyfin",
|
||||
"useQuickConnect": "Brug Quick Connect",
|
||||
"quickConnectInstructions": "Åbn Quick Connect i Jellyfin, og indtast denne kode.",
|
||||
"quickConnectWaiting": "Venter på godkendelse…",
|
||||
"quickConnectCancel": "Annullér",
|
||||
"quickConnectCancel": "Annuller",
|
||||
"quickConnectExpired": "Quick Connect er udløbet. Prøv igen.",
|
||||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||||
"localDataRecoveryRequired": "Plezy kunne ikke gendanne lokale loginoplysninger og ventende afspilningsdata på en sikker måde. Log ind igen."
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Annuller",
|
||||
@@ -53,7 +53,7 @@
|
||||
"ok": "OK",
|
||||
"off": "Fra",
|
||||
"seasonNumber": "Sæson ${number}",
|
||||
"episodeNumberTitle": "Episode ${number} - ${title}",
|
||||
"episodeNumberTitle": "Episode ${number} – ${title}",
|
||||
"chapterNumber": "Kapitel ${number}",
|
||||
"reconnect": "Genopret forbindelse",
|
||||
"viewAll": "Vis alle",
|
||||
@@ -64,14 +64,14 @@
|
||||
"loading": "Indlæser...",
|
||||
"fullscreen": "Fuldskærm",
|
||||
"exitFullscreen": "Forlad fuldskærm",
|
||||
"pressBackAgainToExit": "Tryk tilbage igen for at afslutte"
|
||||
"pressBackAgainToExit": "Tryk på tilbage igen for at afslutte"
|
||||
},
|
||||
"screens": {
|
||||
"licenses": "Licenser",
|
||||
"switchProfile": "Skift profil",
|
||||
"subtitleStyling": "Undertekststil",
|
||||
"mpvConfig": "mpv.conf",
|
||||
"logs": "Logs"
|
||||
"logs": "Logfiler"
|
||||
},
|
||||
"update": {
|
||||
"available": "Opdatering tilgængelig",
|
||||
@@ -109,13 +109,13 @@
|
||||
"libraryDensity": "Bibliotekstæthed",
|
||||
"compact": "Kompakt",
|
||||
"comfortable": "Komfortabel",
|
||||
"tvCornerSpotlightBackdrop": "",
|
||||
"tvCornerSpotlightBackdropDescription": "",
|
||||
"tvCornerSpotlightBackdrop": "Fremhævet baggrundsbillede i hjørnet",
|
||||
"tvCornerSpotlightBackdropDescription": "Vis fremhævet grafik i øverste højre hjørne i stedet for at fylde skærmen",
|
||||
"viewMode": "Visningstilstand",
|
||||
"gridView": "Gitter",
|
||||
"listView": "Liste",
|
||||
"showHeroSection": "Vis hero-sektion",
|
||||
"continueWatchingAction": "Handling for Fortsæt med at se",
|
||||
"showHeroSection": "Vis udvalgt indhold",
|
||||
"continueWatchingAction": "Handling for \"Fortsæt med at se\"",
|
||||
"continueWatchingPlay": "Afspil",
|
||||
"continueWatchingDetails": "Åbn detaljer",
|
||||
"episodeAction": "Handling for afsnit",
|
||||
@@ -123,10 +123,10 @@
|
||||
"episodeDetails": "Åbn detaljer",
|
||||
"useGlobalHubs": "Brug startlayout",
|
||||
"useGlobalHubsDescription": "Vis samlet startsideindhold. Brug ellers biblioteksanbefalinger.",
|
||||
"showServerNameOnHubs": "Vis servernavn på hubbe",
|
||||
"showServerNameOnHubsDescription": "Vis altid servernavne i hubtitler.",
|
||||
"showServerNameOnHubs": "Vis servernavn på hubber",
|
||||
"showServerNameOnHubsDescription": "Vis altid servernavne i titler på hubber.",
|
||||
"groupLibrariesByServer": "Grupper biblioteker efter server",
|
||||
"groupLibrariesByServerDescription": "Gruppér sidebar-biblioteker under hver medieserver.",
|
||||
"groupLibrariesByServerDescription": "Gruppér bibliotekerne i sidepanelet under hver medieserver.",
|
||||
"alwaysKeepSidebarOpen": "Hold altid sidepanelet åbent",
|
||||
"alwaysKeepSidebarOpenDescription": "Sidepanelet forbliver udvidet, og indholdsområdet tilpasser sig",
|
||||
"showUnwatchedCount": "Vis antal usete",
|
||||
@@ -135,8 +135,8 @@
|
||||
"showEpisodeNumberOnCardsDescription": "Vis sæson- og episodenummer på episodekort",
|
||||
"showSeasonPostersOnTabs": "Vis sæsonplakater på faner",
|
||||
"showSeasonPostersOnTabsDescription": "Vis hver sæsons plakat over dens fane",
|
||||
"tvFullCardLayout": "Fuldflade TV-kort",
|
||||
"tvFullCardLayoutDescription": "Brug TV-kort kun med billeder og skuespillernavne ovenpå",
|
||||
"tvFullCardLayout": "TV-kort med billeder over hele fladen",
|
||||
"tvFullCardLayoutDescription": "Brug TV-kort, der kun viser billeder, med skuespillernavnene ovenpå",
|
||||
"focusGlow": "Fokusglød",
|
||||
"focusGlowDescription": "Vis en blød glød omkring det fokuserede kort",
|
||||
"visualEffects": "Visuelle effekter",
|
||||
@@ -147,46 +147,46 @@
|
||||
"visualEffectsReducedDescription": "Færre animationer og illustrationer i lavere opløsning",
|
||||
"hideSpoilers": "Skjul spoilere for usete episoder",
|
||||
"hideSpoilersDescription": "Slør miniaturebilleder og beskrivelser for usete episoder",
|
||||
"playerBackend": "Afspillerbackend",
|
||||
"playerBackend": "Afspillermotor",
|
||||
"exoPlayer": "ExoPlayer",
|
||||
"mpv": "mpv",
|
||||
"hardwareDecoding": "Hardwaredekodning",
|
||||
"hardwareDecodingDescription": "Brug hardwareacceleration når tilgængelig",
|
||||
"hardwareDecodingDescription": "Brug hardwareacceleration, når den er tilgængelig",
|
||||
"bufferSize": "Bufferstørrelse",
|
||||
"bufferSizeMB": "${size}MB",
|
||||
"bufferSizeAuto": "Auto (Anbefalet)",
|
||||
"bufferSizeWarning": "${heap}MB hukommelse tilgængelig. En buffer på ${size}MB kan påvirke afspilning.",
|
||||
"bufferSizeAuto": "Automatisk (anbefalet)",
|
||||
"bufferSizeWarning": "${heap} MB hukommelse tilgængelig. En buffer på ${size} MB kan påvirke afspilningen.",
|
||||
"defaultQualityTitle": "Standardkvalitet",
|
||||
"musicQualityTitle": "Musikkvalitet",
|
||||
"subtitleStyling": "Undertekststil",
|
||||
"subtitleStylingDescription": "Tilpas underteksters udseende",
|
||||
"smallSkipDuration": "Kort spring-varighed",
|
||||
"largeSkipDuration": "Lang spring-varighed",
|
||||
"smallSkipDuration": "Kort spring",
|
||||
"largeSkipDuration": "Langt spring",
|
||||
"rewindOnResume": "Spol tilbage ved genoptagelse",
|
||||
"secondsUnit": "${seconds} sekunder",
|
||||
"defaultSleepTimer": "Standard sove-timer",
|
||||
"defaultSleepTimer": "Standard-sovetimer",
|
||||
"minutesUnit": "${minutes} minutter",
|
||||
"rememberTrackSelections": "Husk sporvalg per serie/film",
|
||||
"rememberTrackSelectionsDescription": "Husk lyd- og undertekstvalg pr. titel",
|
||||
"rememberTrackSelections": "Husk sporvalg for hver serie/film",
|
||||
"rememberTrackSelectionsDescription": "Husk valget af lyd og undertekster for hver titel",
|
||||
"showChapterMarkersOnTimeline": "Vis kapitelmarkører på tidslinjen",
|
||||
"showChapterMarkersOnTimelineDescription": "Opdel tidslinjen ved kapitelgrænser",
|
||||
"clickVideoTogglesPlayback": "Klik på video skifter afspil/pause",
|
||||
"clickVideoTogglesPlaybackDescription": "Klik på video for at afspille/pause i stedet for at vise kontroller.",
|
||||
"clickVideoTogglesPlayback": "Klik på videoen for at skifte mellem afspilning og pause",
|
||||
"clickVideoTogglesPlaybackDescription": "Klik på videoen for at afspille eller sætte på pause i stedet for at vise betjeningsknapperne.",
|
||||
"videoPlayerControls": "Videoafspillerkontroller",
|
||||
"keyboardShortcuts": "Tastaturgenveje",
|
||||
"keyboardShortcutsDescription": "Tilpas tastaturgenveje",
|
||||
"videoPlayerNavigation": "Videoafspillernavigation",
|
||||
"videoPlayerNavigationDescription": "Brug piletaster til at navigere videoafspillerkontroller",
|
||||
"watchTogetherRelay": "Watch Together-relay",
|
||||
"watchTogetherRelayDescription": "Angiv en brugerdefineret relay. Alle skal bruge samme server.",
|
||||
"watchTogetherRelay": "Relayserver til Se sammen",
|
||||
"watchTogetherRelayDescription": "Angiv en brugerdefineret relayserver. Alle skal bruge den samme server.",
|
||||
"watchTogetherRelayHint": "https://min-relay.eksempel.dk",
|
||||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||||
"watchTogetherRelayInvalid": "Angiv en gyldig basis-URL til en HTTP- eller HTTPS-relayserver.",
|
||||
"crashReporting": "Fejlrapportering",
|
||||
"crashReportingDescription": "Send fejlrapporter for at hjælpe med at forbedre appen",
|
||||
"debugLogging": "Fejlfindingslogning",
|
||||
"debugLoggingDescription": "Aktiver detaljeret logning til fejlfinding",
|
||||
"viewLogs": "Vis logs",
|
||||
"viewLogsDescription": "Vis applikationslogs",
|
||||
"viewLogs": "Vis logfiler",
|
||||
"viewLogsDescription": "Vis programmets logfiler",
|
||||
"clearCache": "Ryd cache",
|
||||
"clearCacheDescription": "Ryd cachelagrede billeder og data. Indhold kan indlæses langsommere.",
|
||||
"clearCacheSuccess": "Cache ryddet",
|
||||
@@ -201,7 +201,7 @@
|
||||
"importSettingsDescription": "Gendan præferencer fra en fil",
|
||||
"importSettingsConfirm": "Dette vil erstatte dine nuværende indstillinger. Fortsæt?",
|
||||
"importSettingsSuccess": "Indstillinger importeret",
|
||||
"importSettingsInvalidFile": "Denne fil er ikke en gyldig Plezy-indstillingseksport",
|
||||
"importSettingsInvalidFile": "Denne fil er ikke en gyldig eksport af Plezy-indstillinger",
|
||||
"importSettingsNoUser": "Log ind før import af indstillinger",
|
||||
"shortcutsReset": "Genveje nulstillet til standard",
|
||||
"about": "Om",
|
||||
@@ -212,19 +212,19 @@
|
||||
"autoCheckUpdatesOnStartup": "Søg automatisk efter opdateringer ved opstart",
|
||||
"autoCheckUpdatesOnStartupDescription": "Giv besked, når en opdatering er tilgængelig ved start",
|
||||
"validationErrorEnterNumber": "Indtast et gyldigt tal",
|
||||
"validationErrorDuration": "Varighed skal være mellem ${min} og ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Genvej allerede tildelt til ${action}",
|
||||
"shortcutUpdated": "Genvej opdateret for ${action}",
|
||||
"saveFailed": "Could not save changes. Try again.",
|
||||
"autoSkip": "Auto-spring",
|
||||
"autoSkipIntro": "Auto-spring intro",
|
||||
"validationErrorDuration": "Varigheden skal være mellem ${min} og ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Genvejen er allerede tildelt ${action}",
|
||||
"shortcutUpdated": "Genvejen for ${action} er opdateret",
|
||||
"saveFailed": "Ændringerne kunne ikke gemmes. Prøv igen.",
|
||||
"autoSkip": "Automatisk spring",
|
||||
"autoSkipIntro": "Spring intro over automatisk",
|
||||
"autoSkipIntroDescription": "Spring automatisk intromarkører over efter få sekunder",
|
||||
"autoSkipCredits": "Auto-spring rulletekster",
|
||||
"autoSkipCreditsDescription": "Spring automatisk rulletekster over og afspil næste episode",
|
||||
"autoSkipCredits": "Spring rulletekster over automatisk",
|
||||
"autoSkipCreditsDescription": "Spring automatisk rulleteksterne over, og afspil næste episode",
|
||||
"forceSkipMarkerFallback": "Tving reservemarkører",
|
||||
"forceSkipMarkerFallbackDescription": "Brug mønstre i kapiteltitler, selv når Plex har markører",
|
||||
"autoSkipDelay": "Auto-spring forsinkelse",
|
||||
"autoSkipDelayDescription": "Vent ${seconds} sekunder før automatisk spring",
|
||||
"autoSkipDelay": "Forsinkelse ved automatisk spring",
|
||||
"autoSkipDelayDescription": "Vent ${seconds} sekunder, før der springes automatisk",
|
||||
"introPattern": "Intromarkørmønster",
|
||||
"introPatternDescription": "Regulært udtryk til at genkende intromarkører i kapiteltitler",
|
||||
"creditsPattern": "Rulletekstmarkørmønster",
|
||||
@@ -232,8 +232,8 @@
|
||||
"invalidRegex": "Ugyldigt regulært udtryk",
|
||||
"regex": "Regulært udtryk",
|
||||
"downloads": "Downloads",
|
||||
"downloadLocationDescription": "Vælg hvor downloadet indhold skal gemmes",
|
||||
"downloadLocationDefault": "Standard (App-lagring)",
|
||||
"downloadLocationDescription": "Vælg, hvor downloadet indhold skal gemmes",
|
||||
"downloadLocationDefault": "Standard (applager)",
|
||||
"downloadLocationCustom": "Brugerdefineret placering",
|
||||
"selectFolder": "Vælg mappe",
|
||||
"resetToDefault": "Nulstil til standard",
|
||||
@@ -242,43 +242,43 @@
|
||||
"downloadLocationReset": "Downloadplacering nulstillet",
|
||||
"downloadLocationInvalid": "Valgt mappe er ikke skrivbar",
|
||||
"downloadLocationPickerUnavailable": "Mappevalg er ikke tilgængeligt på denne enhed",
|
||||
"downloadOnWifiOnly": "Download kun på WiFi",
|
||||
"downloadOnWifiOnlyDescription": "Forhindre downloads på mobildata",
|
||||
"downloadOnWifiOnly": "Download kun via Wi-Fi",
|
||||
"downloadOnWifiOnlyDescription": "Forhindr downloads via mobildata",
|
||||
"autoRemoveWatchedDownloads": "Fjern sete downloads automatisk",
|
||||
"autoRemoveWatchedDownloadsDescription": "Slet sete downloads automatisk",
|
||||
"cellularDownloadBlocked": "Downloads er blokeret på mobilnetværk. Brug WiFi eller skift indstilling.",
|
||||
"cellularDownloadBlocked": "Downloads er blokeret på mobilnettet. Brug Wi-Fi, eller skift indstillingen.",
|
||||
"maxVolume": "Maksimal lydstyrke",
|
||||
"maxVolumeDescription": "Tillad lydstyrkeforstærkning over 100% for stille medier",
|
||||
"maxVolumeDescription": "Tillad lydstyrkeforstærkning over 100 % for stille medier",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
"discordRichPresence": "Discord Rich Presence",
|
||||
"discordRichPresenceDescription": "Vis hvad du ser på Discord",
|
||||
"discordRichPresenceDescription": "Vis på Discord, hvad du ser",
|
||||
"services": "Tjenester",
|
||||
"servicesDescription": "Forbind Trakt, MyAnimeList, Seerr og mere",
|
||||
"manageLibrariesDescription": "Omarranger og skjul biblioteker",
|
||||
"companionRemoteServer": "Companion Remote Server",
|
||||
"companionRemoteServer": "Fjernbetjeningsserver",
|
||||
"companionRemoteServerDescription": "Tillad mobilenheder på dit netværk at styre denne app",
|
||||
"autoPip": "Auto billede-i-billede",
|
||||
"autoPipDescription": "Gå i billede-i-billede, når du forlader under afspilning",
|
||||
"matchContentFrameRate": "Match indholdets billedhastighed",
|
||||
"autoPip": "Automatisk billede-i-billede",
|
||||
"autoPipDescription": "Skift automatisk til billede-i-billede, når du forlader appen under afspilning",
|
||||
"matchContentFrameRate": "Tilpas billedhastigheden til indholdet",
|
||||
"matchContentFrameRateDescription": "Tilpas skærmens opdateringsfrekvens til videoindhold",
|
||||
"matchRefreshRate": "Match opdateringshastighed",
|
||||
"matchRefreshRate": "Tilpas opdateringsfrekvensen",
|
||||
"matchRefreshRateDescription": "Tilpas skærmens opdateringsfrekvens i fuld skærm",
|
||||
"matchDynamicRange": "Match dynamisk område",
|
||||
"matchDynamicRange": "Tilpas dynamikområdet",
|
||||
"matchDynamicRangeDescription": "Slå HDR til for HDR-indhold og derefter tilbage til SDR",
|
||||
"displaySwitchDelay": "Forsinkelse ved skærmskift",
|
||||
"tunneledPlayback": "Tunneleret afspilning",
|
||||
"tunneledPlaybackDescription": "Brug videotunneling. Slå fra, hvis HDR-afspilning viser sort video.",
|
||||
"audioPassthrough": "Lyd-passthrough",
|
||||
"audioPassthroughDescription": "Send Dolby/DTS-lyd til din receiver eller dit TV uden genkodning, så surroundlyd bevares. Slå fra, hvis du ikke har lyd.",
|
||||
"audioPassthroughDescriptionAppleTv": "Overlad Dolby Digital Plus (inkl. Atmos) til systemet som bitstream. DTS og TrueHD afspilles stadig som flerkanals PCM. Korte lydhuller kan forekomme ved søgning.",
|
||||
"audioPassthroughDescriptionAppleTv": "Brug Apples indbyggede Dolby-dekoder til Dolby Digital Plus, inklusive Atmos. DTS og TrueHD afspilles stadig som flerkanals-PCM. Slå fra, hvis du ikke har lyd.",
|
||||
"audioDownmix": "Downmix til stereo",
|
||||
"audioDownmixDescription": "Mikser surroundlyd ned til to kanaler til stereohøjttalere eller hovedtelefoner",
|
||||
"audioDownmixDescription": "Mix surroundlyd ned til to kanaler til stereohøjttalere eller hovedtelefoner",
|
||||
"downmixCenterBoost": "Forstærkning af centerkanal",
|
||||
"downmixCenterBoostValue": "${db} dB",
|
||||
"downmixCenterBoostLabel": "Forstærkning (dB)",
|
||||
"downmixCenterBoostShort": "dB",
|
||||
"audioDownmixNormalize": "Normalisér lydstyrke ved downmix",
|
||||
"audioDownmixNormalizeDescription": "Sænker mixet for at undgå clipping. Slå fra for at bevare den oprindelige lydstyrke (høje scener kan forvrænges).",
|
||||
"audioDownmixNormalize": "Normaliser lydstyrken ved downmix",
|
||||
"audioDownmixNormalizeDescription": "Sænk mixets lydstyrke for at undgå clipping. Slå fra for at bevare den oprindelige lydstyrke (høje scener kan blive forvrænget).",
|
||||
"atmosDiagnostics": "Atmos-outputtest",
|
||||
"atmosDiagnosticsDescription": "Diagnosticér Dolby Atmos-output ved at afspille testsignaler gennem systemafspilleren",
|
||||
"atmosTestHlsAtmos": "Apple Atmos-stream",
|
||||
@@ -296,12 +296,12 @@
|
||||
"atmosTestStatus": "Status",
|
||||
"dvConversionMode": "Dolby Vision-konvertering",
|
||||
"dvConversionModeDescription": "Vælg, hvordan ExoPlayer håndterer Dolby Vision Profile 7-filer.",
|
||||
"dvConversionAuto": "Auto",
|
||||
"dvConversionNative": "Native / deaktiveret",
|
||||
"dvConversionAuto": "Automatisk",
|
||||
"dvConversionNative": "Indbygget / 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",
|
||||
"dvConversionAutoDescription": "Brug registrering af enhedens funktioner og normal reserveadfærd",
|
||||
"dvConversionNativeDescription": "Gennemtving indbygget DV7-understøttelse, og undlad at forsøge DV-konvertering igen",
|
||||
"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",
|
||||
@@ -312,12 +312,12 @@
|
||||
"startInFullscreenDescription": "Åbn Plezy i fuldskærmstilstand ved opstart",
|
||||
"exitFullscreenOnPlayerClose": "Forlad fuldskærm ved lukning af afspiller",
|
||||
"exitFullscreenOnPlayerCloseDescription": "Afslut automatisk fuldskærm, når videoafspilleren lukkes",
|
||||
"autoHidePerformanceOverlay": "Skjul ydelses-overlay automatisk",
|
||||
"autoHidePerformanceOverlayDescription": "Fade ydelses-overlayet med afspilningskontrollerne",
|
||||
"showNavBarLabels": "Vis navigationsbarlabels",
|
||||
"showNavBarLabelsDescription": "Vis tekstlabels under navigationsbarikoner",
|
||||
"autoHidePerformanceOverlay": "Skjul ydelsesoverlay automatisk",
|
||||
"autoHidePerformanceOverlayDescription": "Lad ydelsesoverlayet tone ud sammen med afspilningsknapperne",
|
||||
"showNavBarLabels": "Vis tekst på navigationslinjen",
|
||||
"showNavBarLabelsDescription": "Vis tekst under ikonerne på navigationslinjen",
|
||||
"startupSection": "Startsektion",
|
||||
"liveTvDefaultFavorites": "Standard til favoritkanaler",
|
||||
"liveTvDefaultFavorites": "Vis favoritkanaler som standard",
|
||||
"liveTvDefaultFavoritesDescription": "Vis kun favoritkanaler ved åbning af Live TV",
|
||||
"display": "Skærm",
|
||||
"homeScreen": "Startskærm",
|
||||
@@ -348,9 +348,9 @@
|
||||
"volumeDown": "Lydstyrke ned",
|
||||
"seekForward": "Spol frem (${seconds}s)",
|
||||
"seekBackward": "Spol tilbage (${seconds}s)",
|
||||
"fullscreenToggle": "Skift fuldskærm",
|
||||
"muteToggle": "Skift lydløs",
|
||||
"subtitleToggle": "Skift undertekster",
|
||||
"fullscreenToggle": "Slå fuldskærm til/fra",
|
||||
"muteToggle": "Slå lyd til/fra",
|
||||
"subtitleToggle": "Slå undertekster til/fra",
|
||||
"audioTrackNext": "Næste lydspor",
|
||||
"subtitleTrackNext": "Næste undertekstspor",
|
||||
"chapterNext": "Næste kapitel",
|
||||
@@ -365,7 +365,7 @@
|
||||
"zoomReset": "Nulstil zoom",
|
||||
"subSeekNext": "Søg til næste undertekst",
|
||||
"subSeekPrev": "Søg til forrige undertekst",
|
||||
"shaderToggle": "Skift shadere",
|
||||
"shaderToggle": "Slå shadere til/fra",
|
||||
"skipMarker": "Spring intro/rulletekster over",
|
||||
"screenshot": "Tag skærmbillede"
|
||||
}
|
||||
@@ -395,7 +395,7 @@
|
||||
"container": "Container",
|
||||
"duration": "Varighed",
|
||||
"optimizedForStreaming": "Optimeret til streaming",
|
||||
"has64bitOffsets": "64-bit offsets"
|
||||
"has64bitOffsets": "64-bit-forskydninger"
|
||||
},
|
||||
"mediaMenu": {
|
||||
"markAsWatched": "Markér som set",
|
||||
@@ -404,13 +404,13 @@
|
||||
"viewDetails": "Vis detaljer",
|
||||
"goToSeries": "Gå til serie",
|
||||
"shufflePlay": "Afspil tilfældigt",
|
||||
"shuffleNotAvailableOffline": "Bland afspilning er ikke tilgængelig offline",
|
||||
"shuffleNotAvailableOffline": "Tilfældig afspilning er ikke tilgængelig offline",
|
||||
"fileInfo": "Filinfo",
|
||||
"deleteFromServer": "Slet fra server",
|
||||
"confirmDelete": "Slet dette medie og dets filer fra din server?",
|
||||
"deleteMultipleWarning": "Dette inkluderer alle episoder og deres filer.",
|
||||
"mediaDeletedSuccessfully": "Medieelement slettet",
|
||||
"mediaFailedToDelete": "Kunne ikke slette medieelement",
|
||||
"mediaDeletedSuccessfully": "Mediet blev slettet",
|
||||
"mediaFailedToDelete": "Mediet kunne ikke slettes",
|
||||
"rate": "Bedøm",
|
||||
"playFromBeginning": "Afspil fra begyndelsen",
|
||||
"playVersion": "Afspil version..."
|
||||
@@ -422,7 +422,7 @@
|
||||
"favorited": "Føjet til favoritter",
|
||||
"saved": "Gemt",
|
||||
"notAvailable": "Intet match fundet",
|
||||
"noConnectedServices": "Forbind en tjeneste i Indstillinger for at bedømme der."
|
||||
"noConnectedServices": "Forbind en tjeneste under Indstillinger for at bedømme via den."
|
||||
},
|
||||
"accessibility": {
|
||||
"mediaCardMovie": "${title}, film",
|
||||
@@ -472,28 +472,28 @@
|
||||
"lockRotation": "Lås rotation",
|
||||
"unlockRotation": "Lås rotation op",
|
||||
"timerActive": "Timer aktiv",
|
||||
"playbackWillPauseIn": "Afspilning pauses om ${duration}",
|
||||
"playbackWillPauseIn": "Afspilningen sættes på pause om ${duration}",
|
||||
"sleepTimerEndOfVideo": "Slutningen af aktuel video",
|
||||
"sleepTimerStopAtHeader": "Stop ved",
|
||||
"sleepTimerDurationHeader": "Timer",
|
||||
"playbackWillPauseAtEnd": "Afspilning pauses i slutningen af denne video",
|
||||
"sleepTimerDurationHeader": "Varighed",
|
||||
"playbackWillPauseAtEnd": "Afspilningen sættes på pause ved slutningen af denne video",
|
||||
"stillWatching": "Ser du stadig?",
|
||||
"pausingIn": "Pauser om ${seconds}s",
|
||||
"pausingIn": "Sætter på pause om ${seconds} s",
|
||||
"continueWatching": "Fortsæt",
|
||||
"autoPlayNext": "Auto-afspil næste",
|
||||
"autoPlayNext": "Afspil næste automatisk",
|
||||
"playNext": "Afspil næste",
|
||||
"playButton": "Afspil",
|
||||
"pauseButton": "Pause",
|
||||
"showPlaybackControls": "",
|
||||
"hidePlaybackControls": "",
|
||||
"showPlaybackControls": "Vis afspilningsknapper",
|
||||
"hidePlaybackControls": "Skjul afspilningsknapper",
|
||||
"seekBackwardButton": "Spol ${seconds} sekunder tilbage",
|
||||
"seekForwardButton": "Spol ${seconds} sekunder frem",
|
||||
"previousButton": "Forrige episode",
|
||||
"nextButton": "Næste episode",
|
||||
"previousChapterButton": "Forrige kapitel",
|
||||
"nextChapterButton": "Næste kapitel",
|
||||
"muteButton": "Lydløs",
|
||||
"unmuteButton": "Slå lyd til",
|
||||
"muteButton": "Slå lyden fra",
|
||||
"unmuteButton": "Slå lyden til",
|
||||
"settingsButton": "Afspilningsindstillinger",
|
||||
"tracksButton": "Lyd og undertekster",
|
||||
"chaptersButton": "Kapitler",
|
||||
@@ -513,7 +513,7 @@
|
||||
"rotationLockButton": "Rotationslås",
|
||||
"lockScreen": "Lås skærm",
|
||||
"screenLockButton": "Skærmlås",
|
||||
"longPressToUnlock": "Langt tryk for at låse op",
|
||||
"longPressToUnlock": "Hold nede for at låse op",
|
||||
"timelineSlider": "Videotidslinje",
|
||||
"volumeSlider": "Lydstyrkeniveau",
|
||||
"endsAt": "Slutter kl. ${time}",
|
||||
@@ -561,21 +561,21 @@
|
||||
"streamInterrupted": "Streamen blev afbrudt. Tryk på afspil, eller spol for at prøve igen.",
|
||||
"liveStreamInterrupted": "Livestreamen blev afbrudt. Tryk på afspil for at prøve igen.",
|
||||
"fileInfoNotAvailable": "Filinfo ikke tilgængelig",
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"playbackAuthenticationRequired": "Log ind på medieserveren igen for at afspille dette element.",
|
||||
"playbackServerUnavailable": "Medieserveren er ikke tilgængelig. Prøv igen senere.",
|
||||
"playbackDataInvalid": "Serveren returnerede ugyldige afspilningsoplysninger.",
|
||||
"playbackCancelled": "Afspilningen blev annulleret.",
|
||||
"playbackFailed": "Afspilningen kunne ikke startes.",
|
||||
"errorLoadingFileInfo": "Fejl ved indlæsning af filinfo: ${error}",
|
||||
"errorLoadingSeries": "Fejl ved indlæsning af serie",
|
||||
"musicNotSupported": "Musikafspilning understøttes endnu ikke",
|
||||
"noDescriptionAvailable": "Ingen beskrivelse tilgængelig",
|
||||
"noProfilesAvailable": "Ingen profiler tilgængelige",
|
||||
"contactAdminForProfiles": "Kontakt din serveradministrator for at tilføje profiler",
|
||||
"unableToDetermineLibrarySection": "Kan ikke bestemme biblioteksafdeling for dette element",
|
||||
"logsCleared": "Logs ryddet",
|
||||
"logsCopied": "Logs kopieret til udklipsholder",
|
||||
"noLogsAvailable": "Ingen logs tilgængelige",
|
||||
"unableToDetermineLibrarySection": "Kunne ikke finde bibliotekssektionen for dette element",
|
||||
"logsCleared": "Logfilerne blev ryddet",
|
||||
"logsCopied": "Logfilerne blev kopieret til udklipsholderen",
|
||||
"noLogsAvailable": "Ingen logfiler tilgængelige",
|
||||
"libraryScanning": "Scanner \"${title}\"...",
|
||||
"libraryScanStarted": "Biblioteksscanning startet for \"${title}\"",
|
||||
"libraryScanFailed": "Kunne ikke scanne bibliotek: ${error}",
|
||||
@@ -591,13 +591,13 @@
|
||||
"noResultsFound": "Ingen resultater fundet",
|
||||
"sleepTimerSet": "Sove-timer indstillet til ${label}",
|
||||
"noItemsAvailable": "Ingen elementer tilgængelige",
|
||||
"failedToCreatePlayQueueNoItems": "Kunne ikke oprette afspilningskø — ingen elementer",
|
||||
"failedToCreatePlayQueueNoItems": "Kunne ikke oprette en afspilningskø — ingen elementer",
|
||||
"failedPlayback": "Kunne ikke ${action}: ${error}",
|
||||
"switchingToCompatiblePlayer": "Skifter til kompatibel afspiller...",
|
||||
"serverLimitTitle": "Afspilning mislykkedes",
|
||||
"serverLimitBody": "Serverfejl (HTTP 500). En båndbredde-/transkodningsgrænse afviste nok sessionen. Bed ejeren om at justere den.",
|
||||
"logsUploaded": "Logs uploadet",
|
||||
"logsUploadFailed": "Kunne ikke uploade logs",
|
||||
"serverLimitBody": "Serverfejl (HTTP 500). En båndbredde- eller transkodningsgrænse afviste sandsynligvis sessionen. Bed ejeren om at justere den.",
|
||||
"logsUploaded": "Logfilerne blev uploadet",
|
||||
"logsUploadFailed": "Logfilerne kunne ikke uploades",
|
||||
"logId": "Log-ID"
|
||||
},
|
||||
"subtitlingStyling": {
|
||||
@@ -608,7 +608,7 @@
|
||||
"textColor": "Tekstfarve",
|
||||
"borderSize": "Kantstørrelse",
|
||||
"borderColor": "Kantfarve",
|
||||
"backgroundOpacity": "Baggrundsgennemsigtighed",
|
||||
"backgroundOpacity": "Baggrundsopacitet",
|
||||
"backgroundColor": "Baggrundsfarve",
|
||||
"position": "Position",
|
||||
"assOverride": "ASS-tilsidesættelse",
|
||||
@@ -652,21 +652,21 @@
|
||||
"delete": "Slet",
|
||||
"signOut": "Log ud",
|
||||
"signOutPlexTitle": "Log ud af Plex?",
|
||||
"signOutPlexMessage": "Fjern ${displayName} og alle Plex Home-brugere? Log ind igen når som helst.",
|
||||
"signOutPlexMessage": "Fjern ${displayName} og alle Plex Home-brugere? Du kan altid logge ind igen.",
|
||||
"signedOutPlex": "Logget ud af Plex.",
|
||||
"signOutFailed": "Log ud mislykkedes.",
|
||||
"signOutFailed": "Kunne ikke logge ud.",
|
||||
"sectionTitle": "Profiler",
|
||||
"summarySingle": "Tilføj profiler for at blande administrerede brugere og lokale identiteter",
|
||||
"summarySingle": "Tilføj profiler for at kombinere administrerede brugere med lokale identiteter",
|
||||
"summaryMultipleWithActive": "${count} profiler · aktiv: ${activeName}",
|
||||
"summaryMultiple": "${count} profiler",
|
||||
"removeConnectionTitle": "Fjern forbindelse?",
|
||||
"removeConnectionMessage": "Fjern ${displayName}s adgang til ${connectionLabel}. Andre profiler beholder den.",
|
||||
"removeConnectionMessage": "Fjern adgangen til ${connectionLabel} for ${displayName}. De andre profiler beholder den.",
|
||||
"deleteProfileTitle": "Slet profil?",
|
||||
"deleteProfileMessage": "Fjern ${displayName} og forbindelserne. Servere forbliver tilgængelige.",
|
||||
"profileNameLabel": "Profilnavn",
|
||||
"pinProtectionLabel": "PIN-beskyttelse",
|
||||
"pinManagedByPlex": "PIN administreres af Plex. Rediger på plex.tv.",
|
||||
"noPinSetEditOnPlex": "Ingen PIN-kode angivet. For at kræve en, redigér Home-brugeren på plex.tv.",
|
||||
"noPinSetEditOnPlex": "Ingen PIN-kode angivet. Hvis der skal kræves en, skal du redigere Plex Home-brugeren på plex.tv.",
|
||||
"setPin": "Angiv PIN",
|
||||
"setPinTitle": "Angiv PIN",
|
||||
"confirmPinTitle": "Bekræft PIN",
|
||||
@@ -688,7 +688,7 @@
|
||||
"borrowExplain": "Lån en anden profils forbindelse. PIN-beskyttede profiler kræver en PIN.",
|
||||
"borrowEmpty": "Intet at låne endnu.",
|
||||
"borrowEmptySubtitle": "Forbind Plex eller Jellyfin til en anden profil først.",
|
||||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||||
"borrowLoadFailed": "De tilgængelige forbindelser kunne ikke indlæses. Prøv igen.",
|
||||
"borrowFromProfile": "Fra ${displayName}",
|
||||
"borrowConnectionBorrowed": "Forbindelse lånt.",
|
||||
"borrowFailed": "Kunne ikke låne forbindelse.",
|
||||
@@ -698,11 +698,11 @@
|
||||
"failedToLoadHomeUsers": "Kunne ikke indlæse dine Plex Home-brugere. Tjek din forbindelse, og prøv igen.",
|
||||
"failedToVerifyPin": "Kunne ikke bekræfte PIN.",
|
||||
"newProfile": "Ny profil",
|
||||
"profileNameHint": "fx. Gæster, Børn, Familiens stue",
|
||||
"profileNameHint": "f.eks. Gæster, Børn, Familiens stue",
|
||||
"pinProtectionOptional": "PIN-beskyttelse (valgfri)",
|
||||
"pinExplain": "4-cifret PIN kræves for at skifte profiler.",
|
||||
"pinExplain": "Der kræves en 4-cifret PIN-kode for at skifte profil.",
|
||||
"continueButton": "Fortsæt",
|
||||
"pinsDontMatch": "PIN-koder matcher ikke"
|
||||
"pinsDontMatch": "PIN-koderne matcher ikke"
|
||||
},
|
||||
"connections": {
|
||||
"sectionTitle": "Forbindelser",
|
||||
@@ -710,7 +710,7 @@
|
||||
"addConnectionSubtitleNoProfile": "Log ind med Plex eller forbind til en Jellyfin-server",
|
||||
"addConnectionSubtitleScoped": "Føj til ${displayName}: Plex, Jellyfin eller en anden profilforbindelse",
|
||||
"sessionExpiredOne": "Sessionen er udløbet for ${name}",
|
||||
"sessionExpiredMany": "Sessionen er udløbet for ${count} servere",
|
||||
"sessionExpiredMany": "Sessionerne er udløbet for ${count} servere",
|
||||
"signInAgain": "Log ind igen",
|
||||
"editJellyfinTitle": "Rediger Jellyfin-forbindelse",
|
||||
"editJellyfinIntro": "Tilføj eller fjern URL'er for ${serverName}. Plezy bruger den tilgængelige URL med lavest latenstid."
|
||||
@@ -721,8 +721,8 @@
|
||||
"addMediaToLibraries": "Tilføj medier til dine biblioteker",
|
||||
"continueWatching": "Fortsæt med at se",
|
||||
"continueWatchingIn": "Fortsæt med at se i ${library}",
|
||||
"nextUp": "Næste op",
|
||||
"nextUpIn": "Næste op i ${library}",
|
||||
"nextUp": "Næste afsnit",
|
||||
"nextUpIn": "Næste afsnit i ${library}",
|
||||
"recentlyAdded": "Nyligt tilføjet",
|
||||
"recentlyAddedIn": "Nyligt tilføjet i ${library}",
|
||||
"latestAlbumsIn": "Nyeste album i ${library}",
|
||||
@@ -731,7 +731,7 @@
|
||||
"playEpisode": "S${season}E${episode}",
|
||||
"overview": "Oversigt",
|
||||
"cast": "Rollebesætning",
|
||||
"extras": "Trailere og ekstra",
|
||||
"extras": "Trailere og ekstramateriale",
|
||||
"studio": "Studie",
|
||||
"rating": "Bedømmelse",
|
||||
"movie": "Film",
|
||||
@@ -741,7 +741,7 @@
|
||||
},
|
||||
"errors": {
|
||||
"searchFailed": "Søgning mislykkedes: ${error}",
|
||||
"connectionTimeout": "Forbindelsestimeout ved indlæsning af ${context}",
|
||||
"connectionTimeout": "Forbindelsen fik timeout under indlæsning af ${context}",
|
||||
"connectionFailed": "Kan ikke oprette forbindelse til medieserver",
|
||||
"unableToLoad": "Kunne ikke indlæse ${context}. Prøv igen.",
|
||||
"noClientAvailable": "Ingen klient tilgængelig",
|
||||
@@ -848,7 +848,7 @@
|
||||
"title": "Om",
|
||||
"openSourceLicenses": "Open source-licenser",
|
||||
"versionLabel": "Version ${version}",
|
||||
"appDescription": "En smuk Plex- og Jellyfin-klient til Flutter",
|
||||
"appDescription": "En smuk Plex- og Jellyfin-klient bygget med Flutter",
|
||||
"viewLicensesDescription": "Se licenser for tredjepartsbiblioteker"
|
||||
},
|
||||
"serverSelection": {
|
||||
@@ -863,9 +863,9 @@
|
||||
"noItemsFound": "Ingen elementer fundet"
|
||||
},
|
||||
"logs": {
|
||||
"clearLogs": "Ryd logs",
|
||||
"copyLogs": "Kopiér logs",
|
||||
"uploadLogs": "Upload logs"
|
||||
"clearLogs": "Ryd logfiler",
|
||||
"copyLogs": "Kopiér logfiler",
|
||||
"uploadLogs": "Upload logfiler"
|
||||
},
|
||||
"licenses": {
|
||||
"relatedPackages": "Relaterede pakker",
|
||||
@@ -886,15 +886,15 @@
|
||||
"watchlist": "Ønskeliste",
|
||||
"recommendedMovies": "Anbefalede film",
|
||||
"recommendedShows": "Anbefalede serier",
|
||||
"trendingMovies": "Trending film",
|
||||
"trendingShows": "Trending serier",
|
||||
"trendingMovies": "Populære film lige nu",
|
||||
"trendingShows": "Populære serier lige nu",
|
||||
"popularMovies": "Populære film",
|
||||
"popularShows": "Populære serier",
|
||||
"trendingAnime": "Trending anime",
|
||||
"suggestedAnime": "Foreslået anime",
|
||||
"airingAnime": "Top igangværende anime",
|
||||
"trendingAnime": "Populær anime lige nu",
|
||||
"suggestedAnime": "Anbefalet anime",
|
||||
"airingAnime": "Bedste aktuelle anime",
|
||||
"popularAnime": "Mest populære anime",
|
||||
"trending": "Trending",
|
||||
"trending": "Populært lige nu",
|
||||
"upcomingMovies": "Kommende film",
|
||||
"upcomingShows": "Kommende serier"
|
||||
},
|
||||
@@ -917,7 +917,7 @@
|
||||
"inTheseLibraries": "I disse biblioteker",
|
||||
"checkingLibrary": "Tjekker dit bibliotek...",
|
||||
"emptyTitle": "Der er ikke noget her endnu",
|
||||
"emptyMessage": "Rækker fra ${source} vises her, når de har indhold.",
|
||||
"emptyMessage": "Indholdsrækker fra ${source} vises her, når de har indhold.",
|
||||
"searchHint": "Søg i ${source}",
|
||||
"searchEmpty": "Ingen resultater for \"${query}\"",
|
||||
"searchPrompt": "Søg efter film og serier på ${source}.",
|
||||
@@ -927,10 +927,10 @@
|
||||
"title": "Live TV",
|
||||
"guide": "Guide",
|
||||
"noChannels": "Ingen kanaler tilgængelige",
|
||||
"noDvr": "Ingen DVR konfigureret på nogen server",
|
||||
"noDvr": "Der er ikke konfigureret DVR på nogen server",
|
||||
"serverUnavailable": "Live-tv-serveren er ikke tilgængelig.",
|
||||
"serverNotConnected": "Live-tv-serveren er ikke forbundet.",
|
||||
"noPrograms": "Ingen programdata tilgængelig",
|
||||
"noPrograms": "Ingen programdata tilgængelige",
|
||||
"liveStreamFailed": "Livestream mislykkedes",
|
||||
"unknownProgram": "Ukendt program",
|
||||
"unknownHub": "Ukendt",
|
||||
@@ -948,12 +948,12 @@
|
||||
"daytime": "Dagtid",
|
||||
"evening": "Aften",
|
||||
"lateNight": "Sen aften",
|
||||
"whatsOn": "Hvad der kører",
|
||||
"whatsOn": "Hvad vises der?",
|
||||
"watchChannel": "Se kanal",
|
||||
"favorites": "Favoritter",
|
||||
"reorderFavorites": "Omarranger favoritter",
|
||||
"favoritesLoadFailed": "Favoritter kunne ikke indlæses. Kontrollér forbindelsen, og prøv igen.",
|
||||
"favoritesUpdateFailed": "Could not update favorites. Check your connection and try again.",
|
||||
"favoritesUpdateFailed": "Favoritterne kunne ikke opdateres. Kontrollér forbindelsen, og prøv igen.",
|
||||
"joinSession": "Deltag i igangværende session",
|
||||
"watchFromStart": "Se fra start (${minutes} min siden)",
|
||||
"watchLive": "Se live",
|
||||
@@ -968,8 +968,8 @@
|
||||
"recordingRules": "Optagelsesregler",
|
||||
"noScheduledRecordings": "Ingen optagelser planlagt",
|
||||
"manageRecording": "Administrer optagelse",
|
||||
"cancelRecording": "Annullér optagelse",
|
||||
"cancelRecordingTitle": "Annullér denne optagelse?",
|
||||
"cancelRecording": "Annuller optagelse",
|
||||
"cancelRecordingTitle": "Annuller denne optagelse?",
|
||||
"cancelRecordingMessage": "${title} bliver ikke længere optaget.",
|
||||
"deleteRule": "Slet regel",
|
||||
"deleteRuleTitle": "Slet optagelsesregel?",
|
||||
@@ -982,14 +982,14 @@
|
||||
"recordNotAvailable": "Optagelse er ikke tilgængelig for dette program",
|
||||
"recordingCancelled": "Optagelse annulleret",
|
||||
"recordingRuleDeleted": "Optagelsesregel slettet",
|
||||
"processRecordingRules": "Genberegn regler",
|
||||
"processRecordingRules": "Evaluer regler igen",
|
||||
"recordingInProgress": "Optager nu",
|
||||
"recordingsCount": "${count} planlagt",
|
||||
"editRule": "Rediger regel",
|
||||
"editRuleAction": "Rediger",
|
||||
"recordingRuleUpdated": "Optagelsesregel opdateret",
|
||||
"guideReloadRequested": "Guide-opdatering anmodet",
|
||||
"rulesProcessRequested": "Regelevaluering anmodet",
|
||||
"guideReloadRequested": "Der er anmodet om en opdatering af guiden",
|
||||
"rulesProcessRequested": "Der er anmodet om en ny evaluering af reglerne",
|
||||
"recordShow": "Optag program"
|
||||
},
|
||||
"collections": {
|
||||
@@ -1080,18 +1080,18 @@
|
||||
"controlModeQuestion": "Hvem kan styre afspilning?",
|
||||
"hostOnly": "Kun vært",
|
||||
"anyone": "Alle",
|
||||
"hostingSession": "Vært for session",
|
||||
"inSession": "I session",
|
||||
"hostingSession": "Er vært for sessionen",
|
||||
"inSession": "Deltager i en session",
|
||||
"sessionCode": "Sessionskode",
|
||||
"openSessionControls": "Åbn sessionsstyring for Se sammen",
|
||||
"copySessionCode": "Kopiér sessionskode",
|
||||
"hostControlsPlayback": "Vært styrer afspilning",
|
||||
"anyoneCanControl": "Alle kan styre afspilning",
|
||||
"hostControls": "Værtskontrol",
|
||||
"hostControlsPlayback": "Værten styrer afspilningen",
|
||||
"anyoneCanControl": "Alle kan styre afspilningen",
|
||||
"hostControls": "Værten styrer",
|
||||
"anyoneControls": "Alle styrer",
|
||||
"participants": "Deltagere",
|
||||
"host": "Vært",
|
||||
"hostBadge": "HOST",
|
||||
"hostBadge": "VÆRT",
|
||||
"youAreHost": "Du er vært",
|
||||
"watchingWithOthers": "Ser med andre",
|
||||
"endSession": "Afslut session",
|
||||
@@ -1100,12 +1100,12 @@
|
||||
"leaveSessionQuestion": "Forlad session?",
|
||||
"endSessionConfirm": "Dette afslutter sessionen for alle deltagere.",
|
||||
"leaveSessionConfirm": "Du vil blive fjernet fra sessionen.",
|
||||
"endSessionConfirmOverlay": "Dette afslutter se-sessionen for alle deltagere.",
|
||||
"leaveSessionConfirmOverlay": "Du vil blive afbrudt fra se-sessionen.",
|
||||
"endSessionConfirmOverlay": "Dette afslutter fællesafspilningen for alle deltagere.",
|
||||
"leaveSessionConfirmOverlay": "Din forbindelse til fællesafspilningen afbrydes.",
|
||||
"end": "Afslut",
|
||||
"leave": "Forlad",
|
||||
"syncing": "Synkroniserer...",
|
||||
"joinWatchSession": "Deltag i se-session",
|
||||
"joinWatchSession": "Deltag i fællesafspilning",
|
||||
"enterCodeHint": "Indtast 5-tegns kode",
|
||||
"pasteFromClipboard": "Indsæt fra udklipsholder",
|
||||
"pleaseEnterCode": "Indtast en sessionskode",
|
||||
@@ -1114,7 +1114,7 @@
|
||||
"failedToCreate": "Kunne ikke oprette session",
|
||||
"failedToJoin": "Kunne ikke deltage i session",
|
||||
"sessionCodeCopied": "Sessionskode kopieret til udklipsholder",
|
||||
"relayUnreachable": "Relay-serveren kan ikke nås. ISP-blokering kan forhindre Watch Together.",
|
||||
"relayUnreachable": "Relayserveren kan ikke nås. Blokering hos internetudbyderen kan forhindre Se sammen.",
|
||||
"reconnectingToHost": "Genopretter forbindelse til vært...",
|
||||
"currentPlayback": "Nuværende afspilning",
|
||||
"joinCurrentPlayback": "Deltag i nuværende afspilning",
|
||||
@@ -1124,11 +1124,11 @@
|
||||
"participantLeft": "${name} forlod",
|
||||
"participantPaused": "${name} satte på pause",
|
||||
"participantResumed": "${name} genoptog",
|
||||
"participantSeeked": "${name} spoled",
|
||||
"participantSeeked": "${name} ændrede afspilningspositionen",
|
||||
"participantBuffering": "${name} bufferer",
|
||||
"participantNeedsUpdate": "${name} bruger en ældre appversion — synkronisering er ikke tilgængelig",
|
||||
"resumingWithout": "Fortsætter uden ${name}",
|
||||
"waitingForParticipants": "Venter på at andre indlæser...",
|
||||
"waitingForParticipants": "Venter på, at de andre bliver klar...",
|
||||
"waitingForName": "Venter på ${name}...",
|
||||
"recentRooms": "Seneste rum",
|
||||
"renameRoom": "Omdøb rum",
|
||||
@@ -1169,7 +1169,7 @@
|
||||
"downloadingTooltip": "Downloader...",
|
||||
"downloadingFilesTooltip": "Downloader ${files}",
|
||||
"noDownloadsTree": "Ingen downloads",
|
||||
"pauseAll": "Pause alle",
|
||||
"pauseAll": "Sæt alle på pause",
|
||||
"resumeAll": "Genoptag alle",
|
||||
"deleteAll": "Slet alle",
|
||||
"selectVersion": "Vælg version",
|
||||
@@ -1177,10 +1177,10 @@
|
||||
"unwatchedOnly": "Kun usete",
|
||||
"nextNUnwatched": "Næste ${count} usete",
|
||||
"customAmount": "Angiv antal...",
|
||||
"includeSpecials": "Inkludér specials",
|
||||
"includeSpecials": "Medtag specialafsnit",
|
||||
"howManyEpisodes": "Hvor mange episoder?",
|
||||
"invalidEpisodeCount": "Indtast et gyldigt antal episoder.",
|
||||
"keepSynced": "Hold synkroniseret",
|
||||
"keepSynced": "Synkroniser løbende",
|
||||
"downloadOnce": "Download én gang",
|
||||
"keepNUnwatched": "Behold ${count} usete",
|
||||
"editSyncRule": "Rediger synkroniseringsregel",
|
||||
@@ -1200,7 +1200,7 @@
|
||||
"syncRuleServerContext": "Server: ${server} • ${status}",
|
||||
"syncRuleAvailable": "Tilgængelig",
|
||||
"syncRuleOffline": "Offline",
|
||||
"syncRuleSignInRequired": "Log ind påkrævet",
|
||||
"syncRuleSignInRequired": "Login påkrævet",
|
||||
"syncRuleNotAvailableForProfile": "Ikke tilgængelig for nuværende profil",
|
||||
"syncRuleUnknownServer": "Ukendt server",
|
||||
"syncRuleListCreated": "Synkroniseringsregel oprettet"
|
||||
@@ -1227,16 +1227,16 @@
|
||||
"connectedTo": "Forbundet til ${name}",
|
||||
"unknownDevice": "Ukendt enhed",
|
||||
"session": {
|
||||
"startingServer": "Starter fjernserver...",
|
||||
"startingServer": "Starter fjernbetjeningsserver...",
|
||||
"hostAddress": "Værtsadresse",
|
||||
"connected": "Forbundet",
|
||||
"serverRunning": "Fjernserver aktiv",
|
||||
"serverStopped": "Fjernserver stoppet",
|
||||
"serverRunning": "Fjernbetjeningsserver aktiv",
|
||||
"serverStopped": "Fjernbetjeningsserver stoppet",
|
||||
"serverRunningDescription": "Mobile enheder på dit netværk kan oprette forbindelse til denne app",
|
||||
"serverStoppedDescription": "Start serveren for at tillade mobilenheder at oprette forbindelse",
|
||||
"usePhoneToControl": "Brug din mobilenhed til at styre denne app",
|
||||
"startServer": "Start server",
|
||||
"stopServer": "Stop server",
|
||||
"startServer": "Start serveren",
|
||||
"stopServer": "Stop serveren",
|
||||
"minimize": "Minimér"
|
||||
},
|
||||
"pairing": {
|
||||
@@ -1245,11 +1245,11 @@
|
||||
"connecting": "Opretter forbindelse...",
|
||||
"searchingForDevices": "Søger efter enheder...",
|
||||
"noDevicesFound": "Ingen enheder fundet på dit netværk",
|
||||
"noDevicesHint": "Åbn Plezy på desktop, og brug samme WiFi",
|
||||
"noDevicesHint": "Åbn Plezy på din computer, og brug det samme Wi-Fi-netværk",
|
||||
"availableDevices": "Tilgængelige enheder",
|
||||
"manualConnection": "Manuel forbindelse",
|
||||
"cryptoInitFailed": "Kunne ikke starte sikker forbindelse. Log ind på Plex først.",
|
||||
"validationHostRequired": "Angiv venligst værtsadresse",
|
||||
"validationHostRequired": "Angiv en værtsadresse",
|
||||
"validationHostFormat": "Format skal være IP:port (f.eks. 192.168.1.100:48632)",
|
||||
"connectionTimedOut": "Forbindelsen fik timeout. Brug samme netværk på begge enheder.",
|
||||
"sessionNotFound": "Enhed ikke fundet. Sørg for, at Plezy kører på værten.",
|
||||
@@ -1257,7 +1257,7 @@
|
||||
"failedToConnect": "Kunne ikke oprette forbindelse: ${error}"
|
||||
},
|
||||
"remote": {
|
||||
"disconnectConfirm": "Vil du afbryde fra fjernsessionen?",
|
||||
"disconnectConfirm": "Vil du afbryde forbindelsen til fjernsessionen?",
|
||||
"reconnecting": "Genopretter forbindelse...",
|
||||
"attemptOf": "Forsøg ${current} af 5",
|
||||
"retryNow": "Prøv igen nu",
|
||||
@@ -1288,7 +1288,7 @@
|
||||
"errors": {
|
||||
"noNetworkInterface": "Ingen netværksgrænseflade fundet",
|
||||
"authenticationFailed": "Godkendelse mislykkedes",
|
||||
"serverStartFailed": "Kunne ikke starte fjernserveren: ${error}",
|
||||
"serverStartFailed": "Fjernbetjeningsserveren kunne ikke startes: ${error}",
|
||||
"commandFailed": "Kunne ikke sende fjernkommando: ${error}",
|
||||
"joinTimedOut": "Tidsgrænse for deltagelse i session overskredet",
|
||||
"failedToConnectAnyAddress": "Kunne ikke oprette forbindelse til nogen adresse",
|
||||
@@ -1329,8 +1329,8 @@
|
||||
"hwFormat": "HW-format",
|
||||
"matrix": "Matrix",
|
||||
"primaries": "Primærfarver",
|
||||
"transfer": "Transfer",
|
||||
"renderFps": "Render FPS",
|
||||
"transfer": "Overførsel",
|
||||
"renderFps": "Gengivelses-FPS",
|
||||
"displayFps": "Skærm-FPS",
|
||||
"avSync": "A/V-synk.",
|
||||
"dropped": "Tabte",
|
||||
@@ -1346,7 +1346,7 @@
|
||||
"speed": "Hastighed",
|
||||
"player": "Afspiller",
|
||||
"memory": "Hukommelse",
|
||||
"uiFps": "UI FPS"
|
||||
"uiFps": "UI-FPS"
|
||||
},
|
||||
"externalPlayer": {
|
||||
"title": "Ekstern afspiller",
|
||||
@@ -1367,9 +1367,9 @@
|
||||
"playInExternalPlayer": "Afspil i ekstern afspiller"
|
||||
},
|
||||
"metadataEdit": {
|
||||
"editMetadata": "Redigér...",
|
||||
"screenTitle": "Redigér metadata",
|
||||
"basicInfo": "Grundlæggende info",
|
||||
"editMetadata": "Rediger...",
|
||||
"screenTitle": "Rediger metadata",
|
||||
"basicInfo": "Grundlæggende oplysninger",
|
||||
"artwork": "Grafik",
|
||||
"advancedSettings": "Avancerede indstillinger",
|
||||
"title": "Titel",
|
||||
@@ -1378,7 +1378,7 @@
|
||||
"releaseDate": "Udgivelsesdato",
|
||||
"contentRating": "Aldersgrænse",
|
||||
"studio": "Studie",
|
||||
"tagline": "Tagline",
|
||||
"tagline": "Slogan",
|
||||
"summary": "Resumé",
|
||||
"poster": "Plakat",
|
||||
"background": "Baggrund",
|
||||
@@ -1421,16 +1421,16 @@
|
||||
"show": "Vis",
|
||||
"hide": "Skjul",
|
||||
"episodeOrdering": "Episoderækkefølge",
|
||||
"tmdbAiring": "The Movie Database (Sendt)",
|
||||
"tvdbAiring": "TheTVDB (Sendt)",
|
||||
"tmdbAiring": "The Movie Database (udsendt)",
|
||||
"tvdbAiring": "TheTVDB (udsendt)",
|
||||
"tvdbAbsolute": "TheTVDB (Absolut)",
|
||||
"metadataLanguage": "Metadatasprog",
|
||||
"useOriginalTitle": "Brug originaltitel",
|
||||
"preferredAudioLanguage": "Foretrukket lydsprog",
|
||||
"preferredSubtitleLanguage": "Foretrukket undertekstsprog",
|
||||
"subtitleMode": "Auto-vælg underteksttilstand",
|
||||
"subtitleMode": "Automatisk valg af undertekster",
|
||||
"manuallySelected": "Manuelt valgt",
|
||||
"shownWithForeignAudio": "Vist med fremmedsproget lyd",
|
||||
"shownWithForeignAudio": "Vis ved fremmedsproget lyd",
|
||||
"alwaysEnabled": "Altid aktiveret",
|
||||
"tags": "Tags",
|
||||
"addTag": "Tilføj tag",
|
||||
@@ -1471,8 +1471,8 @@
|
||||
"disconnectConfirmBody": "Plezy stopper med at sende hændelser til Trakt. Du kan tilslutte igen når som helst.",
|
||||
"scrobble": "Realtids-scrobbling",
|
||||
"scrobbleDescription": "Send afspil-, pause- og stop-begivenheder til Trakt under afspilning.",
|
||||
"watchedSync": "Synkroniser sét-status",
|
||||
"watchedSyncDescription": "Når du markerer ting som sét i Plezy, markeres de også på Trakt."
|
||||
"watchedSync": "Synkroniser set-status",
|
||||
"watchedSyncDescription": "Når du markerer elementer som set i Plezy, markeres de også på Trakt."
|
||||
},
|
||||
"seerr": {
|
||||
"title": "Seerr",
|
||||
@@ -1486,8 +1486,8 @@
|
||||
"email": "E-mail",
|
||||
"noSignInMethods": "Denne Seerr-instans tilbyder ingen loginmetode, som Plezy understøtter.",
|
||||
"instance": "Instans",
|
||||
"disconnectConfirm": "Afbryd Seerr?",
|
||||
"disconnectConfirmBody": "Plezy glemmer denne Seerr-instans. Tilslut igen når som helst.",
|
||||
"disconnectConfirm": "Afbryd forbindelsen til Seerr?",
|
||||
"disconnectConfirmBody": "Plezy glemmer denne Seerr-instans. Du kan altid oprette forbindelse igen.",
|
||||
"request": "Anmod",
|
||||
"request4k": "Anmod i 4K",
|
||||
"seasons": "Sæsoner",
|
||||
@@ -1512,9 +1512,9 @@
|
||||
"notConnected": "Ikke forbundet",
|
||||
"connectedAs": "Forbundet som @${username}",
|
||||
"scrobble": "Registrer fremgang automatisk",
|
||||
"scrobbleDescription": "Opdater din liste når du er færdig med et afsnit eller en film.",
|
||||
"disconnectConfirm": "Afbryd ${service}?",
|
||||
"disconnectConfirmBody": "Plezy stopper med at opdatere ${service}. Tilslut igen når som helst.",
|
||||
"scrobbleDescription": "Opdater din liste, når du er færdig med et afsnit eller en film.",
|
||||
"disconnectConfirm": "Afbryd forbindelsen til ${service}?",
|
||||
"disconnectConfirmBody": "Plezy stopper med at opdatere ${service}. Du kan altid oprette forbindelse igen.",
|
||||
"connectFailed": "Kunne ikke forbinde til ${service}. Prøv igen.",
|
||||
"names": {
|
||||
"mal": "MyAnimeList",
|
||||
@@ -1544,10 +1544,10 @@
|
||||
"subtitleBlocked": "${count} blokeret",
|
||||
"subtitleAllowed": "${count} tilladt",
|
||||
"mode": "Filtertilstand",
|
||||
"modeBlacklist": "Sortliste",
|
||||
"modeWhitelist": "Hvidliste",
|
||||
"modeHintBlacklist": "Synkroniser alle biblioteker undtagen dem du markerer nedenfor.",
|
||||
"modeHintWhitelist": "Synkroniser kun de biblioteker du markerer nedenfor.",
|
||||
"modeBlacklist": "Blokliste",
|
||||
"modeWhitelist": "Tilladelsesliste",
|
||||
"modeHintBlacklist": "Synkroniser alle biblioteker undtagen dem, du markerer nedenfor.",
|
||||
"modeHintWhitelist": "Synkroniser kun de biblioteker, du markerer nedenfor.",
|
||||
"libraries": "Biblioteker",
|
||||
"noLibraries": "Ingen biblioteker tilgængelige"
|
||||
}
|
||||
@@ -1555,7 +1555,7 @@
|
||||
"addServer": {
|
||||
"addJellyfinTitle": "Tilføj Jellyfin-server",
|
||||
"serverUrls": "Server-URL'er",
|
||||
"serverUrlsHelper": "Flere URL'er er tilladt, adskilt med kommaer.",
|
||||
"serverUrlsHelper": "Du kan angive flere URL'er adskilt med komma.",
|
||||
"findServer": "Find server",
|
||||
"searchingLocalServers": "Søger efter lokale Jellyfin-servere...",
|
||||
"localServers": "Lokale Jellyfin-servere",
|
||||
@@ -1565,20 +1565,20 @@
|
||||
"change": "Ændr",
|
||||
"required": "Påkrævet",
|
||||
"couldNotReachServer": "Kunne ikke nå serveren: ${error}",
|
||||
"signInFailed": "Login mislykkedes: ${error}",
|
||||
"signInFailed": "Kunne ikke logge ind: ${error}",
|
||||
"quickConnectFailed": "Quick Connect mislykkedes: ${error}",
|
||||
"addPlexTitle": "Log ind med Plex",
|
||||
"pinExpired": "PIN udløb før login. Prøv igen.",
|
||||
"pinExpired": "PIN-koden udløb før login. Prøv igen.",
|
||||
"failedToRegisterAccount": "Kunne ikke registrere kontoen: ${error}",
|
||||
"enterJellyfinUrlError": "Angiv URL'en til din Jellyfin-server",
|
||||
"addConnectionTitle": "Tilføj forbindelse",
|
||||
"addConnectionTitleScoped": "Tilføj til ${name}",
|
||||
"signInWithPlexCard": "Log ind med Plex",
|
||||
"signInWithPlexCardSubtitle": "Godkend denne enhed. Delte servere tilføjes.",
|
||||
"signInWithPlexCardSubtitleScoped": "Godkend en Plex-konto. Home-brugere bliver profiler.",
|
||||
"signInWithPlexCardSubtitleScoped": "Godkend en Plex-konto. Plex Home-brugere bliver til profiler.",
|
||||
"connectToJellyfinCard": "Forbind til Jellyfin",
|
||||
"connectToJellyfinCardSubtitle": "Indtast din server-URL, dit brugernavn og din adgangskode.",
|
||||
"connectToJellyfinCardSubtitleScoped": "Log ind på en Jellyfin-server. Tilknyttes ${name}.",
|
||||
"connectToJellyfinCardSubtitleScoped": "Log ind på en Jellyfin-server. Serveren knyttes til ${name}.",
|
||||
"borrowFromAnotherProfile": "Lån fra en anden profil",
|
||||
"borrowFromAnotherProfileSubtitle": "Genbrug en anden profils forbindelse. PIN-beskyttede profiler kræver en PIN."
|
||||
}
|
||||
|
||||
+184
-184
@@ -7,8 +7,8 @@
|
||||
"showQRCode": "QR-Code anzeigen",
|
||||
"authenticate": "Authentifizieren",
|
||||
"authenticationTimeout": "Authentifizierung abgelaufen. Bitte erneut versuchen.",
|
||||
"scanQRToSignIn": "QR-Code scannen zum Anmelden",
|
||||
"waitingForAuth": "Warte auf Authentifizierung...\nMelde dich im Browser an.",
|
||||
"scanQRToSignIn": "Scanne diesen QR-Code, um dich anzumelden",
|
||||
"waitingForAuth": "Warte auf die Authentifizierung …\nMelde dich über deinen Browser an.",
|
||||
"useBrowser": "Browser verwenden",
|
||||
"or": "oder",
|
||||
"connectToJellyfin": "Mit Jellyfin verbinden",
|
||||
@@ -17,7 +17,7 @@
|
||||
"quickConnectWaiting": "Warte auf Bestätigung…",
|
||||
"quickConnectCancel": "Abbrechen",
|
||||
"quickConnectExpired": "Quick Connect ist abgelaufen. Versuche es erneut.",
|
||||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||||
"localDataRecoveryRequired": "Plezy konnte lokale Anmeldedaten und ausstehende Wiedergabedaten nicht sicher wiederherstellen. Bitte melde dich erneut an."
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Abbrechen",
|
||||
@@ -36,8 +36,8 @@
|
||||
"no": "Nein",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"shuffle": "Zufall",
|
||||
"addTo": "Hinzufügen zu...",
|
||||
"shuffle": "Zufallswiedergabe",
|
||||
"addTo": "Hinzufügen zu …",
|
||||
"createNew": "Neu erstellen",
|
||||
"connect": "Verbinden",
|
||||
"disconnect": "Trennen",
|
||||
@@ -48,23 +48,23 @@
|
||||
"search": "Suche",
|
||||
"home": "Start",
|
||||
"back": "Zurück",
|
||||
"settings": "Optionen",
|
||||
"settings": "Einstellungen",
|
||||
"mute": "Stumm",
|
||||
"ok": "OK",
|
||||
"off": "Aus",
|
||||
"seasonNumber": "Staffel ${number}",
|
||||
"episodeNumberTitle": "Episode ${number} - ${title}",
|
||||
"episodeNumberTitle": "Folge ${number} – ${title}",
|
||||
"chapterNumber": "Kapitel ${number}",
|
||||
"reconnect": "Erneut verbinden",
|
||||
"viewAll": "Alle anzeigen",
|
||||
"checkingNetwork": "Netzwerk wird geprüft...",
|
||||
"loadingServers": "Server werden geladen...",
|
||||
"connectingToServers": "Verbindung zu Servern...",
|
||||
"connectingToServers": "Verbindung zu Servern wird hergestellt …",
|
||||
"startingOfflineMode": "Offlinemodus wird gestartet...",
|
||||
"loading": "Laden...",
|
||||
"loading": "Wird geladen …",
|
||||
"fullscreen": "Vollbild",
|
||||
"exitFullscreen": "Vollbild verlassen",
|
||||
"pressBackAgainToExit": "Erneut Zurück drücken zum Beenden"
|
||||
"pressBackAgainToExit": "Zum Beenden erneut Zurück drücken"
|
||||
},
|
||||
"screens": {
|
||||
"licenses": "Lizenzen",
|
||||
@@ -78,7 +78,7 @@
|
||||
"versionAvailable": "Version ${version} ist verfügbar",
|
||||
"currentVersion": "Aktuell: ${version}",
|
||||
"skipVersion": "Diese Version überspringen",
|
||||
"viewRelease": "Release anzeigen",
|
||||
"viewRelease": "Versionshinweise anzeigen",
|
||||
"latestVersion": "Aktuellste Version installiert",
|
||||
"checkFailed": "Fehler bei der Updateprüfung"
|
||||
},
|
||||
@@ -92,10 +92,10 @@
|
||||
"videoPlayback": "Videowiedergabe",
|
||||
"videoPlaybackDescription": "Wiedergabeverhalten konfigurieren",
|
||||
"advanced": "Erweitert",
|
||||
"episodePosterMode": "Episoden-Poster-Stil",
|
||||
"episodePosterMode": "Episodenposter-Stil",
|
||||
"seriesPoster": "Serienposter",
|
||||
"seasonPoster": "Staffelposter",
|
||||
"episodeThumbnail": "Miniatur",
|
||||
"episodeThumbnail": "Vorschaubild",
|
||||
"showHeroSectionDescription": "Bereich mit empfohlenen Inhalten auf der Startseite anzeigen",
|
||||
"secondsLabel": "Sekunden",
|
||||
"minutesLabel": "Minuten",
|
||||
@@ -106,7 +106,7 @@
|
||||
"lightTheme": "Hell",
|
||||
"darkTheme": "Dunkel",
|
||||
"oledTheme": "OLED",
|
||||
"libraryDensity": "Mediathekdichte",
|
||||
"libraryDensity": "Darstellungsdichte der Mediathek",
|
||||
"compact": "Kompakt",
|
||||
"comfortable": "Großzügig",
|
||||
"tvCornerSpotlightBackdrop": "Backdrop in der Ecke",
|
||||
@@ -114,7 +114,7 @@
|
||||
"viewMode": "Ansichtsmodus",
|
||||
"gridView": "Raster",
|
||||
"listView": "Liste",
|
||||
"showHeroSection": "Hero-Bereich anzeigen",
|
||||
"showHeroSection": "Empfehlungsbereich anzeigen",
|
||||
"continueWatchingAction": "Aktion für Weiterschauen",
|
||||
"continueWatchingPlay": "Abspielen",
|
||||
"continueWatchingDetails": "Details öffnen",
|
||||
@@ -137,7 +137,7 @@
|
||||
"showSeasonPostersOnTabsDescription": "Poster jeder Staffel über ihrem Tab anzeigen",
|
||||
"tvFullCardLayout": "Vollflächige TV-Karten",
|
||||
"tvFullCardLayoutDescription": "TV-Karten nur mit Bild verwenden und Darstellernamen einblenden",
|
||||
"focusGlow": "Fokus-Leuchten",
|
||||
"focusGlow": "Fokusleuchten",
|
||||
"focusGlowDescription": "Sanftes Leuchten um die fokussierte Karte anzeigen",
|
||||
"visualEffects": "Visuelle Effekte",
|
||||
"visualEffectsAuto": "Automatisch",
|
||||
@@ -147,40 +147,40 @@
|
||||
"visualEffectsReducedDescription": "Weniger Animationen und Grafiken mit niedrigerer Auflösung",
|
||||
"hideSpoilers": "Spoiler für nicht gesehene Episoden verbergen",
|
||||
"hideSpoilersDescription": "Vorschaubilder und Beschreibungen ungesehener Episoden verwischen",
|
||||
"playerBackend": "Player-Backend",
|
||||
"playerBackend": "Wiedergabe-Engine",
|
||||
"exoPlayer": "ExoPlayer",
|
||||
"mpv": "mpv",
|
||||
"hardwareDecoding": "Hardware-Decodierung",
|
||||
"hardwareDecoding": "Hardwaredekodierung",
|
||||
"hardwareDecodingDescription": "Hardwarebeschleunigung verwenden, sofern verfügbar",
|
||||
"bufferSize": "Puffergröße",
|
||||
"bufferSizeMB": "${size}MB",
|
||||
"bufferSizeAuto": "Auto (Empfohlen)",
|
||||
"bufferSizeWarning": "${heap}MB Speicher verfügbar. Ein ${size}MB-Puffer kann die Wiedergabe beeinträchtigen.",
|
||||
"bufferSizeMB": "${size} MB",
|
||||
"bufferSizeAuto": "Automatisch (empfohlen)",
|
||||
"bufferSizeWarning": "${heap} MB Speicher verfügbar. Ein Puffer von ${size} MB kann die Wiedergabe beeinträchtigen.",
|
||||
"defaultQualityTitle": "Standardqualität",
|
||||
"musicQualityTitle": "Musikqualität",
|
||||
"subtitleStyling": "Untertitel-Stil",
|
||||
"subtitleStylingDescription": "Aussehen von Untertiteln anpassen",
|
||||
"smallSkipDuration": "Kleine Sprungdauer",
|
||||
"largeSkipDuration": "Große Sprungdauer",
|
||||
"smallSkipDuration": "Kleines Sprungintervall",
|
||||
"largeSkipDuration": "Großes Sprungintervall",
|
||||
"rewindOnResume": "Zurückspulen bei Fortsetzung",
|
||||
"secondsUnit": "${seconds} Sekunden",
|
||||
"defaultSleepTimer": "Standard-Sleep-Timer",
|
||||
"defaultSleepTimer": "Standard-Schlaftimer",
|
||||
"minutesUnit": "${minutes} Minuten",
|
||||
"rememberTrackSelections": "Spurauswahl pro Serie/Film merken",
|
||||
"rememberTrackSelectionsDescription": "Audio- und Untertitelauswahl je Titel merken",
|
||||
"showChapterMarkersOnTimeline": "Kapitelmarkierungen auf der Zeitleiste anzeigen",
|
||||
"showChapterMarkersOnTimelineDescription": "Die Zeitleiste an Kapitelgrenzen unterteilen",
|
||||
"clickVideoTogglesPlayback": "Klicken Sie auf das Video, um die Wiedergabe zu starten oder zu pausieren.",
|
||||
"clickVideoTogglesPlaybackDescription": "Video anklicken, um abzuspielen/zu pausieren, statt Steuerungen zu zeigen.",
|
||||
"showChapterMarkersOnTimeline": "Kapitelmarkierungen auf der Suchleiste anzeigen",
|
||||
"showChapterMarkersOnTimelineDescription": "Die Suchleiste an Kapitelgrenzen unterteilen",
|
||||
"clickVideoTogglesPlayback": "Video zum Abspielen oder Pausieren anklicken",
|
||||
"clickVideoTogglesPlaybackDescription": "Video zum Abspielen oder Pausieren anklicken, statt die Steuerung anzuzeigen.",
|
||||
"videoPlayerControls": "Videoplayer-Steuerung",
|
||||
"keyboardShortcuts": "Tastenkürzel",
|
||||
"keyboardShortcutsDescription": "Tastenkürzel anpassen",
|
||||
"videoPlayerNavigation": "Videoplayer-Navigation",
|
||||
"videoPlayerNavigationDescription": "Pfeiltasten zur Navigation der Videoplayer-Steuerung verwenden",
|
||||
"watchTogetherRelay": "Gemeinsam Schauen Relay",
|
||||
"videoPlayerNavigationDescription": "Mit den Pfeiltasten durch die Videoplayer-Steuerung navigieren",
|
||||
"watchTogetherRelay": "Relay für gemeinsames Schauen",
|
||||
"watchTogetherRelayDescription": "Eigenes Relay festlegen. Alle müssen denselben Server verwenden.",
|
||||
"watchTogetherRelayHint": "https://mein-relay.beispiel.de",
|
||||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||||
"watchTogetherRelayInvalid": "Gib eine gültige HTTP- oder HTTPS-Basis-URL für das Relay ein.",
|
||||
"crashReporting": "Absturzberichte",
|
||||
"crashReportingDescription": "Absturzberichte senden, um die App zu verbessern",
|
||||
"debugLogging": "Debug-Protokollierung",
|
||||
@@ -195,7 +195,7 @@
|
||||
"resetSettingsSuccess": "Einstellungen erfolgreich zurückgesetzt",
|
||||
"backup": "Sicherung",
|
||||
"exportSettings": "Einstellungen exportieren",
|
||||
"exportSettingsDescription": "Speichere deine Einstellungen in einer Datei",
|
||||
"exportSettingsDescription": "Einstellungen in einer Datei speichern",
|
||||
"exportSettingsSuccess": "Einstellungen exportiert",
|
||||
"importSettings": "Einstellungen importieren",
|
||||
"importSettingsDescription": "Einstellungen aus einer Datei wiederherstellen",
|
||||
@@ -215,14 +215,14 @@
|
||||
"validationErrorDuration": "Dauer muss zwischen ${min} und ${max} ${unit} liegen",
|
||||
"shortcutAlreadyAssigned": "Tastenkürzel bereits zugewiesen an ${action}",
|
||||
"shortcutUpdated": "Tastenkürzel aktualisiert für ${action}",
|
||||
"saveFailed": "Could not save changes. Try again.",
|
||||
"saveFailed": "Änderungen konnten nicht gespeichert werden. Versuche es erneut.",
|
||||
"autoSkip": "Automatisches Überspringen",
|
||||
"autoSkipIntro": "Intro automatisch überspringen",
|
||||
"autoSkipIntroDescription": "Intro-Marker nach wenigen Sekunden automatisch überspringen",
|
||||
"autoSkipCredits": "Abspann automatisch überspringen",
|
||||
"autoSkipCreditsDescription": "Abspann automatisch überspringen und nächste Episode abspielen",
|
||||
"forceSkipMarkerFallback": "Fallback-Markierungen erzwingen",
|
||||
"forceSkipMarkerFallbackDescription": "Kapitel-Titelmuster verwenden, auch wenn Plex Marker hat",
|
||||
"forceSkipMarkerFallback": "Ersatzmarkierungen erzwingen",
|
||||
"forceSkipMarkerFallbackDescription": "Kapitel-Titelmuster auch dann verwenden, wenn Plex über Markierungen verfügt",
|
||||
"autoSkipDelay": "Verzögerung für automatisches Überspringen",
|
||||
"autoSkipDelayDescription": "${seconds} Sekunden vor dem automatischen Überspringen warten",
|
||||
"introPattern": "Intro-Markierungsmuster",
|
||||
@@ -246,19 +246,19 @@
|
||||
"downloadOnWifiOnlyDescription": "Downloads über mobile Daten verhindern",
|
||||
"autoRemoveWatchedDownloads": "Gesehene Downloads automatisch entfernen",
|
||||
"autoRemoveWatchedDownloadsDescription": "Angesehene Downloads automatisch löschen",
|
||||
"cellularDownloadBlocked": "Downloads sind über Mobilfunk blockiert. Nutze WiFi oder ändere die Einstellung.",
|
||||
"cellularDownloadBlocked": "Downloads über das Mobilfunknetz sind blockiert. Nutze WLAN oder ändere die Einstellung.",
|
||||
"maxVolume": "Maximale Lautstärke",
|
||||
"maxVolumeDescription": "Lautstärke über 100% für leise Medien erlauben",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
"maxVolumeDescription": "Lautstärkeanhebung über 100 % für leise Medien erlauben",
|
||||
"maxVolumePercent": "${percent} %",
|
||||
"discordRichPresence": "Discord Rich Presence",
|
||||
"discordRichPresenceDescription": "Zeige auf Discord, was du gerade schaust",
|
||||
"discordRichPresenceDescription": "Auf Discord anzeigen, was du gerade schaust",
|
||||
"services": "Dienste",
|
||||
"servicesDescription": "Trakt, MyAnimeList, Seerr und mehr verbinden",
|
||||
"manageLibrariesDescription": "Mediatheken neu anordnen und ausblenden",
|
||||
"companionRemoteServer": "Companion Remote Server",
|
||||
"companionRemoteServer": "Companion-Fernbedienungsserver",
|
||||
"companionRemoteServerDescription": "Mobilgeräten in deinem Netzwerk erlauben, diese App zu steuern",
|
||||
"autoPip": "Automatisches Bild-in-Bild",
|
||||
"autoPipDescription": "Beim Verlassen während der Wiedergabe Bild-in-Bild starten",
|
||||
"autoPipDescription": "Beim Verlassen der App während der Wiedergabe automatisch Bild-in-Bild starten",
|
||||
"matchContentFrameRate": "Inhalts-Bildrate anpassen",
|
||||
"matchContentFrameRateDescription": "Bildwiederholrate des Displays an Videoinhalt anpassen",
|
||||
"matchRefreshRate": "Bildwiederholrate anpassen",
|
||||
@@ -270,10 +270,10 @@
|
||||
"tunneledPlaybackDescription": "Video-Tunneling verwenden. Deaktivieren, wenn HDR-Wiedergabe schwarzes Video zeigt.",
|
||||
"audioPassthrough": "Audio-Durchleitung",
|
||||
"audioPassthroughDescription": "Dolby/DTS-Audio ohne Neukodierung an deinen Receiver oder Fernseher senden und Surround-Sound erhalten. Deaktivieren, wenn kein Ton zu hören ist.",
|
||||
"audioPassthroughDescriptionAppleTv": "Übergibt Dolby Digital Plus (inkl. Atmos) als Bitstream an das System. DTS und TrueHD werden weiterhin als Mehrkanal-PCM wiedergegeben. Beim Spulen können kurze Tonaussetzer auftreten.",
|
||||
"audioDownmix": "Downmix auf Stereo",
|
||||
"audioDownmixDescription": "Mischt Surround-Ton für Stereo-Lautsprecher oder Kopfhörer auf zwei Kanäle herunter",
|
||||
"downmixCenterBoost": "Center-Kanal-Verstärkung",
|
||||
"audioPassthroughDescriptionAppleTv": "Apples nativen Dolby-Decoder für Dolby Digital Plus einschließlich Atmos verwenden. DTS und TrueHD werden weiterhin als Mehrkanal-PCM wiedergegeben. Deaktivieren, wenn kein Ton zu hören ist.",
|
||||
"audioDownmix": "Auf Stereo heruntermischen",
|
||||
"audioDownmixDescription": "Surround-Ton für Stereolautsprecher oder Kopfhörer auf zwei Kanäle heruntermischen",
|
||||
"downmixCenterBoost": "Verstärkung des Center-Kanals",
|
||||
"downmixCenterBoostValue": "${db} dB",
|
||||
"downmixCenterBoostLabel": "Verstärkung (dB)",
|
||||
"downmixCenterBoostShort": "dB",
|
||||
@@ -295,14 +295,14 @@
|
||||
"atmosTestUrlMissing": "Zuerst die URL der Testdatei festlegen",
|
||||
"atmosTestStatus": "Status",
|
||||
"dvConversionMode": "Dolby-Vision-Konvertierung",
|
||||
"dvConversionModeDescription": "Wähle, wie ExoPlayer Dolby-Vision-Profil-7-Dateien behandelt.",
|
||||
"dvConversionModeDescription": "Wähle, wie ExoPlayer Dateien mit Dolby-Vision-Profil 7 behandelt.",
|
||||
"dvConversionAuto": "Automatisch",
|
||||
"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",
|
||||
"dvConversionNativeDescription": "Natives DV7 erzwingen und einen erneuten DV-Konvertierungsversuch unterdrücken",
|
||||
"dvConversionDv81Description": "Inline-RPU-Konvertierung in 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",
|
||||
@@ -325,12 +325,12 @@
|
||||
"window": "Fenster",
|
||||
"content": "Inhalt",
|
||||
"player": "Wiedergabe",
|
||||
"subtitlesAndConfig": "Untertitel & Konfiguration",
|
||||
"subtitlesAndConfig": "Untertitel und Konfiguration",
|
||||
"seekAndTiming": "Spulen & Timing",
|
||||
"behavior": "Verhalten"
|
||||
},
|
||||
"search": {
|
||||
"hint": "Filme, Serien, Musik suchen...",
|
||||
"hint": "Filme, Serien und Musik suchen …",
|
||||
"tryDifferentTerm": "Anderen Suchbegriff versuchen",
|
||||
"searchYourMedia": "In den eigenen Medien suchen",
|
||||
"enterTitleActorOrKeyword": "Titel, Schauspieler oder Stichwort eingeben"
|
||||
@@ -338,7 +338,7 @@
|
||||
"hotkeys": {
|
||||
"setShortcutFor": "Tastenkürzel festlegen für ${actionName}",
|
||||
"clearShortcut": "Kürzel löschen",
|
||||
"noShortcutSet": "Keine Tastenkombination festgelegt",
|
||||
"noShortcutSet": "Kein Tastenkürzel festgelegt",
|
||||
"currentShortcut": "Aktuelle Tastenkombination:",
|
||||
"pressToRecord": "Auswählen, um eine Tastenkombination aufzuzeichnen",
|
||||
"recordingShortcut": "Jetzt die Tastenkombination drücken",
|
||||
@@ -371,7 +371,7 @@
|
||||
}
|
||||
},
|
||||
"fileInfo": {
|
||||
"title": "Dateiinfo",
|
||||
"title": "Dateiinformationen",
|
||||
"video": "Video",
|
||||
"audio": "Audio",
|
||||
"file": "Datei",
|
||||
@@ -382,14 +382,14 @@
|
||||
"frameRate": "Bildrate",
|
||||
"aspectRatio": "Seitenverhältnis",
|
||||
"profile": "Profil",
|
||||
"bitDepth": "Farbtiefe",
|
||||
"bitDepth": "Bittiefe",
|
||||
"colorSpace": "Farbraum",
|
||||
"colorRange": "Farbbereich",
|
||||
"colorPrimaries": "Primärfarben",
|
||||
"chromaSubsampling": "Chroma-Subsampling",
|
||||
"channels": "Kanäle",
|
||||
"subtitles": "Untertitel",
|
||||
"overallBitrate": "Gesamt-Bitrate",
|
||||
"overallBitrate": "Gesamtbitrate",
|
||||
"path": "Pfad",
|
||||
"size": "Größe",
|
||||
"container": "Container",
|
||||
@@ -409,11 +409,11 @@
|
||||
"deleteFromServer": "Vom Server löschen",
|
||||
"confirmDelete": "Dieses Medium und seine Dateien von deinem Server löschen?",
|
||||
"deleteMultipleWarning": "Dies umfasst alle Episoden und deren Dateien.",
|
||||
"mediaDeletedSuccessfully": "Medienelement erfolgreich gelöscht",
|
||||
"mediaFailedToDelete": "Löschen des Medienelements fehlgeschlagen",
|
||||
"mediaDeletedSuccessfully": "Medienelement gelöscht",
|
||||
"mediaFailedToDelete": "Medienelement konnte nicht gelöscht werden",
|
||||
"rate": "Bewerten",
|
||||
"playFromBeginning": "Von Anfang an abspielen",
|
||||
"playVersion": "Version abspielen..."
|
||||
"playVersion": "Version abspielen …"
|
||||
},
|
||||
"rateSheet": {
|
||||
"title": "Bewerten",
|
||||
@@ -429,9 +429,9 @@
|
||||
"mediaCardShow": "${title}, Serie",
|
||||
"mediaCardEpisode": "${title}, ${episodeInfo}",
|
||||
"mediaCardSeason": "${title}, ${seasonInfo}",
|
||||
"mediaCardWatched": "angesehen",
|
||||
"mediaCardPartiallyWatched": "${percent} Prozent angesehen",
|
||||
"mediaCardUnwatched": "ungeschaut",
|
||||
"mediaCardWatched": "gesehen",
|
||||
"mediaCardPartiallyWatched": "zu ${percent} Prozent gesehen",
|
||||
"mediaCardUnwatched": "ungesehen",
|
||||
"tapToPlay": "Zum Abspielen tippen",
|
||||
"decrease": "Verringern",
|
||||
"increase": "Erhöhen",
|
||||
@@ -440,7 +440,7 @@
|
||||
"hue": "Farbton",
|
||||
"saturation": "Sättigung",
|
||||
"brightness": "Helligkeit",
|
||||
"hexColor": "Hex-Farbe",
|
||||
"hexColor": "Hexadezimalfarbe",
|
||||
"expandText": "Text ausklappen",
|
||||
"collapseText": "Text einklappen",
|
||||
"alphabetNavigation": "Alphabetische Navigation",
|
||||
@@ -482,12 +482,12 @@
|
||||
"continueWatching": "Weiter",
|
||||
"autoPlayNext": "Nächstes automatisch abspielen",
|
||||
"playNext": "Nächstes abspielen",
|
||||
"playButton": "Wiedergeben",
|
||||
"playButton": "Abspielen",
|
||||
"pauseButton": "Pause",
|
||||
"showPlaybackControls": "",
|
||||
"hidePlaybackControls": "",
|
||||
"showPlaybackControls": "Wiedergabesteuerung anzeigen",
|
||||
"hidePlaybackControls": "Wiedergabesteuerung ausblenden",
|
||||
"seekBackwardButton": "${seconds} Sekunden zurück",
|
||||
"seekForwardButton": "${seconds} Sekunden vor",
|
||||
"seekForwardButton": "${seconds} Sekunden vorwärts",
|
||||
"previousButton": "Vorherige Episode",
|
||||
"nextButton": "Nächste Episode",
|
||||
"previousChapterButton": "Vorheriges Kapitel",
|
||||
@@ -502,19 +502,19 @@
|
||||
"qualityColumnHeader": "Qualität",
|
||||
"qualityOriginal": "Original",
|
||||
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
|
||||
"transcodeUnavailableFallback": "Transkodierung nicht verfügbar — Wiedergabe in Originalqualität",
|
||||
"subtitleUnavailableFallback": "Die ausgewählten Untertitel konnten nicht geladen werden — Wiedergabe ohne Untertitel wird fortgesetzt",
|
||||
"pipButton": "Bild-in-Bild Modus",
|
||||
"transcodeUnavailableFallback": "Transkodierung nicht verfügbar – Wiedergabe in Originalqualität",
|
||||
"subtitleUnavailableFallback": "Die ausgewählten Untertitel konnten nicht geladen werden – die Wiedergabe wird ohne Untertitel fortgesetzt",
|
||||
"pipButton": "Bild-in-Bild-Modus",
|
||||
"aspectRatioButton": "Seitenverhältnis",
|
||||
"ambientLighting": "Umgebungsbeleuchtung",
|
||||
"fullscreenButton": "Vollbild aktivieren",
|
||||
"exitFullscreenButton": "Vollbild verlassen",
|
||||
"alwaysOnTopButton": "Immer im Vordergrund",
|
||||
"rotationLockButton": "Drehsperre",
|
||||
"rotationLockButton": "Drehsperre",
|
||||
"lockScreen": "Bildschirm sperren",
|
||||
"screenLockButton": "Bildschirmsperre",
|
||||
"longPressToUnlock": "Lange drücken zum Entsperren",
|
||||
"timelineSlider": "Video-Zeitleiste",
|
||||
"timelineSlider": "Videozeitleiste",
|
||||
"volumeSlider": "Lautstärkepegel",
|
||||
"endsAt": "Endet um ${time}",
|
||||
"pipActive": "Wiedergabe im Bild-in-Bild-Modus",
|
||||
@@ -556,30 +556,30 @@
|
||||
"one": "Automatisch entfernt: ${n} angesehener Download",
|
||||
"other": "Automatisch entfernt: ${n} angesehene Downloads"
|
||||
},
|
||||
"removedFromContinueWatching": "Aus ‚Weiterschauen' entfernt",
|
||||
"removedFromContinueWatching": "Aus „Weiterschauen“ entfernt",
|
||||
"errorLoading": "Fehler: ${error}",
|
||||
"streamInterrupted": "Der Stream wurde unterbrochen. Drücke auf Wiedergabe oder spule, um es erneut zu versuchen.",
|
||||
"liveStreamInterrupted": "Der Livestream wurde unterbrochen. Drücke auf Wiedergabe, um es erneut zu versuchen.",
|
||||
"fileInfoNotAvailable": "Dateiinfo nicht verfügbar",
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"playbackAuthenticationRequired": "Melde dich erneut beim Medienserver an, um dieses Element abzuspielen.",
|
||||
"playbackServerUnavailable": "Der Medienserver ist nicht verfügbar. Versuche es später erneut.",
|
||||
"playbackDataInvalid": "Der Server hat ungültige Wiedergabeinformationen zurückgegeben.",
|
||||
"playbackCancelled": "Die Wiedergabe wurde abgebrochen.",
|
||||
"playbackFailed": "Die Wiedergabe konnte nicht gestartet werden.",
|
||||
"errorLoadingFileInfo": "Fehler beim Laden der Dateiinfo: ${error}",
|
||||
"errorLoadingSeries": "Fehler beim Laden der Serie",
|
||||
"musicNotSupported": "Musikwiedergabe wird noch nicht unterstützt",
|
||||
"noDescriptionAvailable": "Keine Beschreibung verfügbar",
|
||||
"noProfilesAvailable": "Keine Profile verfügbar",
|
||||
"contactAdminForProfiles": "Kontaktiere deinen Serveradministrator, um Profile hinzuzufügen",
|
||||
"unableToDetermineLibrarySection": "Bibliotheksbereich für dieses Element kann nicht ermittelt werden",
|
||||
"contactAdminForProfiles": "Wende dich an deinen Serveradministrator, um Profile hinzuzufügen",
|
||||
"unableToDetermineLibrarySection": "Der Mediatheksbereich für dieses Element konnte nicht ermittelt werden",
|
||||
"logsCleared": "Protokolle gelöscht",
|
||||
"logsCopied": "Protokolle in Zwischenablage kopiert",
|
||||
"noLogsAvailable": "Keine Protokolle verfügbar",
|
||||
"libraryScanning": "Scanne „${title}“...",
|
||||
"libraryScanning": "„${title}“ wird gescannt …",
|
||||
"libraryScanStarted": "Mediathekscan gestartet für „${title}“",
|
||||
"libraryScanFailed": "Fehler beim Scannen der Mediathek: ${error}",
|
||||
"metadataRefreshing": "Metadaten werden aktualisiert für „${title}“...",
|
||||
"metadataRefreshing": "Metadaten für „${title}“ werden aktualisiert …",
|
||||
"metadataRefreshStarted": "Metadaten-Aktualisierung gestartet für „${title}“",
|
||||
"metadataRefreshFailed": "Metadaten konnten nicht aktualisiert werden: ${error}",
|
||||
"logoutConfirm": "Abmeldung wirklich durchführen?",
|
||||
@@ -589,13 +589,13 @@
|
||||
"noEpisodesFoundGeneral": "Keine Episoden gefunden",
|
||||
"episodesLoadFailed": "Episoden konnten nicht geladen werden",
|
||||
"noResultsFound": "Keine Ergebnisse gefunden",
|
||||
"sleepTimerSet": "Sleep-Timer gesetzt auf ${label}",
|
||||
"sleepTimerSet": "Schlaftimer auf ${label} eingestellt",
|
||||
"noItemsAvailable": "Keine Elemente verfügbar",
|
||||
"failedToCreatePlayQueueNoItems": "Wiedergabewarteschlange konnte nicht erstellt werden – keine Elemente",
|
||||
"failedPlayback": "Wiedergabe für ${action} fehlgeschlagen: ${error}",
|
||||
"switchingToCompatiblePlayer": "Wechsle zu kompatiblem Player...",
|
||||
"switchingToCompatiblePlayer": "Wechsel zu einem kompatiblen Player …",
|
||||
"serverLimitTitle": "Wiedergabe fehlgeschlagen",
|
||||
"serverLimitBody": "Serverfehler (HTTP 500). Ein Bandbreiten-/Transcoding-Limit lehnte diese Sitzung wohl ab. Bitte den Besitzer um Anpassung.",
|
||||
"serverLimitBody": "Serverfehler (HTTP 500). Vermutlich hat ein Bandbreiten- oder Transkodierungslimit diese Sitzung abgelehnt. Bitte den Besitzer, das Limit anzupassen.",
|
||||
"logsUploaded": "Protokolle hochgeladen",
|
||||
"logsUploadFailed": "Protokolle konnten nicht hochgeladen werden",
|
||||
"logId": "Protokoll-ID"
|
||||
@@ -628,7 +628,7 @@
|
||||
"description": "Erweiterte Videoplayer-Einstellungen",
|
||||
"presets": "Voreinstellungen",
|
||||
"noPresets": "Keine gespeicherten Voreinstellungen",
|
||||
"saveAsPreset": "Als Voreinstellung speichern...",
|
||||
"saveAsPreset": "Als Voreinstellung speichern …",
|
||||
"presetName": "Name der Voreinstellung",
|
||||
"presetNameHint": "Namen für diese Voreinstellung eingeben",
|
||||
"loadPreset": "Laden",
|
||||
@@ -636,7 +636,7 @@
|
||||
"presetSaved": "Voreinstellung gespeichert",
|
||||
"presetLoaded": "Voreinstellung geladen",
|
||||
"presetDeleted": "Voreinstellung gelöscht",
|
||||
"confirmDeletePreset": "Möchten Sie diese Voreinstellung wirklich löschen?",
|
||||
"confirmDeletePreset": "Diese Voreinstellung wirklich löschen?",
|
||||
"configPlaceholder": "gpu-api=vulkan\nhwdec=auto\n# comment"
|
||||
},
|
||||
"dialog": {
|
||||
@@ -656,7 +656,7 @@
|
||||
"signedOutPlex": "Von Plex abgemeldet.",
|
||||
"signOutFailed": "Abmeldung fehlgeschlagen.",
|
||||
"sectionTitle": "Profile",
|
||||
"summarySingle": "Profile hinzufügen, um verwaltete Benutzer und lokale Identitäten zu mischen",
|
||||
"summarySingle": "Profile hinzufügen, um verwaltete Benutzer mit lokalen Identitäten zu kombinieren",
|
||||
"summaryMultipleWithActive": "${count} Profile · aktiv: ${activeName}",
|
||||
"summaryMultiple": "${count} Profile",
|
||||
"removeConnectionTitle": "Verbindung entfernen?",
|
||||
@@ -681,21 +681,21 @@
|
||||
"plexHomeAccount": "Plex Home-Konto",
|
||||
"connectionDefault": "Standard",
|
||||
"connectionAs": "als ${displayName}",
|
||||
"makeDefault": "Als Standard",
|
||||
"makeDefault": "Als Standard festlegen",
|
||||
"removeConnection": "Entfernen",
|
||||
"profileRenamed": "Profil umbenannt.",
|
||||
"borrowAddTo": "Zu ${displayName} hinzufügen",
|
||||
"borrowExplain": "Verbindung eines anderen Profils leihen. PIN-geschützte Profile erfordern eine PIN.",
|
||||
"borrowEmpty": "Noch nichts zum Ausleihen.",
|
||||
"borrowExplain": "Verbindung eines anderen Profils übernehmen. PIN-geschützte Profile erfordern eine PIN.",
|
||||
"borrowEmpty": "Keine Verbindungen zum Übernehmen verfügbar.",
|
||||
"borrowEmptySubtitle": "Verbinde zuerst Plex oder Jellyfin mit einem anderen Profil.",
|
||||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||||
"borrowLoadFailed": "Verfügbare Verbindungen konnten nicht geladen werden. Versuche es erneut.",
|
||||
"borrowFromProfile": "Von ${displayName}",
|
||||
"borrowConnectionBorrowed": "Verbindung ausgeliehen.",
|
||||
"borrowFailed": "Verbindung konnte nicht ausgeliehen werden.",
|
||||
"borrowConnectionBorrowed": "Verbindung übernommen.",
|
||||
"borrowFailed": "Verbindung konnte nicht übernommen werden.",
|
||||
"incorrectPin": "Falsche PIN.",
|
||||
"incorrectPinTryAgain": "Falsche PIN. Bitte erneut versuchen.",
|
||||
"sourceProfileMissingParentAccount": "Dem Quellprofil fehlt das übergeordnete Konto.",
|
||||
"failedToLoadHomeUsers": "Deine Plex Home-Benutzer konnten nicht geladen werden. Prüfe deine Verbindung und versuche es erneut.",
|
||||
"failedToLoadHomeUsers": "Deine Plex-Home-Benutzer konnten nicht geladen werden. Prüfe deine Verbindung und versuche es erneut.",
|
||||
"failedToVerifyPin": "PIN konnte nicht verifiziert werden.",
|
||||
"newProfile": "Neues Profil",
|
||||
"profileNameHint": "z. B. Gäste, Kinder, Wohnzimmer",
|
||||
@@ -707,7 +707,7 @@
|
||||
"connections": {
|
||||
"sectionTitle": "Verbindungen",
|
||||
"addConnection": "Verbindung hinzufügen",
|
||||
"addConnectionSubtitleNoProfile": "Mit Plex anmelden oder Jellyfin-Server verbinden",
|
||||
"addConnectionSubtitleNoProfile": "Mit Plex anmelden oder mit einem Jellyfin-Server verbinden",
|
||||
"addConnectionSubtitleScoped": "Zu ${displayName} hinzufügen: Plex, Jellyfin oder eine andere Profilverbindung",
|
||||
"sessionExpiredOne": "Sitzung für ${name} abgelaufen",
|
||||
"sessionExpiredMany": "Sitzungen für ${count} Server abgelaufen",
|
||||
@@ -736,7 +736,7 @@
|
||||
"rating": "Altersfreigabe",
|
||||
"movie": "Film",
|
||||
"tvShow": "Serie",
|
||||
"minutesLeft": "${minutes} Min übrig",
|
||||
"minutesLeft": "Noch ${minutes} Min.",
|
||||
"moreLikeThis": "Ähnliche Inhalte"
|
||||
},
|
||||
"errors": {
|
||||
@@ -774,7 +774,7 @@
|
||||
"noItemsMatchFilters": "Keine Elemente entsprechen den aktiven Filtern",
|
||||
"resetFilters": "Filter zurücksetzen",
|
||||
"all": "Alle",
|
||||
"clearAll": "Alle löschen",
|
||||
"clearAll": "Alle Filter entfernen",
|
||||
"scanLibraryConfirm": "„${title}“ wirklich scannen?",
|
||||
"analyzeLibraryConfirm": "„${title}“ wirklich analysieren?",
|
||||
"refreshMetadataConfirm": "Metadaten für „${title}“ wirklich aktualisieren?",
|
||||
@@ -787,8 +787,8 @@
|
||||
"showLibrary": "Mediathek anzeigen",
|
||||
"hideLibrary": "Mediathek ausblenden",
|
||||
"libraryOptions": "Mediatheksoptionen",
|
||||
"content": "Bibliotheksinhalt",
|
||||
"selectLibrary": "Bibliothek auswählen",
|
||||
"content": "Mediatheksinhalt",
|
||||
"selectLibrary": "Mediathek auswählen",
|
||||
"filtersWithCount": "Filter (${count})",
|
||||
"noRecommendations": "Keine Empfehlungen verfügbar",
|
||||
"noCollections": "Keine Sammlungen in dieser Mediathek",
|
||||
@@ -826,7 +826,7 @@
|
||||
"dateAdded": "Hinzugefügt am",
|
||||
"releaseDate": "Erscheinungsdatum",
|
||||
"rating": "Bewertung",
|
||||
"communityRating": "Community-Bewertung",
|
||||
"communityRating": "Communitybewertung",
|
||||
"criticRating": "Kritikerbewertung",
|
||||
"userRating": "Benutzerbewertung",
|
||||
"datePlayed": "Wiedergabedatum",
|
||||
@@ -840,15 +840,15 @@
|
||||
"studio": "Studio",
|
||||
"random": "Zufällig",
|
||||
"dateShared": "Datum geteilt",
|
||||
"latestEpisodeAirDate": "Letztes Folgenausstrahlungsdatum",
|
||||
"lastEpisodeDateAdded": "Datum der zuletzt hinzugefügten Folge"
|
||||
"latestEpisodeAirDate": "Ausstrahlungsdatum der neuesten Folge",
|
||||
"lastEpisodeDateAdded": "Hinzugefügt am (neueste Folge)"
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
"title": "Über",
|
||||
"openSourceLicenses": "Open-Source-Lizenzen",
|
||||
"versionLabel": "Version ${version}",
|
||||
"appDescription": "Ein schöner Plex- und Jellyfin-Client für Flutter",
|
||||
"appDescription": "Ein schöner, mit Flutter entwickelter Plex- und Jellyfin-Client",
|
||||
"viewLicensesDescription": "Lizenzen von Drittanbieter-Bibliotheken anzeigen"
|
||||
},
|
||||
"serverSelection": {
|
||||
@@ -874,7 +874,7 @@
|
||||
"licensesCount": "${count} Lizenzen"
|
||||
},
|
||||
"navigation": {
|
||||
"libraries": "Medien",
|
||||
"libraries": "Mediatheken",
|
||||
"downloads": "Downloads",
|
||||
"liveTv": "Live-TV",
|
||||
"explore": "Erkunden"
|
||||
@@ -891,8 +891,8 @@
|
||||
"popularMovies": "Beliebte Filme",
|
||||
"popularShows": "Beliebte Serien",
|
||||
"trendingAnime": "Angesagte Anime",
|
||||
"suggestedAnime": "Vorgeschlagene Anime",
|
||||
"airingAnime": "Top laufende Anime",
|
||||
"suggestedAnime": "Empfohlene Anime",
|
||||
"airingAnime": "Beste derzeit laufende Anime",
|
||||
"popularAnime": "Beliebteste Anime",
|
||||
"trending": "Angesagt",
|
||||
"upcomingMovies": "Kommende Filme",
|
||||
@@ -915,19 +915,19 @@
|
||||
"watchlistUpdateFailed": "Merkliste konnte nicht aktualisiert werden",
|
||||
"notInLibrary": "Nicht in deiner Mediathek",
|
||||
"inTheseLibraries": "In diesen Mediatheken",
|
||||
"checkingLibrary": "Deine Mediathek wird überprüft...",
|
||||
"checkingLibrary": "Deine Mediathek wird überprüft …",
|
||||
"emptyTitle": "Hier ist noch nichts",
|
||||
"emptyMessage": "Zeilen aus ${source} erscheinen hier, sobald sie Inhalte enthalten.",
|
||||
"searchHint": "${source} durchsuchen",
|
||||
"searchEmpty": "Keine Ergebnisse für \"${query}\"",
|
||||
"searchEmpty": "Keine Ergebnisse für „${query}“",
|
||||
"searchPrompt": "Suche nach Filmen und Serien auf ${source}.",
|
||||
"searchFailed": "Suche fehlgeschlagen. Prüfe deine Verbindung und versuche es erneut."
|
||||
},
|
||||
"liveTv": {
|
||||
"title": "Live-TV",
|
||||
"guide": "Programmführer",
|
||||
"guide": "TV-Programm",
|
||||
"noChannels": "Keine Kanäle verfügbar",
|
||||
"noDvr": "Kein DVR auf einem Server konfiguriert",
|
||||
"noDvr": "Auf keinem Server ist ein DVR konfiguriert",
|
||||
"serverUnavailable": "Der Live-TV-Server ist nicht verfügbar.",
|
||||
"serverNotConnected": "Der Live-TV-Server ist nicht verbunden.",
|
||||
"noPrograms": "Keine Programmdaten verfügbar",
|
||||
@@ -938,7 +938,7 @@
|
||||
"channelNumber": "Kanal ${number}",
|
||||
"unknownChannel": "Unbekannter Kanal",
|
||||
"live": "LIVE",
|
||||
"reloadGuide": "Programmführer neu laden",
|
||||
"reloadGuide": "TV-Programm neu laden",
|
||||
"now": "Jetzt",
|
||||
"today": "Heute",
|
||||
"tomorrow": "Morgen",
|
||||
@@ -953,8 +953,8 @@
|
||||
"favorites": "Favoriten",
|
||||
"reorderFavorites": "Favoriten sortieren",
|
||||
"favoritesLoadFailed": "Favoriten konnten nicht geladen werden. Überprüfe deine Verbindung und versuche es erneut.",
|
||||
"favoritesUpdateFailed": "Could not update favorites. Check your connection and try again.",
|
||||
"joinSession": "Laufender Sitzung beitreten",
|
||||
"favoritesUpdateFailed": "Favoriten konnten nicht aktualisiert werden. Prüfe deine Verbindung und versuche es erneut.",
|
||||
"joinSession": "Aktueller Sitzung beitreten",
|
||||
"watchFromStart": "Von Anfang an ansehen (vor ${minutes} Min.)",
|
||||
"watchLive": "Live ansehen",
|
||||
"goToLive": "Zum Live-Bild",
|
||||
@@ -988,7 +988,7 @@
|
||||
"editRule": "Regel bearbeiten",
|
||||
"editRuleAction": "Bearbeiten",
|
||||
"recordingRuleUpdated": "Aufnahmeregel aktualisiert",
|
||||
"guideReloadRequested": "Guide-Aktualisierung angefordert",
|
||||
"guideReloadRequested": "Aktualisierung des TV-Programms angefordert",
|
||||
"rulesProcessRequested": "Regelauswertung angefordert",
|
||||
"recordShow": "Sendung aufnehmen"
|
||||
},
|
||||
@@ -997,7 +997,7 @@
|
||||
"collection": "Sammlung",
|
||||
"empty": "Sammlung ist leer",
|
||||
"deleteCollection": "Sammlung löschen",
|
||||
"deleteConfirm": "\"${title}\" löschen? Dies kann nicht rückgängig gemacht werden.",
|
||||
"deleteConfirm": "„${title}“ löschen? Dies kann nicht rückgängig gemacht werden.",
|
||||
"deleted": "Sammlung gelöscht",
|
||||
"deleteFailed": "Sammlung konnte nicht gelöscht werden",
|
||||
"deleteFailedWithError": "Sammlung konnte nicht gelöscht werden: ${error}",
|
||||
@@ -1008,7 +1008,7 @@
|
||||
"errorAddingToCollection": "Fehler beim Hinzufügen zur Sammlung",
|
||||
"created": "Sammlung erstellt",
|
||||
"removeFromCollection": "Aus Sammlung entfernen",
|
||||
"removeFromCollectionConfirm": "\"${title}\" aus dieser Sammlung entfernen?",
|
||||
"removeFromCollectionConfirm": "„${title}“ aus dieser Sammlung entfernen?",
|
||||
"removedFromCollection": "Aus Sammlung entfernt",
|
||||
"removeFromCollectionFailed": "Entfernen aus Sammlung fehlgeschlagen",
|
||||
"removeFromCollectionError": "Fehler beim Entfernen aus der Sammlung: ${error}",
|
||||
@@ -1028,7 +1028,7 @@
|
||||
"oneItem": "1 Element",
|
||||
"emptyPlaylist": "Diese Wiedergabeliste ist leer",
|
||||
"deleteConfirm": "Wiedergabeliste löschen?",
|
||||
"deleteMessage": "Soll \"${name}\" wirklich gelöscht werden?",
|
||||
"deleteMessage": "„${name}“ wirklich löschen?",
|
||||
"created": "Wiedergabeliste erstellt",
|
||||
"deleted": "Wiedergabeliste gelöscht",
|
||||
"itemAdded": "Zur Wiedergabeliste hinzugefügt",
|
||||
@@ -1054,12 +1054,12 @@
|
||||
"other": "${n} Titel"
|
||||
},
|
||||
"nowPlaying": "Wird wiedergegeben",
|
||||
"playingFrom": "Wiedergabe aus ${title}",
|
||||
"playingFrom": "Wiedergabe von ${title}",
|
||||
"queue": "Warteschlange",
|
||||
"clearQueue": "Warteschlange leeren",
|
||||
"lyrics": "Songtext",
|
||||
"noLyrics": "Kein Songtext verfügbar",
|
||||
"sleepTimer": "Einschlaf-Timer",
|
||||
"sleepTimer": "Schlaftimer",
|
||||
"sleepTimerEndOfTrack": "Ende des Titels",
|
||||
"sleepTimerMinutes": "${n} Minuten",
|
||||
"stopPlayback": "Wiedergabe stoppen",
|
||||
@@ -1072,16 +1072,16 @@
|
||||
"watchTogether": {
|
||||
"title": "Gemeinsam Schauen",
|
||||
"description": "Inhalte synchron mit Freunden und Familie schauen",
|
||||
"createSession": "Sitzung Erstellen",
|
||||
"creating": "Erstellen...",
|
||||
"joinSession": "Sitzung Beitreten",
|
||||
"joining": "Beitreten...",
|
||||
"createSession": "Sitzung erstellen",
|
||||
"creating": "Wird erstellt …",
|
||||
"joinSession": "Sitzung beitreten",
|
||||
"joining": "Beitritt läuft …",
|
||||
"controlMode": "Steuerungsmodus",
|
||||
"controlModeQuestion": "Wer kann die Wiedergabe steuern?",
|
||||
"hostOnly": "Nur Host",
|
||||
"anyone": "Alle",
|
||||
"hostingSession": "Sitzung Hosten",
|
||||
"inSession": "In Sitzung",
|
||||
"hostingSession": "Sitzung wird gehostet",
|
||||
"inSession": "In einer Sitzung",
|
||||
"sessionCode": "Sitzungscode",
|
||||
"openSessionControls": "Sitzungssteuerung für Gemeinsam Schauen öffnen",
|
||||
"copySessionCode": "Sitzungscode kopieren",
|
||||
@@ -1094,43 +1094,43 @@
|
||||
"hostBadge": "HOST",
|
||||
"youAreHost": "Du bist der Host",
|
||||
"watchingWithOthers": "Mit anderen schauen",
|
||||
"endSession": "Sitzung Beenden",
|
||||
"leaveSession": "Sitzung Verlassen",
|
||||
"endSessionQuestion": "Sitzung Beenden?",
|
||||
"leaveSessionQuestion": "Sitzung Verlassen?",
|
||||
"endSession": "Sitzung beenden",
|
||||
"leaveSession": "Sitzung verlassen",
|
||||
"endSessionQuestion": "Sitzung beenden?",
|
||||
"leaveSessionQuestion": "Sitzung verlassen?",
|
||||
"endSessionConfirm": "Dies beendet die Sitzung für alle Teilnehmer.",
|
||||
"leaveSessionConfirm": "Du wirst aus der Sitzung entfernt.",
|
||||
"endSessionConfirmOverlay": "Dies beendet die Schausitzung für alle Teilnehmer.",
|
||||
"leaveSessionConfirmOverlay": "Du wirst von der Schausitzung getrennt.",
|
||||
"end": "Beenden",
|
||||
"leave": "Verlassen",
|
||||
"syncing": "Synchronisieren...",
|
||||
"joinWatchSession": "Schausitzung Beitreten",
|
||||
"syncing": "Wird synchronisiert …",
|
||||
"joinWatchSession": "Schausitzung beitreten",
|
||||
"enterCodeHint": "5-stelligen Code eingeben",
|
||||
"pasteFromClipboard": "Aus Zwischenablage einfügen",
|
||||
"pleaseEnterCode": "Bitte gib einen Sitzungscode ein",
|
||||
"codeMustBe5Chars": "Sitzungscode muss 5 Zeichen haben",
|
||||
"joinInstructions": "Gib den Sitzungscode des Hosts ein, um beizutreten.",
|
||||
"failedToCreate": "Sitzung konnte nicht erstellt werden",
|
||||
"failedToJoin": "Sitzung konnte nicht beigetreten werden",
|
||||
"failedToJoin": "Beitritt zur Sitzung fehlgeschlagen",
|
||||
"sessionCodeCopied": "Sitzungscode in Zwischenablage kopiert",
|
||||
"relayUnreachable": "Relay-Server nicht erreichbar. ISP-Blockierung kann Watch Together verhindern.",
|
||||
"reconnectingToHost": "Verbindung zum Host wird wiederhergestellt...",
|
||||
"relayUnreachable": "Relay-Server nicht erreichbar. Eine Sperre durch den Internetanbieter kann gemeinsames Schauen verhindern.",
|
||||
"reconnectingToHost": "Verbindung zum Host wird wiederhergestellt …",
|
||||
"currentPlayback": "Aktuelle Wiedergabe",
|
||||
"joinCurrentPlayback": "Aktuelle Wiedergabe beitreten",
|
||||
"joinCurrentPlaybackDescription": "Springe zurück zu dem, was der Host gerade ansieht",
|
||||
"joinCurrentPlayback": "Aktueller Wiedergabe beitreten",
|
||||
"joinCurrentPlaybackDescription": "Zu dem Inhalt wechseln, den der Host gerade ansieht",
|
||||
"failedToOpenCurrentPlayback": "Aktuelle Wiedergabe konnte nicht geöffnet werden",
|
||||
"participantJoined": "${name} ist beigetreten",
|
||||
"participantLeft": "${name} hat die Sitzung verlassen",
|
||||
"participantPaused": "${name} hat pausiert",
|
||||
"participantResumed": "${name} hat fortgesetzt",
|
||||
"participantSeeked": "${name} hat gespult",
|
||||
"participantSeeked": "${name} hat die Wiedergabeposition geändert",
|
||||
"participantBuffering": "${name} puffert",
|
||||
"participantNeedsUpdate": "${name} verwendet eine ältere Appversion — Synchronisierung nicht verfügbar",
|
||||
"resumingWithout": "Fortfahren ohne ${name}",
|
||||
"waitingForParticipants": "Warte auf andere zum Laden...",
|
||||
"waitingForName": "Warten auf ${name}...",
|
||||
"recentRooms": "Letzte Räume",
|
||||
"waitingForParticipants": "Warten, bis die anderen bereit sind …",
|
||||
"waitingForName": "Warten auf ${name} …",
|
||||
"recentRooms": "Zuletzt verwendete Räume",
|
||||
"renameRoom": "Raum umbenennen",
|
||||
"removeRoom": "Entfernen",
|
||||
"guestSwitchUnavailable": "Wechsel fehlgeschlagen — Server nicht für Synchronisierung verfügbar",
|
||||
@@ -1162,12 +1162,12 @@
|
||||
"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})",
|
||||
"deleting": "Wird gelöscht …",
|
||||
"deletingWithProgress": "${title} wird gelöscht … (${current} von ${total})",
|
||||
"queuedTooltip": "In Warteschlange",
|
||||
"queuedFilesTooltip": "In Warteschlange: ${files}",
|
||||
"downloadingTooltip": "Lädt herunter...",
|
||||
"downloadingFilesTooltip": "Lädt ${files} herunter",
|
||||
"downloadingTooltip": "Wird heruntergeladen …",
|
||||
"downloadingFilesTooltip": "${files} werden heruntergeladen",
|
||||
"noDownloadsTree": "Keine Downloads",
|
||||
"pauseAll": "Alle pausieren",
|
||||
"resumeAll": "Alle fortsetzen",
|
||||
@@ -1177,33 +1177,33 @@
|
||||
"unwatchedOnly": "Nur ungesehene",
|
||||
"nextNUnwatched": "Nächste ${count} ungesehene",
|
||||
"customAmount": "Eigene Anzahl...",
|
||||
"includeSpecials": "Specials einschließen",
|
||||
"includeSpecials": "Sonderfolgen einschließen",
|
||||
"howManyEpisodes": "Wie viele Episoden?",
|
||||
"invalidEpisodeCount": "Gib eine gültige Episodenanzahl ein.",
|
||||
"keepSynced": "Synchronisiert halten",
|
||||
"downloadOnce": "Einmal herunterladen",
|
||||
"keepNUnwatched": "${count} ungesehene behalten",
|
||||
"editSyncRule": "Sync-Regel bearbeiten",
|
||||
"removeSyncRule": "Sync-Regel entfernen",
|
||||
"removeSyncRuleConfirm": "Synchronisierung von \"${title}\" beenden? Heruntergeladene Episoden werden behalten.",
|
||||
"syncRuleCreated": "Sync-Regel erstellt — ${count} ungesehene Episoden werden behalten",
|
||||
"syncRuleUpdated": "Sync-Regel aktualisiert",
|
||||
"syncRuleRemoved": "Sync-Regel entfernt",
|
||||
"editSyncRule": "Synchronisierungsregel bearbeiten",
|
||||
"removeSyncRule": "Synchronisierungsregel entfernen",
|
||||
"removeSyncRuleConfirm": "Synchronisierung von „${title}“ beenden? Heruntergeladene Episoden werden behalten.",
|
||||
"syncRuleCreated": "Synchronisierungsregel erstellt – ${count} ungesehene Episoden werden behalten",
|
||||
"syncRuleUpdated": "Synchronisierungsregel aktualisiert",
|
||||
"syncRuleRemoved": "Synchronisierungsregel entfernt",
|
||||
"syncedNewEpisodes": "${count} neue Episoden für ${title} synchronisiert",
|
||||
"activeSyncRules": "Sync-Regeln",
|
||||
"noSyncRules": "Keine Sync-Regeln",
|
||||
"activeSyncRules": "Synchronisierungsregeln",
|
||||
"noSyncRules": "Keine Synchronisierungsregeln",
|
||||
"manageSyncRule": "Synchronisierung verwalten",
|
||||
"editEpisodeCount": "Episodenanzahl",
|
||||
"editSyncFilter": "Synchronisierungsfilter",
|
||||
"syncAllItems": "Alle Einträge synchronisieren",
|
||||
"syncUnwatchedItems": "Ungesehene Einträge synchronisieren",
|
||||
"syncAllItems": "Alle Elemente synchronisieren",
|
||||
"syncUnwatchedItems": "Ungesehene Elemente synchronisieren",
|
||||
"syncRuleServerContext": "Server: ${server} • ${status}",
|
||||
"syncRuleAvailable": "Verfügbar",
|
||||
"syncRuleOffline": "Offline",
|
||||
"syncRuleSignInRequired": "Anmeldung erforderlich",
|
||||
"syncRuleNotAvailableForProfile": "Für aktuelles Profil nicht verfügbar",
|
||||
"syncRuleNotAvailableForProfile": "Für das aktuelle Profil nicht verfügbar",
|
||||
"syncRuleUnknownServer": "Unbekannter Server",
|
||||
"syncRuleListCreated": "Sync-Regel erstellt"
|
||||
"syncRuleListCreated": "Synchronisierungsregel erstellt"
|
||||
},
|
||||
"shaders": {
|
||||
"title": "Shader",
|
||||
@@ -1245,13 +1245,13 @@
|
||||
"connecting": "Verbinden...",
|
||||
"searchingForDevices": "Suche nach Geräten...",
|
||||
"noDevicesFound": "Keine Geräte in deinem Netzwerk gefunden",
|
||||
"noDevicesHint": "Öffne Plezy auf dem Desktop und nutze dasselbe WiFi",
|
||||
"noDevicesHint": "Öffne Plezy auf dem Desktop und nutze dasselbe WLAN",
|
||||
"availableDevices": "Verfügbare Geräte",
|
||||
"manualConnection": "Manuelle Verbindung",
|
||||
"cryptoInitFailed": "Sichere Verbindung konnte nicht gestartet werden. Melde dich zuerst bei Plex an.",
|
||||
"validationHostRequired": "Bitte Host-Adresse eingeben",
|
||||
"validationHostFormat": "Format muss IP:Port sein (z.B. 192.168.1.100:48632)",
|
||||
"connectionTimedOut": "Verbindung hat Zeitlimit überschritten. Nutze auf beiden Geräten dasselbe Netzwerk.",
|
||||
"validationHostFormat": "Format muss IP:Port sein (z. B. 192.168.1.100:48632)",
|
||||
"connectionTimedOut": "Zeitüberschreitung bei der Verbindung. Nutze auf beiden Geräten dasselbe Netzwerk.",
|
||||
"sessionNotFound": "Gerät nicht gefunden. Stelle sicher, dass Plezy auf dem Host läuft.",
|
||||
"authFailed": "Authentifizierung fehlgeschlagen. Beide Geräte benötigen dasselbe Plex-Konto.",
|
||||
"failedToConnect": "Verbindung fehlgeschlagen: ${error}"
|
||||
@@ -1283,7 +1283,7 @@
|
||||
"fullscreen": "Vollbild",
|
||||
"subtitles": "Untertitel",
|
||||
"audio": "Audio",
|
||||
"searchHint": "Auf Desktop suchen..."
|
||||
"searchHint": "Auf dem Desktop suchen …"
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Keine Netzwerkschnittstelle gefunden",
|
||||
@@ -1369,8 +1369,8 @@
|
||||
"metadataEdit": {
|
||||
"editMetadata": "Bearbeiten...",
|
||||
"screenTitle": "Metadaten bearbeiten",
|
||||
"basicInfo": "Grundlegende Infos",
|
||||
"artwork": "Artwork",
|
||||
"basicInfo": "Grundinformationen",
|
||||
"artwork": "Grafiken",
|
||||
"advancedSettings": "Erweiterte Einstellungen",
|
||||
"title": "Titel",
|
||||
"sortTitle": "Sortiertitel",
|
||||
@@ -1378,7 +1378,7 @@
|
||||
"releaseDate": "Erscheinungsdatum",
|
||||
"contentRating": "Altersfreigabe",
|
||||
"studio": "Studio",
|
||||
"tagline": "Tagline",
|
||||
"tagline": "Slogan",
|
||||
"summary": "Zusammenfassung",
|
||||
"poster": "Poster",
|
||||
"background": "Hintergrund",
|
||||
@@ -1388,19 +1388,19 @@
|
||||
"selectBackground": "Hintergrund auswählen",
|
||||
"selectLogo": "Logo auswählen",
|
||||
"selectSquareArt": "Quadratisches Bild auswählen",
|
||||
"fromUrl": "Von URL",
|
||||
"fromUrl": "Über URL",
|
||||
"uploadFile": "Datei hochladen",
|
||||
"enterImageUrl": "Bild-URL eingeben",
|
||||
"imageUrl": "Bild-URL",
|
||||
"metadataUpdated": "Metadaten aktualisiert",
|
||||
"metadataUpdateFailed": "Metadaten konnten nicht aktualisiert werden",
|
||||
"artworkUpdated": "Artwork aktualisiert",
|
||||
"artworkUpdateFailed": "Artwork konnte nicht aktualisiert werden",
|
||||
"noArtworkAvailable": "Kein Artwork verfügbar",
|
||||
"artworkOption": "Artwork-Option ${index}",
|
||||
"selectedArtworkOption": "Artwork-Option ${index}, ausgewählt",
|
||||
"artworkUpdated": "Grafiken aktualisiert",
|
||||
"artworkUpdateFailed": "Grafiken konnten nicht aktualisiert werden",
|
||||
"noArtworkAvailable": "Keine Grafiken verfügbar",
|
||||
"artworkOption": "Grafikoption ${index}",
|
||||
"selectedArtworkOption": "Grafikoption ${index}, ausgewählt",
|
||||
"notSet": "Nicht festgelegt",
|
||||
"libraryDefault": "Bibliotheksstandard",
|
||||
"libraryDefault": "Mediatheksstandard",
|
||||
"accountDefault": "Kontostandard",
|
||||
"seriesDefault": "Serienstandard",
|
||||
"episodeSorting": "Episodensortierung",
|
||||
@@ -1421,9 +1421,9 @@
|
||||
"show": "Anzeigen",
|
||||
"hide": "Ausblenden",
|
||||
"episodeOrdering": "Episodenreihenfolge",
|
||||
"tmdbAiring": "The Movie Database (Ausgestrahlt)",
|
||||
"tvdbAiring": "TheTVDB (Ausgestrahlt)",
|
||||
"tvdbAbsolute": "TheTVDB (Absolut)",
|
||||
"tmdbAiring": "The Movie Database (Ausstrahlung)",
|
||||
"tvdbAiring": "TheTVDB (Ausstrahlung)",
|
||||
"tvdbAbsolute": "TheTVDB (absolut)",
|
||||
"metadataLanguage": "Metadaten-Sprache",
|
||||
"useOriginalTitle": "Originaltitel verwenden",
|
||||
"preferredAudioLanguage": "Bevorzugte Audiosprache",
|
||||
@@ -1538,18 +1538,18 @@
|
||||
"urlCopied": "URL kopiert"
|
||||
},
|
||||
"libraryFilter": {
|
||||
"title": "Bibliothekfilter",
|
||||
"subtitleAllSyncing": "Alle Bibliotheken werden synchronisiert",
|
||||
"title": "Mediatheksfilter",
|
||||
"subtitleAllSyncing": "Alle Mediatheken werden synchronisiert",
|
||||
"subtitleNoneSyncing": "Nichts wird synchronisiert",
|
||||
"subtitleBlocked": "${count} blockiert",
|
||||
"subtitleAllowed": "${count} erlaubt",
|
||||
"subtitleBlocked": "${count} ausgeschlossen",
|
||||
"subtitleAllowed": "${count} zugelassen",
|
||||
"mode": "Filtermodus",
|
||||
"modeBlacklist": "Blacklist",
|
||||
"modeWhitelist": "Whitelist",
|
||||
"modeHintBlacklist": "Alle Bibliotheken außer den unten markierten synchronisieren.",
|
||||
"modeHintWhitelist": "Nur die unten markierten Bibliotheken synchronisieren.",
|
||||
"libraries": "Bibliotheken",
|
||||
"noLibraries": "Keine Bibliotheken verfügbar"
|
||||
"modeBlacklist": "Ausschlussliste",
|
||||
"modeWhitelist": "Zulassungsliste",
|
||||
"modeHintBlacklist": "Alle Mediatheken außer den unten markierten synchronisieren.",
|
||||
"modeHintWhitelist": "Nur die unten markierten Mediatheken synchronisieren.",
|
||||
"libraries": "Mediatheken",
|
||||
"noLibraries": "Keine Mediatheken verfügbar"
|
||||
}
|
||||
},
|
||||
"addServer": {
|
||||
@@ -1557,7 +1557,7 @@
|
||||
"serverUrls": "Server-URLs",
|
||||
"serverUrlsHelper": "Mehrere URLs möglich, durch Kommas getrennt.",
|
||||
"findServer": "Server finden",
|
||||
"searchingLocalServers": "Suche nach lokalen Jellyfin-Servern...",
|
||||
"searchingLocalServers": "Suche nach lokalen Jellyfin-Servern …",
|
||||
"localServers": "Lokale Jellyfin-Server",
|
||||
"username": "Benutzername",
|
||||
"password": "Passwort",
|
||||
|
||||
+14
-14
@@ -29,7 +29,7 @@
|
||||
"submit": "Submit",
|
||||
"confirm": "Confirm",
|
||||
"retry": "Retry",
|
||||
"logout": "Logout",
|
||||
"logout": "Log out",
|
||||
"unknown": "Unknown",
|
||||
"refresh": "Refresh",
|
||||
"yes": "Yes",
|
||||
@@ -242,11 +242,11 @@
|
||||
"downloadLocationReset": "Download location reset to default",
|
||||
"downloadLocationInvalid": "Selected folder is not writable",
|
||||
"downloadLocationPickerUnavailable": "Folder selection is not available on this device",
|
||||
"downloadOnWifiOnly": "Download on WiFi only",
|
||||
"downloadOnWifiOnly": "Download on Wi-Fi only",
|
||||
"downloadOnWifiOnlyDescription": "Prevent downloads when on cellular data",
|
||||
"autoRemoveWatchedDownloads": "Auto-remove watched downloads",
|
||||
"autoRemoveWatchedDownloadsDescription": "Delete watched downloads automatically",
|
||||
"cellularDownloadBlocked": "Downloads are blocked on cellular. Use WiFi or change the setting.",
|
||||
"cellularDownloadBlocked": "Downloads are blocked on cellular. Use Wi-Fi or change the setting.",
|
||||
"maxVolume": "Maximum Volume",
|
||||
"maxVolumeDescription": "Allow volume boost above 100% for quiet media",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
@@ -258,7 +258,7 @@
|
||||
"companionRemoteServer": "Companion Remote Server",
|
||||
"companionRemoteServerDescription": "Allow mobile devices on your network to control this app",
|
||||
"autoPip": "Auto Picture-in-Picture",
|
||||
"autoPipDescription": "Enter picture-in-picture when leaving during playback",
|
||||
"autoPipDescription": "Automatically enter picture-in-picture when you leave the app during playback",
|
||||
"matchContentFrameRate": "Match Content Frame Rate",
|
||||
"matchContentFrameRateDescription": "Match display refresh rate to video content",
|
||||
"matchRefreshRate": "Match Refresh Rate",
|
||||
@@ -564,7 +564,7 @@
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackCancelled": "Playback was canceled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"errorLoadingFileInfo": "Error loading file info: ${error}",
|
||||
"errorLoadingSeries": "Error loading series",
|
||||
@@ -582,7 +582,7 @@
|
||||
"metadataRefreshing": "Refreshing metadata for \"${title}\"...",
|
||||
"metadataRefreshStarted": "Metadata refresh started for \"${title}\"",
|
||||
"metadataRefreshFailed": "Failed to refresh metadata: ${error}",
|
||||
"logoutConfirm": "Are you sure you want to logout?",
|
||||
"logoutConfirm": "Are you sure you want to log out?",
|
||||
"noSeasonsFound": "No seasons found",
|
||||
"seasonsLoadFailed": "Couldn't load seasons",
|
||||
"noEpisodesFound": "No episodes found in first season",
|
||||
@@ -591,7 +591,7 @@
|
||||
"noResultsFound": "No results found",
|
||||
"sleepTimerSet": "Sleep timer set for ${label}",
|
||||
"noItemsAvailable": "No items available",
|
||||
"failedToCreatePlayQueueNoItems": "Failed to create play queue - no items",
|
||||
"failedToCreatePlayQueueNoItems": "Failed to create a play queue — no items",
|
||||
"failedPlayback": "Failed to ${action}: ${error}",
|
||||
"switchingToCompatiblePlayer": "Switching to compatible player...",
|
||||
"serverLimitTitle": "Playback failed",
|
||||
@@ -980,7 +980,7 @@
|
||||
"recordingFailed": "Couldn't schedule recording",
|
||||
"recordingTargetMissing": "Couldn't determine recording library",
|
||||
"recordNotAvailable": "Recording not available for this program",
|
||||
"recordingCancelled": "Recording cancelled",
|
||||
"recordingCancelled": "Recording canceled",
|
||||
"recordingRuleDeleted": "Recording rule deleted",
|
||||
"processRecordingRules": "Re-evaluate rules",
|
||||
"recordingInProgress": "Recording now",
|
||||
@@ -1124,7 +1124,7 @@
|
||||
"participantLeft": "${name} left",
|
||||
"participantPaused": "${name} paused",
|
||||
"participantResumed": "${name} resumed",
|
||||
"participantSeeked": "${name} seeked",
|
||||
"participantSeeked": "${name} changed the playback position",
|
||||
"participantBuffering": "${name} is buffering",
|
||||
"participantNeedsUpdate": "${name} is on an older app version — sync unavailable",
|
||||
"resumingWithout": "Resuming without ${name}",
|
||||
@@ -1154,11 +1154,11 @@
|
||||
"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?",
|
||||
"cancelledDownloadTitle": "Canceled Download",
|
||||
"cancelledDownloadMessage": "This download was canceled. What would you like to do?",
|
||||
"allEpisodesAlreadyDownloaded": "All episodes already downloaded",
|
||||
"resumeDownload": "Resume download",
|
||||
"cancelledDownload": "Cancelled download",
|
||||
"cancelledDownload": "Canceled download",
|
||||
"syncingFile": "${file} (syncing ${status})",
|
||||
"downloadedFileClickToComplete": "Downloaded ${file} - Click to complete",
|
||||
"partialDownloadClickToComplete": "Partially downloaded - Click to complete",
|
||||
@@ -1245,7 +1245,7 @@
|
||||
"connecting": "Connecting...",
|
||||
"searchingForDevices": "Looking for devices...",
|
||||
"noDevicesFound": "No devices found on your network",
|
||||
"noDevicesHint": "Open Plezy on desktop and use the same WiFi",
|
||||
"noDevicesHint": "Open Plezy on desktop and use the same Wi-Fi",
|
||||
"availableDevices": "Available Devices",
|
||||
"manualConnection": "Manual Connection",
|
||||
"cryptoInitFailed": "Couldn't start secure connection. Sign in to Plex first.",
|
||||
@@ -1472,7 +1472,7 @@
|
||||
"scrobble": "Real-time scrobbling",
|
||||
"scrobbleDescription": "Send play, pause, and stop events to Trakt during playback.",
|
||||
"watchedSync": "Sync watched status",
|
||||
"watchedSyncDescription": "When you mark items watched in Plezy, mark them on Trakt."
|
||||
"watchedSyncDescription": "When you mark items as watched in Plezy, they are also marked as watched on Trakt."
|
||||
},
|
||||
"seerr": {
|
||||
"title": "Seerr",
|
||||
|
||||
+269
-269
File diff suppressed because it is too large
Load Diff
+247
-247
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+350
-350
File diff suppressed because it is too large
Load Diff
+166
-166
@@ -8,7 +8,7 @@
|
||||
"authenticate": "認証",
|
||||
"authenticationTimeout": "認証がタイムアウトしました。もう一度お試しください。",
|
||||
"scanQRToSignIn": "このQRコードをスキャンしてサインイン",
|
||||
"waitingForAuth": "認証待ち...\nブラウザでサインインしてください。",
|
||||
"waitingForAuth": "認証を待っています…\nブラウザでサインインしてください。",
|
||||
"useBrowser": "ブラウザを使用",
|
||||
"or": "または",
|
||||
"connectToJellyfin": "Jellyfinに接続",
|
||||
@@ -17,7 +17,7 @@
|
||||
"quickConnectWaiting": "承認を待っています…",
|
||||
"quickConnectCancel": "キャンセル",
|
||||
"quickConnectExpired": "Quick Connectの有効期限が切れました。もう一度お試しください。",
|
||||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||||
"localDataRecoveryRequired": "ローカルのサインイン情報と保留中の再生データを安全に復元できませんでした。もう一度サインインしてください。"
|
||||
},
|
||||
"common": {
|
||||
"cancel": "キャンセル",
|
||||
@@ -37,7 +37,7 @@
|
||||
"delete": "削除",
|
||||
"edit": "編集",
|
||||
"shuffle": "シャッフル",
|
||||
"addTo": "追加...",
|
||||
"addTo": "追加先…",
|
||||
"createNew": "新規作成",
|
||||
"connect": "接続",
|
||||
"disconnect": "切断",
|
||||
@@ -57,11 +57,11 @@
|
||||
"chapterNumber": "チャプター${number}",
|
||||
"reconnect": "再接続",
|
||||
"viewAll": "すべて表示",
|
||||
"checkingNetwork": "ネットワークを確認中...",
|
||||
"loadingServers": "サーバーを読み込み中...",
|
||||
"connectingToServers": "サーバーに接続中...",
|
||||
"startingOfflineMode": "オフラインモードを開始中...",
|
||||
"loading": "読み込み中...",
|
||||
"checkingNetwork": "ネットワークを確認中…",
|
||||
"loadingServers": "サーバーを読み込み中…",
|
||||
"connectingToServers": "サーバーに接続中…",
|
||||
"startingOfflineMode": "オフラインモードを開始中…",
|
||||
"loading": "読み込み中…",
|
||||
"fullscreen": "フルスクリーン",
|
||||
"exitFullscreen": "フルスクリーンを終了",
|
||||
"pressBackAgainToExit": "もう一度押すと終了します"
|
||||
@@ -84,8 +84,8 @@
|
||||
},
|
||||
"settings": {
|
||||
"title": "設定",
|
||||
"supportDeveloper": "Plezy を支援",
|
||||
"supportDeveloperDescription": "Liberapay で寄付して開発を支援",
|
||||
"supportDeveloper": "Plezyを支援",
|
||||
"supportDeveloperDescription": "Liberapayで寄付して開発を支援",
|
||||
"language": "言語",
|
||||
"theme": "テーマ",
|
||||
"appearance": "外観",
|
||||
@@ -109,12 +109,12 @@
|
||||
"libraryDensity": "ライブラリの密度",
|
||||
"compact": "コンパクト",
|
||||
"comfortable": "ゆったり",
|
||||
"tvCornerSpotlightBackdrop": "",
|
||||
"tvCornerSpotlightBackdropDescription": "",
|
||||
"tvCornerSpotlightBackdrop": "画面隅の注目コンテンツ背景",
|
||||
"tvCornerSpotlightBackdropDescription": "画面全体ではなく、右上隅に注目コンテンツのアートワークを表示します",
|
||||
"viewMode": "表示モード",
|
||||
"gridView": "グリッド",
|
||||
"listView": "リスト",
|
||||
"showHeroSection": "ヒーローセクションを表示",
|
||||
"showHeroSection": "注目コンテンツを表示",
|
||||
"continueWatchingAction": "視聴中の操作",
|
||||
"continueWatchingPlay": "再生",
|
||||
"continueWatchingDetails": "詳細を開く",
|
||||
@@ -128,7 +128,7 @@
|
||||
"groupLibrariesByServer": "サーバーごとにライブラリをグループ化",
|
||||
"groupLibrariesByServerDescription": "サイドバーのライブラリをメディアサーバーごとにまとめます。",
|
||||
"alwaysKeepSidebarOpen": "サイドバーを常に開いておく",
|
||||
"alwaysKeepSidebarOpenDescription": "サイドバーを展開したまま、コンテンツ領域が調整される",
|
||||
"alwaysKeepSidebarOpenDescription": "サイドバーを展開したままにし、コンテンツ領域を幅に合わせて調整します",
|
||||
"showUnwatchedCount": "未視聴数を表示",
|
||||
"showUnwatchedCountDescription": "番組とシーズンに未視聴エピソード数を表示",
|
||||
"showEpisodeNumberOnCards": "カードにエピソード番号を表示",
|
||||
@@ -136,7 +136,7 @@
|
||||
"showSeasonPostersOnTabs": "タブにシーズンポスターを表示",
|
||||
"showSeasonPostersOnTabsDescription": "各シーズンのポスターをタブの上に表示します",
|
||||
"tvFullCardLayout": "フルTVカード",
|
||||
"tvFullCardLayoutDescription": "TVカードを画像のみで表示し、俳優名を重ねて表示します",
|
||||
"tvFullCardLayoutDescription": "TVカードを画像のみで表示し、出演者名を重ねて表示します",
|
||||
"focusGlow": "フォーカス時の光彩",
|
||||
"focusGlowDescription": "フォーカス中のカードの周りに柔らかい光彩を表示します",
|
||||
"visualEffects": "視覚効果",
|
||||
@@ -180,7 +180,7 @@
|
||||
"watchTogetherRelay": "一緒に視聴リレーサーバー",
|
||||
"watchTogetherRelayDescription": "カスタムリレーを設定します。全員が同じサーバーを使う必要があります。",
|
||||
"watchTogetherRelayHint": "https://my-relay.example.com",
|
||||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||||
"watchTogetherRelayInvalid": "有効なHTTPまたはHTTPSのリレーサーバーURLを入力してください。",
|
||||
"crashReporting": "クラッシュレポート",
|
||||
"crashReportingDescription": "アプリの改善に役立つクラッシュレポートを送信",
|
||||
"debugLogging": "デバッグログ",
|
||||
@@ -215,7 +215,7 @@
|
||||
"validationErrorDuration": "時間は${min}から${max} ${unit}の間である必要があります",
|
||||
"shortcutAlreadyAssigned": "ショートカットは既に${action}に割り当てられています",
|
||||
"shortcutUpdated": "${action}のショートカットを更新しました",
|
||||
"saveFailed": "Could not save changes. Try again.",
|
||||
"saveFailed": "変更を保存できませんでした。もう一度お試しください。",
|
||||
"autoSkip": "自動スキップ",
|
||||
"autoSkipIntro": "イントロを自動スキップ",
|
||||
"autoSkipIntroDescription": "数秒後にイントロマーカーを自動的にスキップ",
|
||||
@@ -242,23 +242,23 @@
|
||||
"downloadLocationReset": "ダウンロード場所をデフォルトにリセットしました",
|
||||
"downloadLocationInvalid": "選択したフォルダは書き込みできません",
|
||||
"downloadLocationPickerUnavailable": "このデバイスではフォルダを選択できません",
|
||||
"downloadOnWifiOnly": "WiFiのみでダウンロード",
|
||||
"downloadOnWifiOnlyDescription": "モバイルデータ通信時のダウンロードを防止",
|
||||
"downloadOnWifiOnly": "Wi-Fi接続時のみダウンロード",
|
||||
"downloadOnWifiOnlyDescription": "モバイルデータ通信中のダウンロードを防ぎます",
|
||||
"autoRemoveWatchedDownloads": "視聴済みダウンロードの自動削除",
|
||||
"autoRemoveWatchedDownloadsDescription": "視聴済みのダウンロードを自動削除します",
|
||||
"cellularDownloadBlocked": "モバイル通信ではダウンロードがブロックされています。WiFiを使うか設定を変更してください。",
|
||||
"cellularDownloadBlocked": "モバイルデータ通信中はダウンロードできません。Wi-Fiを使用するか、設定を変更してください。",
|
||||
"maxVolume": "最大音量",
|
||||
"maxVolumeDescription": "静かなメディアに対して100%以上の音量ブーストを許可",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
"discordRichPresence": "Discord Rich Presence",
|
||||
"discordRichPresenceDescription": "Discordで視聴中の内容を表示",
|
||||
"services": "サービス",
|
||||
"servicesDescription": "Trakt、MyAnimeList、Seerr などを接続",
|
||||
"servicesDescription": "Trakt、MyAnimeList、Seerrなどを接続",
|
||||
"manageLibrariesDescription": "ライブラリを並べ替えたり非表示にしたりできます",
|
||||
"companionRemoteServer": "コンパニオンリモートサーバー",
|
||||
"companionRemoteServerDescription": "ネットワーク上のモバイルデバイスからこのアプリを操作できるようにする",
|
||||
"autoPip": "自動ピクチャーインピクチャー",
|
||||
"autoPipDescription": "再生中に離れるとピクチャーインピクチャーに入ります",
|
||||
"autoPipDescription": "再生中にアプリを離れると、自動的にピクチャーインピクチャーに切り替えます",
|
||||
"matchContentFrameRate": "コンテンツのフレームレートに合わせる",
|
||||
"matchContentFrameRateDescription": "表示のリフレッシュレートを動画コンテンツに合わせます",
|
||||
"matchRefreshRate": "リフレッシュレートを合わせる",
|
||||
@@ -270,7 +270,7 @@
|
||||
"tunneledPlaybackDescription": "動画トンネリングを使用します。HDR再生で画面が黒くなる場合は無効にしてください。",
|
||||
"audioPassthrough": "オーディオパススルー",
|
||||
"audioPassthroughDescription": "Dolby/DTS音声を再エンコードせずにレシーバーやテレビに送り、サラウンドを維持します。音が出ない場合は無効にしてください。",
|
||||
"audioPassthroughDescriptionAppleTv": "Dolby Digital Plus(Atmos含む)をビットストリームとしてシステムに渡します。DTSとTrueHDは引き続きマルチチャンネルPCMで再生されます。シーク時に短い音切れが発生することがあります。",
|
||||
"audioPassthroughDescriptionAppleTv": "Dolby Atmosを含むDolby Digital PlusにはApple標準のDolbyデコーダーを使用します。DTSとTrueHDは引き続きマルチチャンネルPCMで再生されます。音が出ない場合は無効にしてください。",
|
||||
"audioDownmix": "ステレオにダウンミックス",
|
||||
"audioDownmixDescription": "サラウンド音声をステレオスピーカーやヘッドホン用に2チャンネルへミックスします",
|
||||
"downmixCenterBoost": "センターチャンネルブースト",
|
||||
@@ -314,11 +314,11 @@
|
||||
"exitFullscreenOnPlayerCloseDescription": "ビデオプレイヤーを閉じたときに自動的に全画面モードを終了します",
|
||||
"autoHidePerformanceOverlay": "パフォーマンスオーバーレイを自動非表示",
|
||||
"autoHidePerformanceOverlayDescription": "再生コントロールと一緒にパフォーマンスオーバーレイをフェードする",
|
||||
"showNavBarLabels": "ナビゲーションバーラベルを表示",
|
||||
"showNavBarLabelsDescription": "ナビゲーションバーアイコンの下にテキストラベルを表示",
|
||||
"showNavBarLabels": "ナビゲーションバーのラベルを表示",
|
||||
"showNavBarLabelsDescription": "ナビゲーションバーのアイコンの下にテキストラベルを表示",
|
||||
"startupSection": "起動時のセクション",
|
||||
"liveTvDefaultFavorites": "お気に入りチャンネルをデフォルトに",
|
||||
"liveTvDefaultFavoritesDescription": "ライブTV を開いたときにお気に入りチャンネルのみ表示",
|
||||
"liveTvDefaultFavoritesDescription": "ライブTVを開いたときにお気に入りチャンネルのみ表示",
|
||||
"display": "ディスプレイ",
|
||||
"homeScreen": "ホーム画面",
|
||||
"navigation": "ナビゲーション",
|
||||
@@ -330,7 +330,7 @@
|
||||
"behavior": "動作"
|
||||
},
|
||||
"search": {
|
||||
"hint": "映画、番組、音楽を検索...",
|
||||
"hint": "映画、番組、音楽を検索…",
|
||||
"tryDifferentTerm": "別の検索語をお試しください",
|
||||
"searchYourMedia": "メディアを検索",
|
||||
"enterTitleActorOrKeyword": "タイトル、俳優、またはキーワードを入力"
|
||||
@@ -346,8 +346,8 @@
|
||||
"playPause": "再生/一時停止",
|
||||
"volumeUp": "音量を上げる",
|
||||
"volumeDown": "音量を下げる",
|
||||
"seekForward": "前方にシーク (${seconds}秒)",
|
||||
"seekBackward": "後方にシーク (${seconds}秒)",
|
||||
"seekForward": "早送り(${seconds}秒)",
|
||||
"seekBackward": "巻き戻し(${seconds}秒)",
|
||||
"fullscreenToggle": "フルスクリーン切替",
|
||||
"muteToggle": "ミュート切替",
|
||||
"subtitleToggle": "字幕切替",
|
||||
@@ -413,7 +413,7 @@
|
||||
"mediaFailedToDelete": "メディアアイテムの削除に失敗しました",
|
||||
"rate": "評価",
|
||||
"playFromBeginning": "最初から再生",
|
||||
"playVersion": "バージョンを再生..."
|
||||
"playVersion": "バージョンを選んで再生…"
|
||||
},
|
||||
"rateSheet": {
|
||||
"title": "評価",
|
||||
@@ -463,8 +463,8 @@
|
||||
"resetToZero": "0msにリセット",
|
||||
"addTime": "+${amount}${unit}",
|
||||
"minusTime": "-${amount}${unit}",
|
||||
"playsLater": "${label}遅く再生",
|
||||
"playsEarlier": "${label}早く再生",
|
||||
"playsLater": "${label}を遅らせる",
|
||||
"playsEarlier": "${label}を早める",
|
||||
"noOffset": "オフセットなし",
|
||||
"letterbox": "レターボックス",
|
||||
"fillScreen": "画面を埋める",
|
||||
@@ -484,8 +484,8 @@
|
||||
"playNext": "次を再生",
|
||||
"playButton": "再生",
|
||||
"pauseButton": "一時停止",
|
||||
"showPlaybackControls": "",
|
||||
"hidePlaybackControls": "",
|
||||
"showPlaybackControls": "再生コントロールを表示",
|
||||
"hidePlaybackControls": "再生コントロールを非表示",
|
||||
"seekBackwardButton": "${seconds}秒戻る",
|
||||
"seekForwardButton": "${seconds}秒進む",
|
||||
"previousButton": "前のエピソード",
|
||||
@@ -543,7 +543,7 @@
|
||||
"subtitleDownloaded": "字幕をダウンロードしました",
|
||||
"subtitleDownloadedNotApplied": "字幕はダウンロードされましたが、選択できませんでした",
|
||||
"subtitleDownloadFailed": "字幕のダウンロードに失敗しました",
|
||||
"searchLanguages": "言語を検索..."
|
||||
"searchLanguages": "言語を検索…"
|
||||
},
|
||||
"userStatus": {},
|
||||
"messages": {
|
||||
@@ -560,25 +560,25 @@
|
||||
"streamInterrupted": "ストリームが中断されました。再生を押すかシークして再試行してください。",
|
||||
"liveStreamInterrupted": "ライブストリームが中断されました。再生を押して再試行してください。",
|
||||
"fileInfoNotAvailable": "ファイル情報が利用できません",
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"playbackAuthenticationRequired": "このアイテムを再生するには、メディアサーバーにもう一度サインインしてください。",
|
||||
"playbackServerUnavailable": "メディアサーバーを利用できません。しばらくしてからもう一度お試しください。",
|
||||
"playbackDataInvalid": "サーバーから無効な再生情報が返されました。",
|
||||
"playbackCancelled": "再生がキャンセルされました。",
|
||||
"playbackFailed": "再生を開始できませんでした。",
|
||||
"errorLoadingFileInfo": "ファイル情報の読み込みエラー: ${error}",
|
||||
"errorLoadingSeries": "シリーズの読み込みエラー",
|
||||
"musicNotSupported": "音楽の再生はまだサポートされていません",
|
||||
"noDescriptionAvailable": "説明はありません",
|
||||
"noProfilesAvailable": "利用可能なプロフィールがありません",
|
||||
"contactAdminForProfiles": "プロファイルを追加するにはサーバー管理者に連絡してください",
|
||||
"contactAdminForProfiles": "プロフィールを追加するには、サーバー管理者に連絡してください",
|
||||
"unableToDetermineLibrarySection": "このアイテムのライブラリセクションを判別できません",
|
||||
"logsCleared": "ログをクリアしました",
|
||||
"logsCopied": "ログをクリップボードにコピーしました",
|
||||
"noLogsAvailable": "ログがありません",
|
||||
"libraryScanning": "\"${title}\"をスキャン中...",
|
||||
"libraryScanning": "「${title}」をスキャン中…",
|
||||
"libraryScanStarted": "\"${title}\"のライブラリスキャンを開始しました",
|
||||
"libraryScanFailed": "ライブラリのスキャンに失敗しました: ${error}",
|
||||
"metadataRefreshing": "\"${title}\"のメタデータを更新中...",
|
||||
"metadataRefreshing": "「${title}」のメタデータを更新中…",
|
||||
"metadataRefreshStarted": "\"${title}\"のメタデータ更新を開始しました",
|
||||
"metadataRefreshFailed": "メタデータの更新に失敗しました: ${error}",
|
||||
"logoutConfirm": "ログアウトしてもよろしいですか?",
|
||||
@@ -590,9 +590,9 @@
|
||||
"noResultsFound": "結果が見つかりません",
|
||||
"sleepTimerSet": "スリープタイマーを${label}に設定しました",
|
||||
"noItemsAvailable": "アイテムがありません",
|
||||
"failedToCreatePlayQueueNoItems": "再生キューの作成に失敗しました - アイテムがありません",
|
||||
"failedToCreatePlayQueueNoItems": "再生キューを作成できませんでした — アイテムがありません",
|
||||
"failedPlayback": "${action}に失敗しました: ${error}",
|
||||
"switchingToCompatiblePlayer": "互換プレーヤーに切替中...",
|
||||
"switchingToCompatiblePlayer": "互換性のあるプレーヤーに切り替え中…",
|
||||
"serverLimitTitle": "再生に失敗しました",
|
||||
"serverLimitBody": "サーバーエラー(HTTP 500)。帯域幅/トランスコード制限により拒否された可能性があります。所有者に調整を依頼してください。",
|
||||
"logsUploaded": "ログをアップロードしました",
|
||||
@@ -627,7 +627,7 @@
|
||||
"description": "高度な動画プレーヤー設定",
|
||||
"presets": "プリセット",
|
||||
"noPresets": "保存済みプリセットがありません",
|
||||
"saveAsPreset": "プリセットとして保存...",
|
||||
"saveAsPreset": "プリセットとして保存…",
|
||||
"presetName": "プリセット名",
|
||||
"presetNameHint": "プリセットの名前を入力",
|
||||
"loadPreset": "読み込み",
|
||||
@@ -642,30 +642,30 @@
|
||||
"confirmAction": "操作の確認"
|
||||
},
|
||||
"profiles": {
|
||||
"addPlezyProfile": "Plezyプロファイルを追加",
|
||||
"switchingProfile": "プロファイルを切り替え中…",
|
||||
"deleteThisProfileTitle": "このプロファイルを削除しますか?",
|
||||
"addPlezyProfile": "Plezyプロフィールを追加",
|
||||
"switchingProfile": "プロフィールを切り替え中…",
|
||||
"deleteThisProfileTitle": "このプロフィールを削除しますか?",
|
||||
"deleteThisProfileMessage": "${displayName}を削除します。接続には影響しません。",
|
||||
"active": "アクティブ",
|
||||
"manage": "管理",
|
||||
"delete": "削除",
|
||||
"signOut": "サインアウト",
|
||||
"signOutPlexTitle": "Plex からサインアウトしますか?",
|
||||
"signOutPlexMessage": "${displayName}とすべてのPlex Homeユーザーを削除しますか?いつでも再サインインできます。",
|
||||
"signedOutPlex": "Plex からサインアウトしました。",
|
||||
"signOutPlexTitle": "Plexからサインアウトしますか?",
|
||||
"signOutPlexMessage": "${displayName}とすべてのPlex Homeユーザーを削除しますか?いつでも再度サインインできます。",
|
||||
"signedOutPlex": "Plexからサインアウトしました。",
|
||||
"signOutFailed": "サインアウトに失敗しました。",
|
||||
"sectionTitle": "プロファイル",
|
||||
"summarySingle": "プロファイルを追加して、管理対象ユーザーとローカルIDを混在させます",
|
||||
"summaryMultipleWithActive": "${count}個のプロファイル · アクティブ: ${activeName}",
|
||||
"summaryMultiple": "${count}個のプロファイル",
|
||||
"sectionTitle": "プロフィール",
|
||||
"summarySingle": "プロフィールを追加すると、管理対象ユーザーとローカルユーザーを併用できます",
|
||||
"summaryMultipleWithActive": "${count}個のプロフィール · 使用中: ${activeName}",
|
||||
"summaryMultiple": "${count}個のプロフィール",
|
||||
"removeConnectionTitle": "接続を削除しますか?",
|
||||
"removeConnectionMessage": "${displayName}の${connectionLabel}へのアクセスを削除します。他のプロフィールには残ります。",
|
||||
"deleteProfileTitle": "プロファイルを削除しますか?",
|
||||
"deleteProfileTitle": "プロフィールを削除しますか?",
|
||||
"deleteProfileMessage": "${displayName}とその接続を削除します。サーバーは引き続き利用できます。",
|
||||
"profileNameLabel": "プロファイル名",
|
||||
"profileNameLabel": "プロフィール名",
|
||||
"pinProtectionLabel": "PIN保護",
|
||||
"pinManagedByPlex": "PINはPlexで管理されています。plex.tvで編集してください。",
|
||||
"noPinSetEditOnPlex": "PINが設定されていません。要求するには、plex.tvでHomeユーザーを編集してください。",
|
||||
"noPinSetEditOnPlex": "PINが設定されていません。PINを必須にするには、plex.tvでHomeユーザーを編集してください。",
|
||||
"setPin": "PINを設定",
|
||||
"setPinTitle": "PINを設定",
|
||||
"confirmPinTitle": "PINを確認",
|
||||
@@ -674,8 +674,8 @@
|
||||
"removePin": "削除",
|
||||
"connectionsLabel": "接続",
|
||||
"add": "追加",
|
||||
"deleteProfileButton": "プロファイルを削除",
|
||||
"noConnectionsHint": "接続がありません — このプロファイルを使うには1つ追加してください。",
|
||||
"deleteProfileButton": "プロフィールを削除",
|
||||
"noConnectionsHint": "接続がありません — このプロフィールを使うには接続を追加してください。",
|
||||
"noConnections": "接続がありません",
|
||||
"plexHomeAccount": "Plex Homeアカウント",
|
||||
"connectionDefault": "デフォルト",
|
||||
@@ -684,19 +684,19 @@
|
||||
"removeConnection": "削除",
|
||||
"profileRenamed": "プロフィール名を変更しました。",
|
||||
"borrowAddTo": "${displayName}に追加",
|
||||
"borrowExplain": "別のプロフィールの接続を借用します。PIN保護されたプロフィールにはPINが必要です。",
|
||||
"borrowEmpty": "まだ借りるものがありません。",
|
||||
"borrowEmptySubtitle": "まず別のプロフィールにPlexまたはJellyfinを接続してください。",
|
||||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||||
"borrowFromProfile": "${displayName}から",
|
||||
"borrowConnectionBorrowed": "接続を借用しました。",
|
||||
"borrowFailed": "接続を借用できませんでした。",
|
||||
"borrowExplain": "別のプロフィールの接続を利用します。PINで保護されたプロフィールにはPINが必要です。",
|
||||
"borrowEmpty": "利用できる接続はまだありません。",
|
||||
"borrowEmptySubtitle": "まず、別のプロフィールをPlexまたはJellyfinに接続してください。",
|
||||
"borrowLoadFailed": "利用可能な接続を読み込めませんでした。もう一度お試しください。",
|
||||
"borrowFromProfile": "${displayName}から利用",
|
||||
"borrowConnectionBorrowed": "接続を追加しました。",
|
||||
"borrowFailed": "接続を追加できませんでした。",
|
||||
"incorrectPin": "PINが正しくありません。",
|
||||
"incorrectPinTryAgain": "PINが正しくありません。もう一度お試しください。",
|
||||
"sourceProfileMissingParentAccount": "ソースプロフィールに親アカウントがありません。",
|
||||
"sourceProfileMissingParentAccount": "元のプロフィールに親アカウントがありません。",
|
||||
"failedToLoadHomeUsers": "Plex Homeユーザーを読み込めませんでした。接続を確認して、もう一度お試しください。",
|
||||
"failedToVerifyPin": "PINを確認できませんでした。",
|
||||
"newProfile": "新しいプロファイル",
|
||||
"newProfile": "新しいプロフィール",
|
||||
"profileNameHint": "例:ゲスト、キッズ、ファミリールーム",
|
||||
"pinProtectionOptional": "PIN保護(オプション)",
|
||||
"pinExplain": "プロフィール切り替えには4桁のPINが必要です。",
|
||||
@@ -707,12 +707,12 @@
|
||||
"sectionTitle": "接続",
|
||||
"addConnection": "接続を追加",
|
||||
"addConnectionSubtitleNoProfile": "Plexでサインインするか、Jellyfinサーバーに接続",
|
||||
"addConnectionSubtitleScoped": "${displayName}に追加: Plex、Jellyfin、または別プロフィールの接続",
|
||||
"addConnectionSubtitleScoped": "${displayName}に追加:Plex、Jellyfin、または別のプロフィールの接続",
|
||||
"sessionExpiredOne": "${name} のセッションの有効期限が切れました",
|
||||
"sessionExpiredMany": "${count} 台のサーバーのセッションの有効期限が切れました",
|
||||
"signInAgain": "再度サインイン",
|
||||
"editJellyfinTitle": "Jellyfin接続を編集",
|
||||
"editJellyfinIntro": "${serverName} のURLを追加または削除します。Plezyは到達可能なURLのうち最も低遅延のものを使用します。"
|
||||
"editJellyfinIntro": "${serverName}のURLを追加または削除します。Plezyは接続可能なURLのうち遅延が最も少ないものを使用します。"
|
||||
},
|
||||
"discover": {
|
||||
"title": "探す",
|
||||
@@ -722,11 +722,11 @@
|
||||
"continueWatchingIn": "${library}の視聴を続ける",
|
||||
"nextUp": "次のエピソード",
|
||||
"nextUpIn": "${library}の次のエピソード",
|
||||
"recentlyAdded": "最近追加",
|
||||
"recentlyAddedIn": "${library}に最近追加",
|
||||
"recentlyAdded": "最近追加されたコンテンツ",
|
||||
"recentlyAddedIn": "${library}に最近追加されたコンテンツ",
|
||||
"latestAlbumsIn": "${library}の最新アルバム",
|
||||
"recentlyPlayedIn": "${library}で最近再生",
|
||||
"mostPlayedIn": "${library}で最も再生",
|
||||
"recentlyPlayedIn": "${library}で最近再生したコンテンツ",
|
||||
"mostPlayedIn": "${library}で最も再生したコンテンツ",
|
||||
"playEpisode": "S${season}E${episode}",
|
||||
"overview": "あらすじ",
|
||||
"cast": "キャスト",
|
||||
@@ -760,11 +760,11 @@
|
||||
"analyzeLibrary": "ライブラリを解析",
|
||||
"refreshMetadata": "メタデータを更新",
|
||||
"emptyTrash": "ゴミ箱を空にする",
|
||||
"emptyingTrash": "\"${title}\"のゴミ箱を空にしています...",
|
||||
"trashEmptied": "\"${title}\"のゴミ箱を空にしました",
|
||||
"emptyingTrash": "「${title}」のゴミ箱を空にしています…",
|
||||
"trashEmptied": "「${title}」のゴミ箱を空にしました",
|
||||
"failedToEmptyTrash": "ゴミ箱を空にできませんでした: ${error}",
|
||||
"analyzing": "\"${title}\"を解析中...",
|
||||
"analysisStarted": "\"${title}\"の解析を開始しました",
|
||||
"analyzing": "「${title}」を解析中…",
|
||||
"analysisStarted": "「${title}」の解析を開始しました",
|
||||
"failedToAnalyze": "ライブラリの解析に失敗しました: ${error}",
|
||||
"noLibrariesFound": "ライブラリが見つかりません",
|
||||
"allLibrariesHidden": "すべてのライブラリが非表示です",
|
||||
@@ -833,7 +833,7 @@
|
||||
"productionYear": "製作年",
|
||||
"runtime": "再生時間",
|
||||
"officialRating": "公式レーティング",
|
||||
"premiereDate": "プレミア日",
|
||||
"premiereDate": "初公開日",
|
||||
"startDate": "開始日",
|
||||
"airTime": "放送時刻",
|
||||
"studio": "スタジオ",
|
||||
@@ -876,10 +876,10 @@
|
||||
"libraries": "ライブラリ",
|
||||
"downloads": "ダウンロード",
|
||||
"liveTv": "ライブTV",
|
||||
"explore": "探索"
|
||||
"explore": "見つける"
|
||||
},
|
||||
"explore": {
|
||||
"title": "探索",
|
||||
"title": "見つける",
|
||||
"selectSource": "ソースを選択",
|
||||
"rows": {
|
||||
"watchlist": "ウォッチリスト",
|
||||
@@ -904,7 +904,7 @@
|
||||
"upcoming": "放送予定"
|
||||
},
|
||||
"episodeCount": {
|
||||
"other": "${n} 話"
|
||||
"other": "${n}話"
|
||||
},
|
||||
"cast": "キャスト",
|
||||
"characters": "キャラクター",
|
||||
@@ -913,12 +913,12 @@
|
||||
"watchlistUpdateFailed": "ウォッチリストを更新できませんでした",
|
||||
"notInLibrary": "ライブラリにありません",
|
||||
"inTheseLibraries": "これらのライブラリにあります",
|
||||
"checkingLibrary": "ライブラリを確認中...",
|
||||
"checkingLibrary": "ライブラリを確認中…",
|
||||
"emptyTitle": "まだ何もありません",
|
||||
"emptyMessage": "${source}にコンテンツが追加されると、ここに表示されます。",
|
||||
"searchHint": "${source} で検索",
|
||||
"searchHint": "${source}を検索",
|
||||
"searchEmpty": "「${query}」の結果が見つかりません",
|
||||
"searchPrompt": "${source} で映画やテレビ番組を検索します。",
|
||||
"searchPrompt": "${source}で映画やテレビ番組を検索します。",
|
||||
"searchFailed": "検索に失敗しました。接続を確認してもう一度お試しください。"
|
||||
},
|
||||
"liveTv": {
|
||||
@@ -936,22 +936,22 @@
|
||||
"channelNumber": "チャンネル ${number}",
|
||||
"unknownChannel": "不明なチャンネル",
|
||||
"live": "ライブ",
|
||||
"reloadGuide": "番組表を再読込",
|
||||
"reloadGuide": "番組表を再読み込み",
|
||||
"now": "現在",
|
||||
"today": "今日",
|
||||
"tomorrow": "明日",
|
||||
"midnight": "深夜",
|
||||
"midnight": "午前0時",
|
||||
"overnight": "深夜",
|
||||
"morning": "朝",
|
||||
"daytime": "昼",
|
||||
"daytime": "日中",
|
||||
"evening": "夕方",
|
||||
"lateNight": "深夜",
|
||||
"lateNight": "夜更け",
|
||||
"whatsOn": "放送中",
|
||||
"watchChannel": "チャンネルを視聴",
|
||||
"favorites": "お気に入り",
|
||||
"reorderFavorites": "お気に入りを並べ替え",
|
||||
"favoritesLoadFailed": "お気に入りを読み込めませんでした。接続を確認してもう一度お試しください。",
|
||||
"favoritesUpdateFailed": "Could not update favorites. Check your connection and try again.",
|
||||
"favoritesUpdateFailed": "お気に入りを更新できませんでした。接続を確認してもう一度お試しください。",
|
||||
"joinSession": "進行中のセッションに参加",
|
||||
"watchFromStart": "最初から視聴(${minutes}分前に開始)",
|
||||
"watchLive": "ライブで視聴",
|
||||
@@ -968,13 +968,13 @@
|
||||
"manageRecording": "録画を管理",
|
||||
"cancelRecording": "録画をキャンセル",
|
||||
"cancelRecordingTitle": "この録画をキャンセルしますか?",
|
||||
"cancelRecordingMessage": "${title} は録画されなくなります。",
|
||||
"cancelRecordingMessage": "${title}は録画されなくなります。",
|
||||
"deleteRule": "ルールを削除",
|
||||
"deleteRuleTitle": "録画ルールを削除しますか?",
|
||||
"deleteRuleMessage": "${title} の今後のエピソードは録画されません。",
|
||||
"deleteRuleMessage": "${title}の今後のエピソードは録画されません。",
|
||||
"recordingScheduled": "録画を予約しました",
|
||||
"alreadyScheduled": "この番組はすでに予約されています",
|
||||
"dvrAdminRequired": "DVR 設定には管理者アカウントが必要です",
|
||||
"dvrAdminRequired": "DVR設定には管理者アカウントが必要です",
|
||||
"recordingFailed": "録画を予約できませんでした",
|
||||
"recordingTargetMissing": "録画ライブラリを特定できませんでした",
|
||||
"recordNotAvailable": "この番組は録画できません",
|
||||
@@ -982,12 +982,12 @@
|
||||
"recordingRuleDeleted": "録画ルールを削除しました",
|
||||
"processRecordingRules": "ルールを再評価",
|
||||
"recordingInProgress": "録画中",
|
||||
"recordingsCount": "${count} 件予約済み",
|
||||
"recordingsCount": "${count}件予約済み",
|
||||
"editRule": "ルールを編集",
|
||||
"editRuleAction": "編集",
|
||||
"recordingRuleUpdated": "録画ルールを更新しました",
|
||||
"guideReloadRequested": "ガイドの更新を要求しました",
|
||||
"rulesProcessRequested": "ルールの再評価を要求しました",
|
||||
"guideReloadRequested": "番組表の更新をリクエストしました",
|
||||
"rulesProcessRequested": "録画ルールの再評価をリクエストしました",
|
||||
"recordShow": "番組を録画"
|
||||
},
|
||||
"collections": {
|
||||
@@ -995,7 +995,7 @@
|
||||
"collection": "コレクション",
|
||||
"empty": "コレクションは空です",
|
||||
"deleteCollection": "コレクションを削除",
|
||||
"deleteConfirm": "「${title}」を削除しますか?元に戻せません。",
|
||||
"deleteConfirm": "「${title}」を削除しますか?この操作は元に戻せません。",
|
||||
"deleted": "コレクションを削除しました",
|
||||
"deleteFailed": "コレクションの削除に失敗しました",
|
||||
"deleteFailedWithError": "コレクションの削除に失敗しました: ${error}",
|
||||
@@ -1006,11 +1006,11 @@
|
||||
"errorAddingToCollection": "コレクションへの追加に失敗しました",
|
||||
"created": "コレクションを作成しました",
|
||||
"removeFromCollection": "コレクションから削除",
|
||||
"removeFromCollectionConfirm": "\"${title}\"をこのコレクションから削除しますか?",
|
||||
"removeFromCollectionConfirm": "「${title}」をこのコレクションから削除しますか?",
|
||||
"removedFromCollection": "コレクションから削除しました",
|
||||
"removeFromCollectionFailed": "コレクションからの削除に失敗しました",
|
||||
"removeFromCollectionError": "コレクションからの削除エラー: ${error}",
|
||||
"searchCollections": "コレクションを検索..."
|
||||
"searchCollections": "コレクションを検索…"
|
||||
},
|
||||
"playlists": {
|
||||
"title": "プレイリスト",
|
||||
@@ -1022,17 +1022,17 @@
|
||||
"delete": "プレイリストを削除",
|
||||
"removeItem": "プレイリストから削除",
|
||||
"smartPlaylist": "スマートプレイリスト",
|
||||
"itemCount": "${count}アイテム",
|
||||
"oneItem": "1アイテム",
|
||||
"itemCount": "${count}件",
|
||||
"oneItem": "1件",
|
||||
"emptyPlaylist": "このプレイリストは空です",
|
||||
"deleteConfirm": "プレイリストを削除しますか?",
|
||||
"deleteMessage": "\"${name}\"を削除してもよろしいですか?",
|
||||
"deleteMessage": "「${name}」を削除しますか?",
|
||||
"created": "プレイリストを作成しました",
|
||||
"deleted": "プレイリストを削除しました",
|
||||
"itemAdded": "プレイリストに追加しました",
|
||||
"itemRemoved": "プレイリストから削除しました",
|
||||
"selectPlaylist": "プレイリストを選択",
|
||||
"searchPlaylists": "プレイリストを検索...",
|
||||
"searchPlaylists": "プレイリストを検索…",
|
||||
"errorCreating": "プレイリストの作成に失敗しました",
|
||||
"errorDeleting": "プレイリストの削除に失敗しました",
|
||||
"errorLoading": "プレイリストの読み込みに失敗しました",
|
||||
@@ -1048,10 +1048,10 @@
|
||||
"addToQueue": "キューに追加",
|
||||
"discNumber": "ディスク ${n}",
|
||||
"trackCount": {
|
||||
"other": "${n} 曲"
|
||||
"other": "${n}曲"
|
||||
},
|
||||
"nowPlaying": "再生中",
|
||||
"playingFrom": "${title} から再生",
|
||||
"playingFrom": "${title}から再生",
|
||||
"queue": "再生キュー",
|
||||
"clearQueue": "キューをクリア",
|
||||
"lyrics": "歌詞",
|
||||
@@ -1070,9 +1070,9 @@
|
||||
"title": "一緒に見る",
|
||||
"description": "友達や家族と同期してコンテンツを視聴",
|
||||
"createSession": "セッションを作成",
|
||||
"creating": "作成中...",
|
||||
"creating": "作成中…",
|
||||
"joinSession": "セッションに参加",
|
||||
"joining": "参加中...",
|
||||
"joining": "参加中…",
|
||||
"controlMode": "コントロールモード",
|
||||
"controlModeQuestion": "誰が再生を制御できますか?",
|
||||
"hostOnly": "ホストのみ",
|
||||
@@ -1088,7 +1088,7 @@
|
||||
"anyoneControls": "全員が制御",
|
||||
"participants": "参加者",
|
||||
"host": "ホスト",
|
||||
"hostBadge": "HOST",
|
||||
"hostBadge": "ホスト",
|
||||
"youAreHost": "あなたはホストです",
|
||||
"watchingWithOthers": "他の人と視聴中",
|
||||
"endSession": "セッションを終了",
|
||||
@@ -1101,7 +1101,7 @@
|
||||
"leaveSessionConfirmOverlay": "視聴セッションから切断されます。",
|
||||
"end": "終了",
|
||||
"leave": "退出",
|
||||
"syncing": "同期中...",
|
||||
"syncing": "同期中…",
|
||||
"joinWatchSession": "視聴セッションに参加",
|
||||
"enterCodeHint": "5文字のコードを入力",
|
||||
"pasteFromClipboard": "クリップボードから貼り付け",
|
||||
@@ -1111,8 +1111,8 @@
|
||||
"failedToCreate": "セッションの作成に失敗しました",
|
||||
"failedToJoin": "セッションへの参加に失敗しました",
|
||||
"sessionCodeCopied": "セッションコードをクリップボードにコピーしました",
|
||||
"relayUnreachable": "リレーサーバーに到達できません。ISPのブロックによりWatch Togetherが使えない可能性があります。",
|
||||
"reconnectingToHost": "ホストに再接続中...",
|
||||
"relayUnreachable": "リレーサーバーに接続できません。ISPによるブロックのため「一緒に見る」を利用できない可能性があります。",
|
||||
"reconnectingToHost": "ホストに再接続中…",
|
||||
"currentPlayback": "現在の再生",
|
||||
"joinCurrentPlayback": "現在の再生に参加",
|
||||
"joinCurrentPlaybackDescription": "ホストが現在視聴中のコンテンツに戻る",
|
||||
@@ -1121,17 +1121,17 @@
|
||||
"participantLeft": "${name}が退出しました",
|
||||
"participantPaused": "${name}が一時停止しました",
|
||||
"participantResumed": "${name}が再開しました",
|
||||
"participantSeeked": "${name}がシークしました",
|
||||
"participantSeeked": "${name}が再生位置を変更しました",
|
||||
"participantBuffering": "${name}がバッファリング中",
|
||||
"participantNeedsUpdate": "${name} は古いバージョンのアプリを使用しているため、同期できません",
|
||||
"resumingWithout": "${name} なしで再開",
|
||||
"waitingForParticipants": "他の参加者の読み込みを待っています...",
|
||||
"waitingForName": "${name}を待っています...",
|
||||
"participantNeedsUpdate": "${name}は古いバージョンのアプリを使用しているため、同期できません",
|
||||
"resumingWithout": "${name}抜きで再開",
|
||||
"waitingForParticipants": "他の参加者の読み込みを待っています…",
|
||||
"waitingForName": "${name}を待っています…",
|
||||
"recentRooms": "最近のルーム",
|
||||
"renameRoom": "ルーム名を変更",
|
||||
"removeRoom": "削除",
|
||||
"guestSwitchUnavailable": "切り替えできません — サーバーが同期できません",
|
||||
"guestSwitchFailed": "切り替えできません — このサーバーにコンテンツが見つかりません"
|
||||
"guestSwitchUnavailable": "切り替えられません — 同期に必要なサーバーを利用できません",
|
||||
"guestSwitchFailed": "切り替えられません — このサーバーにコンテンツが見つかりません"
|
||||
},
|
||||
"downloads": {
|
||||
"title": "ダウンロード",
|
||||
@@ -1140,7 +1140,7 @@
|
||||
"movies": "映画",
|
||||
"music": "音楽",
|
||||
"tracksQueued": "${count} 曲をダウンロード待機中",
|
||||
"noDownloads": "ダウンロードなし",
|
||||
"noDownloads": "ダウンロードはまだありません",
|
||||
"noDownloadsDescription": "ダウンロードしたコンテンツはここに表示され、オフラインで視聴できます",
|
||||
"downloadNow": "ダウンロード",
|
||||
"deleteDownload": "ダウンロードを削除",
|
||||
@@ -1151,20 +1151,20 @@
|
||||
"episodesQueued": "${count}エピソードをダウンロードキューに追加しました",
|
||||
"downloadDeleted": "ダウンロードを削除しました",
|
||||
"deleteConfirm": "このデバイスから「${title}」を削除しますか?",
|
||||
"cancelledDownloadTitle": "キャンセルされたダウンロード",
|
||||
"cancelledDownloadTitle": "キャンセル済みのダウンロード",
|
||||
"cancelledDownloadMessage": "このダウンロードはキャンセルされました。どうしますか?",
|
||||
"allEpisodesAlreadyDownloaded": "すべてのエピソードはすでにダウンロード済みです",
|
||||
"resumeDownload": "ダウンロードを再開",
|
||||
"cancelledDownload": "キャンセルされたダウンロード",
|
||||
"cancelledDownload": "キャンセル済みのダウンロード",
|
||||
"syncingFile": "${file}(${status}を同期中)",
|
||||
"downloadedFileClickToComplete": "${file} をダウンロード済み — クリックして完了",
|
||||
"downloadedFileClickToComplete": "${file}をダウンロード済み — クリックして完了",
|
||||
"partialDownloadClickToComplete": "一部ダウンロード済み — クリックして完了",
|
||||
"deleting": "削除中...",
|
||||
"deletingWithProgress": "${title}を削除中... (${current}/${total})",
|
||||
"deleting": "削除中…",
|
||||
"deletingWithProgress": "${title}を削除中…(${current}/${total})",
|
||||
"queuedTooltip": "キュー",
|
||||
"queuedFilesTooltip": "キュー: ${files}",
|
||||
"downloadingTooltip": "ダウンロード中...",
|
||||
"downloadingFilesTooltip": "${files} をダウンロード中",
|
||||
"queuedFilesTooltip": "キュー:${files}",
|
||||
"downloadingTooltip": "ダウンロード中…",
|
||||
"downloadingFilesTooltip": "${files}をダウンロード中",
|
||||
"noDownloadsTree": "ダウンロードなし",
|
||||
"pauseAll": "すべて一時停止",
|
||||
"resumeAll": "すべて再開",
|
||||
@@ -1173,9 +1173,9 @@
|
||||
"allEpisodes": "すべてのエピソード",
|
||||
"unwatchedOnly": "未視聴のみ",
|
||||
"nextNUnwatched": "次の${count}件の未視聴",
|
||||
"customAmount": "数を指定...",
|
||||
"customAmount": "数を指定…",
|
||||
"includeSpecials": "スペシャルを含める",
|
||||
"howManyEpisodes": "何エピソード?",
|
||||
"howManyEpisodes": "エピソード数",
|
||||
"invalidEpisodeCount": "有効なエピソード数を入力してください。",
|
||||
"keepSynced": "同期を維持",
|
||||
"downloadOnce": "一度だけダウンロード",
|
||||
@@ -1205,7 +1205,7 @@
|
||||
"shaders": {
|
||||
"title": "シェーダー",
|
||||
"noShaderDescription": "映像補正なし",
|
||||
"nvscalerDescription": "よりシャープな映像のためのNVIDIA画像スケーリング",
|
||||
"nvscalerDescription": "NVIDIA画像スケーリングで映像をより鮮明にします",
|
||||
"artcnnVariantNeutral": "ニュートラル",
|
||||
"artcnnVariantDenoise": "ノイズ除去",
|
||||
"artcnnVariantDenoiseSharpen": "ノイズ除去 + シャープ",
|
||||
@@ -1217,18 +1217,18 @@
|
||||
"shaderImported": "シェーダーをインポートしました",
|
||||
"shaderImportFailed": "シェーダーのインポートに失敗しました",
|
||||
"deleteShader": "シェーダーを削除",
|
||||
"deleteShaderConfirm": "\"${name}\"を削除しますか?"
|
||||
"deleteShaderConfirm": "「${name}」を削除しますか?"
|
||||
},
|
||||
"companionRemote": {
|
||||
"title": "コンパニオンリモート",
|
||||
"connectedTo": "${name}に接続中",
|
||||
"unknownDevice": "不明なデバイス",
|
||||
"session": {
|
||||
"startingServer": "リモートサーバーを起動中...",
|
||||
"startingServer": "リモートサーバーを起動中…",
|
||||
"hostAddress": "ホストアドレス",
|
||||
"connected": "接続済み",
|
||||
"serverRunning": "リモートサーバー稼働中",
|
||||
"serverStopped": "リモートサーバー停止中",
|
||||
"serverStopped": "リモートサーバー停止",
|
||||
"serverRunningDescription": "ネットワーク上のモバイルデバイスがこのアプリに接続できます",
|
||||
"serverStoppedDescription": "モバイルデバイスの接続を許可するにはサーバーを起動してください",
|
||||
"usePhoneToControl": "モバイルデバイスでこのアプリを操作できます",
|
||||
@@ -1237,12 +1237,12 @@
|
||||
"minimize": "最小化"
|
||||
},
|
||||
"pairing": {
|
||||
"discoveryDescription": "同じPlexアカウントのPlezyデバイスがここに表示されます",
|
||||
"discoveryDescription": "同じPlexアカウントを使用しているPlezyデバイスがここに表示されます",
|
||||
"hostAddressHint": "192.168.1.100:48632",
|
||||
"connecting": "接続中...",
|
||||
"searchingForDevices": "デバイスを検索中...",
|
||||
"connecting": "接続中…",
|
||||
"searchingForDevices": "デバイスを検索中…",
|
||||
"noDevicesFound": "ネットワーク上にデバイスが見つかりません",
|
||||
"noDevicesHint": "デスクトップでPlezyを開き、同じWiFiを使用してください",
|
||||
"noDevicesHint": "デスクトップでPlezyを開き、同じWi-Fiネットワークに接続してください",
|
||||
"availableDevices": "利用可能なデバイス",
|
||||
"manualConnection": "手動接続",
|
||||
"cryptoInitFailed": "安全な接続を開始できませんでした。先にPlexにサインインしてください。",
|
||||
@@ -1254,11 +1254,11 @@
|
||||
"failedToConnect": "接続に失敗しました: ${error}"
|
||||
},
|
||||
"remote": {
|
||||
"disconnectConfirm": "リモートセッションから切断しますか?",
|
||||
"reconnecting": "再接続中...",
|
||||
"disconnectConfirm": "リモートセッションを切断しますか?",
|
||||
"reconnecting": "再接続中…",
|
||||
"attemptOf": "試行 ${current}/5",
|
||||
"retryNow": "今すぐ再試行",
|
||||
"tabRemote": "リモート",
|
||||
"tabRemote": "リモコン",
|
||||
"tabPlay": "再生",
|
||||
"tabMore": "その他",
|
||||
"menu": "メニュー",
|
||||
@@ -1280,7 +1280,7 @@
|
||||
"fullscreen": "フルスクリーン",
|
||||
"subtitles": "字幕",
|
||||
"audio": "音声",
|
||||
"searchHint": "デスクトップで検索..."
|
||||
"searchHint": "デスクトップで検索…"
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "ネットワークインターフェースが見つかりません",
|
||||
@@ -1326,7 +1326,7 @@
|
||||
"hwFormat": "HW 形式",
|
||||
"matrix": "マトリクス",
|
||||
"primaries": "プライマリ",
|
||||
"transfer": "転送",
|
||||
"transfer": "伝達特性",
|
||||
"renderFps": "描画 FPS",
|
||||
"displayFps": "表示 FPS",
|
||||
"avSync": "A/V 同期",
|
||||
@@ -1351,7 +1351,7 @@
|
||||
"useExternalPlayerDescription": "動画を別のアプリで開きます",
|
||||
"selectPlayer": "プレーヤーを選択",
|
||||
"customPlayers": "カスタムプレーヤー",
|
||||
"systemDefault": "システムデフォルト",
|
||||
"systemDefault": "システム既定",
|
||||
"addCustomPlayer": "カスタムプレーヤーを追加",
|
||||
"playerName": "プレーヤー名",
|
||||
"playerNameHint": "マイプレーヤー",
|
||||
@@ -1364,7 +1364,7 @@
|
||||
"playInExternalPlayer": "外部プレーヤーで再生"
|
||||
},
|
||||
"metadataEdit": {
|
||||
"editMetadata": "編集...",
|
||||
"editMetadata": "編集…",
|
||||
"screenTitle": "メタデータを編集",
|
||||
"basicInfo": "基本情報",
|
||||
"artwork": "アートワーク",
|
||||
@@ -1405,14 +1405,14 @@
|
||||
"newestFirst": "新しい順",
|
||||
"keep": "保持",
|
||||
"allEpisodes": "すべてのエピソード",
|
||||
"latestEpisodes": "最新${count}エピソード",
|
||||
"latestEpisodes": "最新の${count}話",
|
||||
"latestEpisode": "最新エピソード",
|
||||
"episodesAddedPastDays": "過去${count}日間に追加されたエピソード",
|
||||
"deleteAfterPlaying": "再生後にエピソードを削除",
|
||||
"never": "しない",
|
||||
"afterADay": "1日後",
|
||||
"afterAWeek": "1週間後",
|
||||
"afterAMonth": "1ヶ月後",
|
||||
"afterAMonth": "1か月後",
|
||||
"onNextRefresh": "次回更新時",
|
||||
"seasons": "シーズン",
|
||||
"show": "表示",
|
||||
@@ -1442,14 +1442,14 @@
|
||||
"mood": "ムード"
|
||||
},
|
||||
"matchScreen": {
|
||||
"match": "マッチ...",
|
||||
"fixMatch": "マッチを修正...",
|
||||
"unmatch": "マッチ解除",
|
||||
"unmatchConfirm": "この一致をクリアしますか?再一致するまでPlexでは未一致として扱われます。",
|
||||
"unmatchSuccess": "マッチを解除しました",
|
||||
"unmatchFailed": "マッチの解除に失敗しました",
|
||||
"matchApplied": "マッチを適用しました",
|
||||
"matchFailed": "マッチの適用に失敗しました",
|
||||
"match": "照合…",
|
||||
"fixMatch": "照合を修正…",
|
||||
"unmatch": "照合を解除",
|
||||
"unmatchConfirm": "この照合を解除しますか?再照合するまで、Plexでは未照合として扱われます。",
|
||||
"unmatchSuccess": "照合を解除しました",
|
||||
"unmatchFailed": "照合を解除できませんでした",
|
||||
"matchApplied": "照合結果を適用しました",
|
||||
"matchFailed": "照合結果を適用できませんでした",
|
||||
"titleHint": "タイトル",
|
||||
"yearHint": "年",
|
||||
"search": "検索",
|
||||
@@ -1463,13 +1463,13 @@
|
||||
"trakt": {
|
||||
"title": "Trakt",
|
||||
"connected": "接続済み",
|
||||
"connectedAs": "@${username} として接続済み",
|
||||
"disconnectConfirm": "Trakt アカウントを切断しますか?",
|
||||
"connectedAs": "@${username}として接続済み",
|
||||
"disconnectConfirm": "Traktアカウントとの接続を解除しますか?",
|
||||
"disconnectConfirmBody": "PlezyはTraktへのイベント送信を停止します。いつでも再接続できます。",
|
||||
"scrobble": "リアルタイムのスクロブル",
|
||||
"scrobbleDescription": "再生中に再生・一時停止・停止イベントを Trakt に送信します。",
|
||||
"scrobbleDescription": "再生中に再生・一時停止・停止の各イベントをTraktに送信します。",
|
||||
"watchedSync": "視聴済みステータスを同期",
|
||||
"watchedSyncDescription": "Plezy で項目を視聴済みにすると、Trakt でも視聴済みになります。"
|
||||
"watchedSyncDescription": "Plezyで項目を視聴済みにすると、Traktでも視聴済みになります。"
|
||||
},
|
||||
"seerr": {
|
||||
"title": "Seerr",
|
||||
@@ -1521,7 +1521,7 @@
|
||||
},
|
||||
"deviceCode": {
|
||||
"title": "${service} で Plezy を有効化",
|
||||
"body": "${url} にアクセスしてこのコードを入力:",
|
||||
"body": "${url}にアクセスして、このコードを入力してください。",
|
||||
"openToActivate": "${service} を開いて有効化",
|
||||
"copyCode": "アクティベーションコードをコピー",
|
||||
"waitingForAuthorization": "認証を待っています…",
|
||||
@@ -1554,8 +1554,8 @@
|
||||
"serverUrls": "サーバーURL",
|
||||
"serverUrlsHelper": "複数のURLをカンマ区切りで入力できます。",
|
||||
"findServer": "サーバーを検索",
|
||||
"searchingLocalServers": "ローカル Jellyfin サーバーを検索中...",
|
||||
"localServers": "ローカル Jellyfin サーバー",
|
||||
"searchingLocalServers": "ローカルのJellyfinサーバーを検索中…",
|
||||
"localServers": "ローカルのJellyfinサーバー",
|
||||
"username": "ユーザー名",
|
||||
"password": "パスワード",
|
||||
"signIn": "サインイン",
|
||||
@@ -1575,8 +1575,8 @@
|
||||
"signInWithPlexCardSubtitleScoped": "Plexアカウントを承認します。Homeユーザーはプロフィールになります。",
|
||||
"connectToJellyfinCard": "Jellyfinに接続",
|
||||
"connectToJellyfinCardSubtitle": "サーバーURL、ユーザー名、パスワードを入力してください。",
|
||||
"connectToJellyfinCardSubtitleScoped": "Jellyfinサーバーにサインインします。${name}に紐付けられます。",
|
||||
"borrowFromAnotherProfile": "別のプロファイルから借りる",
|
||||
"borrowFromAnotherProfileSubtitle": "別のプロフィールの接続を再利用します。PIN保護されたプロフィールにはPINが必要です。"
|
||||
"connectToJellyfinCardSubtitleScoped": "Jellyfinサーバーにサインインします。${name}にひも付けられます。",
|
||||
"borrowFromAnotherProfile": "別のプロフィールの接続を利用",
|
||||
"borrowFromAnotherProfileSubtitle": "別のプロフィールの接続を再利用します。PINで保護されたプロフィールにはPINが必要です。"
|
||||
}
|
||||
}
|
||||
|
||||
+114
-114
@@ -4,10 +4,10 @@
|
||||
},
|
||||
"auth": {
|
||||
"signInWithPlex": "Plex 계정으로 로그인",
|
||||
"showQRCode": "QR 코드",
|
||||
"showQRCode": "QR 코드 표시",
|
||||
"authenticate": "인증",
|
||||
"authenticationTimeout": "인증 시간이 초과되었습니다. 다시 시도해 주세요.",
|
||||
"scanQRToSignIn": "QR 코드를 스캔하여 로그인",
|
||||
"scanQRToSignIn": "로그인하려면 이 QR 코드를 스캔하세요",
|
||||
"waitingForAuth": "인증 대기 중...\n브라우저에서 로그인하세요.",
|
||||
"useBrowser": "브라우저 사용",
|
||||
"or": "또는",
|
||||
@@ -17,7 +17,7 @@
|
||||
"quickConnectWaiting": "승인 대기 중…",
|
||||
"quickConnectCancel": "취소",
|
||||
"quickConnectExpired": "Quick Connect가 만료되었습니다. 다시 시도하세요.",
|
||||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||||
"localDataRecoveryRequired": "Plezy에서 로컬 로그인 정보와 대기 중인 재생 데이터를 안전하게 복구하지 못했습니다. 다시 로그인해 주세요."
|
||||
},
|
||||
"common": {
|
||||
"cancel": "취소",
|
||||
@@ -26,7 +26,7 @@
|
||||
"clear": "지우기",
|
||||
"reset": "초기화",
|
||||
"later": "나중에",
|
||||
"submit": "보내기",
|
||||
"submit": "제출",
|
||||
"confirm": "확인",
|
||||
"retry": "재시도",
|
||||
"logout": "로그아웃",
|
||||
@@ -51,7 +51,7 @@
|
||||
"settings": "설정",
|
||||
"mute": "음소거",
|
||||
"ok": "확인",
|
||||
"off": "끔",
|
||||
"off": "꺼짐",
|
||||
"seasonNumber": "시즌 ${number}",
|
||||
"episodeNumberTitle": "${number}화 - ${title}",
|
||||
"chapterNumber": "챕터 ${number}",
|
||||
@@ -62,8 +62,8 @@
|
||||
"connectingToServers": "서버 연결 중...",
|
||||
"startingOfflineMode": "오프라인 모드 시작 중...",
|
||||
"loading": "로딩 중...",
|
||||
"fullscreen": "전체화면",
|
||||
"exitFullscreen": "전체화면 종료",
|
||||
"fullscreen": "전체 화면",
|
||||
"exitFullscreen": "전체 화면 종료",
|
||||
"pressBackAgainToExit": "한 번 더 누르면 종료됩니다"
|
||||
},
|
||||
"screens": {
|
||||
@@ -74,8 +74,8 @@
|
||||
"logs": "로그"
|
||||
},
|
||||
"update": {
|
||||
"available": "사용 가능한 업데이트",
|
||||
"versionAvailable": "버전 ${version} 출시됨",
|
||||
"available": "업데이트 있음",
|
||||
"versionAvailable": "${version} 버전을 사용할 수 있습니다",
|
||||
"currentVersion": "현재 버전: ${version}",
|
||||
"skipVersion": "이 버전 건너뛰기",
|
||||
"viewRelease": "릴리스 정보 보기",
|
||||
@@ -88,9 +88,9 @@
|
||||
"supportDeveloperDescription": "Liberapay로 후원하여 개발 지원",
|
||||
"language": "언어",
|
||||
"theme": "테마",
|
||||
"appearance": "외관",
|
||||
"appearance": "디자인",
|
||||
"videoPlayback": "비디오 재생",
|
||||
"videoPlaybackDescription": "재생 동작 구성",
|
||||
"videoPlaybackDescription": "재생 동작 설정",
|
||||
"advanced": "고급",
|
||||
"episodePosterMode": "에피소드 포스터 스타일",
|
||||
"seriesPoster": "시리즈 포스터",
|
||||
@@ -102,15 +102,15 @@
|
||||
"secondsShort": "초",
|
||||
"minutesShort": "분",
|
||||
"durationHint": "기간 입력 (${min}-${max})",
|
||||
"systemTheme": "시스템 설정",
|
||||
"lightTheme": "라이트 모드",
|
||||
"darkTheme": "다크 모드",
|
||||
"systemTheme": "시스템",
|
||||
"lightTheme": "라이트",
|
||||
"darkTheme": "다크",
|
||||
"oledTheme": "OLED",
|
||||
"libraryDensity": "라이브러리 표시 밀도",
|
||||
"compact": "좁게",
|
||||
"comfortable": "넓게",
|
||||
"tvCornerSpotlightBackdrop": "",
|
||||
"tvCornerSpotlightBackdropDescription": "",
|
||||
"compact": "조밀하게",
|
||||
"comfortable": "여유롭게",
|
||||
"tvCornerSpotlightBackdrop": "모서리 스포트라이트 배경",
|
||||
"tvCornerSpotlightBackdropDescription": "화면 전체를 채우는 대신 오른쪽 상단에 스포트라이트 아트워크를 표시합니다",
|
||||
"viewMode": "보기 모드",
|
||||
"gridView": "그리드 보기",
|
||||
"listView": "목록 보기",
|
||||
@@ -159,28 +159,28 @@
|
||||
"defaultQualityTitle": "기본 화질",
|
||||
"musicQualityTitle": "음악 음질",
|
||||
"subtitleStyling": "자막 스타일",
|
||||
"subtitleStylingDescription": "자막의 외형을 사용자 설정",
|
||||
"subtitleStylingDescription": "자막 모양을 사용자 지정합니다",
|
||||
"smallSkipDuration": "짧은 건너뛰기 시간",
|
||||
"largeSkipDuration": "긴 건너뛰기 시간",
|
||||
"rewindOnResume": "재개 시 되감기",
|
||||
"secondsUnit": "${seconds}초",
|
||||
"defaultSleepTimer": "기본 취침 타이머",
|
||||
"minutesUnit": "${minutes}분",
|
||||
"rememberTrackSelections": "에피소드/영화별 트랙 선택 기억",
|
||||
"rememberTrackSelectionsDescription": "제목별 오디오 및 자막 선택 기억",
|
||||
"rememberTrackSelections": "시리즈/영화별 트랙 선택 기억",
|
||||
"rememberTrackSelectionsDescription": "작품별 오디오 및 자막 선택 기억",
|
||||
"showChapterMarkersOnTimeline": "탐색 막대에 챕터 마커 표시",
|
||||
"showChapterMarkersOnTimelineDescription": "챕터 경계에서 탐색 막대 구분",
|
||||
"clickVideoTogglesPlayback": "비디오를 클릭하여 재생/일시정지를 전환하세요.",
|
||||
"clickVideoTogglesPlaybackDescription": "컨트롤 표시 대신 동영상 클릭으로 재생/일시정지합니다.",
|
||||
"clickVideoTogglesPlayback": "동영상 클릭으로 재생/일시정지 전환",
|
||||
"clickVideoTogglesPlaybackDescription": "컨트롤을 표시하는 대신 동영상을 클릭하여 재생하거나 일시정지합니다.",
|
||||
"videoPlayerControls": "비디오 플레이어 컨트롤",
|
||||
"keyboardShortcuts": "키보드 단축키",
|
||||
"keyboardShortcutsDescription": "사용자 정의 키보드 단축키",
|
||||
"keyboardShortcutsDescription": "키보드 단축키를 사용자 지정합니다",
|
||||
"videoPlayerNavigation": "비디오 플레이어 탐색",
|
||||
"videoPlayerNavigationDescription": "방향 키를 사용하여 비디오 플레이어 컨트롤 탐색",
|
||||
"videoPlayerNavigationDescription": "방향 키로 비디오 플레이어 컨트롤을 탐색합니다",
|
||||
"watchTogetherRelay": "함께 보기 릴레이",
|
||||
"watchTogetherRelayDescription": "사용자 지정 릴레이를 설정합니다. 모두 같은 서버를 사용해야 합니다.",
|
||||
"watchTogetherRelayHint": "https://my-relay.example.com",
|
||||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||||
"watchTogetherRelayInvalid": "올바른 HTTP 또는 HTTPS 릴레이 기본 URL을 입력하세요.",
|
||||
"crashReporting": "충돌 보고",
|
||||
"crashReportingDescription": "앱 개선을 위해 충돌 보고서 전송",
|
||||
"debugLogging": "디버그 로깅",
|
||||
@@ -205,7 +205,7 @@
|
||||
"importSettingsNoUser": "설정을 가져오기 전에 로그인하세요",
|
||||
"shortcutsReset": "단축키가 기본값으로 재설정되었습니다",
|
||||
"about": "정보",
|
||||
"aboutDescription": "응용 프로그램 정보 및 라이선스",
|
||||
"aboutDescription": "앱 정보 및 라이선스",
|
||||
"updates": "업데이트",
|
||||
"updateAvailable": "사용 가능한 업데이트 있음",
|
||||
"checkForUpdates": "업데이트 확인",
|
||||
@@ -213,9 +213,9 @@
|
||||
"autoCheckUpdatesOnStartupDescription": "실행 시 업데이트가 있으면 알림",
|
||||
"validationErrorEnterNumber": "유효한 숫자를 입력하세요",
|
||||
"validationErrorDuration": "기간은 ${min}과 ${max} ${unit} 사이여야 합니다",
|
||||
"shortcutAlreadyAssigned": "단축키가 이미 ${action}에 할당 되었습니다",
|
||||
"shortcutUpdated": "단축키가 ${action}에 대해 업데이트 되었습니다",
|
||||
"saveFailed": "Could not save changes. Try again.",
|
||||
"shortcutAlreadyAssigned": "단축키가 이미 ${action}에 할당되었습니다",
|
||||
"shortcutUpdated": "${action} 단축키가 업데이트되었습니다",
|
||||
"saveFailed": "변경 사항을 저장하지 못했습니다. 다시 시도하세요.",
|
||||
"autoSkip": "자동 건너뛰기",
|
||||
"autoSkipIntro": "자동으로 오프닝 건너뛰기",
|
||||
"autoSkipIntroDescription": "몇 초 후 오프닝을 자동으로 건너뛰기",
|
||||
@@ -224,7 +224,7 @@
|
||||
"forceSkipMarkerFallback": "대체 마커 강제 사용",
|
||||
"forceSkipMarkerFallbackDescription": "Plex에 마커가 있어도 챕터 제목 패턴 사용",
|
||||
"autoSkipDelay": "자동 건너뛰기 지연",
|
||||
"autoSkipDelayDescription": "자동 건너뛰기 전 ${seconds} 초 대기",
|
||||
"autoSkipDelayDescription": "자동으로 건너뛰기 전 ${seconds}초 대기",
|
||||
"introPattern": "인트로 마커 패턴",
|
||||
"introPatternDescription": "챕터 제목에서 인트로 마커를 인식하는 정규식 패턴",
|
||||
"creditsPattern": "크레딧 마커 패턴",
|
||||
@@ -238,17 +238,17 @@
|
||||
"selectFolder": "폴더 선택",
|
||||
"resetToDefault": "기본값으로 재설정",
|
||||
"currentPath": "현재: ${path}",
|
||||
"downloadLocationChanged": "다운로드 위치가 변경 되었습니다",
|
||||
"downloadLocationReset": "다운로드 위치가 기본값으로 재설정 되었습니다",
|
||||
"downloadLocationChanged": "다운로드 위치가 변경되었습니다",
|
||||
"downloadLocationReset": "다운로드 위치가 기본값으로 재설정되었습니다",
|
||||
"downloadLocationInvalid": "선택한 폴더에 쓰기 권한이 없습니다",
|
||||
"downloadLocationPickerUnavailable": "이 기기에서는 폴더를 선택할 수 없습니다",
|
||||
"downloadOnWifiOnly": "WiFi 연결 시에만 다운로드",
|
||||
"downloadOnWifiOnlyDescription": "셀룰러 데이터 사용 시 다운로드 불가",
|
||||
"autoRemoveWatchedDownloads": "시청한 다운로드 자동 삭제",
|
||||
"autoRemoveWatchedDownloadsDescription": "시청한 다운로드 자동 삭제",
|
||||
"cellularDownloadBlocked": "셀룰러에서는 다운로드가 차단됩니다. WiFi를 사용하거나 설정을 변경하세요.",
|
||||
"downloadOnWifiOnly": "Wi-Fi 연결 시에만 다운로드",
|
||||
"downloadOnWifiOnlyDescription": "셀룰러 데이터 사용 중에는 다운로드하지 않습니다",
|
||||
"autoRemoveWatchedDownloads": "시청한 다운로드 항목 자동 삭제",
|
||||
"autoRemoveWatchedDownloadsDescription": "시청한 다운로드 항목을 자동으로 삭제합니다",
|
||||
"cellularDownloadBlocked": "셀룰러에서는 다운로드가 차단됩니다. Wi-Fi를 사용하거나 설정을 변경하세요.",
|
||||
"maxVolume": "최대 볼륨",
|
||||
"maxVolumeDescription": "조용한 미디어를 위해 100% 이상의 볼륨 허용",
|
||||
"maxVolumeDescription": "음량이 작은 콘텐츠를 위해 100% 이상의 볼륨을 허용합니다",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
"discordRichPresence": "Discord Rich Presence",
|
||||
"discordRichPresenceDescription": "Discord에서 시청 중인 콘텐츠 표시",
|
||||
@@ -258,7 +258,7 @@
|
||||
"companionRemoteServer": "컴패니언 리모트 서버",
|
||||
"companionRemoteServerDescription": "네트워크의 모바일 기기가 이 앱을 제어할 수 있도록 허용",
|
||||
"autoPip": "자동 PIP 모드",
|
||||
"autoPipDescription": "재생 중 앱을 떠나면 화면 속 화면으로 전환",
|
||||
"autoPipDescription": "재생 중 앱을 떠나면 자동으로 화면 속 화면 모드로 전환합니다",
|
||||
"matchContentFrameRate": "콘텐츠 프레임 레이트 맞춤",
|
||||
"matchContentFrameRateDescription": "디스플레이 새로 고침 빈도를 동영상 콘텐츠에 맞춤",
|
||||
"matchRefreshRate": "주사율 맞춤",
|
||||
@@ -270,7 +270,7 @@
|
||||
"tunneledPlaybackDescription": "비디오 터널링을 사용합니다. HDR 재생 시 검은 화면이 보이면 비활성화하세요.",
|
||||
"audioPassthrough": "오디오 패스스루",
|
||||
"audioPassthroughDescription": "Dolby/DTS 오디오를 재인코딩 없이 리시버나 TV로 전송하여 서라운드 사운드를 유지합니다. 소리가 나지 않으면 비활성화하세요.",
|
||||
"audioPassthroughDescriptionAppleTv": "Dolby Digital Plus(Atmos 포함)를 비트스트림으로 시스템에 전달합니다. DTS와 TrueHD는 계속 멀티채널 PCM으로 재생됩니다. 탐색 시 짧은 소리 끊김이 발생할 수 있습니다.",
|
||||
"audioPassthroughDescriptionAppleTv": "Dolby Digital Plus(Atmos 포함)에 Apple의 기본 Dolby 디코더를 사용합니다. DTS와 TrueHD는 계속 멀티채널 PCM으로 재생됩니다. 소리가 나지 않으면 비활성화하세요.",
|
||||
"audioDownmix": "스테레오로 다운믹스",
|
||||
"audioDownmixDescription": "서라운드 오디오를 스테레오 스피커나 헤드폰용 2채널로 믹스합니다",
|
||||
"downmixCenterBoost": "센터 채널 부스트",
|
||||
@@ -308,10 +308,10 @@
|
||||
"requireProfileSelectionOnOpenDescription": "앱을 열 때마다 프로필 선택 화면을 표시합니다",
|
||||
"forceTvMode": "TV 모드 강제 사용",
|
||||
"forceTvModeDescription": "TV 레이아웃을 강제합니다. 자동 감지되지 않는 기기용입니다. 재시작이 필요합니다.",
|
||||
"startInFullscreen": "전체화면으로 시작",
|
||||
"startInFullscreenDescription": "실행 시 Plezy를 전체화면 모드로 엽니다",
|
||||
"exitFullscreenOnPlayerClose": "플레이어 닫을 때 전체화면 종료",
|
||||
"exitFullscreenOnPlayerCloseDescription": "비디오 플레이어를 닫을 때 자동으로 전체화면을 종료합니다",
|
||||
"startInFullscreen": "전체 화면으로 시작",
|
||||
"startInFullscreenDescription": "실행 시 Plezy를 전체 화면 모드로 엽니다",
|
||||
"exitFullscreenOnPlayerClose": "플레이어를 닫을 때 전체 화면 종료",
|
||||
"exitFullscreenOnPlayerCloseDescription": "비디오 플레이어를 닫을 때 자동으로 전체 화면을 종료합니다",
|
||||
"autoHidePerformanceOverlay": "성능 오버레이 자동 숨기기",
|
||||
"autoHidePerformanceOverlayDescription": "재생 컨트롤과 함께 성능 오버레이를 페이드 처리",
|
||||
"showNavBarLabels": "내비게이션 바 라벨 표시",
|
||||
@@ -385,8 +385,8 @@
|
||||
"bitDepth": "비트 심도",
|
||||
"colorSpace": "색 공간",
|
||||
"colorRange": "색 범위",
|
||||
"colorPrimaries": "색상 원색",
|
||||
"chromaSubsampling": "채도 서브샘플링",
|
||||
"colorPrimaries": "색 원색",
|
||||
"chromaSubsampling": "색차 서브샘플링",
|
||||
"channels": "채널",
|
||||
"subtitles": "자막",
|
||||
"overallBitrate": "전체 비트레이트",
|
||||
@@ -399,12 +399,12 @@
|
||||
},
|
||||
"mediaMenu": {
|
||||
"markAsWatched": "시청 완료로 표시",
|
||||
"markAsUnwatched": "시청 안 함으로 표시",
|
||||
"markAsUnwatched": "미시청으로 표시",
|
||||
"removeFromContinueWatching": "계속 보기에서 제거",
|
||||
"viewDetails": "상세 정보 보기",
|
||||
"goToSeries": "시리즈로 이동",
|
||||
"shufflePlay": "무작위 재생",
|
||||
"shuffleNotAvailableOffline": "오프라인에서는 셔플을 사용할 수 없습니다",
|
||||
"shuffleNotAvailableOffline": "오프라인에서는 무작위 재생을 사용할 수 없습니다",
|
||||
"fileInfo": "파일 정보",
|
||||
"deleteFromServer": "서버에서 삭제",
|
||||
"confirmDelete": "이 미디어와 해당 파일을 서버에서 삭제할까요?",
|
||||
@@ -430,9 +430,9 @@
|
||||
"mediaCardEpisode": "${title}, ${episodeInfo}",
|
||||
"mediaCardSeason": "${title}, ${seasonInfo}",
|
||||
"mediaCardWatched": "시청 완료",
|
||||
"mediaCardPartiallyWatched": "${percent} 퍼센트 시청 완료",
|
||||
"mediaCardPartiallyWatched": "${percent}% 시청 완료",
|
||||
"mediaCardUnwatched": "미시청",
|
||||
"tapToPlay": "터치 하여 재생",
|
||||
"tapToPlay": "탭하여 재생",
|
||||
"decrease": "낮추기",
|
||||
"increase": "높이기",
|
||||
"decreaseValue": "${label} 낮추기",
|
||||
@@ -452,7 +452,7 @@
|
||||
"shufflePlay": "무작위 재생",
|
||||
"playTrailer": "예고편 재생",
|
||||
"markAsWatched": "시청 완료로 표시",
|
||||
"markAsUnwatched": "시청 안 함으로 표시"
|
||||
"markAsUnwatched": "미시청으로 표시"
|
||||
},
|
||||
"audioTracks": {
|
||||
"track": "오디오 트랙 ${n}"
|
||||
@@ -472,7 +472,7 @@
|
||||
"lockRotation": "회전 잠금",
|
||||
"unlockRotation": "회전 잠금 해제",
|
||||
"timerActive": "타이머 활성화됨",
|
||||
"playbackWillPauseIn": "재생이 ${duration} 후에 일시 중지 됩니다",
|
||||
"playbackWillPauseIn": "${duration} 후 재생이 일시정지됩니다",
|
||||
"sleepTimerEndOfVideo": "현재 비디오의 끝",
|
||||
"sleepTimerStopAtHeader": "정지 시점",
|
||||
"sleepTimerDurationHeader": "타이머",
|
||||
@@ -484,10 +484,10 @@
|
||||
"playNext": "다음 재생",
|
||||
"playButton": "재생",
|
||||
"pauseButton": "일시정지",
|
||||
"showPlaybackControls": "",
|
||||
"hidePlaybackControls": "",
|
||||
"seekBackwardButton": "${seconds} 초 뒤로",
|
||||
"seekForwardButton": "${seconds} 초 앞으로",
|
||||
"showPlaybackControls": "재생 컨트롤 표시",
|
||||
"hidePlaybackControls": "재생 컨트롤 숨기기",
|
||||
"seekBackwardButton": "${seconds}초 뒤로 이동",
|
||||
"seekForwardButton": "${seconds}초 앞으로 이동",
|
||||
"previousButton": "이전 에피소드",
|
||||
"nextButton": "다음 에피소드",
|
||||
"previousChapterButton": "이전 챕터",
|
||||
@@ -507,8 +507,8 @@
|
||||
"pipButton": "픽처 인 픽처 모드",
|
||||
"aspectRatioButton": "화면비율",
|
||||
"ambientLighting": "주변 조명",
|
||||
"fullscreenButton": "전체화면",
|
||||
"exitFullscreenButton": "전체화면 종료",
|
||||
"fullscreenButton": "전체 화면",
|
||||
"exitFullscreenButton": "전체 화면 종료",
|
||||
"alwaysOnTopButton": "창 최상위 고정",
|
||||
"rotationLockButton": "회전 잠금",
|
||||
"lockScreen": "화면 잠금",
|
||||
@@ -548,7 +548,7 @@
|
||||
"userStatus": {},
|
||||
"messages": {
|
||||
"markedAsWatched": "시청 완료로 표시됨",
|
||||
"markedAsUnwatched": "시청 안 함으로 표시됨",
|
||||
"markedAsUnwatched": "미시청으로 표시됨",
|
||||
"markedAsWatchedOffline": "시청 완료로 표시됨 (연결 시 동기화됨)",
|
||||
"markedAsUnwatchedOffline": "미시청으로 표시됨 (연결 시 동기화됨)",
|
||||
"autoRemovedWatchedDownload": "자동 삭제됨: ${title}",
|
||||
@@ -560,11 +560,11 @@
|
||||
"streamInterrupted": "스트림이 중단되었습니다. 재생을 누르거나 탐색하여 다시 시도하세요.",
|
||||
"liveStreamInterrupted": "라이브 스트림이 중단되었습니다. 재생을 눌러 다시 시도하세요.",
|
||||
"fileInfoNotAvailable": "파일 정보가 없습니다",
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"playbackAuthenticationRequired": "이 항목을 재생하려면 미디어 서버에 다시 로그인하세요.",
|
||||
"playbackServerUnavailable": "미디어 서버를 사용할 수 없습니다. 나중에 다시 시도하세요.",
|
||||
"playbackDataInvalid": "서버에서 잘못된 재생 정보를 반환했습니다.",
|
||||
"playbackCancelled": "재생이 취소되었습니다.",
|
||||
"playbackFailed": "재생을 시작할 수 없습니다.",
|
||||
"errorLoadingFileInfo": "파일 정보 로딩 중 오류: ${error}",
|
||||
"errorLoadingSeries": "시리즈 로딩 중 오류",
|
||||
"musicNotSupported": "음악 재생 미지원",
|
||||
@@ -572,8 +572,8 @@
|
||||
"noProfilesAvailable": "사용 가능한 프로필이 없습니다",
|
||||
"contactAdminForProfiles": "프로필을 추가하려면 서버 관리자에게 문의하세요",
|
||||
"unableToDetermineLibrarySection": "이 항목의 라이브러리 섹션을 확인할 수 없습니다",
|
||||
"logsCleared": "로그가 삭제 되었습니다",
|
||||
"logsCopied": "로그가 클립보드에 복사 되었습니다",
|
||||
"logsCleared": "로그가 삭제되었습니다",
|
||||
"logsCopied": "로그가 클립보드에 복사되었습니다",
|
||||
"noLogsAvailable": "사용 가능한 로그가 없습니다",
|
||||
"libraryScanning": "\"${title}\"을(를) 스캔 중입니다...",
|
||||
"libraryScanStarted": "\"${title}\" 미디어 라이브러리 스캔 시작",
|
||||
@@ -581,16 +581,16 @@
|
||||
"metadataRefreshing": "\"${title}\" 메타데이터 새로고침 중...",
|
||||
"metadataRefreshStarted": "\"${title}\" 메타데이터 새로고침 시작됨",
|
||||
"metadataRefreshFailed": "메타데이터 새로고침 실패: ${error}",
|
||||
"logoutConfirm": "로그아웃 하시겠습니까?",
|
||||
"logoutConfirm": "로그아웃하시겠습니까?",
|
||||
"noSeasonsFound": "시즌을 찾을 수 없음",
|
||||
"seasonsLoadFailed": "시즌을 불러오지 못했습니다",
|
||||
"noEpisodesFound": "시즌 1에서 에피소드를 찾을 수 없습니다",
|
||||
"noEpisodesFoundGeneral": "에피소드를 찾을 수 없습니다",
|
||||
"episodesLoadFailed": "에피소드를 불러오지 못했습니다",
|
||||
"noResultsFound": "결과를 찾을 수 없습니다",
|
||||
"sleepTimerSet": "수면 타이머가 ${label}로 설정 되었습니다",
|
||||
"sleepTimerSet": "취침 타이머가 ${label}(으)로 설정되었습니다",
|
||||
"noItemsAvailable": "사용 가능한 항목이 없습니다",
|
||||
"failedToCreatePlayQueueNoItems": "재생 대기열 생성 실패 - 항목 없음",
|
||||
"failedToCreatePlayQueueNoItems": "재생 대기열을 만들지 못했습니다 — 항목이 없습니다",
|
||||
"failedPlayback": "${action}을(를) 수행할 수 없습니다: ${error}",
|
||||
"switchingToCompatiblePlayer": "호환되는 플레이어로 전환 중...",
|
||||
"serverLimitTitle": "재생 실패",
|
||||
@@ -623,23 +623,23 @@
|
||||
"renderResolutionVideo": "영상 해상도"
|
||||
},
|
||||
"mpvConfig": {
|
||||
"title": "mpv 설정",
|
||||
"title": "mpv.conf",
|
||||
"description": "고급 비디오 플레이어 설정",
|
||||
"presets": "사전 설정",
|
||||
"noPresets": "저장된 사전 설정이 없습니다",
|
||||
"presets": "프리셋",
|
||||
"noPresets": "저장된 프리셋이 없습니다",
|
||||
"saveAsPreset": "프리셋으로 저장...",
|
||||
"presetName": "프리셋 이름",
|
||||
"presetNameHint": "이 프리셋의 이름을 입력하세요",
|
||||
"loadPreset": "로드",
|
||||
"loadPreset": "불러오기",
|
||||
"deletePreset": "삭제",
|
||||
"presetSaved": "프리셋이 저장 되었습니다",
|
||||
"presetLoaded": "프리셋이 로드 되었습니다",
|
||||
"presetDeleted": "프리셋이 삭제 되었습니다",
|
||||
"confirmDeletePreset": "이 프리셋을 삭제 하시겠습니까?",
|
||||
"presetSaved": "프리셋이 저장되었습니다",
|
||||
"presetLoaded": "프리셋을 불러왔습니다",
|
||||
"presetDeleted": "프리셋이 삭제되었습니다",
|
||||
"confirmDeletePreset": "이 프리셋을 삭제하시겠습니까?",
|
||||
"configPlaceholder": "gpu-api=vulkan\nhwdec=auto\n# comment"
|
||||
},
|
||||
"dialog": {
|
||||
"confirmAction": "확인"
|
||||
"confirmAction": "작업 확인"
|
||||
},
|
||||
"profiles": {
|
||||
"addPlezyProfile": "Plezy 프로필 추가",
|
||||
@@ -687,7 +687,7 @@
|
||||
"borrowExplain": "다른 프로필의 연결을 빌립니다. PIN으로 보호된 프로필에는 PIN이 필요합니다.",
|
||||
"borrowEmpty": "아직 빌릴 것이 없습니다.",
|
||||
"borrowEmptySubtitle": "먼저 다른 프로필에 Plex 또는 Jellyfin을 연결하세요.",
|
||||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||||
"borrowLoadFailed": "사용 가능한 연결을 불러오지 못했습니다. 다시 시도하세요.",
|
||||
"borrowFromProfile": "${displayName}에서",
|
||||
"borrowConnectionBorrowed": "연결을 빌렸습니다.",
|
||||
"borrowFailed": "연결을 빌리지 못했습니다.",
|
||||
@@ -708,14 +708,14 @@
|
||||
"addConnection": "연결 추가",
|
||||
"addConnectionSubtitleNoProfile": "Plex로 로그인하거나 Jellyfin 서버에 연결",
|
||||
"addConnectionSubtitleScoped": "${displayName}에 추가: Plex, Jellyfin 또는 다른 프로필 연결",
|
||||
"sessionExpiredOne": "${name} 의 세션이 만료되었습니다",
|
||||
"sessionExpiredMany": "${count} 개의 서버에서 세션이 만료되었습니다",
|
||||
"sessionExpiredOne": "${name}의 세션이 만료되었습니다",
|
||||
"sessionExpiredMany": "${count}개 서버의 세션이 만료되었습니다",
|
||||
"signInAgain": "다시 로그인",
|
||||
"editJellyfinTitle": "Jellyfin 연결 편집",
|
||||
"editJellyfinIntro": "${serverName}의 URL을 추가하거나 제거하세요. Plezy는 연결 가능한 URL 중 지연 시간이 가장 낮은 URL을 사용합니다."
|
||||
},
|
||||
"discover": {
|
||||
"title": "발견",
|
||||
"title": "둘러보기",
|
||||
"noContentAvailable": "사용 가능한 콘텐츠가 없습니다",
|
||||
"addMediaToLibraries": "미디어 라이브러리에 미디어를 추가해 주세요",
|
||||
"continueWatching": "계속 시청",
|
||||
@@ -774,15 +774,15 @@
|
||||
"resetFilters": "필터 초기화",
|
||||
"all": "전체",
|
||||
"clearAll": "모두 삭제",
|
||||
"scanLibraryConfirm": "「${title}」를 스캔 하시겠습니까?",
|
||||
"analyzeLibraryConfirm": "「${title}」를 분석 하시겠습니까?",
|
||||
"refreshMetadataConfirm": "「${title}」의 메타데이터를 새로고침 하시겠습니까?",
|
||||
"scanLibraryConfirm": "「${title}」을(를) 스캔하시겠습니까?",
|
||||
"analyzeLibraryConfirm": "「${title}」을(를) 분석하시겠습니까?",
|
||||
"refreshMetadataConfirm": "「${title}」의 메타데이터를 새로고침하시겠습니까?",
|
||||
"emptyTrashConfirm": "${title}의 휴지통을 비우시겠습니까?",
|
||||
"manageLibraries": "미디어 라이브러리 관리",
|
||||
"sort": "정렬",
|
||||
"sortBy": "정렬 기준",
|
||||
"filters": "필터",
|
||||
"confirmActionMessage": "이 작업을 실행 하시겠습니까?",
|
||||
"confirmActionMessage": "이 작업을 실행하시겠습니까?",
|
||||
"showLibrary": "미디어 라이브러리 표시",
|
||||
"hideLibrary": "미디어 라이브러리 숨기기",
|
||||
"libraryOptions": "미디어 라이브러리 옵션",
|
||||
@@ -847,7 +847,7 @@
|
||||
"title": "소개",
|
||||
"openSourceLicenses": "오픈소스 라이선스",
|
||||
"versionLabel": "버전 ${version}",
|
||||
"appDescription": "아름다운 Flutter용 Plex 및 Jellyfin 클라이언트",
|
||||
"appDescription": "Flutter로 만든 아름다운 Plex 및 Jellyfin 클라이언트",
|
||||
"viewLicensesDescription": "타사 라이브러리 라이선스 보기"
|
||||
},
|
||||
"serverSelection": {
|
||||
@@ -870,7 +870,7 @@
|
||||
"relatedPackages": "관련 소프트웨어 패키지",
|
||||
"license": "라이선스",
|
||||
"licenseNumber": "라이선스 ${number}",
|
||||
"licensesCount": "${count} 개의 라이선스"
|
||||
"licensesCount": "${count}개의 라이선스"
|
||||
},
|
||||
"navigation": {
|
||||
"libraries": "미디어 라이브러리",
|
||||
@@ -951,7 +951,7 @@
|
||||
"favorites": "즐겨찾기",
|
||||
"reorderFavorites": "즐겨찾기 순서 변경",
|
||||
"favoritesLoadFailed": "즐겨찾기를 불러올 수 없습니다. 연결을 확인하고 다시 시도하세요.",
|
||||
"favoritesUpdateFailed": "Could not update favorites. Check your connection and try again.",
|
||||
"favoritesUpdateFailed": "즐겨찾기를 업데이트할 수 없습니다. 연결을 확인하고 다시 시도하세요.",
|
||||
"joinSession": "진행 중인 세션 참여",
|
||||
"watchFromStart": "처음부터 시청 (${minutes}분 전 시작)",
|
||||
"watchLive": "실시간 시청",
|
||||
@@ -1006,7 +1006,7 @@
|
||||
"errorAddingToCollection": "컬렉션에 추가 실패",
|
||||
"created": "컬렉션 생성됨",
|
||||
"removeFromCollection": "컬렉션에서 제거",
|
||||
"removeFromCollectionConfirm": "${title}을/를 이 컬렉션에서 제거 하시겠습니까?",
|
||||
"removeFromCollectionConfirm": "${title}을(를) 이 컬렉션에서 제거하시겠습니까?",
|
||||
"removedFromCollection": "컬렉션에서 제거됨",
|
||||
"removeFromCollectionFailed": "컬렉션에서 제거 실패",
|
||||
"removeFromCollectionError": "컬렉션에서 제거 중 오류 발생: ${error}",
|
||||
@@ -1025,11 +1025,11 @@
|
||||
"itemCount": "${count}개 항목",
|
||||
"oneItem": "1개 항목",
|
||||
"emptyPlaylist": "이 재생 목록은 비어 있습니다",
|
||||
"deleteConfirm": "재생 목록을 삭제 하시겠습니까?",
|
||||
"deleteMessage": "\"${name}\"을(를) 삭제 하시겠습니까?",
|
||||
"created": "재생 목록이 생성 되었습니다",
|
||||
"deleted": "재생 목록이 삭제 되었습니다",
|
||||
"itemAdded": "재생 목록에 추가 되었습니다",
|
||||
"deleteConfirm": "재생 목록을 삭제하시겠습니까?",
|
||||
"deleteMessage": "\"${name}\"을(를) 삭제하시겠습니까?",
|
||||
"created": "재생 목록이 생성되었습니다",
|
||||
"deleted": "재생 목록이 삭제되었습니다",
|
||||
"itemAdded": "재생 목록에 추가되었습니다",
|
||||
"itemRemoved": "재생 목록에서 제거됨",
|
||||
"selectPlaylist": "재생 목록 선택",
|
||||
"searchPlaylists": "재생 목록 검색...",
|
||||
@@ -1077,7 +1077,7 @@
|
||||
"controlModeQuestion": "누가 재생을 제어할 수 있나요?",
|
||||
"hostOnly": "호스트만",
|
||||
"anyone": "누구나",
|
||||
"hostingSession": "세션 호스팅",
|
||||
"hostingSession": "세션 호스팅 중",
|
||||
"inSession": "세션 중",
|
||||
"sessionCode": "세션 코드",
|
||||
"openSessionControls": "함께 보기 세션 제어 열기",
|
||||
@@ -1089,18 +1089,18 @@
|
||||
"participants": "참가자",
|
||||
"host": "호스트",
|
||||
"hostBadge": "호스트",
|
||||
"youAreHost": "당신은 호스트 입니다",
|
||||
"youAreHost": "호스트입니다",
|
||||
"watchingWithOthers": "다른 사람과 함께 시청 중",
|
||||
"endSession": "세션 종료",
|
||||
"leaveSession": "세션 탈퇴",
|
||||
"endSessionQuestion": "세션을 종료 하시겠습니까?",
|
||||
"leaveSessionQuestion": "세션을 탈퇴 하시겠습니까?",
|
||||
"endSessionConfirm": "이 작업은 모든 참가자의 세션을 종료합니다.",
|
||||
"leaveSessionConfirm": "당신은 세션에서 제거됩니다.",
|
||||
"endSessionConfirmOverlay": "이것은 모든 참가자의 시청 세션을 종료합니다.",
|
||||
"leaveSessionConfirmOverlay": "시청 세션 연결이 끊어집니다.",
|
||||
"leaveSession": "세션 나가기",
|
||||
"endSessionQuestion": "세션을 종료하시겠습니까?",
|
||||
"leaveSessionQuestion": "세션에서 나가시겠습니까?",
|
||||
"endSessionConfirm": "모든 참가자의 세션이 종료됩니다.",
|
||||
"leaveSessionConfirm": "세션에서 나가게 됩니다.",
|
||||
"endSessionConfirmOverlay": "모든 참가자의 함께 보기 세션이 종료됩니다.",
|
||||
"leaveSessionConfirmOverlay": "함께 보기 세션의 연결이 끊어집니다.",
|
||||
"end": "종료",
|
||||
"leave": "이탈",
|
||||
"leave": "나가기",
|
||||
"syncing": "동기화 중...",
|
||||
"joinWatchSession": "시청 세션에 참여",
|
||||
"enterCodeHint": "5자리 코드 입력",
|
||||
@@ -1111,23 +1111,23 @@
|
||||
"failedToCreate": "세션 생성 실패",
|
||||
"failedToJoin": "세션 참여 실패",
|
||||
"sessionCodeCopied": "세션 코드가 클립보드에 복사되었습니다",
|
||||
"relayUnreachable": "릴레이 서버에 연결할 수 없습니다. ISP 차단으로 Watch Together가 작동하지 않을 수 있습니다.",
|
||||
"relayUnreachable": "릴레이 서버에 연결할 수 없습니다. ISP 차단으로 함께 보기를 사용하지 못할 수 있습니다.",
|
||||
"reconnectingToHost": "호스트에 재연결 중...",
|
||||
"currentPlayback": "현재 재생",
|
||||
"joinCurrentPlayback": "현재 재생 참여",
|
||||
"joinCurrentPlaybackDescription": "호스트가 현재 보고 있는 항목으로 돌아갑니다",
|
||||
"joinCurrentPlaybackDescription": "호스트가 현재 시청 중인 콘텐츠로 이동합니다",
|
||||
"failedToOpenCurrentPlayback": "현재 재생을 열 수 없습니다",
|
||||
"participantJoined": "${name}님이 참여했습니다",
|
||||
"participantLeft": "${name}님이 나갔습니다",
|
||||
"participantPaused": "${name}님이 일시정지했습니다",
|
||||
"participantResumed": "${name}님이 재생했습니다",
|
||||
"participantSeeked": "${name}님이 탐색했습니다",
|
||||
"participantSeeked": "${name}님이 재생 위치를 변경했습니다",
|
||||
"participantBuffering": "${name}님이 버퍼링 중입니다",
|
||||
"participantNeedsUpdate": "${name}님이 이전 버전의 앱을 사용 중입니다 — 동기화를 사용할 수 없습니다",
|
||||
"resumingWithout": "${name}님 없이 재생을 재개합니다",
|
||||
"waitingForParticipants": "다른 참가자의 로딩을 기다리는 중...",
|
||||
"waitingForName": "${name}님을 기다리는 중...",
|
||||
"recentRooms": "최근 방",
|
||||
"recentRooms": "최근 참여한 방",
|
||||
"renameRoom": "방 이름 변경",
|
||||
"removeRoom": "제거",
|
||||
"guestSwitchUnavailable": "전환할 수 없음 — 동기화 서버를 사용할 수 없습니다",
|
||||
@@ -1148,7 +1148,7 @@
|
||||
"downloadQueued": "다운로드 대기 중",
|
||||
"downloadResumed": "다운로드를 재개했습니다",
|
||||
"serverErrorBitrate": "서버 오류: 파일이 원격 비트레이트 제한을 초과할 수 있습니다",
|
||||
"episodesQueued": "${count} 에피소드가 다운로드 대기열에 추가 되었습니다",
|
||||
"episodesQueued": "에피소드 ${count}개가 다운로드 대기열에 추가되었습니다",
|
||||
"downloadDeleted": "다운로드 삭제됨",
|
||||
"deleteConfirm": "이 기기에서 \"${title}\"을(를) 삭제할까요?",
|
||||
"cancelledDownloadTitle": "취소된 다운로드",
|
||||
@@ -1242,7 +1242,7 @@
|
||||
"connecting": "연결 중...",
|
||||
"searchingForDevices": "기기 검색 중...",
|
||||
"noDevicesFound": "네트워크에서 기기를 찾을 수 없습니다",
|
||||
"noDevicesHint": "데스크톱에서 Plezy를 열고 같은 WiFi를 사용하세요",
|
||||
"noDevicesHint": "데스크톱에서 Plezy를 열고 같은 Wi-Fi를 사용하세요",
|
||||
"availableDevices": "사용 가능한 기기",
|
||||
"manualConnection": "수동 연결",
|
||||
"cryptoInitFailed": "보안 연결을 시작할 수 없습니다. 먼저 Plex에 로그인하세요.",
|
||||
@@ -1263,7 +1263,7 @@
|
||||
"tabMore": "더 보기",
|
||||
"menu": "메뉴",
|
||||
"tabNavigation": "탭 탐색",
|
||||
"tabDiscover": "발견",
|
||||
"tabDiscover": "둘러보기",
|
||||
"tabLibraries": "미디어 라이브러리",
|
||||
"tabSearch": "검색",
|
||||
"tabDownloads": "다운로드",
|
||||
@@ -1507,7 +1507,7 @@
|
||||
"title": "서비스",
|
||||
"hubSubtitle": "시청 진행률을 동기화하고 새 작품을 요청하세요.",
|
||||
"notConnected": "연결되지 않음",
|
||||
"connectedAs": "@${username} 로 연결됨",
|
||||
"connectedAs": "@${username}(으)로 연결됨",
|
||||
"scrobble": "진행률 자동 추적",
|
||||
"scrobbleDescription": "에피소드나 영화를 시청하면 목록을 업데이트합니다.",
|
||||
"disconnectConfirm": "${service} 연결을 해제하시겠습니까?",
|
||||
|
||||
+132
-132
@@ -6,7 +6,7 @@
|
||||
"signInWithPlex": "Logg inn med Plex",
|
||||
"showQRCode": "Vis QR-kode",
|
||||
"authenticate": "Autentiser",
|
||||
"authenticationTimeout": "Autentiseringen ble tidsavbrutt. Prøv igjen.",
|
||||
"authenticationTimeout": "Autentiseringen tok for lang tid. Prøv igjen.",
|
||||
"scanQRToSignIn": "Skann denne QR-koden for å logge inn",
|
||||
"waitingForAuth": "Venter på autentisering...\nLogg inn fra nettleseren.",
|
||||
"useBrowser": "Bruk nettleser",
|
||||
@@ -17,7 +17,7 @@
|
||||
"quickConnectWaiting": "Venter på godkjenning…",
|
||||
"quickConnectCancel": "Avbryt",
|
||||
"quickConnectExpired": "Quick Connect er utløpt. Prøv igjen.",
|
||||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||||
"localDataRecoveryRequired": "Plezy kunne ikke gjenopprette lokale innloggingsdata og ventende avspillingsdata på en sikker måte. Logg inn på nytt."
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Avbryt",
|
||||
@@ -64,7 +64,7 @@
|
||||
"loading": "Laster...",
|
||||
"fullscreen": "Fullskjerm",
|
||||
"exitFullscreen": "Avslutt fullskjerm",
|
||||
"pressBackAgainToExit": "Trykk tilbake igjen for å avslutte"
|
||||
"pressBackAgainToExit": "Trykk på Tilbake en gang til for å avslutte"
|
||||
},
|
||||
"screens": {
|
||||
"licenses": "Lisenser",
|
||||
@@ -90,13 +90,13 @@
|
||||
"theme": "Tema",
|
||||
"appearance": "Utseende",
|
||||
"videoPlayback": "Videoavspilling",
|
||||
"videoPlaybackDescription": "Konfigurer avspillingsatferd",
|
||||
"videoPlaybackDescription": "Tilpass avspillingen",
|
||||
"advanced": "Avansert",
|
||||
"episodePosterMode": "Episodeplakatstil",
|
||||
"episodePosterMode": "Type episodeplakat",
|
||||
"seriesPoster": "Serieplakat",
|
||||
"seasonPoster": "Sesongplakat",
|
||||
"episodeThumbnail": "Miniatyrbilde",
|
||||
"showHeroSectionDescription": "Vis fremhevet innholdskarusell på hjemmeskjermen",
|
||||
"showHeroSectionDescription": "Vis en karusell med fremhevet innhold på startskjermen",
|
||||
"secondsLabel": "Sekunder",
|
||||
"minutesLabel": "Minutter",
|
||||
"secondsShort": "s",
|
||||
@@ -106,16 +106,16 @@
|
||||
"lightTheme": "Lyst",
|
||||
"darkTheme": "Mørkt",
|
||||
"oledTheme": "OLED",
|
||||
"libraryDensity": "Bibliotekets tetthet",
|
||||
"libraryDensity": "Innholdstetthet i biblioteket",
|
||||
"compact": "Kompakt",
|
||||
"comfortable": "Komfortabel",
|
||||
"tvCornerSpotlightBackdrop": "",
|
||||
"tvCornerSpotlightBackdropDescription": "",
|
||||
"tvCornerSpotlightBackdrop": "Fremhevet bakgrunn i hjørnet",
|
||||
"tvCornerSpotlightBackdropDescription": "Vis fremhevet grafikk øverst til høyre i stedet for å fylle skjermen",
|
||||
"viewMode": "Visningsmodus",
|
||||
"gridView": "Rutenett",
|
||||
"listView": "Liste",
|
||||
"showHeroSection": "Vis fremhevet seksjon",
|
||||
"continueWatchingAction": "Handling for Fortsett å se",
|
||||
"continueWatchingAction": "Handling for «Fortsett å se»",
|
||||
"continueWatchingPlay": "Spill av",
|
||||
"continueWatchingDetails": "Åpne detaljer",
|
||||
"episodeAction": "Handling for episoder",
|
||||
@@ -135,8 +135,8 @@
|
||||
"showEpisodeNumberOnCardsDescription": "Vis sesong- og episodenummer på episodekort",
|
||||
"showSeasonPostersOnTabs": "Vis sesongplakater på faner",
|
||||
"showSeasonPostersOnTabsDescription": "Vis hver sesongs plakat over fanen",
|
||||
"tvFullCardLayout": "Fulle TV-kort",
|
||||
"tvFullCardLayoutDescription": "Bruk bildebaserte TV-kort med skuespillernavn lagt over",
|
||||
"tvFullCardLayout": "Heldekkende TV-kort",
|
||||
"tvFullCardLayoutDescription": "Bruk TV-kort med bare bilder og skuespillernavn lagt over",
|
||||
"focusGlow": "Fokusglød",
|
||||
"focusGlowDescription": "Vis en myk glød rundt kortet i fokus",
|
||||
"visualEffects": "Visuelle effekter",
|
||||
@@ -147,15 +147,15 @@
|
||||
"visualEffectsReducedDescription": "Færre animasjoner og grafikk med lavere oppløsning",
|
||||
"hideSpoilers": "Skjul spoilere for usette episoder",
|
||||
"hideSpoilersDescription": "Slør miniatyrbilder og beskrivelser for usette episoder",
|
||||
"playerBackend": "Spillermotor",
|
||||
"playerBackend": "Avspillingsmotor",
|
||||
"exoPlayer": "ExoPlayer",
|
||||
"mpv": "mpv",
|
||||
"hardwareDecoding": "Maskinvaredekoding",
|
||||
"hardwareDecodingDescription": "Bruk maskinvareakselerasjon når tilgjengelig",
|
||||
"bufferSize": "Bufferstørrelse",
|
||||
"bufferSizeMB": "${size}MB",
|
||||
"bufferSizeAuto": "Auto (Anbefalt)",
|
||||
"bufferSizeWarning": "${heap}MB minne tilgjengelig. En buffer på ${size}MB kan påvirke avspilling.",
|
||||
"bufferSizeMB": "${size} MB",
|
||||
"bufferSizeAuto": "Automatisk (anbefalt)",
|
||||
"bufferSizeWarning": "${heap} MB minne tilgjengelig. En buffer på ${size} MB kan påvirke avspillingen.",
|
||||
"defaultQualityTitle": "Standardkvalitet",
|
||||
"musicQualityTitle": "Musikkvalitet",
|
||||
"subtitleStyling": "Undertekststil",
|
||||
@@ -164,7 +164,7 @@
|
||||
"largeSkipDuration": "Lang hoppvarighet",
|
||||
"rewindOnResume": "Spol tilbake ved gjenopptakelse",
|
||||
"secondsUnit": "${seconds} sekunder",
|
||||
"defaultSleepTimer": "Standard søvntimer",
|
||||
"defaultSleepTimer": "Standard innsovningstimer",
|
||||
"minutesUnit": "${minutes} minutter",
|
||||
"rememberTrackSelections": "Husk sporvalg per serie/film",
|
||||
"rememberTrackSelectionsDescription": "Husk lyd- og undertekstvalg per tittel",
|
||||
@@ -177,10 +177,10 @@
|
||||
"keyboardShortcutsDescription": "Tilpass tastatursnarveier",
|
||||
"videoPlayerNavigation": "Videospillernavigering",
|
||||
"videoPlayerNavigationDescription": "Bruk piltaster for å navigere videospillerkontroller",
|
||||
"watchTogetherRelay": "Se Sammen-relay",
|
||||
"watchTogetherRelayDescription": "Angi en egendefinert relay. Alle må bruke samme server.",
|
||||
"watchTogetherRelay": "Reléserver for Se sammen",
|
||||
"watchTogetherRelayDescription": "Angi en egendefinert reléserver. Alle må bruke samme server.",
|
||||
"watchTogetherRelayHint": "https://min-relay.eksempel.no",
|
||||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||||
"watchTogetherRelayInvalid": "Angi en gyldig HTTP- eller HTTPS-adresse til reléserveren.",
|
||||
"crashReporting": "Krasjrapportering",
|
||||
"crashReportingDescription": "Send krasjrapporter for å hjelpe med å forbedre appen",
|
||||
"debugLogging": "Feilsøkingslogging",
|
||||
@@ -215,7 +215,7 @@
|
||||
"validationErrorDuration": "Varigheten må være mellom ${min} og ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Snarvei allerede tilordnet til ${action}",
|
||||
"shortcutUpdated": "Snarvei oppdatert for ${action}",
|
||||
"saveFailed": "Could not save changes. Try again.",
|
||||
"saveFailed": "Kunne ikke lagre endringene. Prøv igjen.",
|
||||
"autoSkip": "Automatisk hopp",
|
||||
"autoSkipIntro": "Hopp over intro automatisk",
|
||||
"autoSkipIntroDescription": "Hopp automatisk over intromarkører etter noen sekunder",
|
||||
@@ -242,37 +242,37 @@
|
||||
"downloadLocationReset": "Nedlastingsplassering tilbakestilt til standard",
|
||||
"downloadLocationInvalid": "Valgt mappe er ikke skrivbar",
|
||||
"downloadLocationPickerUnavailable": "Mappevalg er ikke tilgjengelig på denne enheten",
|
||||
"downloadOnWifiOnly": "Last ned kun på WiFi",
|
||||
"downloadOnWifiOnlyDescription": "Forhindre nedlastinger på mobildata",
|
||||
"autoRemoveWatchedDownloads": "Fjern sette nedlastinger automatisk",
|
||||
"autoRemoveWatchedDownloadsDescription": "Slett sette nedlastinger automatisk",
|
||||
"cellularDownloadBlocked": "Nedlastinger er blokkert på mobilnett. Bruk WiFi eller endre innstillingen.",
|
||||
"maxVolume": "Maks volum",
|
||||
"maxVolumeDescription": "Tillat volumforsterkning over 100% for stille media",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
"downloadOnWifiOnly": "Last bare ned via Wi-Fi",
|
||||
"downloadOnWifiOnlyDescription": "Forhindre nedlasting via mobildata",
|
||||
"autoRemoveWatchedDownloads": "Fjern avspilte nedlastinger automatisk",
|
||||
"autoRemoveWatchedDownloadsDescription": "Slett avspilte nedlastinger automatisk",
|
||||
"cellularDownloadBlocked": "Nedlastinger er blokkert på mobilnett. Bruk Wi-Fi eller endre innstillingen.",
|
||||
"maxVolume": "Maksvolum",
|
||||
"maxVolumeDescription": "Tillat volumforsterkning over 100 % for medier med lavt lydnivå",
|
||||
"maxVolumePercent": "${percent} %",
|
||||
"discordRichPresence": "Discord Rich Presence",
|
||||
"discordRichPresenceDescription": "Vis hva du ser på Discord",
|
||||
"services": "Tjenester",
|
||||
"servicesDescription": "Koble til Trakt, MyAnimeList, Seerr og mer",
|
||||
"manageLibrariesDescription": "Omorganiser og skjul biblioteker",
|
||||
"companionRemoteServer": "Companion Remote-server",
|
||||
"companionRemoteServerDescription": "Tillat mobilenheter på nettverket ditt å styre denne appen",
|
||||
"autoPip": "Auto bilde-i-bilde",
|
||||
"autoPipDescription": "Gå til bilde-i-bilde når du forlater under avspilling",
|
||||
"companionRemoteServer": "Fjernkontrollserver",
|
||||
"companionRemoteServerDescription": "La mobilenheter på nettverket styre denne appen",
|
||||
"autoPip": "Automatisk bilde-i-bilde",
|
||||
"autoPipDescription": "Åpne bilde-i-bilde når du forlater appen under avspilling",
|
||||
"matchContentFrameRate": "Tilpass innholdets bildefrekvens",
|
||||
"matchContentFrameRateDescription": "Tilpass skjermens oppdateringsfrekvens til videoinnhold",
|
||||
"matchRefreshRate": "Tilpass oppdateringsfrekvens",
|
||||
"matchRefreshRateDescription": "Tilpass skjermens oppdateringsfrekvens i fullskjerm",
|
||||
"matchDynamicRange": "Tilpass dynamisk område",
|
||||
"matchDynamicRange": "Tilpass dynamikkområde",
|
||||
"matchDynamicRangeDescription": "Slå på HDR for HDR-innhold, og deretter tilbake til SDR",
|
||||
"displaySwitchDelay": "Forsinkelse ved skjermbytte",
|
||||
"tunneledPlayback": "Tunnelert avspilling",
|
||||
"tunneledPlaybackDescription": "Bruk videotunneling. Slå av hvis HDR-avspilling viser svart video.",
|
||||
"audioPassthrough": "Lydgjennomgang",
|
||||
"audioPassthrough": "Direkte lydutgang",
|
||||
"audioPassthroughDescription": "Send Dolby/DTS-lyd til mottakeren eller TV-en uten omkoding, slik at surroundlyd bevares. Slå av hvis du ikke har lyd.",
|
||||
"audioPassthroughDescriptionAppleTv": "Overlater Dolby Digital Plus (inkl. Atmos) til systemet som bitstream. DTS og TrueHD spilles fortsatt av som flerkanals PCM. Korte lydbrudd kan forekomme ved søking.",
|
||||
"audioPassthroughDescriptionAppleTv": "Bruk Apples innebygde Dolby-dekoder for Dolby Digital Plus, inkludert Atmos. DTS og TrueHD spilles fortsatt av som flerkanals PCM. Slå av hvis du ikke har lyd.",
|
||||
"audioDownmix": "Nedmiks til stereo",
|
||||
"audioDownmixDescription": "Mikser surroundlyd ned til to kanaler for stereohøyttalere eller hodetelefoner",
|
||||
"audioDownmixDescription": "Miks surroundlyd ned til to kanaler for stereohøyttalere eller hodetelefoner",
|
||||
"downmixCenterBoost": "Forsterkning av senterkanal",
|
||||
"downmixCenterBoostValue": "${db} dB",
|
||||
"downmixCenterBoostLabel": "Forsterkning (dB)",
|
||||
@@ -282,7 +282,7 @@
|
||||
"atmosDiagnostics": "Atmos-utgangstest",
|
||||
"atmosDiagnosticsDescription": "Diagnostiser Dolby Atmos-utgangen ved å spille testsignaler gjennom systemspilleren",
|
||||
"atmosTestHlsAtmos": "Apple Atmos-strøm",
|
||||
"atmosTestHlsAtmosDescription": "Kjent god Dolby Atmos-strøm. Mottakeren bør vise Dolby Atmos.",
|
||||
"atmosTestHlsAtmosDescription": "Verifisert Dolby Atmos-strøm. Mottakeren bør vise Dolby Atmos.",
|
||||
"atmosTestHlsControl": "Apple surround-strøm",
|
||||
"atmosTestHlsControlDescription": "Kontrollstrøm uten Atmos. Mottakeren bør vise surround uten Atmos.",
|
||||
"atmosTestRawStream": "Rå EAC3-strøm",
|
||||
@@ -295,15 +295,15 @@
|
||||
"atmosTestUrlMissing": "Angi testfilens URL først",
|
||||
"atmosTestStatus": "Status",
|
||||
"dvConversionMode": "Dolby Vision-konvertering",
|
||||
"dvConversionModeDescription": "Velg hvordan ExoPlayer håndterer Dolby Vision Profile 7-filer.",
|
||||
"dvConversionAuto": "Auto",
|
||||
"dvConversionNative": "Innebygd / deaktivert",
|
||||
"dvConversionModeDescription": "Velg hvordan ExoPlayer håndterer filer med Dolby Vision-profil 7.",
|
||||
"dvConversionAuto": "Automatisk",
|
||||
"dvConversionNative": "Nativ / 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",
|
||||
"dvConversionAutoDescription": "Oppdag enhetens egenskaper og bruk vanlig reserveoppførsel",
|
||||
"dvConversionNativeDescription": "Tving opprinnelig DV7-avspilling og ikke prøv DV-konvertering på nytt",
|
||||
"dvConversionDv81Description": "Tving direkte RPU-konvertering til Dolby Vision-profil 8.1",
|
||||
"dvConversionHevcStripDescription": "Fjern Dolby Vision RPU/EL-lag og lever som vanlig HEVC",
|
||||
"requireProfileSelectionOnOpen": "Spør om profil ved appåpning",
|
||||
"requireProfileSelectionOnOpenDescription": "Vis profilvalg hver gang appen åpnes",
|
||||
"forceTvMode": "Tving TV-modus",
|
||||
@@ -313,12 +313,12 @@
|
||||
"exitFullscreenOnPlayerClose": "Avslutt fullskjerm ved lukking av avspiller",
|
||||
"exitFullscreenOnPlayerCloseDescription": "Avslutt fullskjerm automatisk når videospilleren lukkes",
|
||||
"autoHidePerformanceOverlay": "Skjul ytelsesoverlegg automatisk",
|
||||
"autoHidePerformanceOverlayDescription": "Fade ytelsesoverlegget med avspillingskontrollene",
|
||||
"showNavBarLabels": "Vis navigasjonsfeltlabeler",
|
||||
"showNavBarLabelsDescription": "Vis tekstlabeler under navigasjonsfeltikoner",
|
||||
"startupSection": "Oppstartsseksjon",
|
||||
"liveTvDefaultFavorites": "Standard til favorittkanaler",
|
||||
"liveTvDefaultFavoritesDescription": "Vis kun favorittkanaler når du åpner Live TV",
|
||||
"autoHidePerformanceOverlayDescription": "Ton ytelsesoverlegget ut sammen med avspillingskontrollene",
|
||||
"showNavBarLabels": "Vis etiketter i navigasjonsfeltet",
|
||||
"showNavBarLabelsDescription": "Vis tekstetiketter under ikonene i navigasjonsfeltet",
|
||||
"startupSection": "Startseksjon",
|
||||
"liveTvDefaultFavorites": "Vis favorittkanaler som standard",
|
||||
"liveTvDefaultFavoritesDescription": "Vis bare favorittkanaler når du åpner Direkte-TV",
|
||||
"display": "Skjerm",
|
||||
"homeScreen": "Hjemmeskjerm",
|
||||
"navigation": "Navigering",
|
||||
@@ -326,8 +326,8 @@
|
||||
"content": "Innhold",
|
||||
"player": "Spiller",
|
||||
"subtitlesAndConfig": "Undertekster og konfigurasjon",
|
||||
"seekAndTiming": "Søk og tidtaking",
|
||||
"behavior": "Atferd"
|
||||
"seekAndTiming": "Spoling og tidsinnstillinger",
|
||||
"behavior": "Oppførsel"
|
||||
},
|
||||
"search": {
|
||||
"hint": "Søk i filmer, serier, musikk...",
|
||||
@@ -348,9 +348,9 @@
|
||||
"volumeDown": "Volum ned",
|
||||
"seekForward": "Spol fremover (${seconds}s)",
|
||||
"seekBackward": "Spol bakover (${seconds}s)",
|
||||
"fullscreenToggle": "Veksle fullskjerm",
|
||||
"muteToggle": "Veksle demping",
|
||||
"subtitleToggle": "Veksle undertekster",
|
||||
"fullscreenToggle": "Slå fullskjerm av/på",
|
||||
"muteToggle": "Slå lyddemping av/på",
|
||||
"subtitleToggle": "Slå undertekster av/på",
|
||||
"audioTrackNext": "Neste lydspor",
|
||||
"subtitleTrackNext": "Neste undertekstspor",
|
||||
"chapterNext": "Neste kapittel",
|
||||
@@ -365,7 +365,7 @@
|
||||
"zoomReset": "Tilbakestill zoom",
|
||||
"subSeekNext": "Spol til neste undertekst",
|
||||
"subSeekPrev": "Spol til forrige undertekst",
|
||||
"shaderToggle": "Veksle shadere",
|
||||
"shaderToggle": "Slå shadere av/på",
|
||||
"skipMarker": "Hopp over intro/rulletekst",
|
||||
"screenshot": "Ta skjermbilde"
|
||||
}
|
||||
@@ -392,7 +392,7 @@
|
||||
"overallBitrate": "Total bitrate",
|
||||
"path": "Sti",
|
||||
"size": "Størrelse",
|
||||
"container": "Beholder",
|
||||
"container": "Format",
|
||||
"duration": "Varighet",
|
||||
"optimizedForStreaming": "Optimalisert for strømming",
|
||||
"has64bitOffsets": "64-biters forskyvninger"
|
||||
@@ -404,7 +404,7 @@
|
||||
"viewDetails": "Vis detaljer",
|
||||
"goToSeries": "Gå til serie",
|
||||
"shufflePlay": "Tilfeldig avspilling",
|
||||
"shuffleNotAvailableOffline": "Tilfeldig avspilling er ikke tilgjengelig offline",
|
||||
"shuffleNotAvailableOffline": "Tilfeldig avspilling er ikke tilgjengelig uten nett",
|
||||
"fileInfo": "Filinformasjon",
|
||||
"deleteFromServer": "Slett fra server",
|
||||
"confirmDelete": "Slette dette mediet og filene fra serveren?",
|
||||
@@ -444,7 +444,7 @@
|
||||
"expandText": "Utvid tekst",
|
||||
"collapseText": "Fold sammen tekst",
|
||||
"alphabetNavigation": "Alfabetisk navigasjon",
|
||||
"alphabetScrollHint": "Sveip opp eller ned for å flytte én bokstav",
|
||||
"alphabetScrollHint": "Sveip opp eller ned for å gå én bokstav om gangen",
|
||||
"rowColumnPosition": "Rad ${row} av ${rowCount}, kolonne ${column} av ${columnCount}",
|
||||
"rowPosition": "Rad ${row} av ${rowCount}"
|
||||
},
|
||||
@@ -472,7 +472,7 @@
|
||||
"lockRotation": "Lås rotasjon",
|
||||
"unlockRotation": "Lås opp rotasjon",
|
||||
"timerActive": "Timer aktiv",
|
||||
"playbackWillPauseIn": "Avspilling vil pause om ${duration}",
|
||||
"playbackWillPauseIn": "Avspillingen settes på pause om ${duration}",
|
||||
"sleepTimerEndOfVideo": "Slutten av gjeldende video",
|
||||
"sleepTimerStopAtHeader": "Stopp ved",
|
||||
"sleepTimerDurationHeader": "Timer",
|
||||
@@ -480,12 +480,12 @@
|
||||
"stillWatching": "Ser du fortsatt?",
|
||||
"pausingIn": "Pauser om ${seconds}s",
|
||||
"continueWatching": "Fortsett",
|
||||
"autoPlayNext": "Spill neste automatisk",
|
||||
"autoPlayNext": "Spill av neste automatisk",
|
||||
"playNext": "Spill neste",
|
||||
"playButton": "Spill av",
|
||||
"pauseButton": "Pause",
|
||||
"showPlaybackControls": "",
|
||||
"hidePlaybackControls": "",
|
||||
"showPlaybackControls": "Vis avspillingskontroller",
|
||||
"hidePlaybackControls": "Skjul avspillingskontroller",
|
||||
"seekBackwardButton": "Spol tilbake ${seconds} sekunder",
|
||||
"seekForwardButton": "Spol fremover ${seconds} sekunder",
|
||||
"previousButton": "Forrige episode",
|
||||
@@ -513,14 +513,14 @@
|
||||
"rotationLockButton": "Rotasjonslås",
|
||||
"lockScreen": "Lås skjerm",
|
||||
"screenLockButton": "Skjermlås",
|
||||
"longPressToUnlock": "Langt trykk for å låse opp",
|
||||
"longPressToUnlock": "Trykk og hold for å låse opp",
|
||||
"timelineSlider": "Videotidslinje",
|
||||
"volumeSlider": "Volumnivå",
|
||||
"endsAt": "Slutter kl. ${time}",
|
||||
"pipActive": "Spiller i bilde-i-bilde",
|
||||
"pipFailed": "Bilde-i-bilde kunne ikke starte",
|
||||
"screenshotSaved": "Skjermbilde lagret",
|
||||
"zoomPercent": "Zoom ${percent}%",
|
||||
"zoomPercent": "Zoom ${percent} %",
|
||||
"pipErrors": {
|
||||
"androidVersion": "Krever Android 8.0 eller nyere",
|
||||
"iosVersion": "Krever iOS 15.0 eller nyere",
|
||||
@@ -553,19 +553,19 @@
|
||||
"markedAsUnwatchedOffline": "Merket som usett (synkroniseres når tilkoblet)",
|
||||
"autoRemovedWatchedDownload": "Automatisk fjernet: ${title}",
|
||||
"autoRemovedWatchedDownloads": {
|
||||
"one": "Fjernet automatisk ${n} sett nedlasting",
|
||||
"other": "Fjernet automatisk ${n} sette nedlastinger"
|
||||
"one": "Fjernet automatisk ${n} avspilt nedlasting",
|
||||
"other": "Fjernet automatisk ${n} avspilte nedlastinger"
|
||||
},
|
||||
"removedFromContinueWatching": "Fjernet fra Fortsett å se",
|
||||
"errorLoading": "Feil: ${error}",
|
||||
"streamInterrupted": "Avspillingen ble avbrutt. Trykk på Spill av eller spol for å prøve på nytt.",
|
||||
"liveStreamInterrupted": "Direktesendingen ble avbrutt. Trykk på Spill av for å prøve på nytt.",
|
||||
"fileInfoNotAvailable": "Filinformasjon ikke tilgjengelig",
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"playbackAuthenticationRequired": "Logg inn på medieserveren på nytt for å spille av dette elementet.",
|
||||
"playbackServerUnavailable": "Medieserveren er utilgjengelig. Prøv igjen senere.",
|
||||
"playbackDataInvalid": "Serveren returnerte ugyldig avspillingsinformasjon.",
|
||||
"playbackCancelled": "Avspillingen ble avbrutt.",
|
||||
"playbackFailed": "Kunne ikke starte avspillingen.",
|
||||
"errorLoadingFileInfo": "Feil ved lasting av filinformasjon: ${error}",
|
||||
"errorLoadingSeries": "Feil ved lasting av serie",
|
||||
"musicNotSupported": "Musikkavspilling støttes ikke ennå",
|
||||
@@ -589,7 +589,7 @@
|
||||
"noEpisodesFoundGeneral": "Ingen episoder funnet",
|
||||
"episodesLoadFailed": "Kunne ikke laste episoder",
|
||||
"noResultsFound": "Ingen resultater funnet",
|
||||
"sleepTimerSet": "Søvntimer satt til ${label}",
|
||||
"sleepTimerSet": "Innsovningstimer satt til ${label}",
|
||||
"noItemsAvailable": "Ingen elementer tilgjengelig",
|
||||
"failedToCreatePlayQueueNoItems": "Kunne ikke opprette avspillingskø – ingen elementer",
|
||||
"failedPlayback": "Kunne ikke ${action}: ${error}",
|
||||
@@ -688,7 +688,7 @@
|
||||
"borrowExplain": "Lån en annen profils tilkobling. PIN-beskyttede profiler krever PIN.",
|
||||
"borrowEmpty": "Ingenting å låne enda.",
|
||||
"borrowEmptySubtitle": "Koble Plex eller Jellyfin til en annen profil først.",
|
||||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||||
"borrowLoadFailed": "Kunne ikke laste inn tilgjengelige tilkoblinger. Prøv igjen.",
|
||||
"borrowFromProfile": "Fra ${displayName}",
|
||||
"borrowConnectionBorrowed": "Tilkobling lånt.",
|
||||
"borrowFailed": "Kunne ikke låne tilkoblingen.",
|
||||
@@ -717,7 +717,7 @@
|
||||
},
|
||||
"discover": {
|
||||
"title": "Oppdag",
|
||||
"noContentAvailable": "Ingen innhold tilgjengelig",
|
||||
"noContentAvailable": "Ikke noe innhold tilgjengelig",
|
||||
"addMediaToLibraries": "Legg til medier i bibliotekene dine",
|
||||
"continueWatching": "Fortsett å se",
|
||||
"continueWatchingIn": "Fortsett å se i ${library}",
|
||||
@@ -731,7 +731,7 @@
|
||||
"playEpisode": "S${season}E${episode}",
|
||||
"overview": "Oversikt",
|
||||
"cast": "Skuespillere",
|
||||
"extras": "Trailere og ekstra",
|
||||
"extras": "Trailere og ekstramateriale",
|
||||
"studio": "Studio",
|
||||
"rating": "Vurdering",
|
||||
"movie": "Film",
|
||||
@@ -823,7 +823,7 @@
|
||||
},
|
||||
"sortLabels": {
|
||||
"title": "Tittel",
|
||||
"dateAdded": "Lagt til-dato",
|
||||
"dateAdded": "Dato lagt til",
|
||||
"releaseDate": "Utgivelsesdato",
|
||||
"rating": "Vurdering",
|
||||
"communityRating": "Fellesskapsvurdering",
|
||||
@@ -846,7 +846,7 @@
|
||||
},
|
||||
"about": {
|
||||
"title": "Om",
|
||||
"openSourceLicenses": "Åpen kildekode-lisenser",
|
||||
"openSourceLicenses": "Lisenser for åpen kildekode",
|
||||
"versionLabel": "Versjon ${version}",
|
||||
"appDescription": "En vakker Plex- og Jellyfin-klient for Flutter",
|
||||
"viewLicensesDescription": "Vis lisenser for tredjepartsbiblioteker"
|
||||
@@ -886,15 +886,15 @@
|
||||
"watchlist": "Ønskeliste",
|
||||
"recommendedMovies": "Anbefalte filmer",
|
||||
"recommendedShows": "Anbefalte serier",
|
||||
"trendingMovies": "Trending filmer",
|
||||
"trendingShows": "Trending serier",
|
||||
"trendingMovies": "Populære filmer nå",
|
||||
"trendingShows": "Populære serier nå",
|
||||
"popularMovies": "Populære filmer",
|
||||
"popularShows": "Populære serier",
|
||||
"trendingAnime": "Anime som trender",
|
||||
"trendingAnime": "Populær anime nå",
|
||||
"suggestedAnime": "Foreslått anime",
|
||||
"airingAnime": "Topp pågående anime",
|
||||
"popularAnime": "Mest populære anime",
|
||||
"trending": "Trending",
|
||||
"popularAnime": "Mest populær anime",
|
||||
"trending": "Populært nå",
|
||||
"upcomingMovies": "Kommende filmer",
|
||||
"upcomingShows": "Kommende serier"
|
||||
},
|
||||
@@ -948,12 +948,12 @@
|
||||
"daytime": "Dagtid",
|
||||
"evening": "Kveld",
|
||||
"lateNight": "Sen kveld",
|
||||
"whatsOn": "Hva går nå",
|
||||
"whatsOn": "På TV nå",
|
||||
"watchChannel": "Se kanal",
|
||||
"favorites": "Favoritter",
|
||||
"reorderFavorites": "Endre rekkefølge på favoritter",
|
||||
"favoritesLoadFailed": "Kunne ikke laste inn favoritter. Kontroller tilkoblingen og prøv på nytt.",
|
||||
"favoritesUpdateFailed": "Could not update favorites. Check your connection and try again.",
|
||||
"favoritesUpdateFailed": "Kunne ikke oppdatere favorittene. Kontroller tilkoblingen og prøv på nytt.",
|
||||
"joinSession": "Bli med i pågående økt",
|
||||
"watchFromStart": "Se fra starten (${minutes} min siden)",
|
||||
"watchLive": "Se direkte",
|
||||
@@ -988,8 +988,8 @@
|
||||
"editRule": "Rediger regel",
|
||||
"editRuleAction": "Rediger",
|
||||
"recordingRuleUpdated": "Opptaksregel oppdatert",
|
||||
"guideReloadRequested": "Forespurte guide-oppdatering",
|
||||
"rulesProcessRequested": "Forespurte regelevaluering",
|
||||
"guideReloadRequested": "Oppdatering av programguiden er forespurt",
|
||||
"rulesProcessRequested": "Ny vurdering av reglene er forespurt",
|
||||
"recordShow": "Ta opp program"
|
||||
},
|
||||
"collections": {
|
||||
@@ -1114,7 +1114,7 @@
|
||||
"failedToCreate": "Kunne ikke opprette økt",
|
||||
"failedToJoin": "Kunne ikke bli med i økt",
|
||||
"sessionCodeCopied": "Øktkode kopiert til utklippstavle",
|
||||
"relayUnreachable": "Relay-serveren kan ikke nås. ISP-blokkering kan hindre Watch Together.",
|
||||
"relayUnreachable": "Reléserveren kan ikke nås. Blokkering hos internettleverandøren kan hindre Se sammen.",
|
||||
"reconnectingToHost": "Kobler til verten på nytt...",
|
||||
"currentPlayback": "Gjeldende avspilling",
|
||||
"joinCurrentPlayback": "Bli med i gjeldende avspilling",
|
||||
@@ -1122,13 +1122,13 @@
|
||||
"failedToOpenCurrentPlayback": "Kunne ikke åpne gjeldende avspilling",
|
||||
"participantJoined": "${name} ble med",
|
||||
"participantLeft": "${name} forlot",
|
||||
"participantPaused": "${name} pauset",
|
||||
"participantResumed": "${name} gjenopptok",
|
||||
"participantSeeked": "${name} spolet",
|
||||
"participantPaused": "${name} satte avspillingen på pause",
|
||||
"participantResumed": "${name} startet avspillingen igjen",
|
||||
"participantSeeked": "${name} endret avspillingsposisjonen",
|
||||
"participantBuffering": "${name} buffrer",
|
||||
"participantNeedsUpdate": "${name} bruker en eldre appversjon — synkronisering er ikke tilgjengelig",
|
||||
"resumingWithout": "Fortsetter uten ${name}",
|
||||
"waitingForParticipants": "Venter på at andre laster inn...",
|
||||
"waitingForParticipants": "Venter på at de andre skal laste inn...",
|
||||
"waitingForName": "Venter på ${name}...",
|
||||
"recentRooms": "Nylige rom",
|
||||
"renameRoom": "Gi nytt navn til rom",
|
||||
@@ -1223,7 +1223,7 @@
|
||||
"deleteShaderConfirm": "Slette \"${name}\"?"
|
||||
},
|
||||
"companionRemote": {
|
||||
"title": "Følgesvenn-fjernkontroll",
|
||||
"title": "Fjernkontroll",
|
||||
"connectedTo": "Tilkoblet ${name}",
|
||||
"unknownDevice": "Ukjent enhet",
|
||||
"session": {
|
||||
@@ -1232,7 +1232,7 @@
|
||||
"connected": "Tilkoblet",
|
||||
"serverRunning": "Fjernserver aktiv",
|
||||
"serverStopped": "Fjernserver stoppet",
|
||||
"serverRunningDescription": "Mobile enheter på nettverket ditt kan koble til denne appen",
|
||||
"serverRunningDescription": "Mobilenheter på nettverket ditt kan koble til denne appen",
|
||||
"serverStoppedDescription": "Start serveren for å la mobilenheter koble til",
|
||||
"usePhoneToControl": "Bruk mobilenheten din til å styre denne appen",
|
||||
"startServer": "Start server",
|
||||
@@ -1245,7 +1245,7 @@
|
||||
"connecting": "Kobler til...",
|
||||
"searchingForDevices": "Søker etter enheter...",
|
||||
"noDevicesFound": "Ingen enheter funnet på nettverket ditt",
|
||||
"noDevicesHint": "Åpne Plezy på desktop og bruk samme WiFi",
|
||||
"noDevicesHint": "Åpne Plezy på datamaskinen, og bruk samme Wi-Fi",
|
||||
"availableDevices": "Tilgjengelige enheter",
|
||||
"manualConnection": "Manuell tilkobling",
|
||||
"cryptoInitFailed": "Kunne ikke starte sikker tilkobling. Logg inn på Plex først.",
|
||||
@@ -1283,7 +1283,7 @@
|
||||
"fullscreen": "Fullskjerm",
|
||||
"subtitles": "Undertekster",
|
||||
"audio": "Lyd",
|
||||
"searchHint": "Søk på stasjonær..."
|
||||
"searchHint": "Søk på datamaskinen..."
|
||||
},
|
||||
"errors": {
|
||||
"noNetworkInterface": "Fant ingen nettverksgrensesnitt",
|
||||
@@ -1301,13 +1301,13 @@
|
||||
"normalSpeed": "Normal",
|
||||
"sleepTimerActive": "Aktiv (${duration})",
|
||||
"zoom": "Zoom",
|
||||
"sleepTimer": "Søvntimer",
|
||||
"sleepTimer": "Innsovningstimer",
|
||||
"audioSync": "Lydsynkronisering",
|
||||
"subtitleSync": "Undertekstsynkronisering",
|
||||
"hdr": "HDR",
|
||||
"audioOutput": "Lydutgang",
|
||||
"performanceOverlay": "Ytelsesoverlegg",
|
||||
"audioPassthrough": "Lydgjennomgang",
|
||||
"audioPassthrough": "Direkte lydutgang",
|
||||
"audioNormalization": "Normaliser lydstyrke",
|
||||
"audioDownmix": "Nedmiks til stereo"
|
||||
},
|
||||
@@ -1330,10 +1330,10 @@
|
||||
"matrix": "Matrise",
|
||||
"primaries": "Primærfarger",
|
||||
"transfer": "Overføring",
|
||||
"renderFps": "Render-FPS",
|
||||
"renderFps": "Gjengivelses-FPS",
|
||||
"displayFps": "Skjerm-FPS",
|
||||
"avSync": "A/V-synk",
|
||||
"dropped": "Droppet",
|
||||
"dropped": "Tapte",
|
||||
"dvRpus": "DV RPU-er",
|
||||
"dvRpuAverage": "DV RPU snitt",
|
||||
"dvSampleAverage": "DV-sample snitt",
|
||||
@@ -1341,8 +1341,8 @@
|
||||
"minLuma": "Min luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Cache brukt",
|
||||
"cacheLimit": "Cachegrense",
|
||||
"cacheUsed": "Brukt hurtigbuffer",
|
||||
"cacheLimit": "Grense for hurtigbuffer",
|
||||
"speed": "Hastighet",
|
||||
"player": "Spiller",
|
||||
"memory": "Minne",
|
||||
@@ -1369,14 +1369,14 @@
|
||||
"metadataEdit": {
|
||||
"editMetadata": "Rediger...",
|
||||
"screenTitle": "Rediger metadata",
|
||||
"basicInfo": "Grunnleggende info",
|
||||
"artwork": "Kunstverk",
|
||||
"basicInfo": "Grunnleggende informasjon",
|
||||
"artwork": "Grafikk",
|
||||
"advancedSettings": "Avanserte innstillinger",
|
||||
"title": "Tittel",
|
||||
"sortTitle": "Sorteringsstittel",
|
||||
"sortTitle": "Sorteringstittel",
|
||||
"originalTitle": "Originaltittel",
|
||||
"releaseDate": "Utgivelsesdato",
|
||||
"contentRating": "Innholdsvurdering",
|
||||
"contentRating": "Aldersgrense",
|
||||
"studio": "Studio",
|
||||
"tagline": "Slagord",
|
||||
"summary": "Sammendrag",
|
||||
@@ -1394,11 +1394,11 @@
|
||||
"imageUrl": "Bilde-URL",
|
||||
"metadataUpdated": "Metadata oppdatert",
|
||||
"metadataUpdateFailed": "Kunne ikke oppdatere metadata",
|
||||
"artworkUpdated": "Kunstverk oppdatert",
|
||||
"artworkUpdateFailed": "Kunne ikke oppdatere kunstverk",
|
||||
"noArtworkAvailable": "Ingen kunstverk tilgjengelig",
|
||||
"artworkOption": "Alternativ for kunstverk ${index}",
|
||||
"selectedArtworkOption": "Alternativ for kunstverk ${index}, valgt",
|
||||
"artworkUpdated": "Grafikk oppdatert",
|
||||
"artworkUpdateFailed": "Kunne ikke oppdatere grafikken",
|
||||
"noArtworkAvailable": "Ingen grafikk tilgjengelig",
|
||||
"artworkOption": "Grafikkalternativ ${index}",
|
||||
"selectedArtworkOption": "Grafikkalternativ ${index}, valgt",
|
||||
"notSet": "Ikke angitt",
|
||||
"libraryDefault": "Bibliotekstandard",
|
||||
"accountDefault": "Kontostandard",
|
||||
@@ -1445,14 +1445,14 @@
|
||||
"mood": "Stemning"
|
||||
},
|
||||
"matchScreen": {
|
||||
"match": "Match...",
|
||||
"fixMatch": "Rett match...",
|
||||
"unmatch": "Fjern match",
|
||||
"unmatchConfirm": "Fjerne denne matchen? Plex behandler den som umatchet til den matches igjen.",
|
||||
"unmatchSuccess": "Match fjernet",
|
||||
"unmatchFailed": "Kunne ikke fjerne match",
|
||||
"matchApplied": "Match anvendt",
|
||||
"matchFailed": "Kunne ikke anvende match",
|
||||
"match": "Finn treff...",
|
||||
"fixMatch": "Korriger treff...",
|
||||
"unmatch": "Fjern treff",
|
||||
"unmatchConfirm": "Fjerne dette treffet? Plex behandler elementet som uten treff til det matches på nytt.",
|
||||
"unmatchSuccess": "Treff fjernet",
|
||||
"unmatchFailed": "Kunne ikke fjerne treff",
|
||||
"matchApplied": "Treff valgt",
|
||||
"matchFailed": "Kunne ikke velge treff",
|
||||
"titleHint": "Tittel",
|
||||
"yearHint": "År",
|
||||
"search": "Søk",
|
||||
@@ -1471,8 +1471,8 @@
|
||||
"disconnectConfirmBody": "Plezy slutter å sende hendelser til Trakt. Du kan koble til igjen når som helst.",
|
||||
"scrobble": "Sanntids-scrobbling",
|
||||
"scrobbleDescription": "Send avspillings-, pause- og stopphendelser til Trakt under avspilling.",
|
||||
"watchedSync": "Synkroniser sett-status",
|
||||
"watchedSyncDescription": "Når du markerer noe som sett i Plezy, markeres det også på Trakt."
|
||||
"watchedSync": "Synkroniser settstatus",
|
||||
"watchedSyncDescription": "Når du markerer elementer som sett i Plezy, markeres de også som sett på Trakt."
|
||||
},
|
||||
"seerr": {
|
||||
"title": "Seerr",
|
||||
@@ -1488,8 +1488,8 @@
|
||||
"instance": "Instans",
|
||||
"disconnectConfirm": "Koble fra Seerr?",
|
||||
"disconnectConfirmBody": "Plezy glemmer denne Seerr-instansen. Koble til igjen når som helst.",
|
||||
"request": "Forespør",
|
||||
"request4k": "Forespør i 4K",
|
||||
"request": "Be om",
|
||||
"request4k": "Be om i 4K",
|
||||
"seasons": "Sesonger",
|
||||
"allSeasons": "Alle sesonger",
|
||||
"advancedOptions": "Avansert",
|
||||
@@ -1544,8 +1544,8 @@
|
||||
"subtitleBlocked": "${count} blokkert",
|
||||
"subtitleAllowed": "${count} tillatt",
|
||||
"mode": "Filtermodus",
|
||||
"modeBlacklist": "Svarteliste",
|
||||
"modeWhitelist": "Hviteliste",
|
||||
"modeBlacklist": "Blokkeringsliste",
|
||||
"modeWhitelist": "Tillatelsesliste",
|
||||
"modeHintBlacklist": "Synkroniser alle biblioteker bortsett fra dem du markerer nedenfor.",
|
||||
"modeHintWhitelist": "Synkroniser kun bibliotekene du markerer nedenfor.",
|
||||
"libraries": "Biblioteker",
|
||||
@@ -1561,19 +1561,19 @@
|
||||
"localServers": "Lokale Jellyfin-servere",
|
||||
"username": "Brukernavn",
|
||||
"password": "Passord",
|
||||
"signIn": "Logg på",
|
||||
"signIn": "Logg inn",
|
||||
"change": "Endre",
|
||||
"required": "Påkrevd",
|
||||
"couldNotReachServer": "Kunne ikke nå serveren: ${error}",
|
||||
"signInFailed": "Pålogging mislyktes: ${error}",
|
||||
"signInFailed": "Innlogging mislyktes: ${error}",
|
||||
"quickConnectFailed": "Quick Connect mislyktes: ${error}",
|
||||
"addPlexTitle": "Logg på med Plex",
|
||||
"pinExpired": "PIN-koden gikk ut før pålogging. Prøv igjen.",
|
||||
"addPlexTitle": "Logg inn med Plex",
|
||||
"pinExpired": "PIN-koden utløp før innloggingen var fullført. Prøv igjen.",
|
||||
"failedToRegisterAccount": "Kunne ikke registrere kontoen: ${error}",
|
||||
"enterJellyfinUrlError": "Oppgi URL-en til Jellyfin-serveren din",
|
||||
"addConnectionTitle": "Legg til tilkobling",
|
||||
"addConnectionTitleScoped": "Legg til i ${name}",
|
||||
"signInWithPlexCard": "Logg på med Plex",
|
||||
"addConnectionTitleScoped": "Legg til for ${name}",
|
||||
"signInWithPlexCard": "Logg inn med Plex",
|
||||
"signInWithPlexCardSubtitle": "Autoriser denne enheten. Delte servere legges til.",
|
||||
"signInWithPlexCardSubtitleScoped": "Autoriser en Plex-konto. Home-brukere blir profiler.",
|
||||
"connectToJellyfinCard": "Koble til Jellyfin",
|
||||
|
||||
+264
-264
File diff suppressed because it is too large
Load Diff
+135
-135
@@ -5,7 +5,7 @@
|
||||
"auth": {
|
||||
"signInWithPlex": "Zaloguj się przez Plex",
|
||||
"showQRCode": "Pokaż kod QR",
|
||||
"authenticate": "Uwierzytelnienie",
|
||||
"authenticate": "Uwierzytelnij",
|
||||
"authenticationTimeout": "Upłynął czas uwierzytelniania. Spróbuj ponownie.",
|
||||
"scanQRToSignIn": "Zeskanuj ten kod QR, aby się zalogować",
|
||||
"waitingForAuth": "Oczekiwanie na uwierzytelnienie...\nZaloguj się w przeglądarce.",
|
||||
@@ -17,7 +17,7 @@
|
||||
"quickConnectWaiting": "Oczekiwanie na zatwierdzenie…",
|
||||
"quickConnectCancel": "Anuluj",
|
||||
"quickConnectExpired": "Quick Connect wygasł. Spróbuj ponownie.",
|
||||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||||
"localDataRecoveryRequired": "Plezy nie mogło bezpiecznie odzyskać lokalnych danych logowania ani oczekujących danych odtwarzania. Zaloguj się ponownie."
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Anuluj",
|
||||
@@ -38,7 +38,7 @@
|
||||
"edit": "Edytuj",
|
||||
"shuffle": "Losowo",
|
||||
"addTo": "Dodaj do...",
|
||||
"createNew": "Utwórz nowy",
|
||||
"createNew": "Utwórz",
|
||||
"connect": "Połącz",
|
||||
"disconnect": "Rozłącz",
|
||||
"play": "Odtwórz",
|
||||
@@ -64,7 +64,7 @@
|
||||
"loading": "Ładowanie...",
|
||||
"fullscreen": "Pełny ekran",
|
||||
"exitFullscreen": "Wyjdź z pełnego ekranu",
|
||||
"pressBackAgainToExit": "Naciśnij wstecz ponownie, aby wyjść"
|
||||
"pressBackAgainToExit": "Naciśnij ponownie przycisk Wstecz, aby wyjść"
|
||||
},
|
||||
"screens": {
|
||||
"licenses": "Licencje",
|
||||
@@ -109,22 +109,22 @@
|
||||
"libraryDensity": "Gęstość biblioteki",
|
||||
"compact": "Kompaktowy",
|
||||
"comfortable": "Wygodny",
|
||||
"tvCornerSpotlightBackdrop": "",
|
||||
"tvCornerSpotlightBackdropDescription": "",
|
||||
"tvCornerSpotlightBackdrop": "Tło wyróżnionej pozycji w rogu",
|
||||
"tvCornerSpotlightBackdropDescription": "Wyświetlaj grafikę wyróżnionej pozycji w prawym górnym rogu zamiast na całym ekranie",
|
||||
"viewMode": "Tryb widoku",
|
||||
"gridView": "Siatka",
|
||||
"listView": "Lista",
|
||||
"showHeroSection": "Pokaż sekcję wyróżnioną",
|
||||
"continueWatchingAction": "Akcja Kontynuuj oglądanie",
|
||||
"continueWatchingAction": "Działanie w sekcji „Kontynuuj oglądanie”",
|
||||
"continueWatchingPlay": "Odtwórz",
|
||||
"continueWatchingDetails": "Otwórz szczegóły",
|
||||
"episodeAction": "Akcja odcinka",
|
||||
"episodePlay": "Odtwórz",
|
||||
"episodeDetails": "Otwórz szczegóły",
|
||||
"useGlobalHubs": "Użyj układu strony głównej",
|
||||
"useGlobalHubsDescription": "Pokaż ujednolicone huby ekranu głównego. W przeciwnym razie użyj rekomendacji bibliotek.",
|
||||
"showServerNameOnHubs": "Pokaż nazwę serwera w hubach",
|
||||
"showServerNameOnHubsDescription": "Zawsze pokazuj nazwy serwerów w tytułach hubów.",
|
||||
"useGlobalHubsDescription": "Wyświetlaj ujednolicone sekcje ekranu głównego. W przeciwnym razie używaj rekomendacji bibliotek.",
|
||||
"showServerNameOnHubs": "Pokaż nazwę serwera w sekcjach",
|
||||
"showServerNameOnHubsDescription": "Zawsze pokazuj nazwy serwerów w tytułach sekcji.",
|
||||
"groupLibrariesByServer": "Grupuj biblioteki według serwera",
|
||||
"groupLibrariesByServerDescription": "Grupuj biblioteki paska bocznego pod każdym serwerem multimediów.",
|
||||
"alwaysKeepSidebarOpen": "Zawsze utrzymuj panel boczny otwarty",
|
||||
@@ -134,7 +134,7 @@
|
||||
"showEpisodeNumberOnCards": "Pokaż numer odcinka na kartach",
|
||||
"showEpisodeNumberOnCardsDescription": "Pokazuj numer sezonu i odcinka na kartach odcinków",
|
||||
"showSeasonPostersOnTabs": "Pokaż plakaty sezonów na zakładkach",
|
||||
"showSeasonPostersOnTabsDescription": "Pokazuj plakat każdego sezonu nad jego kartą",
|
||||
"showSeasonPostersOnTabsDescription": "Pokazuj plakat każdego sezonu nad jego zakładką",
|
||||
"tvFullCardLayout": "Pełne karty TV",
|
||||
"tvFullCardLayoutDescription": "Używaj kart TV tylko z obrazem i nałożonymi nazwiskami aktorów",
|
||||
"focusGlow": "Poświata zaznaczenia",
|
||||
@@ -147,14 +147,14 @@
|
||||
"visualEffectsReducedDescription": "Mniej animacji i grafiki o niższej rozdzielczości",
|
||||
"hideSpoilers": "Ukryj spoilery nieobejrzanych odcinków",
|
||||
"hideSpoilersDescription": "Rozmywaj miniatury i opisy nieobejrzanych odcinków",
|
||||
"playerBackend": "Backend odtwarzacza",
|
||||
"playerBackend": "Mechanizm odtwarzania",
|
||||
"exoPlayer": "ExoPlayer",
|
||||
"mpv": "mpv",
|
||||
"hardwareDecoding": "Dekodowanie sprzętowe",
|
||||
"hardwareDecodingDescription": "Użyj akceleracji sprzętowej, gdy dostępna",
|
||||
"bufferSize": "Rozmiar bufora",
|
||||
"bufferSizeMB": "${size}MB",
|
||||
"bufferSizeAuto": "Automatyczny (Zalecany)",
|
||||
"bufferSizeAuto": "Automatyczny (zalecany)",
|
||||
"bufferSizeWarning": "Dostępna pamięć: ${heap}MB. Bufor ${size}MB może wpłynąć na odtwarzanie.",
|
||||
"defaultQualityTitle": "Domyślna jakość",
|
||||
"musicQualityTitle": "Jakość muzyki",
|
||||
@@ -166,8 +166,8 @@
|
||||
"secondsUnit": "${seconds} sekund",
|
||||
"defaultSleepTimer": "Domyślny wyłącznik czasowy",
|
||||
"minutesUnit": "${minutes} minut",
|
||||
"rememberTrackSelections": "Zapamiętaj wybór ścieżek per serial/film",
|
||||
"rememberTrackSelectionsDescription": "Zapamiętuj wybór audio i napisów dla tytułu",
|
||||
"rememberTrackSelections": "Zapamiętuj wybór ścieżek dla każdego serialu i filmu",
|
||||
"rememberTrackSelectionsDescription": "Zapamiętuj wybór ścieżki dźwiękowej i napisów dla każdego tytułu",
|
||||
"showChapterMarkersOnTimeline": "Pokaż znaczniki rozdziałów na pasku przewijania",
|
||||
"showChapterMarkersOnTimelineDescription": "Podziel pasek przewijania na granicach rozdziałów",
|
||||
"clickVideoTogglesPlayback": "Kliknięcie wideo przełącza odtwarzanie/pauzę",
|
||||
@@ -177,14 +177,14 @@
|
||||
"keyboardShortcutsDescription": "Dostosuj skróty klawiszowe",
|
||||
"videoPlayerNavigation": "Nawigacja odtwarzacza wideo",
|
||||
"videoPlayerNavigationDescription": "Użyj klawiszy strzałek do nawigacji kontrolkami odtwarzacza",
|
||||
"watchTogetherRelay": "Relay Oglądaj Razem",
|
||||
"watchTogetherRelayDescription": "Ustaw własny relay. Wszyscy muszą używać tego samego serwera.",
|
||||
"watchTogetherRelay": "Serwer pośredniczący funkcji „Oglądaj razem”",
|
||||
"watchTogetherRelayDescription": "Ustaw własny serwer pośredniczący. Wszyscy muszą korzystać z tego samego serwera.",
|
||||
"watchTogetherRelayHint": "https://moj-relay.przyklad.pl",
|
||||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||||
"watchTogetherRelayInvalid": "Wprowadź prawidłowy bazowy adres URL serwera pośredniczącego HTTP lub HTTPS.",
|
||||
"crashReporting": "Raportowanie błędów",
|
||||
"crashReportingDescription": "Wysyłaj raporty o błędach, aby pomóc ulepszyć aplikację",
|
||||
"debugLogging": "Logowanie debugowania",
|
||||
"debugLoggingDescription": "Włącz szczegółowe logowanie do rozwiązywania problemów",
|
||||
"debugLogging": "Rejestrowanie diagnostyczne",
|
||||
"debugLoggingDescription": "Włącz szczegółowe rejestrowanie, aby ułatwić rozwiązywanie problemów",
|
||||
"viewLogs": "Pokaż logi",
|
||||
"viewLogsDescription": "Pokaż logi aplikacji",
|
||||
"clearCache": "Wyczyść pamięć podręczną",
|
||||
@@ -192,7 +192,7 @@
|
||||
"clearCacheSuccess": "Pamięć podręczna wyczyszczona",
|
||||
"resetSettings": "Zresetuj ustawienia",
|
||||
"resetSettingsDescription": "Przywróć ustawienia domyślne. Tego nie można cofnąć.",
|
||||
"resetSettingsSuccess": "Ustawienia zresetowane pomyślnie",
|
||||
"resetSettingsSuccess": "Przywrócono ustawienia domyślne",
|
||||
"backup": "Kopia zapasowa",
|
||||
"exportSettings": "Eksportuj ustawienia",
|
||||
"exportSettingsDescription": "Zapisz swoje preferencje do pliku",
|
||||
@@ -215,7 +215,7 @@
|
||||
"validationErrorDuration": "Czas musi być między ${min} a ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Skrót jest już przypisany do ${action}",
|
||||
"shortcutUpdated": "Skrót zaktualizowany dla ${action}",
|
||||
"saveFailed": "Could not save changes. Try again.",
|
||||
"saveFailed": "Nie udało się zapisać zmian. Spróbuj ponownie.",
|
||||
"autoSkip": "Automatyczne pomijanie",
|
||||
"autoSkipIntro": "Automatyczne pomijanie intro",
|
||||
"autoSkipIntroDescription": "Automatycznie pomijaj znaczniki intro po kilku sekundach",
|
||||
@@ -233,20 +233,20 @@
|
||||
"regex": "Wyrażenie regularne",
|
||||
"downloads": "Pobrania",
|
||||
"downloadLocationDescription": "Wybierz miejsce przechowywania pobranych treści",
|
||||
"downloadLocationDefault": "Domyślne (Pamięć aplikacji)",
|
||||
"downloadLocationDefault": "Domyślne (pamięć aplikacji)",
|
||||
"downloadLocationCustom": "Niestandardowa lokalizacja",
|
||||
"selectFolder": "Wybierz folder",
|
||||
"resetToDefault": "Przywróć domyślne",
|
||||
"currentPath": "Bieżąca: ${path}",
|
||||
"downloadLocationChanged": "Lokalizacja pobierania zmieniona",
|
||||
"downloadLocationReset": "Lokalizacja pobierania przywrócona do domyślnej",
|
||||
"downloadLocationInvalid": "Wybrany folder nie jest zapisywalny",
|
||||
"downloadLocationInvalid": "Nie można zapisywać w wybranym folderze",
|
||||
"downloadLocationPickerUnavailable": "Wybór folderu nie jest dostępny na tym urządzeniu",
|
||||
"downloadOnWifiOnly": "Pobieraj tylko przez WiFi",
|
||||
"downloadOnWifiOnly": "Pobieraj tylko przez Wi-Fi",
|
||||
"downloadOnWifiOnlyDescription": "Blokuj pobieranie na danych komórkowych",
|
||||
"autoRemoveWatchedDownloads": "Automatycznie usuwaj obejrzane pobrania",
|
||||
"autoRemoveWatchedDownloadsDescription": "Automatycznie usuwaj obejrzane pobrania",
|
||||
"cellularDownloadBlocked": "Pobieranie przez sieć komórkową jest zablokowane. Użyj WiFi lub zmień ustawienie.",
|
||||
"cellularDownloadBlocked": "Pobieranie przez sieć komórkową jest zablokowane. Użyj Wi-Fi lub zmień ustawienie.",
|
||||
"maxVolume": "Maksymalna głośność",
|
||||
"maxVolumeDescription": "Pozwól na wzmocnienie głośności powyżej 100% dla cichych multimediów",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
@@ -258,7 +258,7 @@
|
||||
"companionRemoteServer": "Serwer zdalnego sterowania",
|
||||
"companionRemoteServerDescription": "Pozwól urządzeniom mobilnym w sieci sterować tą aplikacją",
|
||||
"autoPip": "Automatyczny obraz w obrazie",
|
||||
"autoPipDescription": "Włącz obraz w obrazie po opuszczeniu aplikacji podczas odtwarzania",
|
||||
"autoPipDescription": "Automatycznie włączaj tryb obrazu w obrazie po opuszczeniu aplikacji podczas odtwarzania",
|
||||
"matchContentFrameRate": "Dopasuj częstotliwość klatek do treści",
|
||||
"matchContentFrameRateDescription": "Dopasuj częstotliwość odświeżania ekranu do wideo",
|
||||
"matchRefreshRate": "Dopasuj częstotliwość odświeżania",
|
||||
@@ -268,9 +268,9 @@
|
||||
"displaySwitchDelay": "Opóźnienie przełączania ekranu",
|
||||
"tunneledPlayback": "Tunelowane odtwarzanie",
|
||||
"tunneledPlaybackDescription": "Użyj tunelowania wideo. Wyłącz, jeśli HDR pokazuje czarny obraz.",
|
||||
"audioPassthrough": "Bezpośrednie audio",
|
||||
"audioPassthroughDescription": "Wysyłaj dźwięk Dolby/DTS do amplitunera lub telewizora bez ponownego kodowania, zachowując dźwięk przestrzenny. Wyłącz, jeśli nie ma dźwięku.",
|
||||
"audioPassthroughDescriptionAppleTv": "Przekazuje Dolby Digital Plus (w tym Atmos) do systemu jako bitstream. DTS i TrueHD nadal odtwarzane są jako wielokanałowe PCM. Podczas przewijania mogą wystąpić krótkie przerwy w dźwięku.",
|
||||
"audioPassthrough": "Przekazywanie dźwięku",
|
||||
"audioPassthroughDescription": "Przesyłaj dźwięk Dolby/DTS do amplitunera lub telewizora bez ponownego kodowania, zachowując dźwięk przestrzenny. Wyłącz tę opcję, jeśli nie słychać dźwięku.",
|
||||
"audioPassthroughDescriptionAppleTv": "Używaj natywnego dekodera Dolby firmy Apple dla Dolby Digital Plus, w tym Atmos. DTS i TrueHD nadal będą odtwarzane jako wielokanałowy dźwięk PCM. Wyłącz tę opcję, jeśli nie słychać dźwięku.",
|
||||
"audioDownmix": "Miksowanie do stereo",
|
||||
"audioDownmixDescription": "Miksuje dźwięk przestrzenny do dwóch kanałów dla głośników stereo lub słuchawek",
|
||||
"downmixCenterBoost": "Wzmocnienie kanału centralnego",
|
||||
@@ -283,16 +283,16 @@
|
||||
"atmosDiagnosticsDescription": "Diagnozuj wyjście Dolby Atmos, odtwarzając sygnały testowe przez odtwarzacz systemowy",
|
||||
"atmosTestHlsAtmos": "Strumień Atmos Apple",
|
||||
"atmosTestHlsAtmosDescription": "Sprawdzony strumień Dolby Atmos. Amplituner powinien pokazać Dolby Atmos.",
|
||||
"atmosTestHlsControl": "Strumień surround Apple",
|
||||
"atmosTestHlsControlDescription": "Strumień kontrolny bez Atmos. Amplituner powinien pokazać surround bez Atmos.",
|
||||
"atmosTestHlsControl": "Strumień dźwięku przestrzennego Apple",
|
||||
"atmosTestHlsControlDescription": "Strumień kontrolny bez Atmos. Amplituner powinien wskazywać dźwięk przestrzenny bez Atmos.",
|
||||
"atmosTestRawStream": "Surowy strumień EAC3",
|
||||
"atmosTestRawStreamDescription": "Strumieniuje plik testowy dokładnie jak odtwarzanie Atmos w odtwarzaczu. Wymaga URL pliku testowego.",
|
||||
"atmosTestRawStreamDescription": "Przesyła strumieniowo plik testowy dokładnie tak jak podczas odtwarzania Atmos w odtwarzaczu. Wymaga adresu URL pliku testowego.",
|
||||
"atmosTestRawFile": "Surowy plik EAC3",
|
||||
"atmosTestRawFileDescription": "Odtwarza plik testowy o znanej długości. Wymaga URL pliku testowego.",
|
||||
"atmosTestStop": "Zatrzymaj test",
|
||||
"atmosTestUrl": "URL pliku testowego",
|
||||
"atmosTestUrlDescription": "HTTP URL surowego pliku .ec3 Dolby Atmos (np. wyodrębnionego przez ffmpeg)",
|
||||
"atmosTestUrlMissing": "Najpierw ustaw URL pliku testowego",
|
||||
"atmosTestUrl": "Adres URL pliku testowego",
|
||||
"atmosTestUrlDescription": "Adres URL HTTP surowego pliku Dolby Atmos w formacie .ec3 (np. wyodrębnionego za pomocą ffmpeg)",
|
||||
"atmosTestUrlMissing": "Najpierw ustaw adres URL pliku testowego",
|
||||
"atmosTestStatus": "Stan",
|
||||
"dvConversionMode": "Konwersja Dolby Vision",
|
||||
"dvConversionModeDescription": "Wybierz, jak ExoPlayer obsługuje pliki Dolby Vision Profile 7.",
|
||||
@@ -300,14 +300,14 @@
|
||||
"dvConversionNative": "Natywnie / wyłączone",
|
||||
"dvConversionDv81": "P7 → P8.1",
|
||||
"dvConversionHevcStrip": "P7 → HEVC",
|
||||
"dvConversionAutoDescription": "Użyj wykrywania możliwości urządzenia i normalnego zachowania awaryjnego",
|
||||
"dvConversionAutoDescription": "Wykrywaj możliwości urządzenia i stosuj standardowy mechanizm awaryjny",
|
||||
"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",
|
||||
"forceTvModeDescription": "Wymuś układ TV. Dla urządzeń bez autodetekcji. Wymaga restartu.",
|
||||
"forceTvModeDescription": "Wymuś układ telewizyjny na urządzeniach, które nie wykrywają go automatycznie. Wymaga ponownego uruchomienia.",
|
||||
"startInFullscreen": "Uruchom na pełnym ekranie",
|
||||
"startInFullscreenDescription": "Otwiera Plezy w trybie pełnoekranowym przy uruchomieniu",
|
||||
"exitFullscreenOnPlayerClose": "Wyjdź z pełnego ekranu przy zamykaniu odtwarzacza",
|
||||
@@ -378,7 +378,7 @@
|
||||
"advanced": "Zaawansowane",
|
||||
"codec": "Kodek",
|
||||
"resolution": "Rozdzielczość",
|
||||
"bitrate": "Bitrate",
|
||||
"bitrate": "Przepływność",
|
||||
"frameRate": "Klatki na sekundę",
|
||||
"aspectRatio": "Proporcje",
|
||||
"profile": "Profil",
|
||||
@@ -386,16 +386,16 @@
|
||||
"colorSpace": "Przestrzeń kolorów",
|
||||
"colorRange": "Zakres kolorów",
|
||||
"colorPrimaries": "Kolory podstawowe",
|
||||
"chromaSubsampling": "Subsampling chrominancji",
|
||||
"chromaSubsampling": "Podpróbkowanie chrominancji",
|
||||
"channels": "Kanały",
|
||||
"subtitles": "Napisy",
|
||||
"overallBitrate": "Całkowity bitrate",
|
||||
"overallBitrate": "Całkowita przepływność",
|
||||
"path": "Ścieżka",
|
||||
"size": "Rozmiar",
|
||||
"container": "Kontener",
|
||||
"duration": "Czas trwania",
|
||||
"optimizedForStreaming": "Zoptymalizowane do strumieniowania",
|
||||
"has64bitOffsets": "64-bitowe offsety"
|
||||
"has64bitOffsets": "Przesunięcia 64-bitowe"
|
||||
},
|
||||
"mediaMenu": {
|
||||
"markAsWatched": "Oznacz jako obejrzane",
|
||||
@@ -409,7 +409,7 @@
|
||||
"deleteFromServer": "Usuń z serwera",
|
||||
"confirmDelete": "Usunąć to medium i jego pliki z serwera?",
|
||||
"deleteMultipleWarning": "Obejmuje to wszystkie odcinki i ich pliki.",
|
||||
"mediaDeletedSuccessfully": "Element multimedialny usunięty pomyślnie",
|
||||
"mediaDeletedSuccessfully": "Usunięto element multimedialny",
|
||||
"mediaFailedToDelete": "Nie udało się usunąć elementu multimedialnego",
|
||||
"rate": "Oceń",
|
||||
"playFromBeginning": "Odtwórz od początku",
|
||||
@@ -430,7 +430,7 @@
|
||||
"mediaCardEpisode": "${title}, ${episodeInfo}",
|
||||
"mediaCardSeason": "${title}, ${seasonInfo}",
|
||||
"mediaCardWatched": "obejrzane",
|
||||
"mediaCardPartiallyWatched": "${percent} procent obejrzane",
|
||||
"mediaCardPartiallyWatched": "obejrzano w ${percent} procentach",
|
||||
"mediaCardUnwatched": "nieobejrzane",
|
||||
"tapToPlay": "Dotknij, aby odtworzyć",
|
||||
"decrease": "Zmniejsz",
|
||||
@@ -460,13 +460,13 @@
|
||||
"videoControls": {
|
||||
"audioLabel": "Audio",
|
||||
"subtitlesLabel": "Napisy",
|
||||
"resetToZero": "Zresetuj do 0ms",
|
||||
"resetToZero": "Zresetuj do 0 ms",
|
||||
"addTime": "+${amount}${unit}",
|
||||
"minusTime": "-${amount}${unit}",
|
||||
"playsLater": "${label} odtwarza później",
|
||||
"playsEarlier": "${label} odtwarza wcześniej",
|
||||
"playsLater": "${label}: później",
|
||||
"playsEarlier": "${label}: wcześniej",
|
||||
"noOffset": "Bez przesunięcia",
|
||||
"letterbox": "Letterbox",
|
||||
"letterbox": "Pasy wokół obrazu",
|
||||
"fillScreen": "Wypełnij ekran",
|
||||
"stretch": "Rozciągnij",
|
||||
"lockRotation": "Zablokuj obrót",
|
||||
@@ -474,7 +474,7 @@
|
||||
"timerActive": "Wyłącznik aktywny",
|
||||
"playbackWillPauseIn": "Odtwarzanie zatrzyma się za ${duration}",
|
||||
"sleepTimerEndOfVideo": "Koniec bieżącego wideo",
|
||||
"sleepTimerStopAtHeader": "Zatrzymaj na",
|
||||
"sleepTimerStopAtHeader": "Zatrzymaj o",
|
||||
"sleepTimerDurationHeader": "Minutnik",
|
||||
"playbackWillPauseAtEnd": "Odtwarzanie zatrzyma się na końcu tego wideo",
|
||||
"stillWatching": "Nadal oglądasz?",
|
||||
@@ -484,8 +484,8 @@
|
||||
"playNext": "Odtwórz następny",
|
||||
"playButton": "Odtwórz",
|
||||
"pauseButton": "Pauza",
|
||||
"showPlaybackControls": "",
|
||||
"hidePlaybackControls": "",
|
||||
"showPlaybackControls": "Pokaż elementy sterujące odtwarzaniem",
|
||||
"hidePlaybackControls": "Ukryj elementy sterujące odtwarzaniem",
|
||||
"seekBackwardButton": "Przewiń do tyłu o ${seconds} sekund",
|
||||
"seekForwardButton": "Przewiń do przodu o ${seconds} sekund",
|
||||
"previousButton": "Poprzedni odcinek",
|
||||
@@ -520,7 +520,7 @@
|
||||
"pipActive": "Odtwarzanie w trybie obraz w obrazie",
|
||||
"pipFailed": "Nie udało się uruchomić trybu obraz w obrazie",
|
||||
"screenshotSaved": "Zrzut ekranu zapisany",
|
||||
"zoomPercent": "Zoom ${percent}%",
|
||||
"zoomPercent": "Powiększenie ${percent}%",
|
||||
"pipErrors": {
|
||||
"androidVersion": "Wymaga Androida 8.0 lub nowszego",
|
||||
"iosVersion": "Wymaga iOS 15.0 lub nowszego",
|
||||
@@ -563,11 +563,11 @@
|
||||
"streamInterrupted": "Strumień został przerwany. Naciśnij odtwarzanie lub przewiń, aby spróbować ponownie.",
|
||||
"liveStreamInterrupted": "Transmisja na żywo została przerwana. Naciśnij odtwarzanie, aby spróbować ponownie.",
|
||||
"fileInfoNotAvailable": "Informacje o pliku niedostępne",
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"playbackAuthenticationRequired": "Zaloguj się ponownie na serwerze multimediów, aby odtworzyć ten element.",
|
||||
"playbackServerUnavailable": "Serwer multimediów jest niedostępny. Spróbuj ponownie później.",
|
||||
"playbackDataInvalid": "Serwer zwrócił nieprawidłowe informacje o odtwarzaniu.",
|
||||
"playbackCancelled": "Odtwarzanie zostało anulowane.",
|
||||
"playbackFailed": "Nie udało się rozpocząć odtwarzania.",
|
||||
"errorLoadingFileInfo": "Błąd ładowania informacji o pliku: ${error}",
|
||||
"errorLoadingSeries": "Błąd ładowania serialu",
|
||||
"musicNotSupported": "Odtwarzanie muzyki nie jest jeszcze obsługiwane",
|
||||
@@ -628,17 +628,17 @@
|
||||
"mpvConfig": {
|
||||
"title": "mpv.conf",
|
||||
"description": "Zaawansowane ustawienia odtwarzacza wideo",
|
||||
"presets": "Presety",
|
||||
"noPresets": "Brak zapisanych presetów",
|
||||
"saveAsPreset": "Zapisz jako preset...",
|
||||
"presetName": "Nazwa presetu",
|
||||
"presetNameHint": "Wprowadź nazwę dla tego presetu",
|
||||
"loadPreset": "Załaduj",
|
||||
"presets": "Ustawienia wstępne",
|
||||
"noPresets": "Brak zapisanych ustawień wstępnych",
|
||||
"saveAsPreset": "Zapisz jako ustawienie wstępne...",
|
||||
"presetName": "Nazwa ustawienia wstępnego",
|
||||
"presetNameHint": "Wprowadź nazwę tego ustawienia wstępnego",
|
||||
"loadPreset": "Wczytaj",
|
||||
"deletePreset": "Usuń",
|
||||
"presetSaved": "Preset zapisany",
|
||||
"presetLoaded": "Preset załadowany",
|
||||
"presetDeleted": "Preset usunięty",
|
||||
"confirmDeletePreset": "Czy na pewno chcesz usunąć ten preset?",
|
||||
"presetSaved": "Zapisano ustawienie wstępne",
|
||||
"presetLoaded": "Wczytano ustawienie wstępne",
|
||||
"presetDeleted": "Usunięto ustawienie wstępne",
|
||||
"confirmDeletePreset": "Czy na pewno chcesz usunąć to ustawienie wstępne?",
|
||||
"configPlaceholder": "gpu-api=vulkan\nhwdec=auto\n# comment"
|
||||
},
|
||||
"dialog": {
|
||||
@@ -658,9 +658,9 @@
|
||||
"signedOutPlex": "Wylogowano z Plex.",
|
||||
"signOutFailed": "Wylogowanie nie powiodło się.",
|
||||
"sectionTitle": "Profile",
|
||||
"summarySingle": "Dodaj profile, aby łączyć zarządzanych użytkowników i tożsamości lokalne",
|
||||
"summaryMultipleWithActive": "${count} profili · aktywny: ${activeName}",
|
||||
"summaryMultiple": "${count} profili",
|
||||
"summarySingle": "Dodaj profile, aby łączyć użytkowników zarządzanych z profilami lokalnymi",
|
||||
"summaryMultipleWithActive": "Liczba profili: ${count} · aktywny: ${activeName}",
|
||||
"summaryMultiple": "Liczba profili: ${count}",
|
||||
"removeConnectionTitle": "Usunąć połączenie?",
|
||||
"removeConnectionMessage": "Usuń dostęp ${displayName} do ${connectionLabel}. Inne profile go zachowają.",
|
||||
"deleteProfileTitle": "Usunąć profil?",
|
||||
@@ -687,13 +687,13 @@
|
||||
"removeConnection": "Usuń",
|
||||
"profileRenamed": "Zmieniono nazwę profilu.",
|
||||
"borrowAddTo": "Dodaj do ${displayName}",
|
||||
"borrowExplain": "Pożycz połączenie z innego profilu. Profile chronione PIN wymagają PIN-u.",
|
||||
"borrowEmpty": "Nic do pożyczenia.",
|
||||
"borrowExplain": "Skorzystaj z połączenia innego profilu. Profile chronione PIN-em wymagają podania PIN-u.",
|
||||
"borrowEmpty": "Nie ma jeszcze żadnych dostępnych połączeń.",
|
||||
"borrowEmptySubtitle": "Najpierw połącz Plex lub Jellyfin z innym profilem.",
|
||||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||||
"borrowFromProfile": "Od ${displayName}",
|
||||
"borrowConnectionBorrowed": "Połączenie pożyczone.",
|
||||
"borrowFailed": "Nie udało się pożyczyć połączenia.",
|
||||
"borrowLoadFailed": "Nie udało się wczytać dostępnych połączeń. Spróbuj ponownie.",
|
||||
"borrowFromProfile": "Z profilu ${displayName}",
|
||||
"borrowConnectionBorrowed": "Dodano połączenie z innego profilu.",
|
||||
"borrowFailed": "Nie udało się dodać połączenia z innego profilu.",
|
||||
"incorrectPin": "Nieprawidłowy PIN.",
|
||||
"incorrectPinTryAgain": "Nieprawidłowy PIN. Spróbuj ponownie.",
|
||||
"sourceProfileMissingParentAccount": "Profil źródłowy nie ma konta nadrzędnego.",
|
||||
@@ -738,7 +738,7 @@
|
||||
"rating": "Ocena",
|
||||
"movie": "Film",
|
||||
"tvShow": "Serial TV",
|
||||
"minutesLeft": "${minutes} min pozostało",
|
||||
"minutesLeft": "Pozostało ${minutes} min",
|
||||
"moreLikeThis": "Więcej podobnych"
|
||||
},
|
||||
"errors": {
|
||||
@@ -773,7 +773,7 @@
|
||||
"allLibrariesHidden": "Wszystkie biblioteki są ukryte",
|
||||
"hiddenLibrariesCount": "Ukryte biblioteki (${count})",
|
||||
"thisLibraryIsEmpty": "Ta biblioteka jest pusta",
|
||||
"noItemsMatchFilters": "Żadne elementy nie pasują do aktywnych filtrów",
|
||||
"noItemsMatchFilters": "Żaden element nie pasuje do aktywnych filtrów",
|
||||
"resetFilters": "Resetuj filtry",
|
||||
"all": "Wszystkie",
|
||||
"clearAll": "Wyczyść wszystko",
|
||||
@@ -797,7 +797,7 @@
|
||||
"noFoldersFound": "Nie znaleziono folderów",
|
||||
"folders": "foldery",
|
||||
"tabs": {
|
||||
"recommended": "Rekomendowane",
|
||||
"recommended": "Polecane",
|
||||
"browse": "Przeglądaj",
|
||||
"collections": "Kolekcje",
|
||||
"playlists": "Playlisty"
|
||||
@@ -848,10 +848,10 @@
|
||||
},
|
||||
"about": {
|
||||
"title": "O aplikacji",
|
||||
"openSourceLicenses": "Licencje open source",
|
||||
"openSourceLicenses": "Licencje oprogramowania open source",
|
||||
"versionLabel": "Wersja ${version}",
|
||||
"appDescription": "Piękny klient Plex i Jellyfin na Flutter",
|
||||
"viewLicensesDescription": "Zobacz licencje bibliotek zewnętrznych"
|
||||
"appDescription": "Piękny klient Plex i Jellyfin stworzony we Flutterze",
|
||||
"viewLicensesDescription": "Wyświetl licencje bibliotek innych firm"
|
||||
},
|
||||
"serverSelection": {
|
||||
"noServersFoundForAccount": "Nie znaleziono serwerów dla ${username} (${email})",
|
||||
@@ -873,7 +873,7 @@
|
||||
"relatedPackages": "Powiązane pakiety",
|
||||
"license": "Licencja",
|
||||
"licenseNumber": "Licencja ${number}",
|
||||
"licensesCount": "${count} licencji"
|
||||
"licensesCount": "Liczba licencji: ${count}"
|
||||
},
|
||||
"navigation": {
|
||||
"libraries": "Biblioteki",
|
||||
@@ -894,7 +894,7 @@
|
||||
"popularShows": "Popularne seriale",
|
||||
"trendingAnime": "Anime na czasie",
|
||||
"suggestedAnime": "Sugerowane anime",
|
||||
"airingAnime": "Najlepsze emitowane anime",
|
||||
"airingAnime": "Najpopularniejsze emitowane anime",
|
||||
"popularAnime": "Najpopularniejsze anime",
|
||||
"trending": "Na czasie",
|
||||
"upcomingMovies": "Nadchodzące filmy",
|
||||
@@ -957,11 +957,11 @@
|
||||
"favorites": "Ulubione",
|
||||
"reorderFavorites": "Zmień kolejność ulubionych",
|
||||
"favoritesLoadFailed": "Nie udało się wczytać ulubionych. Sprawdź połączenie i spróbuj ponownie.",
|
||||
"favoritesUpdateFailed": "Could not update favorites. Check your connection and try again.",
|
||||
"favoritesUpdateFailed": "Nie udało się zaktualizować ulubionych. Sprawdź połączenie i spróbuj ponownie.",
|
||||
"joinSession": "Dołącz do trwającej sesji",
|
||||
"watchFromStart": "Oglądaj od początku (${minutes} min temu)",
|
||||
"watchLive": "Oglądaj na żywo",
|
||||
"goToLive": "Przejdź do na żywo",
|
||||
"goToLive": "Przejdź do transmisji na żywo",
|
||||
"record": "Nagraj",
|
||||
"recordEpisode": "Nagraj odcinek",
|
||||
"recordSeries": "Nagraj serial",
|
||||
@@ -1049,7 +1049,7 @@
|
||||
"music": {
|
||||
"goToAlbum": "Przejdź do albumu",
|
||||
"goToArtist": "Przejdź do wykonawcy",
|
||||
"instantMix": "Błyskawiczny miks",
|
||||
"instantMix": "Miks błyskawiczny",
|
||||
"playNext": "Odtwórz następny",
|
||||
"addToQueue": "Dodaj do kolejki",
|
||||
"discNumber": "Płyta ${n}",
|
||||
@@ -1063,8 +1063,8 @@
|
||||
"playingFrom": "Odtwarzanie z ${title}",
|
||||
"queue": "Kolejka",
|
||||
"clearQueue": "Wyczyść kolejkę",
|
||||
"lyrics": "Tekst",
|
||||
"noLyrics": "Brak dostępnego tekstu",
|
||||
"lyrics": "Tekst utworu",
|
||||
"noLyrics": "Brak tekstu utworu",
|
||||
"sleepTimer": "Wyłącznik czasowy",
|
||||
"sleepTimerEndOfTrack": "Koniec utworu",
|
||||
"sleepTimerMinutes": "${n} minut",
|
||||
@@ -1077,28 +1077,28 @@
|
||||
},
|
||||
"watchTogether": {
|
||||
"title": "Oglądaj razem",
|
||||
"description": "Oglądaj treści zsynchronizowane z przyjaciółmi i rodziną",
|
||||
"description": "Oglądaj treści wspólnie z rodziną i znajomymi dzięki synchronizacji odtwarzania",
|
||||
"createSession": "Utwórz sesję",
|
||||
"creating": "Tworzenie...",
|
||||
"joinSession": "Dołącz do sesji",
|
||||
"joining": "Dołączanie...",
|
||||
"controlMode": "Tryb kontroli",
|
||||
"controlModeQuestion": "Kto może kontrolować odtwarzanie?",
|
||||
"hostOnly": "Tylko host",
|
||||
"hostOnly": "Tylko gospodarz",
|
||||
"anyone": "Każdy",
|
||||
"hostingSession": "Hostowanie sesji",
|
||||
"hostingSession": "Prowadzenie sesji",
|
||||
"inSession": "W sesji",
|
||||
"sessionCode": "Kod sesji",
|
||||
"openSessionControls": "Otwórz sterowanie sesją „Oglądaj razem”",
|
||||
"copySessionCode": "Skopiuj kod sesji",
|
||||
"hostControlsPlayback": "Host kontroluje odtwarzanie",
|
||||
"anyoneCanControl": "Każdy może kontrolować odtwarzanie",
|
||||
"hostControls": "Kontrola hosta",
|
||||
"anyoneControls": "Kontrola każdego",
|
||||
"hostControlsPlayback": "Gospodarz steruje odtwarzaniem",
|
||||
"anyoneCanControl": "Każdy może sterować odtwarzaniem",
|
||||
"hostControls": "Steruje gospodarz",
|
||||
"anyoneControls": "Steruje każdy",
|
||||
"participants": "Uczestnicy",
|
||||
"host": "Host",
|
||||
"hostBadge": "HOST",
|
||||
"youAreHost": "Jesteś hostem",
|
||||
"host": "Gospodarz",
|
||||
"hostBadge": "GOSPODARZ",
|
||||
"youAreHost": "Jesteś gospodarzem",
|
||||
"watchingWithOthers": "Oglądasz z innymi",
|
||||
"endSession": "Zakończ sesję",
|
||||
"leaveSession": "Opuść sesję",
|
||||
@@ -1120,17 +1120,17 @@
|
||||
"failedToCreate": "Nie udało się utworzyć sesji",
|
||||
"failedToJoin": "Nie udało się dołączyć do sesji",
|
||||
"sessionCodeCopied": "Kod sesji skopiowany do schowka",
|
||||
"relayUnreachable": "Serwer relay jest nieosiągalny. Blokada ISP może uniemożliwiać Watch Together.",
|
||||
"reconnectingToHost": "Ponowne łączenie z hostem...",
|
||||
"relayUnreachable": "Serwer pośredniczący jest nieosiągalny. Blokada operatora internetowego może uniemożliwiać korzystanie z funkcji „Oglądaj razem”.",
|
||||
"reconnectingToHost": "Ponowne łączenie z gospodarzem...",
|
||||
"currentPlayback": "Bieżące odtwarzanie",
|
||||
"joinCurrentPlayback": "Dołącz do bieżącego odtwarzania",
|
||||
"joinCurrentPlaybackDescription": "Wróć do tego, co host aktualnie ogląda",
|
||||
"joinCurrentPlaybackDescription": "Wróć do treści oglądanej obecnie przez gospodarza",
|
||||
"failedToOpenCurrentPlayback": "Nie udało się otworzyć bieżącego odtwarzania",
|
||||
"participantJoined": "${name} dołączył",
|
||||
"participantLeft": "${name} opuścił",
|
||||
"participantPaused": "${name} wstrzymał",
|
||||
"participantResumed": "${name} wznowił",
|
||||
"participantSeeked": "${name} przewinął",
|
||||
"participantSeeked": "${name} zmienił pozycję odtwarzania",
|
||||
"participantBuffering": "${name} buforuje",
|
||||
"participantNeedsUpdate": "${name} używa starszej wersji aplikacji — synchronizacja jest niedostępna",
|
||||
"resumingWithout": "Wznawianie bez ${name}",
|
||||
@@ -1182,7 +1182,7 @@
|
||||
"allEpisodes": "Wszystkie odcinki",
|
||||
"unwatchedOnly": "Tylko nieobejrzane",
|
||||
"nextNUnwatched": "Następne ${count} nieobejrzanych",
|
||||
"customAmount": "Własna ilość...",
|
||||
"customAmount": "Własna liczba...",
|
||||
"includeSpecials": "Uwzględnij odcinki specjalne",
|
||||
"howManyEpisodes": "Ile odcinków?",
|
||||
"invalidEpisodeCount": "Wprowadź prawidłową liczbę odcinków.",
|
||||
@@ -1201,11 +1201,11 @@
|
||||
"manageSyncRule": "Zarządzaj synchronizacją",
|
||||
"editEpisodeCount": "Liczba odcinków",
|
||||
"editSyncFilter": "Filtr synchronizacji",
|
||||
"syncAllItems": "Synchronizuję wszystkie elementy",
|
||||
"syncUnwatchedItems": "Synchronizuję nieobejrzane elementy",
|
||||
"syncAllItems": "Synchronizacja wszystkich elementów",
|
||||
"syncUnwatchedItems": "Synchronizacja nieobejrzanych elementów",
|
||||
"syncRuleServerContext": "Serwer: ${server} • ${status}",
|
||||
"syncRuleAvailable": "Dostępne",
|
||||
"syncRuleOffline": "Offline",
|
||||
"syncRuleOffline": "Brak połączenia",
|
||||
"syncRuleSignInRequired": "Wymagane logowanie",
|
||||
"syncRuleNotAvailableForProfile": "Niedostępne dla bieżącego profilu",
|
||||
"syncRuleUnknownServer": "Nieznany serwer",
|
||||
@@ -1229,7 +1229,7 @@
|
||||
"deleteShaderConfirm": "Usunąć \"${name}\"?"
|
||||
},
|
||||
"companionRemote": {
|
||||
"title": "Pilot zdalny",
|
||||
"title": "Pilot",
|
||||
"connectedTo": "Połączono z ${name}",
|
||||
"unknownDevice": "Nieznane urządzenie",
|
||||
"session": {
|
||||
@@ -1251,7 +1251,7 @@
|
||||
"connecting": "Łączenie...",
|
||||
"searchingForDevices": "Szukanie urządzeń...",
|
||||
"noDevicesFound": "Nie znaleziono urządzeń w sieci",
|
||||
"noDevicesHint": "Otwórz Plezy na komputerze i użyj tego samego WiFi",
|
||||
"noDevicesHint": "Otwórz Plezy na komputerze i połącz oba urządzenia z tą samą siecią Wi-Fi",
|
||||
"availableDevices": "Dostępne urządzenia",
|
||||
"manualConnection": "Połączenie ręczne",
|
||||
"cryptoInitFailed": "Nie udało się uruchomić bezpiecznego połączenia. Najpierw zaloguj się do Plex.",
|
||||
@@ -1278,7 +1278,7 @@
|
||||
"tabDownloads": "Pobrania",
|
||||
"tabSettings": "Ustawienia",
|
||||
"previous": "Poprzedni",
|
||||
"playPause": "Odtwórz/Pauza",
|
||||
"playPause": "Odtwórz/wstrzymaj",
|
||||
"next": "Następny",
|
||||
"seekBack": "Przewiń wstecz",
|
||||
"stop": "Stop",
|
||||
@@ -1306,14 +1306,14 @@
|
||||
"playbackSpeed": "Prędkość odtwarzania",
|
||||
"normalSpeed": "Normalna",
|
||||
"sleepTimerActive": "Aktywny (${duration})",
|
||||
"zoom": "Zoom",
|
||||
"zoom": "Powiększenie",
|
||||
"sleepTimer": "Wyłącznik czasowy",
|
||||
"audioSync": "Synchronizacja audio",
|
||||
"subtitleSync": "Synchronizacja napisów",
|
||||
"hdr": "HDR",
|
||||
"audioOutput": "Wyjście audio",
|
||||
"performanceOverlay": "Nakładka wydajności",
|
||||
"audioPassthrough": "Bezpośrednie audio",
|
||||
"audioPassthrough": "Przekazywanie dźwięku",
|
||||
"audioNormalization": "Normalizacja głośności",
|
||||
"audioDownmix": "Miksowanie do stereo"
|
||||
},
|
||||
@@ -1335,11 +1335,11 @@
|
||||
"hwFormat": "Format HW",
|
||||
"matrix": "Macierz",
|
||||
"primaries": "Barwy podstawowe",
|
||||
"transfer": "Transfer",
|
||||
"transfer": "Charakterystyka przenoszenia",
|
||||
"renderFps": "FPS renderowania",
|
||||
"displayFps": "FPS ekranu",
|
||||
"avSync": "Sync A/V",
|
||||
"dropped": "Porzucone",
|
||||
"avSync": "Synchronizacja A/V",
|
||||
"dropped": "Pominięte",
|
||||
"dvRpus": "DV RPU",
|
||||
"dvRpuAverage": "Śr. DV RPU",
|
||||
"dvSampleAverage": "Śr. próbki DV",
|
||||
@@ -1347,8 +1347,8 @@
|
||||
"minLuma": "Min. luma",
|
||||
"maxCll": "MaxCLL",
|
||||
"maxFall": "MaxFALL",
|
||||
"cacheUsed": "Użyty cache",
|
||||
"cacheLimit": "Limit cache'u",
|
||||
"cacheUsed": "Użyta pamięć podręczna",
|
||||
"cacheLimit": "Limit pamięci podręcznej",
|
||||
"speed": "Szybkość",
|
||||
"player": "Odtwarzacz",
|
||||
"memory": "Pamięć",
|
||||
@@ -1384,7 +1384,7 @@
|
||||
"releaseDate": "Data premiery",
|
||||
"contentRating": "Klasyfikacja wiekowa",
|
||||
"studio": "Studio",
|
||||
"tagline": "Tagline",
|
||||
"tagline": "Slogan",
|
||||
"summary": "Opis",
|
||||
"poster": "Plakat",
|
||||
"background": "Tło",
|
||||
@@ -1406,9 +1406,9 @@
|
||||
"artworkOption": "Opcja grafiki ${index}",
|
||||
"selectedArtworkOption": "Opcja grafiki ${index}, wybrana",
|
||||
"notSet": "Nie ustawiono",
|
||||
"libraryDefault": "Domyślne biblioteki",
|
||||
"accountDefault": "Domyślne konta",
|
||||
"seriesDefault": "Domyślne serialu",
|
||||
"libraryDefault": "Domyślne dla biblioteki",
|
||||
"accountDefault": "Domyślne dla konta",
|
||||
"seriesDefault": "Domyślne dla serialu",
|
||||
"episodeSorting": "Sortowanie odcinków",
|
||||
"oldestFirst": "Najstarsze najpierw",
|
||||
"newestFirst": "Najnowsze najpierw",
|
||||
@@ -1427,16 +1427,16 @@
|
||||
"show": "Pokaż",
|
||||
"hide": "Ukryj",
|
||||
"episodeOrdering": "Kolejność odcinków",
|
||||
"tmdbAiring": "The Movie Database (Emisja)",
|
||||
"tvdbAiring": "TheTVDB (Emisja)",
|
||||
"tvdbAbsolute": "TheTVDB (Absolutna)",
|
||||
"tmdbAiring": "The Movie Database (kolejność emisji)",
|
||||
"tvdbAiring": "TheTVDB (kolejność emisji)",
|
||||
"tvdbAbsolute": "TheTVDB (numeracja bezwzględna)",
|
||||
"metadataLanguage": "Język metadanych",
|
||||
"useOriginalTitle": "Użyj oryginalnego tytułu",
|
||||
"preferredAudioLanguage": "Preferowany język audio",
|
||||
"preferredSubtitleLanguage": "Preferowany język napisów",
|
||||
"subtitleMode": "Tryb automatycznego wyboru napisów",
|
||||
"manuallySelected": "Wybrany ręcznie",
|
||||
"shownWithForeignAudio": "Wyświetlane przy obcojęzycznym audio",
|
||||
"shownWithForeignAudio": "Wyświetlane przy dźwięku w obcym języku",
|
||||
"alwaysEnabled": "Zawsze włączone",
|
||||
"tags": "Tagi",
|
||||
"addTag": "Dodaj tag",
|
||||
@@ -1454,7 +1454,7 @@
|
||||
"match": "Dopasuj...",
|
||||
"fixMatch": "Popraw dopasowanie...",
|
||||
"unmatch": "Usuń dopasowanie",
|
||||
"unmatchConfirm": "Wyczyścić to dopasowanie? Plex uzna je za niedopasowane do ponownego dopasowania.",
|
||||
"unmatchConfirm": "Usunąć to dopasowanie? Plex będzie traktować element jako niedopasowany, dopóki nie zostanie dopasowany ponownie.",
|
||||
"unmatchSuccess": "Dopasowanie usunięte",
|
||||
"unmatchFailed": "Nie udało się usunąć dopasowania",
|
||||
"matchApplied": "Dopasowanie zastosowane",
|
||||
@@ -1474,11 +1474,11 @@
|
||||
"connected": "Połączono",
|
||||
"connectedAs": "Połączono jako @${username}",
|
||||
"disconnectConfirm": "Rozłączyć konto Trakt?",
|
||||
"disconnectConfirmBody": "Plezy przestanie wysyłać zdarzenia do Trakt. Możesz połączyć ponownie w dowolnym momencie.",
|
||||
"scrobble": "Scrobbling w czasie rzeczywistym",
|
||||
"scrobbleDescription": "Wysyłaj zdarzenia odtwarzania, pauzy i zatrzymania do Trakt podczas odtwarzania.",
|
||||
"watchedSync": "Synchronizuj status obejrzane",
|
||||
"watchedSyncDescription": "Gdy oznaczysz pozycje jako obejrzane w Plezy, zostaną też oznaczone w Trakt."
|
||||
"disconnectConfirmBody": "Plezy przestanie wysyłać zdarzenia do serwisu Trakt. Połączenie można przywrócić w dowolnym momencie.",
|
||||
"scrobble": "Śledzenie odtwarzania w czasie rzeczywistym",
|
||||
"scrobbleDescription": "Wysyłaj do serwisu Trakt zdarzenia odtwarzania, wstrzymania i zatrzymania.",
|
||||
"watchedSync": "Synchronizuj stan obejrzenia",
|
||||
"watchedSyncDescription": "Gdy oznaczysz element jako obejrzany w Plezy, zostanie on również oznaczony jako obejrzany w serwisie Trakt."
|
||||
},
|
||||
"seerr": {
|
||||
"title": "Seerr",
|
||||
@@ -1546,7 +1546,7 @@
|
||||
"libraryFilter": {
|
||||
"title": "Filtr bibliotek",
|
||||
"subtitleAllSyncing": "Synchronizowanie wszystkich bibliotek",
|
||||
"subtitleNoneSyncing": "Nic nie synchronizuje",
|
||||
"subtitleNoneSyncing": "Brak synchronizowanych bibliotek",
|
||||
"subtitleBlocked": "${count} zablokowanych",
|
||||
"subtitleAllowed": "${count} dozwolonych",
|
||||
"mode": "Tryb filtra",
|
||||
@@ -1560,8 +1560,8 @@
|
||||
},
|
||||
"addServer": {
|
||||
"addJellyfinTitle": "Dodaj serwer Jellyfin",
|
||||
"serverUrls": "URL-e serwera",
|
||||
"serverUrlsHelper": "Można podać wiele adresów URL, rozdzielonych przecinkami.",
|
||||
"serverUrls": "Adresy URL serwera",
|
||||
"serverUrlsHelper": "Można podać wiele adresów URL rozdzielonych przecinkami.",
|
||||
"findServer": "Znajdź serwer",
|
||||
"searchingLocalServers": "Szukanie lokalnych serwerów Jellyfin...",
|
||||
"localServers": "Lokalne serwery Jellyfin",
|
||||
@@ -1586,6 +1586,6 @@
|
||||
"connectToJellyfinCardSubtitle": "Wpisz URL serwera, nazwę użytkownika i hasło.",
|
||||
"connectToJellyfinCardSubtitleScoped": "Zaloguj się do serwera Jellyfin. Powiązane z ${name}.",
|
||||
"borrowFromAnotherProfile": "Pożycz z innego profilu",
|
||||
"borrowFromAnotherProfileSubtitle": "Użyj połączenia z innego profilu. Profile chronione PIN wymagają PIN-u."
|
||||
"borrowFromAnotherProfileSubtitle": "Użyj połączenia innego profilu. Profile chronione PIN-em wymagają podania PIN-u."
|
||||
}
|
||||
}
|
||||
|
||||
+253
-253
File diff suppressed because it is too large
Load Diff
+80
-80
@@ -5,10 +5,10 @@
|
||||
"auth": {
|
||||
"signInWithPlex": "Войти через Plex",
|
||||
"showQRCode": "Показать QR-код",
|
||||
"authenticate": "Аутентификация",
|
||||
"authenticate": "Войти",
|
||||
"authenticationTimeout": "Время аутентификации истекло. Попробуйте снова.",
|
||||
"scanQRToSignIn": "Отсканируйте QR-код для входа",
|
||||
"waitingForAuth": "Ожидание аутентификации...\nВойдите в браузере.",
|
||||
"waitingForAuth": "Ожидание аутентификации...\nВыполните вход в браузере.",
|
||||
"useBrowser": "Использовать браузер",
|
||||
"or": "или",
|
||||
"connectToJellyfin": "Подключиться к Jellyfin",
|
||||
@@ -16,8 +16,8 @@
|
||||
"quickConnectInstructions": "Откройте Quick Connect в Jellyfin и введите этот код.",
|
||||
"quickConnectWaiting": "Ожидание подтверждения…",
|
||||
"quickConnectCancel": "Отмена",
|
||||
"quickConnectExpired": "Срок Quick Connect истек. Попробуйте снова.",
|
||||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||||
"quickConnectExpired": "Срок действия Quick Connect истёк. Попробуйте снова.",
|
||||
"localDataRecoveryRequired": "Plezy не удалось безопасно восстановить данные локального входа и несинхронизированные данные о воспроизведении. Войдите снова."
|
||||
},
|
||||
"common": {
|
||||
"cancel": "Отмена",
|
||||
@@ -109,8 +109,8 @@
|
||||
"libraryDensity": "Плотность библиотеки",
|
||||
"compact": "Компактный",
|
||||
"comfortable": "Комфортный",
|
||||
"tvCornerSpotlightBackdrop": "",
|
||||
"tvCornerSpotlightBackdropDescription": "",
|
||||
"tvCornerSpotlightBackdrop": "Фоновое изображение в углу",
|
||||
"tvCornerSpotlightBackdropDescription": "Показывать изображение избранного материала в правом верхнем углу, а не на весь экран",
|
||||
"viewMode": "Режим просмотра",
|
||||
"gridView": "Сетка",
|
||||
"listView": "Список",
|
||||
@@ -135,8 +135,8 @@
|
||||
"showEpisodeNumberOnCardsDescription": "Показывать номер сезона и серии на карточках серий",
|
||||
"showSeasonPostersOnTabs": "Показывать постеры сезонов на вкладках",
|
||||
"showSeasonPostersOnTabsDescription": "Показывать постер каждого сезона над его вкладкой",
|
||||
"tvFullCardLayout": "Полные TV-карточки",
|
||||
"tvFullCardLayoutDescription": "Использовать TV-карточки только с изображением и именами актёров поверх него",
|
||||
"tvFullCardLayout": "Полноформатные ТВ-карточки",
|
||||
"tvFullCardLayoutDescription": "Использовать ТВ-карточки только с изображением и наложенными именами актёров",
|
||||
"focusGlow": "Свечение при фокусе",
|
||||
"focusGlowDescription": "Показывать мягкое свечение вокруг карточки в фокусе",
|
||||
"visualEffects": "Визуальные эффекты",
|
||||
@@ -155,7 +155,7 @@
|
||||
"bufferSize": "Размер буфера",
|
||||
"bufferSizeMB": "${size}МБ",
|
||||
"bufferSizeAuto": "Авто (Рекомендуется)",
|
||||
"bufferSizeWarning": "Доступно памяти: ${heap}MB. Буфер ${size}MB может повлиять на воспроизведение.",
|
||||
"bufferSizeWarning": "Доступно памяти: ${heap} МБ. Буфер размером ${size} МБ может повлиять на воспроизведение.",
|
||||
"defaultQualityTitle": "Качество по умолчанию",
|
||||
"musicQualityTitle": "Качество музыки",
|
||||
"subtitleStyling": "Стиль субтитров",
|
||||
@@ -163,24 +163,24 @@
|
||||
"smallSkipDuration": "Малая перемотка",
|
||||
"largeSkipDuration": "Большая перемотка",
|
||||
"rewindOnResume": "Перемотка при возобновлении",
|
||||
"secondsUnit": "${seconds} секунд",
|
||||
"secondsUnit": "${seconds} с",
|
||||
"defaultSleepTimer": "Таймер сна по умолчанию",
|
||||
"minutesUnit": "${minutes} минут",
|
||||
"minutesUnit": "${minutes} мин",
|
||||
"rememberTrackSelections": "Запоминать выбор дорожек для каждого сериала/фильма",
|
||||
"rememberTrackSelectionsDescription": "Запоминать выбор аудио и субтитров для тайтла",
|
||||
"rememberTrackSelectionsDescription": "Запоминать выбор аудиодорожки и субтитров для каждого материала",
|
||||
"showChapterMarkersOnTimeline": "Показывать маркеры глав на шкале перемотки",
|
||||
"showChapterMarkersOnTimelineDescription": "Разделять шкалу перемотки по границам глав",
|
||||
"clickVideoTogglesPlayback": "Клик по видео для переключения воспроизведения/паузы",
|
||||
"clickVideoTogglesPlaybackDescription": "Клик по видео запускает/ставит на паузу вместо показа управления.",
|
||||
"clickVideoTogglesPlayback": "Нажатие на видео запускает или приостанавливает воспроизведение",
|
||||
"clickVideoTogglesPlaybackDescription": "Нажатие на видео запускает или приостанавливает воспроизведение вместо показа элементов управления.",
|
||||
"videoPlayerControls": "Элементы управления плеером",
|
||||
"keyboardShortcuts": "Горячие клавиши",
|
||||
"keyboardShortcutsDescription": "Настроить горячие клавиши",
|
||||
"videoPlayerNavigation": "Навигация видеоплеера",
|
||||
"videoPlayerNavigationDescription": "Использовать клавиши стрелок для навигации по элементам управления плеером",
|
||||
"watchTogetherRelay": "Relay совместного просмотра",
|
||||
"watchTogetherRelayDescription": "Задайте свой relay. Все должны использовать один сервер.",
|
||||
"watchTogetherRelay": "Сервер ретрансляции для совместного просмотра",
|
||||
"watchTogetherRelayDescription": "Задайте свой сервер ретрансляции. Все участники должны использовать один сервер.",
|
||||
"watchTogetherRelayHint": "https://my-relay.example.com",
|
||||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||||
"watchTogetherRelayInvalid": "Введите допустимый базовый HTTP- или HTTPS-адрес сервера ретрансляции.",
|
||||
"crashReporting": "Отчёты об ошибках",
|
||||
"crashReportingDescription": "Отправлять отчёты об ошибках для улучшения приложения",
|
||||
"debugLogging": "Журнал отладки",
|
||||
@@ -213,16 +213,16 @@
|
||||
"autoCheckUpdatesOnStartupDescription": "Уведомлять о доступном обновлении при запуске",
|
||||
"validationErrorEnterNumber": "Введите корректное число",
|
||||
"validationErrorDuration": "Длительность должна быть от ${min} до ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Клавиша уже назначена для ${action}",
|
||||
"shortcutUpdated": "Клавиша обновлена для ${action}",
|
||||
"saveFailed": "Could not save changes. Try again.",
|
||||
"shortcutAlreadyAssigned": "Сочетание клавиш уже назначено действию «${action}»",
|
||||
"shortcutUpdated": "Сочетание клавиш для действия «${action}» обновлено",
|
||||
"saveFailed": "Не удалось сохранить изменения. Попробуйте снова.",
|
||||
"autoSkip": "Автопропуск",
|
||||
"autoSkipIntro": "Автопропуск вступления",
|
||||
"autoSkipIntroDescription": "Автоматически пропускать маркеры вступления через несколько секунд",
|
||||
"autoSkipCredits": "Автопропуск титров",
|
||||
"autoSkipCreditsDescription": "Автоматически пропускать титры и воспроизводить следующий эпизод",
|
||||
"forceSkipMarkerFallback": "Принудительные резервные маркеры",
|
||||
"forceSkipMarkerFallbackDescription": "Использовать шаблоны названий глав, даже если в Plex есть маркеры",
|
||||
"forceSkipMarkerFallback": "Всегда использовать резервные маркеры",
|
||||
"forceSkipMarkerFallbackDescription": "Использовать шаблоны названий глав, даже если в Plex есть собственные маркеры",
|
||||
"autoSkipDelay": "Задержка автопропуска",
|
||||
"autoSkipDelayDescription": "Подождать ${seconds} секунд перед автопропуском",
|
||||
"introPattern": "Шаблон маркера вступления",
|
||||
@@ -242,11 +242,11 @@
|
||||
"downloadLocationReset": "Место загрузки сброшено по умолчанию",
|
||||
"downloadLocationInvalid": "Выбранная папка недоступна для записи",
|
||||
"downloadLocationPickerUnavailable": "Выбор папки недоступен на этом устройстве",
|
||||
"downloadOnWifiOnly": "Загружать только по WiFi",
|
||||
"downloadOnWifiOnly": "Загружать только по Wi-Fi",
|
||||
"downloadOnWifiOnlyDescription": "Запретить загрузку по мобильным данным",
|
||||
"autoRemoveWatchedDownloads": "Автоудаление просмотренных загрузок",
|
||||
"autoRemoveWatchedDownloadsDescription": "Автоматически удалять просмотренные загрузки",
|
||||
"cellularDownloadBlocked": "Загрузки через мобильную сеть заблокированы. Используйте WiFi или измените настройку.",
|
||||
"cellularDownloadBlocked": "Загрузки через мобильную сеть заблокированы. Используйте Wi-Fi или измените настройку.",
|
||||
"maxVolume": "Максимальная громкость",
|
||||
"maxVolumeDescription": "Разрешить усиление громкости выше 100% для тихих медиа",
|
||||
"maxVolumePercent": "${percent}%",
|
||||
@@ -257,8 +257,8 @@
|
||||
"manageLibrariesDescription": "Изменять порядок и скрывать библиотеки",
|
||||
"companionRemoteServer": "Сервер удалённого управления",
|
||||
"companionRemoteServerDescription": "Разрешить мобильным устройствам в сети управлять этим приложением",
|
||||
"autoPip": "Автоматический «картинка в картинке»",
|
||||
"autoPipDescription": "Включать картинку-в-картинке при выходе во время воспроизведения",
|
||||
"autoPip": "Автоматический режим «картинка в картинке»",
|
||||
"autoPipDescription": "Автоматически включать режим «картинка в картинке» при выходе из приложения во время воспроизведения",
|
||||
"matchContentFrameRate": "Соответствие частоты кадров контента",
|
||||
"matchContentFrameRateDescription": "Подстраивать частоту обновления экрана под видео",
|
||||
"matchRefreshRate": "Соответствие частоты обновления",
|
||||
@@ -267,10 +267,10 @@
|
||||
"matchDynamicRangeDescription": "Включать HDR для HDR-контента, затем возвращаться к SDR",
|
||||
"displaySwitchDelay": "Задержка переключения дисплея",
|
||||
"tunneledPlayback": "Туннельное воспроизведение",
|
||||
"tunneledPlaybackDescription": "Использовать видеотуннелирование. Отключите, если HDR показывает черный экран.",
|
||||
"tunneledPlaybackDescription": "Использовать видеотуннелирование. Отключите, если при воспроизведении HDR отображается чёрный экран.",
|
||||
"audioPassthrough": "Сквозной вывод аудио",
|
||||
"audioPassthroughDescription": "Передавать звук Dolby/DTS на ресивер или телевизор без перекодирования, сохраняя объёмный звук. Отключите, если нет звука.",
|
||||
"audioPassthroughDescriptionAppleTv": "Передаёт Dolby Digital Plus (включая Atmos) системе в виде битового потока. DTS и TrueHD по-прежнему воспроизводятся как многоканальный PCM. При перемотке возможны короткие пропадания звука.",
|
||||
"audioPassthroughDescriptionAppleTv": "Использовать встроенный декодер Dolby от Apple для Dolby Digital Plus, включая Atmos. DTS и TrueHD по-прежнему воспроизводятся как многоканальный PCM. Отключите, если звук отсутствует.",
|
||||
"audioDownmix": "Микширование в стерео",
|
||||
"audioDownmixDescription": "Микширует объёмный звук в два канала для стереодинамиков или наушников",
|
||||
"downmixCenterBoost": "Усиление центрального канала",
|
||||
@@ -385,7 +385,7 @@
|
||||
"bitDepth": "Глубина цвета",
|
||||
"colorSpace": "Цветовое пространство",
|
||||
"colorRange": "Цветовой диапазон",
|
||||
"colorPrimaries": "Цветовые первичные",
|
||||
"colorPrimaries": "Основные цвета",
|
||||
"chromaSubsampling": "Субдискретизация цветности",
|
||||
"channels": "Каналы",
|
||||
"subtitles": "Субтитры",
|
||||
@@ -394,7 +394,7 @@
|
||||
"size": "Размер",
|
||||
"container": "Контейнер",
|
||||
"duration": "Длительность",
|
||||
"optimizedForStreaming": "Оптимизировано для стриминга",
|
||||
"optimizedForStreaming": "Оптимизировано для потоковой передачи",
|
||||
"has64bitOffsets": "64-битные смещения"
|
||||
},
|
||||
"mediaMenu": {
|
||||
@@ -422,7 +422,7 @@
|
||||
"favorited": "Добавлено в избранное",
|
||||
"saved": "Сохранено",
|
||||
"notAvailable": "Совпадений не найдено",
|
||||
"noConnectedServices": "Подключите сервис в настройках, чтобы оценивать здесь."
|
||||
"noConnectedServices": "Подключите сервис в настройках, чтобы выставлять оценки в нём."
|
||||
},
|
||||
"accessibility": {
|
||||
"mediaCardMovie": "${title}, фильм",
|
||||
@@ -466,7 +466,7 @@
|
||||
"playsLater": "${label} воспроизводится позже",
|
||||
"playsEarlier": "${label} воспроизводится раньше",
|
||||
"noOffset": "Без смещения",
|
||||
"letterbox": "Letterbox",
|
||||
"letterbox": "Вписать в экран",
|
||||
"fillScreen": "Заполнить экран",
|
||||
"stretch": "Растянуть",
|
||||
"lockRotation": "Заблокировать поворот",
|
||||
@@ -484,10 +484,10 @@
|
||||
"playNext": "Следующее",
|
||||
"playButton": "Воспроизвести",
|
||||
"pauseButton": "Пауза",
|
||||
"showPlaybackControls": "",
|
||||
"hidePlaybackControls": "",
|
||||
"seekBackwardButton": "Перемотка назад на ${seconds} секунд",
|
||||
"seekForwardButton": "Перемотка вперёд на ${seconds} секунд",
|
||||
"showPlaybackControls": "Показать элементы управления воспроизведением",
|
||||
"hidePlaybackControls": "Скрыть элементы управления воспроизведением",
|
||||
"seekBackwardButton": "Перемотать назад на ${seconds} с",
|
||||
"seekForwardButton": "Перемотать вперёд на ${seconds} с",
|
||||
"previousButton": "Предыдущий эпизод",
|
||||
"nextButton": "Следующий эпизод",
|
||||
"previousChapterButton": "Предыдущая глава",
|
||||
@@ -501,7 +501,7 @@
|
||||
"versionColumnHeader": "Версия",
|
||||
"qualityColumnHeader": "Качество",
|
||||
"qualityOriginal": "Оригинал",
|
||||
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
|
||||
"qualityPresetLabel": "${resolution}p ${bitrate} Мбит/с",
|
||||
"transcodeUnavailableFallback": "Транскодирование недоступно — воспроизведение в оригинальном качестве",
|
||||
"subtitleUnavailableFallback": "Не удалось загрузить выбранные субтитры — воспроизведение продолжится без субтитров",
|
||||
"pipButton": "Режим «картинка в картинке»",
|
||||
@@ -524,7 +524,7 @@
|
||||
"pipErrors": {
|
||||
"androidVersion": "Требуется Android 8.0 или новее",
|
||||
"iosVersion": "Требуется iOS 15.0 или новее",
|
||||
"permissionDisabled": "Картинка-в-картинке отключена. Включите ее в системных настройках.",
|
||||
"permissionDisabled": "Режим «картинка в картинке» отключён. Включите его в системных настройках.",
|
||||
"notSupported": "Устройство не поддерживает режим «картинка в картинке»",
|
||||
"voSwitchFailed": "Не удалось переключить видеовыход для «картинки в картинке»",
|
||||
"failed": "Не удалось запустить режим «картинка в картинке»",
|
||||
@@ -563,11 +563,11 @@
|
||||
"streamInterrupted": "Поток прервался. Нажмите «Воспроизвести» или перемотайте, чтобы повторить попытку.",
|
||||
"liveStreamInterrupted": "Прямая трансляция прервалась. Нажмите «Воспроизвести», чтобы повторить попытку.",
|
||||
"fileInfoNotAvailable": "Информация о файле недоступна",
|
||||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||||
"playbackCancelled": "Playback was cancelled.",
|
||||
"playbackFailed": "Playback could not be started.",
|
||||
"playbackAuthenticationRequired": "Чтобы воспроизвести этот материал, снова войдите на медиасервер.",
|
||||
"playbackServerUnavailable": "Медиасервер недоступен. Попробуйте позже.",
|
||||
"playbackDataInvalid": "Сервер вернул некорректные сведения для воспроизведения.",
|
||||
"playbackCancelled": "Воспроизведение отменено.",
|
||||
"playbackFailed": "Не удалось начать воспроизведение.",
|
||||
"errorLoadingFileInfo": "Ошибка загрузки информации о файле: ${error}",
|
||||
"errorLoadingSeries": "Ошибка загрузки сериала",
|
||||
"musicNotSupported": "Воспроизведение музыки пока не поддерживается",
|
||||
@@ -614,7 +614,7 @@
|
||||
"backgroundColor": "Цвет фона",
|
||||
"position": "Позиция",
|
||||
"assOverride": "Переопределение ASS",
|
||||
"overrideScale": "Масштабировать",
|
||||
"overrideScale": "Масштаб",
|
||||
"overrideForce": "Принудительно",
|
||||
"overrideStrip": "Удалить стили",
|
||||
"positionTop": "Сверху",
|
||||
@@ -658,7 +658,7 @@
|
||||
"signedOutPlex": "Вы вышли из Plex.",
|
||||
"signOutFailed": "Не удалось выйти.",
|
||||
"sectionTitle": "Профили",
|
||||
"summarySingle": "Добавьте профили, чтобы смешать управляемых пользователей и локальные идентификаторы",
|
||||
"summarySingle": "Добавляйте профили, чтобы сочетать управляемых пользователей и локальные профили",
|
||||
"summaryMultipleWithActive": "${count} профилей · активный: ${activeName}",
|
||||
"summaryMultiple": "${count} профилей",
|
||||
"removeConnectionTitle": "Удалить соединение?",
|
||||
@@ -687,16 +687,16 @@
|
||||
"removeConnection": "Удалить",
|
||||
"profileRenamed": "Профиль переименован.",
|
||||
"borrowAddTo": "Добавить в ${displayName}",
|
||||
"borrowExplain": "Заимствуйте подключение другого профиля. Для профилей с PIN нужен PIN.",
|
||||
"borrowEmpty": "Пока нечего заимствовать.",
|
||||
"borrowExplain": "Используйте подключение другого профиля. Для защищённых профилей потребуется PIN.",
|
||||
"borrowEmpty": "Пока нет доступных подключений.",
|
||||
"borrowEmptySubtitle": "Сначала подключите Plex или Jellyfin к другому профилю.",
|
||||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||||
"borrowFromProfile": "Из ${displayName}",
|
||||
"borrowConnectionBorrowed": "Подключение заимствовано.",
|
||||
"borrowFailed": "Не удалось заимствовать подключение.",
|
||||
"borrowLoadFailed": "Не удалось загрузить доступные подключения. Попробуйте снова.",
|
||||
"borrowFromProfile": "От ${displayName}",
|
||||
"borrowConnectionBorrowed": "Подключение добавлено.",
|
||||
"borrowFailed": "Не удалось добавить подключение.",
|
||||
"incorrectPin": "Неверный PIN.",
|
||||
"incorrectPinTryAgain": "Неверный PIN. Попробуйте ещё раз.",
|
||||
"sourceProfileMissingParentAccount": "У исходного профиля отсутствует родительская учетная запись.",
|
||||
"sourceProfileMissingParentAccount": "У исходного профиля отсутствует родительская учётная запись.",
|
||||
"failedToLoadHomeUsers": "Не удалось загрузить пользователей Plex Home. Проверьте подключение и попробуйте ещё раз.",
|
||||
"failedToVerifyPin": "Не удалось проверить PIN.",
|
||||
"newProfile": "Новый профиль",
|
||||
@@ -879,10 +879,10 @@
|
||||
"libraries": "Библиотеки",
|
||||
"downloads": "Загрузки",
|
||||
"liveTv": "ТВ в прямом эфире",
|
||||
"explore": "Исследовать"
|
||||
"explore": "Обзор"
|
||||
},
|
||||
"explore": {
|
||||
"title": "Исследовать",
|
||||
"title": "Обзор",
|
||||
"selectSource": "Выбрать источник",
|
||||
"rows": {
|
||||
"watchlist": "Список для просмотра",
|
||||
@@ -921,7 +921,7 @@
|
||||
"inTheseLibraries": "В этих библиотеках",
|
||||
"checkingLibrary": "Проверка вашей библиотеки...",
|
||||
"emptyTitle": "Здесь пока ничего нет",
|
||||
"emptyMessage": "Строки из ${source} появятся здесь, когда в них будет контент.",
|
||||
"emptyMessage": "Разделы из ${source} появятся здесь, когда в них появится контент.",
|
||||
"searchHint": "Поиск в ${source}",
|
||||
"searchEmpty": "Нет результатов по запросу \"${query}\"",
|
||||
"searchPrompt": "Ищите фильмы и сериалы в ${source}.",
|
||||
@@ -957,7 +957,7 @@
|
||||
"favorites": "Избранное",
|
||||
"reorderFavorites": "Изменить порядок избранного",
|
||||
"favoritesLoadFailed": "Не удалось загрузить избранное. Проверьте подключение и повторите попытку.",
|
||||
"favoritesUpdateFailed": "Could not update favorites. Check your connection and try again.",
|
||||
"favoritesUpdateFailed": "Не удалось обновить избранное. Проверьте подключение и повторите попытку.",
|
||||
"joinSession": "Присоединиться к текущему сеансу",
|
||||
"watchFromStart": "Смотреть сначала (${minutes} мин. назад)",
|
||||
"watchLive": "Смотреть в прямом эфире",
|
||||
@@ -1084,22 +1084,22 @@
|
||||
"joining": "Подключение...",
|
||||
"controlMode": "Режим управления",
|
||||
"controlModeQuestion": "Кто может управлять воспроизведением?",
|
||||
"hostOnly": "Только хост",
|
||||
"hostOnly": "Только организатор",
|
||||
"anyone": "Все",
|
||||
"hostingSession": "Хостинг сессии",
|
||||
"hostingSession": "Вы организатор",
|
||||
"inSession": "В сессии",
|
||||
"sessionCode": "Код сессии",
|
||||
"openSessionControls": "Открыть управление сессией «Смотреть вместе»",
|
||||
"copySessionCode": "Скопировать код сессии",
|
||||
"hostControlsPlayback": "Хост управляет воспроизведением",
|
||||
"hostControlsPlayback": "Организатор управляет воспроизведением",
|
||||
"anyoneCanControl": "Любой может управлять воспроизведением",
|
||||
"hostControls": "Управление хоста",
|
||||
"anyoneControls": "Управление для всех",
|
||||
"hostControls": "Управляет организатор",
|
||||
"anyoneControls": "Управляют все",
|
||||
"participants": "Участники",
|
||||
"host": "Хост",
|
||||
"hostBadge": "HOST",
|
||||
"youAreHost": "Вы — хост",
|
||||
"watchingWithOthers": "Смотрите с другими",
|
||||
"host": "Организатор",
|
||||
"hostBadge": "ОРГАНИЗАТОР",
|
||||
"youAreHost": "Вы — организатор",
|
||||
"watchingWithOthers": "Совместный просмотр",
|
||||
"endSession": "Завершить сессию",
|
||||
"leaveSession": "Покинуть сессию",
|
||||
"endSessionQuestion": "Завершить сессию?",
|
||||
@@ -1116,22 +1116,22 @@
|
||||
"pasteFromClipboard": "Вставить из буфера обмена",
|
||||
"pleaseEnterCode": "Введите код сессии",
|
||||
"codeMustBe5Chars": "Код сессии должен содержать 5 символов",
|
||||
"joinInstructions": "Введите код сессии хоста, чтобы присоединиться.",
|
||||
"joinInstructions": "Введите код сессии организатора, чтобы присоединиться.",
|
||||
"failedToCreate": "Не удалось создать сессию",
|
||||
"failedToJoin": "Не удалось присоединиться к сессии",
|
||||
"sessionCodeCopied": "Код сессии скопирован в буфер обмена",
|
||||
"relayUnreachable": "Сервер relay недоступен. Блокировка ISP может мешать Watch Together.",
|
||||
"reconnectingToHost": "Переподключение к хосту...",
|
||||
"relayUnreachable": "Сервер ретрансляции недоступен. Блокировка интернет-провайдером может помешать совместному просмотру.",
|
||||
"reconnectingToHost": "Повторное подключение к организатору...",
|
||||
"currentPlayback": "Текущее воспроизведение",
|
||||
"joinCurrentPlayback": "Присоединиться к текущему воспроизведению",
|
||||
"joinCurrentPlaybackDescription": "Вернуться к тому, что сейчас смотрит хост",
|
||||
"joinCurrentPlaybackDescription": "Вернуться к материалу, который сейчас смотрит организатор",
|
||||
"failedToOpenCurrentPlayback": "Не удалось открыть текущее воспроизведение",
|
||||
"participantJoined": "${name} присоединился",
|
||||
"participantLeft": "${name} вышел",
|
||||
"participantPaused": "${name} поставил на паузу",
|
||||
"participantResumed": "${name} возобновил",
|
||||
"participantSeeked": "${name} перемотал",
|
||||
"participantBuffering": "${name} буферизует",
|
||||
"participantBuffering": "У ${name} идёт буферизация",
|
||||
"participantNeedsUpdate": "${name} использует старую версию приложения — синхронизация недоступна",
|
||||
"resumingWithout": "Возобновление без ${name}",
|
||||
"waitingForParticipants": "Ожидание загрузки у других...",
|
||||
@@ -1156,7 +1156,7 @@
|
||||
"retryDownload": "Повторить загрузку",
|
||||
"downloadQueued": "Загрузка поставлена в очередь",
|
||||
"downloadResumed": "Загрузка возобновлена",
|
||||
"serverErrorBitrate": "Ошибка сервера: файл может превышать удаленный лимит bitrate",
|
||||
"serverErrorBitrate": "Ошибка сервера: файл может превышать установленное на сервере ограничение битрейта",
|
||||
"episodesQueued": "${count} эпизодов поставлено в очередь загрузки",
|
||||
"downloadDeleted": "Загрузка удалена",
|
||||
"deleteConfirm": "Удалить \"${title}\" с этого устройства?",
|
||||
@@ -1251,10 +1251,10 @@
|
||||
"connecting": "Подключение...",
|
||||
"searchingForDevices": "Поиск устройств...",
|
||||
"noDevicesFound": "Устройства в вашей сети не найдены",
|
||||
"noDevicesHint": "Откройте Plezy на компьютере и используйте тот же WiFi",
|
||||
"noDevicesHint": "Откройте Plezy на компьютере и подключите оба устройства к одной сети Wi-Fi",
|
||||
"availableDevices": "Доступные устройства",
|
||||
"manualConnection": "Ручное подключение",
|
||||
"cryptoInitFailed": "Не удалось запустить защищенное подключение. Сначала войдите в Plex.",
|
||||
"cryptoInitFailed": "Не удалось установить защищённое соединение. Сначала войдите в Plex.",
|
||||
"validationHostRequired": "Введите адрес хоста",
|
||||
"validationHostFormat": "Формат должен быть IP:порт (например, 192.168.1.100:48632)",
|
||||
"connectionTimedOut": "Время подключения истекло. Используйте одну сеть на обоих устройствах.",
|
||||
@@ -1427,9 +1427,9 @@
|
||||
"show": "Показать",
|
||||
"hide": "Скрыть",
|
||||
"episodeOrdering": "Порядок эпизодов",
|
||||
"tmdbAiring": "The Movie Database (Эфирный)",
|
||||
"tvdbAiring": "TheTVDB (Эфирный)",
|
||||
"tvdbAbsolute": "TheTVDB (Абсолютный)",
|
||||
"tmdbAiring": "The Movie Database (по дате выхода)",
|
||||
"tvdbAiring": "TheTVDB (по дате выхода)",
|
||||
"tvdbAbsolute": "TheTVDB (абсолютный порядок)",
|
||||
"metadataLanguage": "Язык метаданных",
|
||||
"useOriginalTitle": "Использовать оригинальное название",
|
||||
"preferredAudioLanguage": "Предпочитаемый язык аудио",
|
||||
@@ -1514,7 +1514,7 @@
|
||||
},
|
||||
"services": {
|
||||
"title": "Сервисы",
|
||||
"hubSubtitle": "Синхронизируйте прогресс просмотра и запрашивайте новые тайтлы.",
|
||||
"hubSubtitle": "Синхронизируйте прогресс просмотра и запрашивайте новые фильмы и сериалы.",
|
||||
"notConnected": "Не подключено",
|
||||
"connectedAs": "Подключено как @${username}",
|
||||
"scrobble": "Автоматически отслеживать прогресс",
|
||||
@@ -1560,7 +1560,7 @@
|
||||
},
|
||||
"addServer": {
|
||||
"addJellyfinTitle": "Добавить сервер Jellyfin",
|
||||
"serverUrls": "URL сервера",
|
||||
"serverUrls": "URL-адреса сервера",
|
||||
"serverUrlsHelper": "Можно указать несколько URL через запятую.",
|
||||
"findServer": "Найти сервер",
|
||||
"searchingLocalServers": "Поиск локальных серверов Jellyfin...",
|
||||
@@ -1585,7 +1585,7 @@
|
||||
"connectToJellyfinCard": "Подключиться к Jellyfin",
|
||||
"connectToJellyfinCardSubtitle": "Введите URL сервера, имя пользователя и пароль.",
|
||||
"connectToJellyfinCardSubtitleScoped": "Войдите на сервер Jellyfin. Привязывается к ${name}.",
|
||||
"borrowFromAnotherProfile": "Одолжить из другого профиля",
|
||||
"borrowFromAnotherProfileSubtitle": "Используйте подключение другого профиля. Для профилей с PIN нужен PIN."
|
||||
"borrowFromAnotherProfile": "Использовать подключение другого профиля",
|
||||
"borrowFromAnotherProfileSubtitle": "Повторно используйте подключение другого профиля. Для защищённых профилей потребуется PIN."
|
||||
}
|
||||
}
|
||||
|
||||
+33
-3
@@ -3,8 +3,8 @@
|
||||
/// Source: lib/i18n
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 16
|
||||
/// Strings: 23081 (1442 per locale)
|
||||
/// Locales: 18
|
||||
/// Strings: 26028 (1446 per locale)
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
@@ -21,6 +21,7 @@ import 'strings_da.g.dart' deferred as l_da;
|
||||
import 'strings_de.g.dart' deferred as l_de;
|
||||
import 'strings_es.g.dart' deferred as l_es;
|
||||
import 'strings_fr.g.dart' deferred as l_fr;
|
||||
import 'strings_hu.g.dart' deferred as l_hu;
|
||||
import 'strings_it.g.dart' deferred as l_it;
|
||||
import 'strings_ja.g.dart' deferred as l_ja;
|
||||
import 'strings_ko.g.dart' deferred as l_ko;
|
||||
@@ -31,6 +32,7 @@ import 'strings_pt.g.dart' deferred as l_pt;
|
||||
import 'strings_ru.g.dart' deferred as l_ru;
|
||||
import 'strings_sv.g.dart' deferred as l_sv;
|
||||
import 'strings_zh.g.dart' deferred as l_zh;
|
||||
import 'strings_zh_Hant.g.dart' deferred as l_zh_Hant;
|
||||
part 'strings_en.g.dart';
|
||||
|
||||
/// Supported locales.
|
||||
@@ -46,6 +48,7 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
|
||||
de(languageCode: 'de'),
|
||||
es(languageCode: 'es'),
|
||||
fr(languageCode: 'fr'),
|
||||
hu(languageCode: 'hu'),
|
||||
it(languageCode: 'it'),
|
||||
ja(languageCode: 'ja'),
|
||||
ko(languageCode: 'ko'),
|
||||
@@ -55,7 +58,8 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
|
||||
pt(languageCode: 'pt'),
|
||||
ru(languageCode: 'ru'),
|
||||
sv(languageCode: 'sv'),
|
||||
zh(languageCode: 'zh');
|
||||
zh(languageCode: 'zh'),
|
||||
zhHant(languageCode: 'zh', scriptCode: 'Hant');
|
||||
|
||||
const AppLocale({
|
||||
required this.languageCode,
|
||||
@@ -115,6 +119,13 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
);
|
||||
case AppLocale.hu:
|
||||
await l_hu.loadLibrary();
|
||||
return l_hu.TranslationsHu(
|
||||
overrides: overrides,
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
);
|
||||
case AppLocale.it:
|
||||
await l_it.loadLibrary();
|
||||
return l_it.TranslationsIt(
|
||||
@@ -185,6 +196,13 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
);
|
||||
case AppLocale.zhHant:
|
||||
await l_zh_Hant.loadLibrary();
|
||||
return l_zh_Hant.TranslationsZhHant(
|
||||
overrides: overrides,
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,6 +249,12 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
);
|
||||
case AppLocale.hu:
|
||||
return l_hu.TranslationsHu(
|
||||
overrides: overrides,
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
);
|
||||
case AppLocale.it:
|
||||
return l_it.TranslationsIt(
|
||||
overrides: overrides,
|
||||
@@ -291,6 +315,12 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
);
|
||||
case AppLocale.zhHant:
|
||||
return l_zh_Hant.TranslationsZhHant(
|
||||
overrides: overrides,
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+240
-232
File diff suppressed because it is too large
Load Diff
+380
-372
File diff suppressed because it is too large
Load Diff
+372
-368
File diff suppressed because it is too large
Load Diff
+42
-42
@@ -192,8 +192,8 @@ class Translations$common$en {
|
||||
/// en: 'Retry'
|
||||
String get retry => 'Retry';
|
||||
|
||||
/// en: 'Logout'
|
||||
String get logout => 'Logout';
|
||||
/// en: 'Log out'
|
||||
String get logout => 'Log out';
|
||||
|
||||
/// en: 'Unknown'
|
||||
String get unknown => 'Unknown';
|
||||
@@ -840,8 +840,8 @@ class Translations$settings$en {
|
||||
/// en: 'Folder selection is not available on this device'
|
||||
String get downloadLocationPickerUnavailable => 'Folder selection is not available on this device';
|
||||
|
||||
/// en: 'Download on WiFi only'
|
||||
String get downloadOnWifiOnly => 'Download on WiFi only';
|
||||
/// en: 'Download on Wi-Fi only'
|
||||
String get downloadOnWifiOnly => 'Download on Wi-Fi only';
|
||||
|
||||
/// en: 'Prevent downloads when on cellular data'
|
||||
String get downloadOnWifiOnlyDescription => 'Prevent downloads when on cellular data';
|
||||
@@ -852,8 +852,8 @@ class Translations$settings$en {
|
||||
/// en: 'Delete watched downloads automatically'
|
||||
String get autoRemoveWatchedDownloadsDescription => 'Delete watched downloads automatically';
|
||||
|
||||
/// en: 'Downloads are blocked on cellular. Use WiFi or change the setting.'
|
||||
String get cellularDownloadBlocked => 'Downloads are blocked on cellular. Use WiFi or change the setting.';
|
||||
/// en: 'Downloads are blocked on cellular. Use Wi-Fi or change the setting.'
|
||||
String get cellularDownloadBlocked => 'Downloads are blocked on cellular. Use Wi-Fi or change the setting.';
|
||||
|
||||
/// en: 'Maximum Volume'
|
||||
String get maxVolume => 'Maximum Volume';
|
||||
@@ -888,8 +888,8 @@ class Translations$settings$en {
|
||||
/// en: 'Auto Picture-in-Picture'
|
||||
String get autoPip => 'Auto Picture-in-Picture';
|
||||
|
||||
/// en: 'Enter picture-in-picture when leaving during playback'
|
||||
String get autoPipDescription => 'Enter picture-in-picture when leaving during playback';
|
||||
/// en: 'Automatically enter picture-in-picture when you leave the app during playback'
|
||||
String get autoPipDescription => 'Automatically enter picture-in-picture when you leave the app during playback';
|
||||
|
||||
/// en: 'Match Content Frame Rate'
|
||||
String get matchContentFrameRate => 'Match Content Frame Rate';
|
||||
@@ -1723,8 +1723,8 @@ class Translations$messages$en {
|
||||
/// en: 'The server returned invalid playback information.'
|
||||
String get playbackDataInvalid => 'The server returned invalid playback information.';
|
||||
|
||||
/// en: 'Playback was cancelled.'
|
||||
String get playbackCancelled => 'Playback was cancelled.';
|
||||
/// en: 'Playback was canceled.'
|
||||
String get playbackCancelled => 'Playback was canceled.';
|
||||
|
||||
/// en: 'Playback could not be started.'
|
||||
String get playbackFailed => 'Playback could not be started.';
|
||||
@@ -1777,8 +1777,8 @@ class Translations$messages$en {
|
||||
/// en: 'Failed to refresh metadata: ${error}'
|
||||
String metadataRefreshFailed({required Object error}) => 'Failed to refresh metadata: ${error}';
|
||||
|
||||
/// en: 'Are you sure you want to logout?'
|
||||
String get logoutConfirm => 'Are you sure you want to logout?';
|
||||
/// en: 'Are you sure you want to log out?'
|
||||
String get logoutConfirm => 'Are you sure you want to log out?';
|
||||
|
||||
/// en: 'No seasons found'
|
||||
String get noSeasonsFound => 'No seasons found';
|
||||
@@ -1804,8 +1804,8 @@ class Translations$messages$en {
|
||||
/// en: 'No items available'
|
||||
String get noItemsAvailable => 'No items available';
|
||||
|
||||
/// en: 'Failed to create play queue - no items'
|
||||
String get failedToCreatePlayQueueNoItems => 'Failed to create play queue - no items';
|
||||
/// en: 'Failed to create a play queue — no items'
|
||||
String get failedToCreatePlayQueueNoItems => 'Failed to create a play queue — no items';
|
||||
|
||||
/// en: 'Failed to ${action}: ${error}'
|
||||
String failedPlayback({required Object action, required Object error}) => 'Failed to ${action}: ${error}';
|
||||
@@ -2808,8 +2808,8 @@ class Translations$liveTv$en {
|
||||
/// en: 'Recording not available for this program'
|
||||
String get recordNotAvailable => 'Recording not available for this program';
|
||||
|
||||
/// en: 'Recording cancelled'
|
||||
String get recordingCancelled => 'Recording cancelled';
|
||||
/// en: 'Recording canceled'
|
||||
String get recordingCancelled => 'Recording canceled';
|
||||
|
||||
/// en: 'Recording rule deleted'
|
||||
String get recordingRuleDeleted => 'Recording rule deleted';
|
||||
@@ -3246,8 +3246,8 @@ class Translations$watchTogether$en {
|
||||
/// en: '${name} resumed'
|
||||
String participantResumed({required Object name}) => '${name} resumed';
|
||||
|
||||
/// en: '${name} seeked'
|
||||
String participantSeeked({required Object name}) => '${name} seeked';
|
||||
/// en: '${name} changed the playback position'
|
||||
String participantSeeked({required Object name}) => '${name} changed the playback position';
|
||||
|
||||
/// en: '${name} is buffering'
|
||||
String participantBuffering({required Object name}) => '${name} is buffering';
|
||||
@@ -3339,11 +3339,11 @@ class Translations$downloads$en {
|
||||
/// 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: 'Canceled Download'
|
||||
String get cancelledDownloadTitle => 'Canceled 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: 'This download was canceled. What would you like to do?'
|
||||
String get cancelledDownloadMessage => 'This download was canceled. What would you like to do?';
|
||||
|
||||
/// en: 'All episodes already downloaded'
|
||||
String get allEpisodesAlreadyDownloaded => 'All episodes already downloaded';
|
||||
@@ -3351,8 +3351,8 @@ class Translations$downloads$en {
|
||||
/// en: 'Resume download'
|
||||
String get resumeDownload => 'Resume download';
|
||||
|
||||
/// en: 'Cancelled download'
|
||||
String get cancelledDownload => 'Cancelled download';
|
||||
/// en: 'Canceled download'
|
||||
String get cancelledDownload => 'Canceled download';
|
||||
|
||||
/// en: '${file} (syncing ${status})'
|
||||
String syncingFile({required Object file, required Object status}) => '${file} (syncing ${status})';
|
||||
@@ -4118,8 +4118,8 @@ class Translations$trakt$en {
|
||||
/// en: 'Sync watched status'
|
||||
String get watchedSync => 'Sync watched status';
|
||||
|
||||
/// en: 'When you mark items watched in Plezy, mark them on Trakt.'
|
||||
String get watchedSyncDescription => 'When you mark items watched in Plezy, mark them on Trakt.';
|
||||
/// en: 'When you mark items as watched in Plezy, they are also marked as watched on Trakt.'
|
||||
String get watchedSyncDescription => 'When you mark items as watched in Plezy, they are also marked as watched on Trakt.';
|
||||
}
|
||||
|
||||
// Path: seerr
|
||||
@@ -4765,8 +4765,8 @@ class Translations$companionRemote$pairing$en {
|
||||
/// en: 'No devices found on your network'
|
||||
String get noDevicesFound => 'No devices found on your network';
|
||||
|
||||
/// en: 'Open Plezy on desktop and use the same WiFi'
|
||||
String get noDevicesHint => 'Open Plezy on desktop and use the same WiFi';
|
||||
/// en: 'Open Plezy on desktop and use the same Wi-Fi'
|
||||
String get noDevicesHint => 'Open Plezy on desktop and use the same Wi-Fi';
|
||||
|
||||
/// en: 'Available Devices'
|
||||
String get availableDevices => 'Available Devices';
|
||||
@@ -5069,7 +5069,7 @@ extension on Translations {
|
||||
'common.submit' => 'Submit',
|
||||
'common.confirm' => 'Confirm',
|
||||
'common.retry' => 'Retry',
|
||||
'common.logout' => 'Logout',
|
||||
'common.logout' => 'Log out',
|
||||
'common.unknown' => 'Unknown',
|
||||
'common.refresh' => 'Refresh',
|
||||
'common.yes' => 'Yes',
|
||||
@@ -5276,11 +5276,11 @@ extension on Translations {
|
||||
'settings.downloadLocationReset' => 'Download location reset to default',
|
||||
'settings.downloadLocationInvalid' => 'Selected folder is not writable',
|
||||
'settings.downloadLocationPickerUnavailable' => 'Folder selection is not available on this device',
|
||||
'settings.downloadOnWifiOnly' => 'Download on WiFi only',
|
||||
'settings.downloadOnWifiOnly' => 'Download on Wi-Fi only',
|
||||
'settings.downloadOnWifiOnlyDescription' => 'Prevent downloads when on cellular data',
|
||||
'settings.autoRemoveWatchedDownloads' => 'Auto-remove watched downloads',
|
||||
'settings.autoRemoveWatchedDownloadsDescription' => 'Delete watched downloads automatically',
|
||||
'settings.cellularDownloadBlocked' => 'Downloads are blocked on cellular. Use WiFi or change the setting.',
|
||||
'settings.cellularDownloadBlocked' => 'Downloads are blocked on cellular. Use Wi-Fi or change the setting.',
|
||||
'settings.maxVolume' => 'Maximum Volume',
|
||||
'settings.maxVolumeDescription' => 'Allow volume boost above 100% for quiet media',
|
||||
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
|
||||
@@ -5292,7 +5292,7 @@ extension on Translations {
|
||||
'settings.companionRemoteServer' => 'Companion Remote Server',
|
||||
'settings.companionRemoteServerDescription' => 'Allow mobile devices on your network to control this app',
|
||||
'settings.autoPip' => 'Auto Picture-in-Picture',
|
||||
'settings.autoPipDescription' => 'Enter picture-in-picture when leaving during playback',
|
||||
'settings.autoPipDescription' => 'Automatically enter picture-in-picture when you leave the app during playback',
|
||||
'settings.matchContentFrameRate' => 'Match Content Frame Rate',
|
||||
'settings.matchContentFrameRateDescription' => 'Match display refresh rate to video content',
|
||||
'settings.matchRefreshRate' => 'Match Refresh Rate',
|
||||
@@ -5572,7 +5572,7 @@ extension on Translations {
|
||||
'messages.playbackAuthenticationRequired' => 'Sign in to the media server again to play this item.',
|
||||
'messages.playbackServerUnavailable' => 'The media server is unavailable. Try again later.',
|
||||
'messages.playbackDataInvalid' => 'The server returned invalid playback information.',
|
||||
'messages.playbackCancelled' => 'Playback was cancelled.',
|
||||
'messages.playbackCancelled' => 'Playback was canceled.',
|
||||
'messages.playbackFailed' => 'Playback could not be started.',
|
||||
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Error loading file info: ${error}',
|
||||
'messages.errorLoadingSeries' => 'Error loading series',
|
||||
@@ -5590,7 +5590,7 @@ extension on Translations {
|
||||
'messages.metadataRefreshing' => ({required Object title}) => 'Refreshing metadata for "${title}"...',
|
||||
'messages.metadataRefreshStarted' => ({required Object title}) => 'Metadata refresh started for "${title}"',
|
||||
'messages.metadataRefreshFailed' => ({required Object error}) => 'Failed to refresh metadata: ${error}',
|
||||
'messages.logoutConfirm' => 'Are you sure you want to logout?',
|
||||
'messages.logoutConfirm' => 'Are you sure you want to log out?',
|
||||
'messages.noSeasonsFound' => 'No seasons found',
|
||||
'messages.seasonsLoadFailed' => 'Couldn\'t load seasons',
|
||||
'messages.noEpisodesFound' => 'No episodes found in first season',
|
||||
@@ -5599,7 +5599,7 @@ extension on Translations {
|
||||
'messages.noResultsFound' => 'No results found',
|
||||
'messages.sleepTimerSet' => ({required Object label}) => 'Sleep timer set for ${label}',
|
||||
'messages.noItemsAvailable' => 'No items available',
|
||||
'messages.failedToCreatePlayQueueNoItems' => 'Failed to create play queue - no items',
|
||||
'messages.failedToCreatePlayQueueNoItems' => 'Failed to create a play queue — no items',
|
||||
'messages.failedPlayback' => ({required Object action, required Object error}) => 'Failed to ${action}: ${error}',
|
||||
'messages.switchingToCompatiblePlayer' => 'Switching to compatible player...',
|
||||
'messages.serverLimitTitle' => 'Playback failed',
|
||||
@@ -5941,7 +5941,7 @@ extension on Translations {
|
||||
'liveTv.recordingFailed' => 'Couldn\'t schedule recording',
|
||||
'liveTv.recordingTargetMissing' => 'Couldn\'t determine recording library',
|
||||
'liveTv.recordNotAvailable' => 'Recording not available for this program',
|
||||
'liveTv.recordingCancelled' => 'Recording cancelled',
|
||||
'liveTv.recordingCancelled' => 'Recording canceled',
|
||||
'liveTv.recordingRuleDeleted' => 'Recording rule deleted',
|
||||
'liveTv.processRecordingRules' => 'Re-evaluate rules',
|
||||
'liveTv.recordingInProgress' => 'Recording now',
|
||||
@@ -6076,7 +6076,7 @@ extension on Translations {
|
||||
'watchTogether.participantLeft' => ({required Object name}) => '${name} left',
|
||||
'watchTogether.participantPaused' => ({required Object name}) => '${name} paused',
|
||||
'watchTogether.participantResumed' => ({required Object name}) => '${name} resumed',
|
||||
'watchTogether.participantSeeked' => ({required Object name}) => '${name} seeked',
|
||||
'watchTogether.participantSeeked' => ({required Object name}) => '${name} changed the playback position',
|
||||
'watchTogether.participantBuffering' => ({required Object name}) => '${name} is buffering',
|
||||
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} is on an older app version — sync unavailable',
|
||||
'watchTogether.resumingWithout' => ({required Object name}) => 'Resuming without ${name}',
|
||||
@@ -6104,11 +6104,11 @@ extension on Translations {
|
||||
'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.cancelledDownloadTitle' => 'Canceled Download',
|
||||
'downloads.cancelledDownloadMessage' => 'This download was canceled. What would you like to do?',
|
||||
'downloads.allEpisodesAlreadyDownloaded' => 'All episodes already downloaded',
|
||||
'downloads.resumeDownload' => 'Resume download',
|
||||
'downloads.cancelledDownload' => 'Cancelled download',
|
||||
'downloads.cancelledDownload' => 'Canceled 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',
|
||||
@@ -6188,7 +6188,7 @@ extension on Translations {
|
||||
'companionRemote.pairing.connecting' => 'Connecting...',
|
||||
'companionRemote.pairing.searchingForDevices' => 'Looking for devices...',
|
||||
'companionRemote.pairing.noDevicesFound' => 'No devices found on your network',
|
||||
'companionRemote.pairing.noDevicesHint' => 'Open Plezy on desktop and use the same WiFi',
|
||||
'companionRemote.pairing.noDevicesHint' => 'Open Plezy on desktop and use the same Wi-Fi',
|
||||
'companionRemote.pairing.availableDevices' => 'Available Devices',
|
||||
'companionRemote.pairing.manualConnection' => 'Manual Connection',
|
||||
'companionRemote.pairing.cryptoInitFailed' => 'Couldn\'t start secure connection. Sign in to Plex first.',
|
||||
@@ -6396,7 +6396,7 @@ extension on Translations {
|
||||
'trakt.scrobble' => 'Real-time scrobbling',
|
||||
'trakt.scrobbleDescription' => 'Send play, pause, and stop events to Trakt during playback.',
|
||||
'trakt.watchedSync' => 'Sync watched status',
|
||||
'trakt.watchedSyncDescription' => 'When you mark items watched in Plezy, mark them on Trakt.',
|
||||
'trakt.watchedSyncDescription' => 'When you mark items as watched in Plezy, they are also marked as watched on Trakt.',
|
||||
'seerr.title' => 'Seerr',
|
||||
'seerr.connectTitle' => 'Connect Seerr',
|
||||
'seerr.serverUrl' => 'Server URL',
|
||||
|
||||
+542
-534
File diff suppressed because it is too large
Load Diff
+498
-490
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+702
-694
File diff suppressed because it is too large
Load Diff
+336
-328
File diff suppressed because it is too large
Load Diff
+233
-225
File diff suppressed because it is too large
Load Diff
+267
-259
File diff suppressed because it is too large
Load Diff
+532
-524
File diff suppressed because it is too large
Load Diff
+274
-266
File diff suppressed because it is too large
Load Diff
+510
-502
File diff suppressed because it is too large
Load Diff
+164
-156
@@ -109,10 +109,10 @@ class _Translations$auth$ru extends Translations$auth$en {
|
||||
// Translations
|
||||
@override String get signInWithPlex => 'Войти через Plex';
|
||||
@override String get showQRCode => 'Показать QR-код';
|
||||
@override String get authenticate => 'Аутентификация';
|
||||
@override String get authenticate => 'Войти';
|
||||
@override String get authenticationTimeout => 'Время аутентификации истекло. Попробуйте снова.';
|
||||
@override String get scanQRToSignIn => 'Отсканируйте QR-код для входа';
|
||||
@override String get waitingForAuth => 'Ожидание аутентификации...\nВойдите в браузере.';
|
||||
@override String get waitingForAuth => 'Ожидание аутентификации...\nВыполните вход в браузере.';
|
||||
@override String get useBrowser => 'Использовать браузер';
|
||||
@override String get or => 'или';
|
||||
@override String get connectToJellyfin => 'Подключиться к Jellyfin';
|
||||
@@ -120,8 +120,8 @@ class _Translations$auth$ru extends Translations$auth$en {
|
||||
@override String get quickConnectInstructions => 'Откройте Quick Connect в Jellyfin и введите этот код.';
|
||||
@override String get quickConnectWaiting => 'Ожидание подтверждения…';
|
||||
@override String get quickConnectCancel => 'Отмена';
|
||||
@override String get quickConnectExpired => 'Срок Quick Connect истек. Попробуйте снова.';
|
||||
@override String get localDataRecoveryRequired => 'Plezy could not safely recover local sign-in and pending playback data. Please sign in again.';
|
||||
@override String get quickConnectExpired => 'Срок действия Quick Connect истёк. Попробуйте снова.';
|
||||
@override String get localDataRecoveryRequired => 'Plezy не удалось безопасно восстановить данные локального входа и несинхронизированные данные о воспроизведении. Войдите снова.';
|
||||
}
|
||||
|
||||
// Path: common
|
||||
@@ -241,6 +241,8 @@ class _Translations$settings$ru extends Translations$settings$en {
|
||||
@override String get libraryDensity => 'Плотность библиотеки';
|
||||
@override String get compact => 'Компактный';
|
||||
@override String get comfortable => 'Комфортный';
|
||||
@override String get tvCornerSpotlightBackdrop => 'Фоновое изображение в углу';
|
||||
@override String get tvCornerSpotlightBackdropDescription => 'Показывать изображение избранного материала в правом верхнем углу, а не на весь экран';
|
||||
@override String get viewMode => 'Режим просмотра';
|
||||
@override String get gridView => 'Сетка';
|
||||
@override String get listView => 'Список';
|
||||
@@ -265,8 +267,8 @@ class _Translations$settings$ru extends Translations$settings$en {
|
||||
@override String get showEpisodeNumberOnCardsDescription => 'Показывать номер сезона и серии на карточках серий';
|
||||
@override String get showSeasonPostersOnTabs => 'Показывать постеры сезонов на вкладках';
|
||||
@override String get showSeasonPostersOnTabsDescription => 'Показывать постер каждого сезона над его вкладкой';
|
||||
@override String get tvFullCardLayout => 'Полные TV-карточки';
|
||||
@override String get tvFullCardLayoutDescription => 'Использовать TV-карточки только с изображением и именами актёров поверх него';
|
||||
@override String get tvFullCardLayout => 'Полноформатные ТВ-карточки';
|
||||
@override String get tvFullCardLayoutDescription => 'Использовать ТВ-карточки только с изображением и наложенными именами актёров';
|
||||
@override String get focusGlow => 'Свечение при фокусе';
|
||||
@override String get focusGlowDescription => 'Показывать мягкое свечение вокруг карточки в фокусе';
|
||||
@override String get visualEffects => 'Визуальные эффекты';
|
||||
@@ -285,7 +287,7 @@ class _Translations$settings$ru extends Translations$settings$en {
|
||||
@override String get bufferSize => 'Размер буфера';
|
||||
@override String bufferSizeMB({required Object size}) => '${size}МБ';
|
||||
@override String get bufferSizeAuto => 'Авто (Рекомендуется)';
|
||||
@override String bufferSizeWarning({required Object heap, required Object size}) => 'Доступно памяти: ${heap}MB. Буфер ${size}MB может повлиять на воспроизведение.';
|
||||
@override String bufferSizeWarning({required Object heap, required Object size}) => 'Доступно памяти: ${heap} МБ. Буфер размером ${size} МБ может повлиять на воспроизведение.';
|
||||
@override String get defaultQualityTitle => 'Качество по умолчанию';
|
||||
@override String get musicQualityTitle => 'Качество музыки';
|
||||
@override String get subtitleStyling => 'Стиль субтитров';
|
||||
@@ -293,24 +295,24 @@ class _Translations$settings$ru extends Translations$settings$en {
|
||||
@override String get smallSkipDuration => 'Малая перемотка';
|
||||
@override String get largeSkipDuration => 'Большая перемотка';
|
||||
@override String get rewindOnResume => 'Перемотка при возобновлении';
|
||||
@override String secondsUnit({required Object seconds}) => '${seconds} секунд';
|
||||
@override String secondsUnit({required Object seconds}) => '${seconds} с';
|
||||
@override String get defaultSleepTimer => 'Таймер сна по умолчанию';
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} минут';
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} мин';
|
||||
@override String get rememberTrackSelections => 'Запоминать выбор дорожек для каждого сериала/фильма';
|
||||
@override String get rememberTrackSelectionsDescription => 'Запоминать выбор аудио и субтитров для тайтла';
|
||||
@override String get rememberTrackSelectionsDescription => 'Запоминать выбор аудиодорожки и субтитров для каждого материала';
|
||||
@override String get showChapterMarkersOnTimeline => 'Показывать маркеры глав на шкале перемотки';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Разделять шкалу перемотки по границам глав';
|
||||
@override String get clickVideoTogglesPlayback => 'Клик по видео для переключения воспроизведения/паузы';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Клик по видео запускает/ставит на паузу вместо показа управления.';
|
||||
@override String get clickVideoTogglesPlayback => 'Нажатие на видео запускает или приостанавливает воспроизведение';
|
||||
@override String get clickVideoTogglesPlaybackDescription => 'Нажатие на видео запускает или приостанавливает воспроизведение вместо показа элементов управления.';
|
||||
@override String get videoPlayerControls => 'Элементы управления плеером';
|
||||
@override String get keyboardShortcuts => 'Горячие клавиши';
|
||||
@override String get keyboardShortcutsDescription => 'Настроить горячие клавиши';
|
||||
@override String get videoPlayerNavigation => 'Навигация видеоплеера';
|
||||
@override String get videoPlayerNavigationDescription => 'Использовать клавиши стрелок для навигации по элементам управления плеером';
|
||||
@override String get watchTogetherRelay => 'Relay совместного просмотра';
|
||||
@override String get watchTogetherRelayDescription => 'Задайте свой relay. Все должны использовать один сервер.';
|
||||
@override String get watchTogetherRelay => 'Сервер ретрансляции для совместного просмотра';
|
||||
@override String get watchTogetherRelayDescription => 'Задайте свой сервер ретрансляции. Все участники должны использовать один сервер.';
|
||||
@override String get watchTogetherRelayHint => 'https://my-relay.example.com';
|
||||
@override String get watchTogetherRelayInvalid => 'Enter a valid HTTP or HTTPS relay base URL.';
|
||||
@override String get watchTogetherRelayInvalid => 'Введите допустимый базовый HTTP- или HTTPS-адрес сервера ретрансляции.';
|
||||
@override String get crashReporting => 'Отчёты об ошибках';
|
||||
@override String get crashReportingDescription => 'Отправлять отчёты об ошибках для улучшения приложения';
|
||||
@override String get debugLogging => 'Журнал отладки';
|
||||
@@ -343,16 +345,16 @@ class _Translations$settings$ru extends Translations$settings$en {
|
||||
@override String get autoCheckUpdatesOnStartupDescription => 'Уведомлять о доступном обновлении при запуске';
|
||||
@override String get validationErrorEnterNumber => 'Введите корректное число';
|
||||
@override String validationErrorDuration({required Object min, required Object max, required Object unit}) => 'Длительность должна быть от ${min} до ${max} ${unit}';
|
||||
@override String shortcutAlreadyAssigned({required Object action}) => 'Клавиша уже назначена для ${action}';
|
||||
@override String shortcutUpdated({required Object action}) => 'Клавиша обновлена для ${action}';
|
||||
@override String get saveFailed => 'Could not save changes. Try again.';
|
||||
@override String shortcutAlreadyAssigned({required Object action}) => 'Сочетание клавиш уже назначено действию «${action}»';
|
||||
@override String shortcutUpdated({required Object action}) => 'Сочетание клавиш для действия «${action}» обновлено';
|
||||
@override String get saveFailed => 'Не удалось сохранить изменения. Попробуйте снова.';
|
||||
@override String get autoSkip => 'Автопропуск';
|
||||
@override String get autoSkipIntro => 'Автопропуск вступления';
|
||||
@override String get autoSkipIntroDescription => 'Автоматически пропускать маркеры вступления через несколько секунд';
|
||||
@override String get autoSkipCredits => 'Автопропуск титров';
|
||||
@override String get autoSkipCreditsDescription => 'Автоматически пропускать титры и воспроизводить следующий эпизод';
|
||||
@override String get forceSkipMarkerFallback => 'Принудительные резервные маркеры';
|
||||
@override String get forceSkipMarkerFallbackDescription => 'Использовать шаблоны названий глав, даже если в Plex есть маркеры';
|
||||
@override String get forceSkipMarkerFallback => 'Всегда использовать резервные маркеры';
|
||||
@override String get forceSkipMarkerFallbackDescription => 'Использовать шаблоны названий глав, даже если в Plex есть собственные маркеры';
|
||||
@override String get autoSkipDelay => 'Задержка автопропуска';
|
||||
@override String autoSkipDelayDescription({required Object seconds}) => 'Подождать ${seconds} секунд перед автопропуском';
|
||||
@override String get introPattern => 'Шаблон маркера вступления';
|
||||
@@ -372,11 +374,11 @@ class _Translations$settings$ru extends Translations$settings$en {
|
||||
@override String get downloadLocationReset => 'Место загрузки сброшено по умолчанию';
|
||||
@override String get downloadLocationInvalid => 'Выбранная папка недоступна для записи';
|
||||
@override String get downloadLocationPickerUnavailable => 'Выбор папки недоступен на этом устройстве';
|
||||
@override String get downloadOnWifiOnly => 'Загружать только по WiFi';
|
||||
@override String get downloadOnWifiOnly => 'Загружать только по Wi-Fi';
|
||||
@override String get downloadOnWifiOnlyDescription => 'Запретить загрузку по мобильным данным';
|
||||
@override String get autoRemoveWatchedDownloads => 'Автоудаление просмотренных загрузок';
|
||||
@override String get autoRemoveWatchedDownloadsDescription => 'Автоматически удалять просмотренные загрузки';
|
||||
@override String get cellularDownloadBlocked => 'Загрузки через мобильную сеть заблокированы. Используйте WiFi или измените настройку.';
|
||||
@override String get cellularDownloadBlocked => 'Загрузки через мобильную сеть заблокированы. Используйте Wi-Fi или измените настройку.';
|
||||
@override String get maxVolume => 'Максимальная громкость';
|
||||
@override String get maxVolumeDescription => 'Разрешить усиление громкости выше 100% для тихих медиа';
|
||||
@override String maxVolumePercent({required Object percent}) => '${percent}%';
|
||||
@@ -387,8 +389,8 @@ class _Translations$settings$ru extends Translations$settings$en {
|
||||
@override String get manageLibrariesDescription => 'Изменять порядок и скрывать библиотеки';
|
||||
@override String get companionRemoteServer => 'Сервер удалённого управления';
|
||||
@override String get companionRemoteServerDescription => 'Разрешить мобильным устройствам в сети управлять этим приложением';
|
||||
@override String get autoPip => 'Автоматический «картинка в картинке»';
|
||||
@override String get autoPipDescription => 'Включать картинку-в-картинке при выходе во время воспроизведения';
|
||||
@override String get autoPip => 'Автоматический режим «картинка в картинке»';
|
||||
@override String get autoPipDescription => 'Автоматически включать режим «картинка в картинке» при выходе из приложения во время воспроизведения';
|
||||
@override String get matchContentFrameRate => 'Соответствие частоты кадров контента';
|
||||
@override String get matchContentFrameRateDescription => 'Подстраивать частоту обновления экрана под видео';
|
||||
@override String get matchRefreshRate => 'Соответствие частоты обновления';
|
||||
@@ -397,10 +399,10 @@ class _Translations$settings$ru extends Translations$settings$en {
|
||||
@override String get matchDynamicRangeDescription => 'Включать HDR для HDR-контента, затем возвращаться к SDR';
|
||||
@override String get displaySwitchDelay => 'Задержка переключения дисплея';
|
||||
@override String get tunneledPlayback => 'Туннельное воспроизведение';
|
||||
@override String get tunneledPlaybackDescription => 'Использовать видеотуннелирование. Отключите, если HDR показывает черный экран.';
|
||||
@override String get tunneledPlaybackDescription => 'Использовать видеотуннелирование. Отключите, если при воспроизведении HDR отображается чёрный экран.';
|
||||
@override String get audioPassthrough => 'Сквозной вывод аудио';
|
||||
@override String get audioPassthroughDescription => 'Передавать звук Dolby/DTS на ресивер или телевизор без перекодирования, сохраняя объёмный звук. Отключите, если нет звука.';
|
||||
@override String get audioPassthroughDescriptionAppleTv => 'Передаёт Dolby Digital Plus (включая Atmos) системе в виде битового потока. DTS и TrueHD по-прежнему воспроизводятся как многоканальный PCM. При перемотке возможны короткие пропадания звука.';
|
||||
@override String get audioPassthroughDescriptionAppleTv => 'Использовать встроенный декодер Dolby от Apple для Dolby Digital Plus, включая Atmos. DTS и TrueHD по-прежнему воспроизводятся как многоканальный PCM. Отключите, если звук отсутствует.';
|
||||
@override String get audioDownmix => 'Микширование в стерео';
|
||||
@override String get audioDownmixDescription => 'Микширует объёмный звук в два канала для стереодинамиков или наушников';
|
||||
@override String get downmixCenterBoost => 'Усиление центрального канала';
|
||||
@@ -510,7 +512,7 @@ class _Translations$fileInfo$ru extends Translations$fileInfo$en {
|
||||
@override String get bitDepth => 'Глубина цвета';
|
||||
@override String get colorSpace => 'Цветовое пространство';
|
||||
@override String get colorRange => 'Цветовой диапазон';
|
||||
@override String get colorPrimaries => 'Цветовые первичные';
|
||||
@override String get colorPrimaries => 'Основные цвета';
|
||||
@override String get chromaSubsampling => 'Субдискретизация цветности';
|
||||
@override String get channels => 'Каналы';
|
||||
@override String get subtitles => 'Субтитры';
|
||||
@@ -519,7 +521,7 @@ class _Translations$fileInfo$ru extends Translations$fileInfo$en {
|
||||
@override String get size => 'Размер';
|
||||
@override String get container => 'Контейнер';
|
||||
@override String get duration => 'Длительность';
|
||||
@override String get optimizedForStreaming => 'Оптимизировано для стриминга';
|
||||
@override String get optimizedForStreaming => 'Оптимизировано для потоковой передачи';
|
||||
@override String get has64bitOffsets => '64-битные смещения';
|
||||
}
|
||||
|
||||
@@ -561,7 +563,7 @@ class _Translations$rateSheet$ru extends Translations$rateSheet$en {
|
||||
@override String get favorited => 'Добавлено в избранное';
|
||||
@override String get saved => 'Сохранено';
|
||||
@override String get notAvailable => 'Совпадений не найдено';
|
||||
@override String get noConnectedServices => 'Подключите сервис в настройках, чтобы оценивать здесь.';
|
||||
@override String get noConnectedServices => 'Подключите сервис в настройках, чтобы выставлять оценки в нём.';
|
||||
}
|
||||
|
||||
// Path: accessibility
|
||||
@@ -633,7 +635,7 @@ class _Translations$videoControls$ru extends Translations$videoControls$en {
|
||||
@override String playsLater({required Object label}) => '${label} воспроизводится позже';
|
||||
@override String playsEarlier({required Object label}) => '${label} воспроизводится раньше';
|
||||
@override String get noOffset => 'Без смещения';
|
||||
@override String get letterbox => 'Letterbox';
|
||||
@override String get letterbox => 'Вписать в экран';
|
||||
@override String get fillScreen => 'Заполнить экран';
|
||||
@override String get stretch => 'Растянуть';
|
||||
@override String get lockRotation => 'Заблокировать поворот';
|
||||
@@ -651,8 +653,10 @@ class _Translations$videoControls$ru extends Translations$videoControls$en {
|
||||
@override String get playNext => 'Следующее';
|
||||
@override String get playButton => 'Воспроизвести';
|
||||
@override String get pauseButton => 'Пауза';
|
||||
@override String seekBackwardButton({required Object seconds}) => 'Перемотка назад на ${seconds} секунд';
|
||||
@override String seekForwardButton({required Object seconds}) => 'Перемотка вперёд на ${seconds} секунд';
|
||||
@override String get showPlaybackControls => 'Показать элементы управления воспроизведением';
|
||||
@override String get hidePlaybackControls => 'Скрыть элементы управления воспроизведением';
|
||||
@override String seekBackwardButton({required Object seconds}) => 'Перемотать назад на ${seconds} с';
|
||||
@override String seekForwardButton({required Object seconds}) => 'Перемотать вперёд на ${seconds} с';
|
||||
@override String get previousButton => 'Предыдущий эпизод';
|
||||
@override String get nextButton => 'Следующий эпизод';
|
||||
@override String get previousChapterButton => 'Предыдущая глава';
|
||||
@@ -666,7 +670,7 @@ class _Translations$videoControls$ru extends Translations$videoControls$en {
|
||||
@override String get versionColumnHeader => 'Версия';
|
||||
@override String get qualityColumnHeader => 'Качество';
|
||||
@override String get qualityOriginal => 'Оригинал';
|
||||
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps';
|
||||
@override String qualityPresetLabel({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Мбит/с';
|
||||
@override String get transcodeUnavailableFallback => 'Транскодирование недоступно — воспроизведение в оригинальном качестве';
|
||||
@override String get subtitleUnavailableFallback => 'Не удалось загрузить выбранные субтитры — воспроизведение продолжится без субтитров';
|
||||
@override String get pipButton => 'Режим «картинка в картинке»';
|
||||
@@ -726,11 +730,11 @@ class _Translations$messages$ru extends Translations$messages$en {
|
||||
@override String get streamInterrupted => 'Поток прервался. Нажмите «Воспроизвести» или перемотайте, чтобы повторить попытку.';
|
||||
@override String get liveStreamInterrupted => 'Прямая трансляция прервалась. Нажмите «Воспроизвести», чтобы повторить попытку.';
|
||||
@override String get fileInfoNotAvailable => 'Информация о файле недоступна';
|
||||
@override String get playbackAuthenticationRequired => 'Sign in to the media server again to play this item.';
|
||||
@override String get playbackServerUnavailable => 'The media server is unavailable. Try again later.';
|
||||
@override String get playbackDataInvalid => 'The server returned invalid playback information.';
|
||||
@override String get playbackCancelled => 'Playback was cancelled.';
|
||||
@override String get playbackFailed => 'Playback could not be started.';
|
||||
@override String get playbackAuthenticationRequired => 'Чтобы воспроизвести этот материал, снова войдите на медиасервер.';
|
||||
@override String get playbackServerUnavailable => 'Медиасервер недоступен. Попробуйте позже.';
|
||||
@override String get playbackDataInvalid => 'Сервер вернул некорректные сведения для воспроизведения.';
|
||||
@override String get playbackCancelled => 'Воспроизведение отменено.';
|
||||
@override String get playbackFailed => 'Не удалось начать воспроизведение.';
|
||||
@override String errorLoadingFileInfo({required Object error}) => 'Ошибка загрузки информации о файле: ${error}';
|
||||
@override String get errorLoadingSeries => 'Ошибка загрузки сериала';
|
||||
@override String get musicNotSupported => 'Воспроизведение музыки пока не поддерживается';
|
||||
@@ -784,7 +788,7 @@ class _Translations$subtitlingStyling$ru extends Translations$subtitlingStyling$
|
||||
@override String get backgroundColor => 'Цвет фона';
|
||||
@override String get position => 'Позиция';
|
||||
@override String get assOverride => 'Переопределение ASS';
|
||||
@override String get overrideScale => 'Масштабировать';
|
||||
@override String get overrideScale => 'Масштаб';
|
||||
@override String get overrideForce => 'Принудительно';
|
||||
@override String get overrideStrip => 'Удалить стили';
|
||||
@override String get positionTop => 'Сверху';
|
||||
@@ -849,7 +853,7 @@ class _Translations$profiles$ru extends Translations$profiles$en {
|
||||
@override String get signedOutPlex => 'Вы вышли из Plex.';
|
||||
@override String get signOutFailed => 'Не удалось выйти.';
|
||||
@override String get sectionTitle => 'Профили';
|
||||
@override String get summarySingle => 'Добавьте профили, чтобы смешать управляемых пользователей и локальные идентификаторы';
|
||||
@override String get summarySingle => 'Добавляйте профили, чтобы сочетать управляемых пользователей и локальные профили';
|
||||
@override String summaryMultipleWithActive({required Object count, required Object activeName}) => '${count} профилей · активный: ${activeName}';
|
||||
@override String summaryMultiple({required Object count}) => '${count} профилей';
|
||||
@override String get removeConnectionTitle => 'Удалить соединение?';
|
||||
@@ -878,16 +882,16 @@ class _Translations$profiles$ru extends Translations$profiles$en {
|
||||
@override String get removeConnection => 'Удалить';
|
||||
@override String get profileRenamed => 'Профиль переименован.';
|
||||
@override String borrowAddTo({required Object displayName}) => 'Добавить в ${displayName}';
|
||||
@override String get borrowExplain => 'Заимствуйте подключение другого профиля. Для профилей с PIN нужен PIN.';
|
||||
@override String get borrowEmpty => 'Пока нечего заимствовать.';
|
||||
@override String get borrowExplain => 'Используйте подключение другого профиля. Для защищённых профилей потребуется PIN.';
|
||||
@override String get borrowEmpty => 'Пока нет доступных подключений.';
|
||||
@override String get borrowEmptySubtitle => 'Сначала подключите Plex или Jellyfin к другому профилю.';
|
||||
@override String get borrowLoadFailed => 'Available connections could not be loaded. Try again.';
|
||||
@override String borrowFromProfile({required Object displayName}) => 'Из ${displayName}';
|
||||
@override String get borrowConnectionBorrowed => 'Подключение заимствовано.';
|
||||
@override String get borrowFailed => 'Не удалось заимствовать подключение.';
|
||||
@override String get borrowLoadFailed => 'Не удалось загрузить доступные подключения. Попробуйте снова.';
|
||||
@override String borrowFromProfile({required Object displayName}) => 'От ${displayName}';
|
||||
@override String get borrowConnectionBorrowed => 'Подключение добавлено.';
|
||||
@override String get borrowFailed => 'Не удалось добавить подключение.';
|
||||
@override String get incorrectPin => 'Неверный PIN.';
|
||||
@override String get incorrectPinTryAgain => 'Неверный PIN. Попробуйте ещё раз.';
|
||||
@override String get sourceProfileMissingParentAccount => 'У исходного профиля отсутствует родительская учетная запись.';
|
||||
@override String get sourceProfileMissingParentAccount => 'У исходного профиля отсутствует родительская учётная запись.';
|
||||
@override String get failedToLoadHomeUsers => 'Не удалось загрузить пользователей Plex Home. Проверьте подключение и попробуйте ещё раз.';
|
||||
@override String get failedToVerifyPin => 'Не удалось проверить PIN.';
|
||||
@override String get newProfile => 'Новый профиль';
|
||||
@@ -1095,7 +1099,7 @@ class _Translations$navigation$ru extends Translations$navigation$en {
|
||||
@override String get libraries => 'Библиотеки';
|
||||
@override String get downloads => 'Загрузки';
|
||||
@override String get liveTv => 'ТВ в прямом эфире';
|
||||
@override String get explore => 'Исследовать';
|
||||
@override String get explore => 'Обзор';
|
||||
}
|
||||
|
||||
// Path: explore
|
||||
@@ -1105,7 +1109,7 @@ class _Translations$explore$ru extends Translations$explore$en {
|
||||
final TranslationsRu _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Исследовать';
|
||||
@override String get title => 'Обзор';
|
||||
@override String get selectSource => 'Выбрать источник';
|
||||
@override late final _Translations$explore$rows$ru rows = _Translations$explore$rows$ru._(_root);
|
||||
@override late final _Translations$explore$status$ru status = _Translations$explore$status$ru._(_root);
|
||||
@@ -1124,7 +1128,7 @@ class _Translations$explore$ru extends Translations$explore$en {
|
||||
@override String get inTheseLibraries => 'В этих библиотеках';
|
||||
@override String get checkingLibrary => 'Проверка вашей библиотеки...';
|
||||
@override String get emptyTitle => 'Здесь пока ничего нет';
|
||||
@override String emptyMessage({required Object source}) => 'Строки из ${source} появятся здесь, когда в них будет контент.';
|
||||
@override String emptyMessage({required Object source}) => 'Разделы из ${source} появятся здесь, когда в них появится контент.';
|
||||
@override String searchHint({required Object source}) => 'Поиск в ${source}';
|
||||
@override String searchEmpty({required Object query}) => 'Нет результатов по запросу "${query}"';
|
||||
@override String searchPrompt({required Object source}) => 'Ищите фильмы и сериалы в ${source}.';
|
||||
@@ -1167,7 +1171,7 @@ class _Translations$liveTv$ru extends Translations$liveTv$en {
|
||||
@override String get favorites => 'Избранное';
|
||||
@override String get reorderFavorites => 'Изменить порядок избранного';
|
||||
@override String get favoritesLoadFailed => 'Не удалось загрузить избранное. Проверьте подключение и повторите попытку.';
|
||||
@override String get favoritesUpdateFailed => 'Could not update favorites. Check your connection and try again.';
|
||||
@override String get favoritesUpdateFailed => 'Не удалось обновить избранное. Проверьте подключение и повторите попытку.';
|
||||
@override String get joinSession => 'Присоединиться к текущему сеансу';
|
||||
@override String watchFromStart({required Object minutes}) => 'Смотреть сначала (${minutes} мин. назад)';
|
||||
@override String get watchLive => 'Смотреть в прямом эфире';
|
||||
@@ -1322,22 +1326,22 @@ class _Translations$watchTogether$ru extends Translations$watchTogether$en {
|
||||
@override String get joining => 'Подключение...';
|
||||
@override String get controlMode => 'Режим управления';
|
||||
@override String get controlModeQuestion => 'Кто может управлять воспроизведением?';
|
||||
@override String get hostOnly => 'Только хост';
|
||||
@override String get hostOnly => 'Только организатор';
|
||||
@override String get anyone => 'Все';
|
||||
@override String get hostingSession => 'Хостинг сессии';
|
||||
@override String get hostingSession => 'Вы организатор';
|
||||
@override String get inSession => 'В сессии';
|
||||
@override String get sessionCode => 'Код сессии';
|
||||
@override String get openSessionControls => 'Открыть управление сессией «Смотреть вместе»';
|
||||
@override String get copySessionCode => 'Скопировать код сессии';
|
||||
@override String get hostControlsPlayback => 'Хост управляет воспроизведением';
|
||||
@override String get hostControlsPlayback => 'Организатор управляет воспроизведением';
|
||||
@override String get anyoneCanControl => 'Любой может управлять воспроизведением';
|
||||
@override String get hostControls => 'Управление хоста';
|
||||
@override String get anyoneControls => 'Управление для всех';
|
||||
@override String get hostControls => 'Управляет организатор';
|
||||
@override String get anyoneControls => 'Управляют все';
|
||||
@override String get participants => 'Участники';
|
||||
@override String get host => 'Хост';
|
||||
@override String get hostBadge => 'HOST';
|
||||
@override String get youAreHost => 'Вы — хост';
|
||||
@override String get watchingWithOthers => 'Смотрите с другими';
|
||||
@override String get host => 'Организатор';
|
||||
@override String get hostBadge => 'ОРГАНИЗАТОР';
|
||||
@override String get youAreHost => 'Вы — организатор';
|
||||
@override String get watchingWithOthers => 'Совместный просмотр';
|
||||
@override String get endSession => 'Завершить сессию';
|
||||
@override String get leaveSession => 'Покинуть сессию';
|
||||
@override String get endSessionQuestion => 'Завершить сессию?';
|
||||
@@ -1354,22 +1358,22 @@ class _Translations$watchTogether$ru extends Translations$watchTogether$en {
|
||||
@override String get pasteFromClipboard => 'Вставить из буфера обмена';
|
||||
@override String get pleaseEnterCode => 'Введите код сессии';
|
||||
@override String get codeMustBe5Chars => 'Код сессии должен содержать 5 символов';
|
||||
@override String get joinInstructions => 'Введите код сессии хоста, чтобы присоединиться.';
|
||||
@override String get joinInstructions => 'Введите код сессии организатора, чтобы присоединиться.';
|
||||
@override String get failedToCreate => 'Не удалось создать сессию';
|
||||
@override String get failedToJoin => 'Не удалось присоединиться к сессии';
|
||||
@override String get sessionCodeCopied => 'Код сессии скопирован в буфер обмена';
|
||||
@override String get relayUnreachable => 'Сервер relay недоступен. Блокировка ISP может мешать Watch Together.';
|
||||
@override String get reconnectingToHost => 'Переподключение к хосту...';
|
||||
@override String get relayUnreachable => 'Сервер ретрансляции недоступен. Блокировка интернет-провайдером может помешать совместному просмотру.';
|
||||
@override String get reconnectingToHost => 'Повторное подключение к организатору...';
|
||||
@override String get currentPlayback => 'Текущее воспроизведение';
|
||||
@override String get joinCurrentPlayback => 'Присоединиться к текущему воспроизведению';
|
||||
@override String get joinCurrentPlaybackDescription => 'Вернуться к тому, что сейчас смотрит хост';
|
||||
@override String get joinCurrentPlaybackDescription => 'Вернуться к материалу, который сейчас смотрит организатор';
|
||||
@override String get failedToOpenCurrentPlayback => 'Не удалось открыть текущее воспроизведение';
|
||||
@override String participantJoined({required Object name}) => '${name} присоединился';
|
||||
@override String participantLeft({required Object name}) => '${name} вышел';
|
||||
@override String participantPaused({required Object name}) => '${name} поставил на паузу';
|
||||
@override String participantResumed({required Object name}) => '${name} возобновил';
|
||||
@override String participantSeeked({required Object name}) => '${name} перемотал';
|
||||
@override String participantBuffering({required Object name}) => '${name} буферизует';
|
||||
@override String participantBuffering({required Object name}) => 'У ${name} идёт буферизация';
|
||||
@override String participantNeedsUpdate({required Object name}) => '${name} использует старую версию приложения — синхронизация недоступна';
|
||||
@override String resumingWithout({required Object name}) => 'Возобновление без ${name}';
|
||||
@override String get waitingForParticipants => 'Ожидание загрузки у других...';
|
||||
@@ -1401,7 +1405,7 @@ class _Translations$downloads$ru extends Translations$downloads$en {
|
||||
@override String get retryDownload => 'Повторить загрузку';
|
||||
@override String get downloadQueued => 'Загрузка поставлена в очередь';
|
||||
@override String get downloadResumed => 'Загрузка возобновлена';
|
||||
@override String get serverErrorBitrate => 'Ошибка сервера: файл может превышать удаленный лимит bitrate';
|
||||
@override String get serverErrorBitrate => 'Ошибка сервера: файл может превышать установленное на сервере ограничение битрейта';
|
||||
@override String episodesQueued({required Object count}) => '${count} эпизодов поставлено в очередь загрузки';
|
||||
@override String get downloadDeleted => 'Загрузка удалена';
|
||||
@override String deleteConfirm({required Object title}) => 'Удалить "${title}" с этого устройства?';
|
||||
@@ -1649,9 +1653,9 @@ class _Translations$metadataEdit$ru extends Translations$metadataEdit$en {
|
||||
@override String get show => 'Показать';
|
||||
@override String get hide => 'Скрыть';
|
||||
@override String get episodeOrdering => 'Порядок эпизодов';
|
||||
@override String get tmdbAiring => 'The Movie Database (Эфирный)';
|
||||
@override String get tvdbAiring => 'TheTVDB (Эфирный)';
|
||||
@override String get tvdbAbsolute => 'TheTVDB (Абсолютный)';
|
||||
@override String get tmdbAiring => 'The Movie Database (по дате выхода)';
|
||||
@override String get tvdbAiring => 'TheTVDB (по дате выхода)';
|
||||
@override String get tvdbAbsolute => 'TheTVDB (абсолютный порядок)';
|
||||
@override String get metadataLanguage => 'Язык метаданных';
|
||||
@override String get useOriginalTitle => 'Использовать оригинальное название';
|
||||
@override String get preferredAudioLanguage => 'Предпочитаемый язык аудио';
|
||||
@@ -1771,7 +1775,7 @@ class _Translations$services$ru extends Translations$services$en {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Сервисы';
|
||||
@override String get hubSubtitle => 'Синхронизируйте прогресс просмотра и запрашивайте новые тайтлы.';
|
||||
@override String get hubSubtitle => 'Синхронизируйте прогресс просмотра и запрашивайте новые фильмы и сериалы.';
|
||||
@override String get notConnected => 'Не подключено';
|
||||
@override String connectedAs({required Object username}) => 'Подключено как @${username}';
|
||||
@override String get scrobble => 'Автоматически отслеживать прогресс';
|
||||
@@ -1793,7 +1797,7 @@ class _Translations$addServer$ru extends Translations$addServer$en {
|
||||
|
||||
// Translations
|
||||
@override String get addJellyfinTitle => 'Добавить сервер Jellyfin';
|
||||
@override String get serverUrls => 'URL сервера';
|
||||
@override String get serverUrls => 'URL-адреса сервера';
|
||||
@override String get serverUrlsHelper => 'Можно указать несколько URL через запятую.';
|
||||
@override String get findServer => 'Найти сервер';
|
||||
@override String get searchingLocalServers => 'Поиск локальных серверов Jellyfin...';
|
||||
@@ -1818,8 +1822,8 @@ class _Translations$addServer$ru extends Translations$addServer$en {
|
||||
@override String get connectToJellyfinCard => 'Подключиться к Jellyfin';
|
||||
@override String get connectToJellyfinCardSubtitle => 'Введите URL сервера, имя пользователя и пароль.';
|
||||
@override String connectToJellyfinCardSubtitleScoped({required Object name}) => 'Войдите на сервер Jellyfin. Привязывается к ${name}.';
|
||||
@override String get borrowFromAnotherProfile => 'Одолжить из другого профиля';
|
||||
@override String get borrowFromAnotherProfileSubtitle => 'Используйте подключение другого профиля. Для профилей с PIN нужен PIN.';
|
||||
@override String get borrowFromAnotherProfile => 'Использовать подключение другого профиля';
|
||||
@override String get borrowFromAnotherProfileSubtitle => 'Повторно используйте подключение другого профиля. Для защищённых профилей потребуется PIN.';
|
||||
}
|
||||
|
||||
// Path: hotkeys.actions
|
||||
@@ -1865,7 +1869,7 @@ class _Translations$videoControls$pipErrors$ru extends Translations$videoControl
|
||||
// Translations
|
||||
@override String get androidVersion => 'Требуется Android 8.0 или новее';
|
||||
@override String get iosVersion => 'Требуется iOS 15.0 или новее';
|
||||
@override String get permissionDisabled => 'Картинка-в-картинке отключена. Включите ее в системных настройках.';
|
||||
@override String get permissionDisabled => 'Режим «картинка в картинке» отключён. Включите его в системных настройках.';
|
||||
@override String get notSupported => 'Устройство не поддерживает режим «картинка в картинке»';
|
||||
@override String get voSwitchFailed => 'Не удалось переключить видеовыход для «картинки в картинке»';
|
||||
@override String get failed => 'Не удалось запустить режим «картинка в картинке»';
|
||||
@@ -2017,10 +2021,10 @@ class _Translations$companionRemote$pairing$ru extends Translations$companionRem
|
||||
@override String get connecting => 'Подключение...';
|
||||
@override String get searchingForDevices => 'Поиск устройств...';
|
||||
@override String get noDevicesFound => 'Устройства в вашей сети не найдены';
|
||||
@override String get noDevicesHint => 'Откройте Plezy на компьютере и используйте тот же WiFi';
|
||||
@override String get noDevicesHint => 'Откройте Plezy на компьютере и подключите оба устройства к одной сети Wi-Fi';
|
||||
@override String get availableDevices => 'Доступные устройства';
|
||||
@override String get manualConnection => 'Ручное подключение';
|
||||
@override String get cryptoInitFailed => 'Не удалось запустить защищенное подключение. Сначала войдите в Plex.';
|
||||
@override String get cryptoInitFailed => 'Не удалось установить защищённое соединение. Сначала войдите в Plex.';
|
||||
@override String get validationHostRequired => 'Введите адрес хоста';
|
||||
@override String get validationHostFormat => 'Формат должен быть IP:порт (например, 192.168.1.100:48632)';
|
||||
@override String get connectionTimedOut => 'Время подключения истекло. Используйте одну сеть на обоих устройствах.';
|
||||
@@ -2156,10 +2160,10 @@ extension on TranslationsRu {
|
||||
'app.title' => 'Plezy',
|
||||
'auth.signInWithPlex' => 'Войти через Plex',
|
||||
'auth.showQRCode' => 'Показать QR-код',
|
||||
'auth.authenticate' => 'Аутентификация',
|
||||
'auth.authenticate' => 'Войти',
|
||||
'auth.authenticationTimeout' => 'Время аутентификации истекло. Попробуйте снова.',
|
||||
'auth.scanQRToSignIn' => 'Отсканируйте QR-код для входа',
|
||||
'auth.waitingForAuth' => 'Ожидание аутентификации...\nВойдите в браузере.',
|
||||
'auth.waitingForAuth' => 'Ожидание аутентификации...\nВыполните вход в браузере.',
|
||||
'auth.useBrowser' => 'Использовать браузер',
|
||||
'auth.or' => 'или',
|
||||
'auth.connectToJellyfin' => 'Подключиться к Jellyfin',
|
||||
@@ -2167,8 +2171,8 @@ extension on TranslationsRu {
|
||||
'auth.quickConnectInstructions' => 'Откройте Quick Connect в Jellyfin и введите этот код.',
|
||||
'auth.quickConnectWaiting' => 'Ожидание подтверждения…',
|
||||
'auth.quickConnectCancel' => 'Отмена',
|
||||
'auth.quickConnectExpired' => 'Срок Quick Connect истек. Попробуйте снова.',
|
||||
'auth.localDataRecoveryRequired' => 'Plezy could not safely recover local sign-in and pending playback data. Please sign in again.',
|
||||
'auth.quickConnectExpired' => 'Срок действия Quick Connect истёк. Попробуйте снова.',
|
||||
'auth.localDataRecoveryRequired' => 'Plezy не удалось безопасно восстановить данные локального входа и несинхронизированные данные о воспроизведении. Войдите снова.',
|
||||
'common.cancel' => 'Отмена',
|
||||
'common.save' => 'Сохранить',
|
||||
'common.close' => 'Закрыть',
|
||||
@@ -2252,6 +2256,8 @@ extension on TranslationsRu {
|
||||
'settings.libraryDensity' => 'Плотность библиотеки',
|
||||
'settings.compact' => 'Компактный',
|
||||
'settings.comfortable' => 'Комфортный',
|
||||
'settings.tvCornerSpotlightBackdrop' => 'Фоновое изображение в углу',
|
||||
'settings.tvCornerSpotlightBackdropDescription' => 'Показывать изображение избранного материала в правом верхнем углу, а не на весь экран',
|
||||
'settings.viewMode' => 'Режим просмотра',
|
||||
'settings.gridView' => 'Сетка',
|
||||
'settings.listView' => 'Список',
|
||||
@@ -2276,8 +2282,8 @@ extension on TranslationsRu {
|
||||
'settings.showEpisodeNumberOnCardsDescription' => 'Показывать номер сезона и серии на карточках серий',
|
||||
'settings.showSeasonPostersOnTabs' => 'Показывать постеры сезонов на вкладках',
|
||||
'settings.showSeasonPostersOnTabsDescription' => 'Показывать постер каждого сезона над его вкладкой',
|
||||
'settings.tvFullCardLayout' => 'Полные TV-карточки',
|
||||
'settings.tvFullCardLayoutDescription' => 'Использовать TV-карточки только с изображением и именами актёров поверх него',
|
||||
'settings.tvFullCardLayout' => 'Полноформатные ТВ-карточки',
|
||||
'settings.tvFullCardLayoutDescription' => 'Использовать ТВ-карточки только с изображением и наложенными именами актёров',
|
||||
'settings.focusGlow' => 'Свечение при фокусе',
|
||||
'settings.focusGlowDescription' => 'Показывать мягкое свечение вокруг карточки в фокусе',
|
||||
'settings.visualEffects' => 'Визуальные эффекты',
|
||||
@@ -2296,7 +2302,7 @@ extension on TranslationsRu {
|
||||
'settings.bufferSize' => 'Размер буфера',
|
||||
'settings.bufferSizeMB' => ({required Object size}) => '${size}МБ',
|
||||
'settings.bufferSizeAuto' => 'Авто (Рекомендуется)',
|
||||
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => 'Доступно памяти: ${heap}MB. Буфер ${size}MB может повлиять на воспроизведение.',
|
||||
'settings.bufferSizeWarning' => ({required Object heap, required Object size}) => 'Доступно памяти: ${heap} МБ. Буфер размером ${size} МБ может повлиять на воспроизведение.',
|
||||
'settings.defaultQualityTitle' => 'Качество по умолчанию',
|
||||
'settings.musicQualityTitle' => 'Качество музыки',
|
||||
'settings.subtitleStyling' => 'Стиль субтитров',
|
||||
@@ -2304,24 +2310,24 @@ extension on TranslationsRu {
|
||||
'settings.smallSkipDuration' => 'Малая перемотка',
|
||||
'settings.largeSkipDuration' => 'Большая перемотка',
|
||||
'settings.rewindOnResume' => 'Перемотка при возобновлении',
|
||||
'settings.secondsUnit' => ({required Object seconds}) => '${seconds} секунд',
|
||||
'settings.secondsUnit' => ({required Object seconds}) => '${seconds} с',
|
||||
'settings.defaultSleepTimer' => 'Таймер сна по умолчанию',
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} минут',
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} мин',
|
||||
'settings.rememberTrackSelections' => 'Запоминать выбор дорожек для каждого сериала/фильма',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Запоминать выбор аудио и субтитров для тайтла',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Запоминать выбор аудиодорожки и субтитров для каждого материала',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Показывать маркеры глав на шкале перемотки',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Разделять шкалу перемотки по границам глав',
|
||||
'settings.clickVideoTogglesPlayback' => 'Клик по видео для переключения воспроизведения/паузы',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Клик по видео запускает/ставит на паузу вместо показа управления.',
|
||||
'settings.clickVideoTogglesPlayback' => 'Нажатие на видео запускает или приостанавливает воспроизведение',
|
||||
'settings.clickVideoTogglesPlaybackDescription' => 'Нажатие на видео запускает или приостанавливает воспроизведение вместо показа элементов управления.',
|
||||
'settings.videoPlayerControls' => 'Элементы управления плеером',
|
||||
'settings.keyboardShortcuts' => 'Горячие клавиши',
|
||||
'settings.keyboardShortcutsDescription' => 'Настроить горячие клавиши',
|
||||
'settings.videoPlayerNavigation' => 'Навигация видеоплеера',
|
||||
'settings.videoPlayerNavigationDescription' => 'Использовать клавиши стрелок для навигации по элементам управления плеером',
|
||||
'settings.watchTogetherRelay' => 'Relay совместного просмотра',
|
||||
'settings.watchTogetherRelayDescription' => 'Задайте свой relay. Все должны использовать один сервер.',
|
||||
'settings.watchTogetherRelay' => 'Сервер ретрансляции для совместного просмотра',
|
||||
'settings.watchTogetherRelayDescription' => 'Задайте свой сервер ретрансляции. Все участники должны использовать один сервер.',
|
||||
'settings.watchTogetherRelayHint' => 'https://my-relay.example.com',
|
||||
'settings.watchTogetherRelayInvalid' => 'Enter a valid HTTP or HTTPS relay base URL.',
|
||||
'settings.watchTogetherRelayInvalid' => 'Введите допустимый базовый HTTP- или HTTPS-адрес сервера ретрансляции.',
|
||||
'settings.crashReporting' => 'Отчёты об ошибках',
|
||||
'settings.crashReportingDescription' => 'Отправлять отчёты об ошибках для улучшения приложения',
|
||||
'settings.debugLogging' => 'Журнал отладки',
|
||||
@@ -2354,16 +2360,16 @@ extension on TranslationsRu {
|
||||
'settings.autoCheckUpdatesOnStartupDescription' => 'Уведомлять о доступном обновлении при запуске',
|
||||
'settings.validationErrorEnterNumber' => 'Введите корректное число',
|
||||
'settings.validationErrorDuration' => ({required Object min, required Object max, required Object unit}) => 'Длительность должна быть от ${min} до ${max} ${unit}',
|
||||
'settings.shortcutAlreadyAssigned' => ({required Object action}) => 'Клавиша уже назначена для ${action}',
|
||||
'settings.shortcutUpdated' => ({required Object action}) => 'Клавиша обновлена для ${action}',
|
||||
'settings.saveFailed' => 'Could not save changes. Try again.',
|
||||
'settings.shortcutAlreadyAssigned' => ({required Object action}) => 'Сочетание клавиш уже назначено действию «${action}»',
|
||||
'settings.shortcutUpdated' => ({required Object action}) => 'Сочетание клавиш для действия «${action}» обновлено',
|
||||
'settings.saveFailed' => 'Не удалось сохранить изменения. Попробуйте снова.',
|
||||
'settings.autoSkip' => 'Автопропуск',
|
||||
'settings.autoSkipIntro' => 'Автопропуск вступления',
|
||||
'settings.autoSkipIntroDescription' => 'Автоматически пропускать маркеры вступления через несколько секунд',
|
||||
'settings.autoSkipCredits' => 'Автопропуск титров',
|
||||
'settings.autoSkipCreditsDescription' => 'Автоматически пропускать титры и воспроизводить следующий эпизод',
|
||||
'settings.forceSkipMarkerFallback' => 'Принудительные резервные маркеры',
|
||||
'settings.forceSkipMarkerFallbackDescription' => 'Использовать шаблоны названий глав, даже если в Plex есть маркеры',
|
||||
'settings.forceSkipMarkerFallback' => 'Всегда использовать резервные маркеры',
|
||||
'settings.forceSkipMarkerFallbackDescription' => 'Использовать шаблоны названий глав, даже если в Plex есть собственные маркеры',
|
||||
'settings.autoSkipDelay' => 'Задержка автопропуска',
|
||||
'settings.autoSkipDelayDescription' => ({required Object seconds}) => 'Подождать ${seconds} секунд перед автопропуском',
|
||||
'settings.introPattern' => 'Шаблон маркера вступления',
|
||||
@@ -2383,11 +2389,11 @@ extension on TranslationsRu {
|
||||
'settings.downloadLocationReset' => 'Место загрузки сброшено по умолчанию',
|
||||
'settings.downloadLocationInvalid' => 'Выбранная папка недоступна для записи',
|
||||
'settings.downloadLocationPickerUnavailable' => 'Выбор папки недоступен на этом устройстве',
|
||||
'settings.downloadOnWifiOnly' => 'Загружать только по WiFi',
|
||||
'settings.downloadOnWifiOnly' => 'Загружать только по Wi-Fi',
|
||||
'settings.downloadOnWifiOnlyDescription' => 'Запретить загрузку по мобильным данным',
|
||||
'settings.autoRemoveWatchedDownloads' => 'Автоудаление просмотренных загрузок',
|
||||
'settings.autoRemoveWatchedDownloadsDescription' => 'Автоматически удалять просмотренные загрузки',
|
||||
'settings.cellularDownloadBlocked' => 'Загрузки через мобильную сеть заблокированы. Используйте WiFi или измените настройку.',
|
||||
'settings.cellularDownloadBlocked' => 'Загрузки через мобильную сеть заблокированы. Используйте Wi-Fi или измените настройку.',
|
||||
'settings.maxVolume' => 'Максимальная громкость',
|
||||
'settings.maxVolumeDescription' => 'Разрешить усиление громкости выше 100% для тихих медиа',
|
||||
'settings.maxVolumePercent' => ({required Object percent}) => '${percent}%',
|
||||
@@ -2398,8 +2404,8 @@ extension on TranslationsRu {
|
||||
'settings.manageLibrariesDescription' => 'Изменять порядок и скрывать библиотеки',
|
||||
'settings.companionRemoteServer' => 'Сервер удалённого управления',
|
||||
'settings.companionRemoteServerDescription' => 'Разрешить мобильным устройствам в сети управлять этим приложением',
|
||||
'settings.autoPip' => 'Автоматический «картинка в картинке»',
|
||||
'settings.autoPipDescription' => 'Включать картинку-в-картинке при выходе во время воспроизведения',
|
||||
'settings.autoPip' => 'Автоматический режим «картинка в картинке»',
|
||||
'settings.autoPipDescription' => 'Автоматически включать режим «картинка в картинке» при выходе из приложения во время воспроизведения',
|
||||
'settings.matchContentFrameRate' => 'Соответствие частоты кадров контента',
|
||||
'settings.matchContentFrameRateDescription' => 'Подстраивать частоту обновления экрана под видео',
|
||||
'settings.matchRefreshRate' => 'Соответствие частоты обновления',
|
||||
@@ -2408,10 +2414,10 @@ extension on TranslationsRu {
|
||||
'settings.matchDynamicRangeDescription' => 'Включать HDR для HDR-контента, затем возвращаться к SDR',
|
||||
'settings.displaySwitchDelay' => 'Задержка переключения дисплея',
|
||||
'settings.tunneledPlayback' => 'Туннельное воспроизведение',
|
||||
'settings.tunneledPlaybackDescription' => 'Использовать видеотуннелирование. Отключите, если HDR показывает черный экран.',
|
||||
'settings.tunneledPlaybackDescription' => 'Использовать видеотуннелирование. Отключите, если при воспроизведении HDR отображается чёрный экран.',
|
||||
'settings.audioPassthrough' => 'Сквозной вывод аудио',
|
||||
'settings.audioPassthroughDescription' => 'Передавать звук Dolby/DTS на ресивер или телевизор без перекодирования, сохраняя объёмный звук. Отключите, если нет звука.',
|
||||
'settings.audioPassthroughDescriptionAppleTv' => 'Передаёт Dolby Digital Plus (включая Atmos) системе в виде битового потока. DTS и TrueHD по-прежнему воспроизводятся как многоканальный PCM. При перемотке возможны короткие пропадания звука.',
|
||||
'settings.audioPassthroughDescriptionAppleTv' => 'Использовать встроенный декодер Dolby от Apple для Dolby Digital Plus, включая Atmos. DTS и TrueHD по-прежнему воспроизводятся как многоканальный PCM. Отключите, если звук отсутствует.',
|
||||
'settings.audioDownmix' => 'Микширование в стерео',
|
||||
'settings.audioDownmixDescription' => 'Микширует объёмный звук в два канала для стереодинамиков или наушников',
|
||||
'settings.downmixCenterBoost' => 'Усиление центрального канала',
|
||||
@@ -2518,7 +2524,7 @@ extension on TranslationsRu {
|
||||
'fileInfo.bitDepth' => 'Глубина цвета',
|
||||
'fileInfo.colorSpace' => 'Цветовое пространство',
|
||||
'fileInfo.colorRange' => 'Цветовой диапазон',
|
||||
'fileInfo.colorPrimaries' => 'Цветовые первичные',
|
||||
'fileInfo.colorPrimaries' => 'Основные цвета',
|
||||
'fileInfo.chromaSubsampling' => 'Субдискретизация цветности',
|
||||
'fileInfo.channels' => 'Каналы',
|
||||
'fileInfo.subtitles' => 'Субтитры',
|
||||
@@ -2527,7 +2533,7 @@ extension on TranslationsRu {
|
||||
'fileInfo.size' => 'Размер',
|
||||
'fileInfo.container' => 'Контейнер',
|
||||
'fileInfo.duration' => 'Длительность',
|
||||
'fileInfo.optimizedForStreaming' => 'Оптимизировано для стриминга',
|
||||
'fileInfo.optimizedForStreaming' => 'Оптимизировано для потоковой передачи',
|
||||
'fileInfo.has64bitOffsets' => '64-битные смещения',
|
||||
'mediaMenu.markAsWatched' => 'Отметить как просмотренное',
|
||||
'mediaMenu.markAsUnwatched' => 'Отметить как непросмотренное',
|
||||
@@ -2551,7 +2557,7 @@ extension on TranslationsRu {
|
||||
'rateSheet.favorited' => 'Добавлено в избранное',
|
||||
'rateSheet.saved' => 'Сохранено',
|
||||
'rateSheet.notAvailable' => 'Совпадений не найдено',
|
||||
'rateSheet.noConnectedServices' => 'Подключите сервис в настройках, чтобы оценивать здесь.',
|
||||
'rateSheet.noConnectedServices' => 'Подключите сервис в настройках, чтобы выставлять оценки в нём.',
|
||||
'accessibility.mediaCardMovie' => ({required Object title}) => '${title}, фильм',
|
||||
'accessibility.mediaCardShow' => ({required Object title}) => '${title}, сериал',
|
||||
'accessibility.mediaCardEpisode' => ({required Object title, required Object episodeInfo}) => '${title}, ${episodeInfo}',
|
||||
@@ -2587,7 +2593,7 @@ extension on TranslationsRu {
|
||||
'videoControls.playsLater' => ({required Object label}) => '${label} воспроизводится позже',
|
||||
'videoControls.playsEarlier' => ({required Object label}) => '${label} воспроизводится раньше',
|
||||
'videoControls.noOffset' => 'Без смещения',
|
||||
'videoControls.letterbox' => 'Letterbox',
|
||||
'videoControls.letterbox' => 'Вписать в экран',
|
||||
'videoControls.fillScreen' => 'Заполнить экран',
|
||||
'videoControls.stretch' => 'Растянуть',
|
||||
'videoControls.lockRotation' => 'Заблокировать поворот',
|
||||
@@ -2605,8 +2611,10 @@ extension on TranslationsRu {
|
||||
'videoControls.playNext' => 'Следующее',
|
||||
'videoControls.playButton' => 'Воспроизвести',
|
||||
'videoControls.pauseButton' => 'Пауза',
|
||||
'videoControls.seekBackwardButton' => ({required Object seconds}) => 'Перемотка назад на ${seconds} секунд',
|
||||
'videoControls.seekForwardButton' => ({required Object seconds}) => 'Перемотка вперёд на ${seconds} секунд',
|
||||
'videoControls.showPlaybackControls' => 'Показать элементы управления воспроизведением',
|
||||
'videoControls.hidePlaybackControls' => 'Скрыть элементы управления воспроизведением',
|
||||
'videoControls.seekBackwardButton' => ({required Object seconds}) => 'Перемотать назад на ${seconds} с',
|
||||
'videoControls.seekForwardButton' => ({required Object seconds}) => 'Перемотать вперёд на ${seconds} с',
|
||||
'videoControls.previousButton' => 'Предыдущий эпизод',
|
||||
'videoControls.nextButton' => 'Следующий эпизод',
|
||||
'videoControls.previousChapterButton' => 'Предыдущая глава',
|
||||
@@ -2620,7 +2628,7 @@ extension on TranslationsRu {
|
||||
'videoControls.versionColumnHeader' => 'Версия',
|
||||
'videoControls.qualityColumnHeader' => 'Качество',
|
||||
'videoControls.qualityOriginal' => 'Оригинал',
|
||||
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Mbps',
|
||||
'videoControls.qualityPresetLabel' => ({required Object resolution, required Object bitrate}) => '${resolution}p ${bitrate} Мбит/с',
|
||||
'videoControls.transcodeUnavailableFallback' => 'Транскодирование недоступно — воспроизведение в оригинальном качестве',
|
||||
'videoControls.subtitleUnavailableFallback' => 'Не удалось загрузить выбранные субтитры — воспроизведение продолжится без субтитров',
|
||||
'videoControls.pipButton' => 'Режим «картинка в картинке»',
|
||||
@@ -2642,7 +2650,7 @@ extension on TranslationsRu {
|
||||
'videoControls.zoomPercent' => ({required Object percent}) => 'Масштаб ${percent}%',
|
||||
'videoControls.pipErrors.androidVersion' => 'Требуется Android 8.0 или новее',
|
||||
'videoControls.pipErrors.iosVersion' => 'Требуется iOS 15.0 или новее',
|
||||
'videoControls.pipErrors.permissionDisabled' => 'Картинка-в-картинке отключена. Включите ее в системных настройках.',
|
||||
'videoControls.pipErrors.permissionDisabled' => 'Режим «картинка в картинке» отключён. Включите его в системных настройках.',
|
||||
'videoControls.pipErrors.notSupported' => 'Устройство не поддерживает режим «картинка в картинке»',
|
||||
'videoControls.pipErrors.voSwitchFailed' => 'Не удалось переключить видеовыход для «картинки в картинке»',
|
||||
'videoControls.pipErrors.failed' => 'Не удалось запустить режим «картинка в картинке»',
|
||||
@@ -2661,12 +2669,12 @@ extension on TranslationsRu {
|
||||
'videoControls.subtitleDownloadedNotApplied' => 'Субтитры загружены, но их не удалось выбрать',
|
||||
'videoControls.subtitleDownloadFailed' => 'Не удалось загрузить субтитры',
|
||||
'videoControls.searchLanguages' => 'Поиск языков...',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'messages.markedAsWatched' => 'Отмечено как просмотренное',
|
||||
'messages.markedAsUnwatched' => 'Отмечено как непросмотренное',
|
||||
'messages.markedAsWatchedOffline' => 'Отмечено как просмотренное (синхронизируется при подключении)',
|
||||
'messages.markedAsUnwatchedOffline' => 'Отмечено как непросмотренное (синхронизируется при подключении)',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Автоудалено: ${title}',
|
||||
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ru'))(n, one: 'Автоматически удалена ${n} просмотренная загрузка', few: 'Автоматически удалены ${n} просмотренные загрузки', many: 'Автоматически удалено ${n} просмотренных загрузок', other: 'Автоматически удалено ${n} просмотренной загрузки', ),
|
||||
'messages.removedFromContinueWatching' => 'Удалено из «Продолжить просмотр»',
|
||||
@@ -2674,11 +2682,11 @@ extension on TranslationsRu {
|
||||
'messages.streamInterrupted' => 'Поток прервался. Нажмите «Воспроизвести» или перемотайте, чтобы повторить попытку.',
|
||||
'messages.liveStreamInterrupted' => 'Прямая трансляция прервалась. Нажмите «Воспроизвести», чтобы повторить попытку.',
|
||||
'messages.fileInfoNotAvailable' => 'Информация о файле недоступна',
|
||||
'messages.playbackAuthenticationRequired' => 'Sign in to the media server again to play this item.',
|
||||
'messages.playbackServerUnavailable' => 'The media server is unavailable. Try again later.',
|
||||
'messages.playbackDataInvalid' => 'The server returned invalid playback information.',
|
||||
'messages.playbackCancelled' => 'Playback was cancelled.',
|
||||
'messages.playbackFailed' => 'Playback could not be started.',
|
||||
'messages.playbackAuthenticationRequired' => 'Чтобы воспроизвести этот материал, снова войдите на медиасервер.',
|
||||
'messages.playbackServerUnavailable' => 'Медиасервер недоступен. Попробуйте позже.',
|
||||
'messages.playbackDataInvalid' => 'Сервер вернул некорректные сведения для воспроизведения.',
|
||||
'messages.playbackCancelled' => 'Воспроизведение отменено.',
|
||||
'messages.playbackFailed' => 'Не удалось начать воспроизведение.',
|
||||
'messages.errorLoadingFileInfo' => ({required Object error}) => 'Ошибка загрузки информации о файле: ${error}',
|
||||
'messages.errorLoadingSeries' => 'Ошибка загрузки сериала',
|
||||
'messages.musicNotSupported' => 'Воспроизведение музыки пока не поддерживается',
|
||||
@@ -2723,7 +2731,7 @@ extension on TranslationsRu {
|
||||
'subtitlingStyling.backgroundColor' => 'Цвет фона',
|
||||
'subtitlingStyling.position' => 'Позиция',
|
||||
'subtitlingStyling.assOverride' => 'Переопределение ASS',
|
||||
'subtitlingStyling.overrideScale' => 'Масштабировать',
|
||||
'subtitlingStyling.overrideScale' => 'Масштаб',
|
||||
'subtitlingStyling.overrideForce' => 'Принудительно',
|
||||
'subtitlingStyling.overrideStrip' => 'Удалить стили',
|
||||
'subtitlingStyling.positionTop' => 'Сверху',
|
||||
@@ -2761,7 +2769,7 @@ extension on TranslationsRu {
|
||||
'profiles.signedOutPlex' => 'Вы вышли из Plex.',
|
||||
'profiles.signOutFailed' => 'Не удалось выйти.',
|
||||
'profiles.sectionTitle' => 'Профили',
|
||||
'profiles.summarySingle' => 'Добавьте профили, чтобы смешать управляемых пользователей и локальные идентификаторы',
|
||||
'profiles.summarySingle' => 'Добавляйте профили, чтобы сочетать управляемых пользователей и локальные профили',
|
||||
'profiles.summaryMultipleWithActive' => ({required Object count, required Object activeName}) => '${count} профилей · активный: ${activeName}',
|
||||
'profiles.summaryMultiple' => ({required Object count}) => '${count} профилей',
|
||||
'profiles.removeConnectionTitle' => 'Удалить соединение?',
|
||||
@@ -2790,16 +2798,16 @@ extension on TranslationsRu {
|
||||
'profiles.removeConnection' => 'Удалить',
|
||||
'profiles.profileRenamed' => 'Профиль переименован.',
|
||||
'profiles.borrowAddTo' => ({required Object displayName}) => 'Добавить в ${displayName}',
|
||||
'profiles.borrowExplain' => 'Заимствуйте подключение другого профиля. Для профилей с PIN нужен PIN.',
|
||||
'profiles.borrowEmpty' => 'Пока нечего заимствовать.',
|
||||
'profiles.borrowExplain' => 'Используйте подключение другого профиля. Для защищённых профилей потребуется PIN.',
|
||||
'profiles.borrowEmpty' => 'Пока нет доступных подключений.',
|
||||
'profiles.borrowEmptySubtitle' => 'Сначала подключите Plex или Jellyfin к другому профилю.',
|
||||
'profiles.borrowLoadFailed' => 'Available connections could not be loaded. Try again.',
|
||||
'profiles.borrowFromProfile' => ({required Object displayName}) => 'Из ${displayName}',
|
||||
'profiles.borrowConnectionBorrowed' => 'Подключение заимствовано.',
|
||||
'profiles.borrowFailed' => 'Не удалось заимствовать подключение.',
|
||||
'profiles.borrowLoadFailed' => 'Не удалось загрузить доступные подключения. Попробуйте снова.',
|
||||
'profiles.borrowFromProfile' => ({required Object displayName}) => 'От ${displayName}',
|
||||
'profiles.borrowConnectionBorrowed' => 'Подключение добавлено.',
|
||||
'profiles.borrowFailed' => 'Не удалось добавить подключение.',
|
||||
'profiles.incorrectPin' => 'Неверный PIN.',
|
||||
'profiles.incorrectPinTryAgain' => 'Неверный PIN. Попробуйте ещё раз.',
|
||||
'profiles.sourceProfileMissingParentAccount' => 'У исходного профиля отсутствует родительская учетная запись.',
|
||||
'profiles.sourceProfileMissingParentAccount' => 'У исходного профиля отсутствует родительская учётная запись.',
|
||||
'profiles.failedToLoadHomeUsers' => 'Не удалось загрузить пользователей Plex Home. Проверьте подключение и попробуйте ещё раз.',
|
||||
'profiles.failedToVerifyPin' => 'Не удалось проверить PIN.',
|
||||
'profiles.newProfile' => 'Новый профиль',
|
||||
@@ -2954,8 +2962,8 @@ extension on TranslationsRu {
|
||||
'navigation.libraries' => 'Библиотеки',
|
||||
'navigation.downloads' => 'Загрузки',
|
||||
'navigation.liveTv' => 'ТВ в прямом эфире',
|
||||
'navigation.explore' => 'Исследовать',
|
||||
'explore.title' => 'Исследовать',
|
||||
'navigation.explore' => 'Обзор',
|
||||
'explore.title' => 'Обзор',
|
||||
'explore.selectSource' => 'Выбрать источник',
|
||||
'explore.rows.watchlist' => 'Список для просмотра',
|
||||
'explore.rows.recommendedMovies' => 'Рекомендуемые фильмы',
|
||||
@@ -2985,7 +2993,7 @@ extension on TranslationsRu {
|
||||
'explore.inTheseLibraries' => 'В этих библиотеках',
|
||||
'explore.checkingLibrary' => 'Проверка вашей библиотеки...',
|
||||
'explore.emptyTitle' => 'Здесь пока ничего нет',
|
||||
'explore.emptyMessage' => ({required Object source}) => 'Строки из ${source} появятся здесь, когда в них будет контент.',
|
||||
'explore.emptyMessage' => ({required Object source}) => 'Разделы из ${source} появятся здесь, когда в них появится контент.',
|
||||
'explore.searchHint' => ({required Object source}) => 'Поиск в ${source}',
|
||||
'explore.searchEmpty' => ({required Object query}) => 'Нет результатов по запросу "${query}"',
|
||||
'explore.searchPrompt' => ({required Object source}) => 'Ищите фильмы и сериалы в ${source}.',
|
||||
@@ -3019,7 +3027,7 @@ extension on TranslationsRu {
|
||||
'liveTv.favorites' => 'Избранное',
|
||||
'liveTv.reorderFavorites' => 'Изменить порядок избранного',
|
||||
'liveTv.favoritesLoadFailed' => 'Не удалось загрузить избранное. Проверьте подключение и повторите попытку.',
|
||||
'liveTv.favoritesUpdateFailed' => 'Could not update favorites. Check your connection and try again.',
|
||||
'liveTv.favoritesUpdateFailed' => 'Не удалось обновить избранное. Проверьте подключение и повторите попытку.',
|
||||
'liveTv.joinSession' => 'Присоединиться к текущему сеансу',
|
||||
'liveTv.watchFromStart' => ({required Object minutes}) => 'Смотреть сначала (${minutes} мин. назад)',
|
||||
'liveTv.watchLive' => 'Смотреть в прямом эфире',
|
||||
@@ -3133,22 +3141,22 @@ extension on TranslationsRu {
|
||||
'watchTogether.joining' => 'Подключение...',
|
||||
'watchTogether.controlMode' => 'Режим управления',
|
||||
'watchTogether.controlModeQuestion' => 'Кто может управлять воспроизведением?',
|
||||
'watchTogether.hostOnly' => 'Только хост',
|
||||
'watchTogether.hostOnly' => 'Только организатор',
|
||||
'watchTogether.anyone' => 'Все',
|
||||
'watchTogether.hostingSession' => 'Хостинг сессии',
|
||||
'watchTogether.hostingSession' => 'Вы организатор',
|
||||
'watchTogether.inSession' => 'В сессии',
|
||||
'watchTogether.sessionCode' => 'Код сессии',
|
||||
'watchTogether.openSessionControls' => 'Открыть управление сессией «Смотреть вместе»',
|
||||
'watchTogether.copySessionCode' => 'Скопировать код сессии',
|
||||
'watchTogether.hostControlsPlayback' => 'Хост управляет воспроизведением',
|
||||
'watchTogether.hostControlsPlayback' => 'Организатор управляет воспроизведением',
|
||||
'watchTogether.anyoneCanControl' => 'Любой может управлять воспроизведением',
|
||||
'watchTogether.hostControls' => 'Управление хоста',
|
||||
'watchTogether.anyoneControls' => 'Управление для всех',
|
||||
'watchTogether.hostControls' => 'Управляет организатор',
|
||||
'watchTogether.anyoneControls' => 'Управляют все',
|
||||
'watchTogether.participants' => 'Участники',
|
||||
'watchTogether.host' => 'Хост',
|
||||
'watchTogether.hostBadge' => 'HOST',
|
||||
'watchTogether.youAreHost' => 'Вы — хост',
|
||||
'watchTogether.watchingWithOthers' => 'Смотрите с другими',
|
||||
'watchTogether.host' => 'Организатор',
|
||||
'watchTogether.hostBadge' => 'ОРГАНИЗАТОР',
|
||||
'watchTogether.youAreHost' => 'Вы — организатор',
|
||||
'watchTogether.watchingWithOthers' => 'Совместный просмотр',
|
||||
'watchTogether.endSession' => 'Завершить сессию',
|
||||
'watchTogether.leaveSession' => 'Покинуть сессию',
|
||||
'watchTogether.endSessionQuestion' => 'Завершить сессию?',
|
||||
@@ -3165,24 +3173,24 @@ extension on TranslationsRu {
|
||||
'watchTogether.pasteFromClipboard' => 'Вставить из буфера обмена',
|
||||
'watchTogether.pleaseEnterCode' => 'Введите код сессии',
|
||||
'watchTogether.codeMustBe5Chars' => 'Код сессии должен содержать 5 символов',
|
||||
'watchTogether.joinInstructions' => 'Введите код сессии хоста, чтобы присоединиться.',
|
||||
'watchTogether.joinInstructions' => 'Введите код сессии организатора, чтобы присоединиться.',
|
||||
'watchTogether.failedToCreate' => 'Не удалось создать сессию',
|
||||
'watchTogether.failedToJoin' => 'Не удалось присоединиться к сессии',
|
||||
'watchTogether.sessionCodeCopied' => 'Код сессии скопирован в буфер обмена',
|
||||
'watchTogether.relayUnreachable' => 'Сервер relay недоступен. Блокировка ISP может мешать Watch Together.',
|
||||
'watchTogether.reconnectingToHost' => 'Переподключение к хосту...',
|
||||
'watchTogether.relayUnreachable' => 'Сервер ретрансляции недоступен. Блокировка интернет-провайдером может помешать совместному просмотру.',
|
||||
'watchTogether.reconnectingToHost' => 'Повторное подключение к организатору...',
|
||||
'watchTogether.currentPlayback' => 'Текущее воспроизведение',
|
||||
'watchTogether.joinCurrentPlayback' => 'Присоединиться к текущему воспроизведению',
|
||||
'watchTogether.joinCurrentPlaybackDescription' => 'Вернуться к тому, что сейчас смотрит хост',
|
||||
'watchTogether.joinCurrentPlaybackDescription' => 'Вернуться к материалу, который сейчас смотрит организатор',
|
||||
'watchTogether.failedToOpenCurrentPlayback' => 'Не удалось открыть текущее воспроизведение',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'watchTogether.participantJoined' => ({required Object name}) => '${name} присоединился',
|
||||
'watchTogether.participantLeft' => ({required Object name}) => '${name} вышел',
|
||||
'watchTogether.participantPaused' => ({required Object name}) => '${name} поставил на паузу',
|
||||
'watchTogether.participantResumed' => ({required Object name}) => '${name} возобновил',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'watchTogether.participantSeeked' => ({required Object name}) => '${name} перемотал',
|
||||
'watchTogether.participantBuffering' => ({required Object name}) => '${name} буферизует',
|
||||
'watchTogether.participantBuffering' => ({required Object name}) => 'У ${name} идёт буферизация',
|
||||
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} использует старую версию приложения — синхронизация недоступна',
|
||||
'watchTogether.resumingWithout' => ({required Object name}) => 'Возобновление без ${name}',
|
||||
'watchTogether.waitingForParticipants' => 'Ожидание загрузки у других...',
|
||||
@@ -3205,7 +3213,7 @@ extension on TranslationsRu {
|
||||
'downloads.retryDownload' => 'Повторить загрузку',
|
||||
'downloads.downloadQueued' => 'Загрузка поставлена в очередь',
|
||||
'downloads.downloadResumed' => 'Загрузка возобновлена',
|
||||
'downloads.serverErrorBitrate' => 'Ошибка сервера: файл может превышать удаленный лимит bitrate',
|
||||
'downloads.serverErrorBitrate' => 'Ошибка сервера: файл может превышать установленное на сервере ограничение битрейта',
|
||||
'downloads.episodesQueued' => ({required Object count}) => '${count} эпизодов поставлено в очередь загрузки',
|
||||
'downloads.downloadDeleted' => 'Загрузка удалена',
|
||||
'downloads.deleteConfirm' => ({required Object title}) => 'Удалить "${title}" с этого устройства?',
|
||||
@@ -3293,10 +3301,10 @@ extension on TranslationsRu {
|
||||
'companionRemote.pairing.connecting' => 'Подключение...',
|
||||
'companionRemote.pairing.searchingForDevices' => 'Поиск устройств...',
|
||||
'companionRemote.pairing.noDevicesFound' => 'Устройства в вашей сети не найдены',
|
||||
'companionRemote.pairing.noDevicesHint' => 'Откройте Plezy на компьютере и используйте тот же WiFi',
|
||||
'companionRemote.pairing.noDevicesHint' => 'Откройте Plezy на компьютере и подключите оба устройства к одной сети Wi-Fi',
|
||||
'companionRemote.pairing.availableDevices' => 'Доступные устройства',
|
||||
'companionRemote.pairing.manualConnection' => 'Ручное подключение',
|
||||
'companionRemote.pairing.cryptoInitFailed' => 'Не удалось запустить защищенное подключение. Сначала войдите в Plex.',
|
||||
'companionRemote.pairing.cryptoInitFailed' => 'Не удалось установить защищённое соединение. Сначала войдите в Plex.',
|
||||
'companionRemote.pairing.validationHostRequired' => 'Введите адрес хоста',
|
||||
'companionRemote.pairing.validationHostFormat' => 'Формат должен быть IP:порт (например, 192.168.1.100:48632)',
|
||||
'companionRemote.pairing.connectionTimedOut' => 'Время подключения истекло. Используйте одну сеть на обоих устройствах.',
|
||||
@@ -3456,9 +3464,9 @@ extension on TranslationsRu {
|
||||
'metadataEdit.show' => 'Показать',
|
||||
'metadataEdit.hide' => 'Скрыть',
|
||||
'metadataEdit.episodeOrdering' => 'Порядок эпизодов',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (Эфирный)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (Эфирный)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (Абсолютный)',
|
||||
'metadataEdit.tmdbAiring' => 'The Movie Database (по дате выхода)',
|
||||
'metadataEdit.tvdbAiring' => 'TheTVDB (по дате выхода)',
|
||||
'metadataEdit.tvdbAbsolute' => 'TheTVDB (абсолютный порядок)',
|
||||
'metadataEdit.metadataLanguage' => 'Язык метаданных',
|
||||
'metadataEdit.useOriginalTitle' => 'Использовать оригинальное название',
|
||||
'metadataEdit.preferredAudioLanguage' => 'Предпочитаемый язык аудио',
|
||||
@@ -3533,7 +3541,7 @@ extension on TranslationsRu {
|
||||
'seerr.statusRequested' => 'Запрошено',
|
||||
'seerr.statusProcessing' => 'Обработка',
|
||||
'services.title' => 'Сервисы',
|
||||
'services.hubSubtitle' => 'Синхронизируйте прогресс просмотра и запрашивайте новые тайтлы.',
|
||||
'services.hubSubtitle' => 'Синхронизируйте прогресс просмотра и запрашивайте новые фильмы и сериалы.',
|
||||
'services.notConnected' => 'Не подключено',
|
||||
'services.connectedAs' => ({required Object username}) => 'Подключено как @${username}',
|
||||
'services.scrobble' => 'Автоматически отслеживать прогресс',
|
||||
@@ -3569,7 +3577,7 @@ extension on TranslationsRu {
|
||||
'services.libraryFilter.libraries' => 'Библиотеки',
|
||||
'services.libraryFilter.noLibraries' => 'Библиотеки недоступны',
|
||||
'addServer.addJellyfinTitle' => 'Добавить сервер Jellyfin',
|
||||
'addServer.serverUrls' => 'URL сервера',
|
||||
'addServer.serverUrls' => 'URL-адреса сервера',
|
||||
'addServer.serverUrlsHelper' => 'Можно указать несколько URL через запятую.',
|
||||
'addServer.findServer' => 'Найти сервер',
|
||||
'addServer.searchingLocalServers' => 'Поиск локальных серверов Jellyfin...',
|
||||
@@ -3594,8 +3602,8 @@ extension on TranslationsRu {
|
||||
'addServer.connectToJellyfinCard' => 'Подключиться к Jellyfin',
|
||||
'addServer.connectToJellyfinCardSubtitle' => 'Введите URL сервера, имя пользователя и пароль.',
|
||||
'addServer.connectToJellyfinCardSubtitleScoped' => ({required Object name}) => 'Войдите на сервер Jellyfin. Привязывается к ${name}.',
|
||||
'addServer.borrowFromAnotherProfile' => 'Одолжить из другого профиля',
|
||||
'addServer.borrowFromAnotherProfileSubtitle' => 'Используйте подключение другого профиля. Для профилей с PIN нужен PIN.',
|
||||
'addServer.borrowFromAnotherProfile' => 'Использовать подключение другого профиля',
|
||||
'addServer.borrowFromAnotherProfileSubtitle' => 'Повторно используйте подключение другого профиля. Для защищённых профилей потребуется PIN.',
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
|
||||
+570
-562
File diff suppressed because it is too large
Load Diff
+667
-659
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+283
-283
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+235
-235
File diff suppressed because it is too large
Load Diff
+2
-1
@@ -71,6 +71,7 @@ import 'utils/managed_http_client.dart';
|
||||
import 'utils/media_server_http_client.dart';
|
||||
import 'utils/orientation_helper.dart';
|
||||
import 'utils/watch_state_notifier.dart';
|
||||
import 'i18n/app_locale_utils.dart';
|
||||
import 'i18n/strings.g.dart';
|
||||
import 'widgets/app_icon.dart';
|
||||
import 'focus/input_mode_tracker.dart';
|
||||
@@ -362,7 +363,7 @@ Future<_StartupDependencies> _initializeStartup(SettingsService settings) async
|
||||
try {
|
||||
final savedLocale = settings.read(SettingsService.appLocale);
|
||||
await LocaleSettings.setLocale(savedLocale);
|
||||
await initializeDateFormatting(savedLocale.languageCode, null);
|
||||
await initializeDateFormatting(savedLocale.intlLocaleName, null);
|
||||
markStartupPhase('locale');
|
||||
|
||||
final futures = <Future<void>>[];
|
||||
|
||||
@@ -11,6 +11,7 @@ import '../focus/dpad_navigator.dart';
|
||||
import '../focus/input_mode_tracker.dart';
|
||||
import '../focus/key_event_utils.dart';
|
||||
import '../focus/locked_hub_controller.dart';
|
||||
import '../i18n/app_locale_utils.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../media/media_hub.dart';
|
||||
import '../media/media_item.dart';
|
||||
@@ -389,7 +390,7 @@ class _CatalogItemDetailScreenState extends State<CatalogItemDetailScreen> {
|
||||
if (item.rating != null) {
|
||||
score = item.rating!.toStringAsFixed(1);
|
||||
if (item.votes != null && item.votes! > 0) {
|
||||
final compactVotes = NumberFormat.compact(locale: LocaleSettings.currentLocale.languageCode);
|
||||
final compactVotes = NumberFormat.compact(locale: LocaleSettings.currentLocale.intlLocaleName);
|
||||
score = '$score (${compactVotes.format(item.votes)})';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import '../../../focus/dpad_select_long_press_controller.dart';
|
||||
import '../../../focus/focus_theme.dart';
|
||||
import '../../../focus/input_mode_tracker.dart';
|
||||
import '../../../focus/key_event_utils.dart';
|
||||
import '../../../i18n/app_locale_utils.dart';
|
||||
import '../../../i18n/strings.g.dart';
|
||||
import '../../../mixins/mounted_set_state_mixin.dart';
|
||||
import '../../../models/livetv_channel.dart';
|
||||
@@ -1040,7 +1041,7 @@ class GuideTabState extends State<GuideTab> with MountedSetStateMixin, WidgetsBi
|
||||
|
||||
if (target == today) return t.liveTv.today;
|
||||
|
||||
return DateFormat('EEEE', LocaleSettings.currentLocale.languageCode).format(target);
|
||||
return DateFormat('EEEE', LocaleSettings.currentLocale.intlLocaleName).format(target);
|
||||
}
|
||||
|
||||
List<(String, int)> get _timeSlots => [
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:material_symbols_icons/symbols.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import '../../i18n/app_locale_utils.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../providers/multi_server_provider.dart';
|
||||
import '../../providers/theme_provider.dart';
|
||||
@@ -243,7 +244,7 @@ class AppearanceSettingsScreen extends StatelessWidget {
|
||||
await SettingsService.instance.write(SettingsService.appLocale, value);
|
||||
unawaited(LocaleSettings.setLocale(value));
|
||||
if (context.mounted) {
|
||||
context.read<MultiServerProvider>().serverManager.updatePlexLanguage(value.languageCode);
|
||||
context.read<MultiServerProvider>().serverManager.updatePlexLanguage(value.plexLanguageCode);
|
||||
}
|
||||
if (context.mounted) _restartApp(context);
|
||||
}
|
||||
@@ -409,8 +410,12 @@ class AppearanceSettingsScreen extends StatelessWidget {
|
||||
return 'Nederlands';
|
||||
case AppLocale.de:
|
||||
return 'Deutsch';
|
||||
case AppLocale.hu:
|
||||
return 'Magyar';
|
||||
case AppLocale.zh:
|
||||
return '中文';
|
||||
return '简体中文';
|
||||
case AppLocale.zhHant:
|
||||
return '繁體中文';
|
||||
case AppLocale.ko:
|
||||
return '한국어';
|
||||
case AppLocale.es:
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
import '../connection/connection.dart';
|
||||
import '../i18n/app_locale_utils.dart';
|
||||
import '../media/media_server_client.dart';
|
||||
import '../exceptions/media_server_exceptions.dart';
|
||||
|
||||
@@ -204,7 +205,8 @@ class MultiServerManager {
|
||||
}
|
||||
}
|
||||
|
||||
String? get _currentPlexLanguageCode => SettingsService.instanceOrNull?.read(SettingsService.appLocale).languageCode;
|
||||
String? get _currentPlexLanguageCode =>
|
||||
SettingsService.instanceOrNull?.read(SettingsService.appLocale).plexLanguageCode;
|
||||
|
||||
@visibleForTesting
|
||||
void debugRegisterJellyfinClientForTesting(JellyfinClient client, {bool online = true}) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:flutter/services.dart';
|
||||
import '../models/hotkey_model.dart';
|
||||
import 'image_cache_service.dart';
|
||||
import 'package:plezy/utils/app_logger.dart';
|
||||
import '../i18n/app_locale_utils.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../models/mpv_config_models.dart';
|
||||
import '../models/external_player_models.dart';
|
||||
@@ -149,19 +150,21 @@ class _EpisodePosterModePref extends EnumPref<EpisodePosterMode> {
|
||||
}
|
||||
}
|
||||
|
||||
/// Stored as the language code; null/empty falls back to the device locale.
|
||||
/// Stored as the locale enum name; null/empty falls back to the device locale.
|
||||
class _AppLocalePref extends Pref<AppLocale> {
|
||||
const _AppLocalePref() : super('app_locale');
|
||||
|
||||
@override
|
||||
AppLocale readFrom(BaseSharedPreferencesService svc) {
|
||||
final code = svc.prefs.getString(key);
|
||||
if (code == null || code.isEmpty) return AppLocaleUtils.findDeviceLocale();
|
||||
if (code == null || code.isEmpty) {
|
||||
return resolvePreferredAppLocale(PlatformDispatcher.instance.locales);
|
||||
}
|
||||
return AppLocale.values.asNameMap()[code] ?? AppLocale.en;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> writeTo(BaseSharedPreferencesService svc, AppLocale value) => svc.writeString(key, value.languageCode);
|
||||
Future<void> writeTo(BaseSharedPreferencesService svc, AppLocale value) => svc.writeString(key, value.name);
|
||||
}
|
||||
|
||||
/// Mobile-only with a macOS-disabled-by-default rule; forced off on TV and non-mobile platforms.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'package:duration/duration.dart';
|
||||
import 'package:duration/locale.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import '../i18n/app_locale_utils.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
|
||||
/// Formats a number with a minimum number of digits using leading zeros.
|
||||
@@ -128,13 +129,12 @@ String formatSyncOffset(double offsetMs) {
|
||||
/// Falls back to English if the locale is not supported by the duration package.
|
||||
DurationLocale _getDurationLocale() {
|
||||
final appLocale = LocaleSettings.currentLocale;
|
||||
final languageCode = appLocale.languageCode;
|
||||
|
||||
// Map supported locales to duration package locales
|
||||
// The duration package supports many languages, but we'll focus on the ones
|
||||
// that our app supports: en, de, it, nl, sv, zh
|
||||
try {
|
||||
return DurationLocale.fromLanguageCode(languageCode) ?? const EnglishDurationLocale();
|
||||
return DurationLocale.fromLanguageCode(appLocale.durationLocaleName) ?? const EnglishDurationLocale();
|
||||
} catch (e) {
|
||||
return const EnglishDurationLocale();
|
||||
}
|
||||
@@ -143,7 +143,7 @@ DurationLocale _getDurationLocale() {
|
||||
/// Formats a [DateTime] as a clock time string, respecting the system 24-hour preference.
|
||||
/// Uses `DateFormat.Hm` for 24-hour format and `DateFormat.jm` for 12-hour format.
|
||||
String formatClockTime(DateTime time, {required bool is24Hour}) {
|
||||
final locale = LocaleSettings.currentLocale.languageCode;
|
||||
final locale = LocaleSettings.currentLocale.intlLocaleName;
|
||||
final formatter = is24Hour ? DateFormat.Hm(locale) : DateFormat.jm(locale);
|
||||
return formatter.format(time);
|
||||
}
|
||||
@@ -157,7 +157,7 @@ String formatRelativeDayLabel(DateTime date, {DateTime? now}) {
|
||||
return switch (diff) {
|
||||
0 => t.liveTv.today,
|
||||
1 => t.liveTv.tomorrow,
|
||||
_ => DateFormat.E(LocaleSettings.currentLocale.languageCode).format(date),
|
||||
_ => DateFormat.E(LocaleSettings.currentLocale.intlLocaleName).format(date),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ String formatFullDate(String dateString) {
|
||||
try {
|
||||
final date = DateTime.parse(dateString);
|
||||
|
||||
final formatter = DateFormat.yMMMMd(LocaleSettings.currentLocale.languageCode);
|
||||
final formatter = DateFormat.yMMMMd(LocaleSettings.currentLocale.intlLocaleName);
|
||||
|
||||
return formatter.format(date);
|
||||
} catch (e) {
|
||||
@@ -212,7 +212,7 @@ String formatAbbreviatedDate(String dateString) {
|
||||
try {
|
||||
final date = DateTime.parse(dateString);
|
||||
|
||||
final formatter = DateFormat.yMMMd(LocaleSettings.currentLocale.languageCode);
|
||||
final formatter = DateFormat.yMMMd(LocaleSettings.currentLocale.intlLocaleName);
|
||||
|
||||
return formatter.format(date);
|
||||
} catch (e) {
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:plezy/i18n/app_locale_utils.dart';
|
||||
import 'package:plezy/i18n/strings.g.dart';
|
||||
|
||||
void main() {
|
||||
group('resolvePreferredAppLocale', () {
|
||||
test('uses explicit Chinese scripts before regions', () {
|
||||
expect(
|
||||
resolvePreferredAppLocale([
|
||||
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant', countryCode: 'TW'),
|
||||
]),
|
||||
AppLocale.zhHant,
|
||||
);
|
||||
expect(
|
||||
resolvePreferredAppLocale([
|
||||
const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hans', countryCode: 'TW'),
|
||||
]),
|
||||
AppLocale.zh,
|
||||
);
|
||||
});
|
||||
|
||||
test('maps region-only Chinese locales to the expected script', () {
|
||||
for (final region in const ['TW', 'HK', 'MO']) {
|
||||
expect(resolvePreferredAppLocale([Locale('zh', region)]), AppLocale.zhHant, reason: region);
|
||||
}
|
||||
for (final region in const ['CN', 'SG']) {
|
||||
expect(resolvePreferredAppLocale([Locale('zh', region)]), AppLocale.zh, reason: region);
|
||||
}
|
||||
});
|
||||
|
||||
test('preserves device preference order', () {
|
||||
expect(
|
||||
resolvePreferredAppLocale(const [
|
||||
Locale('fr', 'FR'),
|
||||
Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant'),
|
||||
]),
|
||||
AppLocale.fr,
|
||||
);
|
||||
expect(
|
||||
resolvePreferredAppLocale(const [Locale('xx'), Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant')]),
|
||||
AppLocale.zhHant,
|
||||
);
|
||||
expect(
|
||||
resolvePreferredAppLocale(const [Locale('zh'), Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant')]),
|
||||
AppLocale.zh,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
group('AppLocaleExternalFormats', () {
|
||||
test('preserves Traditional Chinese for downstream formatters and Plex', () {
|
||||
expect(AppLocale.zhHant.intlLocaleName, 'zh_TW');
|
||||
expect(AppLocale.zhHant.durationLocaleName, 'zh_Hant');
|
||||
expect(AppLocale.zhHant.plexLanguageCode, 'zh-TW');
|
||||
});
|
||||
|
||||
test('keeps existing locales on their language code', () {
|
||||
expect(AppLocale.hu.intlLocaleName, 'hu');
|
||||
expect(AppLocale.hu.durationLocaleName, 'hu');
|
||||
expect(AppLocale.hu.plexLanguageCode, 'hu');
|
||||
expect(AppLocale.zh.plexLanguageCode, 'zh');
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -2,72 +2,33 @@ import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:plezy/i18n/strings.g.dart';
|
||||
|
||||
void main() {
|
||||
test('empty overrides fall back in every affected locale', () async {
|
||||
test('completed locale entries override the English fallback', () async {
|
||||
final english = await AppLocale.en.build();
|
||||
final commonEnglishValues = <String>[
|
||||
final englishValues = <String>[
|
||||
english.videoControls.showPlaybackControls,
|
||||
english.videoControls.hidePlaybackControls,
|
||||
];
|
||||
final spotlightEnglishValues = <String>[
|
||||
english.settings.tvCornerSpotlightBackdrop,
|
||||
english.settings.tvCornerSpotlightBackdropDescription,
|
||||
];
|
||||
|
||||
expect([...commonEnglishValues, ...spotlightEnglishValues], everyElement(isNotEmpty));
|
||||
expect(englishValues, everyElement(isNotEmpty));
|
||||
|
||||
const commonFallbackLocales = <AppLocale>[
|
||||
AppLocale.bg,
|
||||
AppLocale.da,
|
||||
AppLocale.de,
|
||||
AppLocale.es,
|
||||
AppLocale.fr,
|
||||
AppLocale.it,
|
||||
AppLocale.ja,
|
||||
AppLocale.ko,
|
||||
AppLocale.nb,
|
||||
AppLocale.nl,
|
||||
AppLocale.pl,
|
||||
AppLocale.pt,
|
||||
AppLocale.ru,
|
||||
AppLocale.sv,
|
||||
AppLocale.zh,
|
||||
];
|
||||
const spotlightFallbackLocales = <AppLocale>[
|
||||
AppLocale.bg,
|
||||
AppLocale.da,
|
||||
AppLocale.es,
|
||||
AppLocale.fr,
|
||||
AppLocale.it,
|
||||
AppLocale.ja,
|
||||
AppLocale.ko,
|
||||
AppLocale.nb,
|
||||
AppLocale.nl,
|
||||
AppLocale.pl,
|
||||
AppLocale.pt,
|
||||
AppLocale.ru,
|
||||
AppLocale.sv,
|
||||
AppLocale.zh,
|
||||
];
|
||||
|
||||
for (final locale in commonFallbackLocales) {
|
||||
for (final locale in AppLocale.values.where((locale) => locale != AppLocale.en)) {
|
||||
final translations = await locale.build();
|
||||
expect(
|
||||
<String>[translations.videoControls.showPlaybackControls, translations.videoControls.hidePlaybackControls],
|
||||
commonEnglishValues,
|
||||
reason: '${locale.languageCode} must inherit the common English values',
|
||||
);
|
||||
}
|
||||
final localizedValues = <String>[
|
||||
translations.videoControls.showPlaybackControls,
|
||||
translations.videoControls.hidePlaybackControls,
|
||||
translations.settings.tvCornerSpotlightBackdrop,
|
||||
translations.settings.tvCornerSpotlightBackdropDescription,
|
||||
];
|
||||
|
||||
for (final locale in spotlightFallbackLocales) {
|
||||
final translations = await locale.build();
|
||||
expect(
|
||||
<String>[
|
||||
translations.settings.tvCornerSpotlightBackdrop,
|
||||
translations.settings.tvCornerSpotlightBackdropDescription,
|
||||
],
|
||||
spotlightEnglishValues,
|
||||
reason: '${locale.languageCode} must inherit the English spotlight values',
|
||||
);
|
||||
for (var index = 0; index < localizedValues.length; index++) {
|
||||
expect(
|
||||
localizedValues[index],
|
||||
isNot(englishValues[index]),
|
||||
reason: '${locale.name} must provide its own completed translation at index $index',
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'dart:async';
|
||||
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:plezy/i18n/strings.g.dart';
|
||||
import 'package:plezy/models/audio_quality_preset.dart';
|
||||
import 'package:plezy/models/hotkey_model.dart';
|
||||
import 'package:plezy/services/base_shared_preferences_service.dart';
|
||||
@@ -164,6 +165,32 @@ void main() {
|
||||
});
|
||||
});
|
||||
|
||||
group('SettingsService app locale', () {
|
||||
test('persists script-specific locales by enum name', () async {
|
||||
var settings = await SettingsService.getInstance();
|
||||
|
||||
await settings.write(SettingsService.appLocale, AppLocale.zhHant);
|
||||
expect(settings.prefs.getString(SettingsService.appLocale.key), 'zhHant');
|
||||
|
||||
BaseSharedPreferencesService.resetForTesting();
|
||||
SettingsService.resetForTesting();
|
||||
settings = await SettingsService.getInstance();
|
||||
|
||||
expect(settings.read(SettingsService.appLocale), AppLocale.zhHant);
|
||||
});
|
||||
|
||||
test('continues to read legacy language-code values', () async {
|
||||
var settings = await SettingsService.getInstance();
|
||||
await settings.prefs.setString(SettingsService.appLocale.key, 'zh');
|
||||
|
||||
BaseSharedPreferencesService.resetForTesting();
|
||||
SettingsService.resetForTesting();
|
||||
settings = await SettingsService.getInstance();
|
||||
|
||||
expect(settings.read(SettingsService.appLocale), AppLocale.zh);
|
||||
});
|
||||
});
|
||||
|
||||
group('SettingsService platform gates', () {
|
||||
test('audio passthrough stays available on desktop and Apple TV', () {
|
||||
expect(PlatformDetector.supportsAudioPassthrough(), isTrue);
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:plezy/i18n/app_locale_utils.dart';
|
||||
import 'package:plezy/i18n/strings.g.dart';
|
||||
import 'package:plezy/utils/formatters.dart';
|
||||
|
||||
void main() {
|
||||
setUp(() => LocaleSettings.setLocaleSync(AppLocale.en));
|
||||
|
||||
group('padNumber', () {
|
||||
test('pads with leading zeros to given width', () {
|
||||
expect(padNumber(5, 3), '005');
|
||||
@@ -100,6 +105,26 @@ void main() {
|
||||
});
|
||||
});
|
||||
|
||||
group('Traditional Chinese formatting', () {
|
||||
test('uses script-specific compact-number symbols', () async {
|
||||
await LocaleSettings.setLocale(AppLocale.zh);
|
||||
expect(NumberFormat.compact(locale: LocaleSettings.currentLocale.intlLocaleName).format(10000), '1万');
|
||||
|
||||
await LocaleSettings.setLocale(AppLocale.zhHant);
|
||||
expect(NumberFormat.compact(locale: LocaleSettings.currentLocale.intlLocaleName).format(10000), '1萬');
|
||||
});
|
||||
|
||||
test('uses script-specific textual duration units', () async {
|
||||
const duration = Duration(hours: 1, minutes: 2);
|
||||
|
||||
await LocaleSettings.setLocale(AppLocale.zh);
|
||||
expect(formatDurationTextual(duration.inMilliseconds), '1小时 2分');
|
||||
|
||||
await LocaleSettings.setLocale(AppLocale.zhHant);
|
||||
expect(formatDurationTextual(duration.inMilliseconds), '1小時 2分鐘');
|
||||
});
|
||||
});
|
||||
|
||||
group('toBulletedString', () {
|
||||
test('joins with " · " separator', () {
|
||||
expect(toBulletedString(['a', 'b', 'c']), 'a · b · c');
|
||||
|
||||
@@ -92,7 +92,7 @@ void main() {
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
final dialog = find.byType(AlertDialog);
|
||||
for (final label in ['Нет', 'Да', 'Масштабировать', 'Принудительно', 'Удалить стили']) {
|
||||
for (final label in ['Нет', 'Да', 'Масштаб', 'Принудительно', 'Удалить стили']) {
|
||||
expect(find.descendant(of: dialog, matching: find.text(label)), findsOneWidget);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user