feat(player): optionally follow the server's per-episode track selections
With the new playback setting enabled, episode advance carries no audio or subtitle preference at all, so both resolve from the streams selected on the server for each individual episode. This serves setups that curate selections server-side (e.g. Plex Auto Languages) and is independent of "Remember track selections", which keeps gating only the write-back of manual changes. close #1717
This commit is contained in:
@@ -300,6 +300,8 @@ class _Translations$settings$kk extends Translations$settings$en {
|
||||
@override String minutesUnit({required Object minutes}) => '${minutes} минут';
|
||||
@override String get rememberTrackSelections => 'Әр фильм/сериал үшін дыбыс/субтитр таңдауын есте сақтау';
|
||||
@override String get rememberTrackSelectionsDescription => 'Әр медиа үшін дыбыс пен субтитр таңдауын сақтау';
|
||||
@override String get followServerTrackSelections => 'Әр бөлім үшін сервердегі жолдар таңдауын қолдану';
|
||||
@override String get followServerTrackSelectionsDescription => 'Бөлім ауысқанда ағымдағы таңдауды көшірудің орнына серверде таңдалған дыбыс пен субтитрлерді қолдану';
|
||||
@override String get showChapterMarkersOnTimeline => 'Уақыт шкаласында бөлім белгілерін көрсету';
|
||||
@override String get showChapterMarkersOnTimelineDescription => 'Уақыт шкаласын бөлімдерге бөлу';
|
||||
@override String get clickVideoTogglesPlayback => 'Ойнату/кідірту үшін видеоны басу';
|
||||
@@ -2366,6 +2368,8 @@ extension on TranslationsKk {
|
||||
'settings.minutesUnit' => ({required Object minutes}) => '${minutes} минут',
|
||||
'settings.rememberTrackSelections' => 'Әр фильм/сериал үшін дыбыс/субтитр таңдауын есте сақтау',
|
||||
'settings.rememberTrackSelectionsDescription' => 'Әр медиа үшін дыбыс пен субтитр таңдауын сақтау',
|
||||
'settings.followServerTrackSelections' => 'Әр бөлім үшін сервердегі жолдар таңдауын қолдану',
|
||||
'settings.followServerTrackSelectionsDescription' => 'Бөлім ауысқанда ағымдағы таңдауды көшірудің орнына серверде таңдалған дыбыс пен субтитрлерді қолдану',
|
||||
'settings.showChapterMarkersOnTimeline' => 'Уақыт шкаласында бөлім белгілерін көрсету',
|
||||
'settings.showChapterMarkersOnTimelineDescription' => 'Уақыт шкаласын бөлімдерге бөлу',
|
||||
'settings.clickVideoTogglesPlayback' => 'Ойнату/кідірту үшін видеоны басу',
|
||||
@@ -2718,10 +2722,10 @@ extension on TranslationsKk {
|
||||
'videoControls.noChaptersAvailable' => 'Бөлімдер қолжетімсіз',
|
||||
'videoControls.queue' => 'Кезек',
|
||||
'videoControls.noQueueItems' => 'Кезекте элементтер жоқ',
|
||||
'videoControls.searchSubtitles' => 'Субтитр іздеу',
|
||||
'videoControls.language' => 'Тіл',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'videoControls.searchSubtitles' => 'Субтитр іздеу',
|
||||
'videoControls.language' => 'Тіл',
|
||||
'videoControls.noSubtitlesFound' => 'Субтитр табылмады',
|
||||
'videoControls.subtitleDownloaded' => 'Субтитр жүктелді',
|
||||
'videoControls.subtitleDownloadedNotApplied' => 'Субтитр жүктелді, бірақ қолданылмады',
|
||||
@@ -3232,10 +3236,10 @@ extension on TranslationsKk {
|
||||
'watchTogether.enterCodeHint' => '5 таңбалы кодты енгізіңіз',
|
||||
'watchTogether.pasteFromClipboard' => 'Алмасу буферінен қою',
|
||||
'watchTogether.pleaseEnterCode' => 'Сеанс кодын енгізіңіз',
|
||||
'watchTogether.codeMustBe5Chars' => 'Сеанс коды 5 таңбадан тұруы керек',
|
||||
'watchTogether.joinInstructions' => 'Ұйымдастырушының сеанс кодын енгізіңіз.',
|
||||
_ => null,
|
||||
} ?? switch (path) {
|
||||
'watchTogether.codeMustBe5Chars' => 'Сеанс коды 5 таңбадан тұруы керек',
|
||||
'watchTogether.joinInstructions' => 'Ұйымдастырушының сеанс кодын енгізіңіз.',
|
||||
'watchTogether.failedToCreate' => 'Сеансты жасау мүмкін болмады',
|
||||
'watchTogether.failedToJoin' => 'Сеансқа қосылу мүмкін болмады',
|
||||
'watchTogether.sessionCodeCopied' => 'Сеанс коды көшірілді',
|
||||
|
||||
Reference in New Issue
Block a user