diff --git a/src/routes/Player/Player.js b/src/routes/Player/Player.js index 740ed46d4..8ba813786 100644 --- a/src/routes/Player/Player.js +++ b/src/routes/Player/Player.js @@ -400,6 +400,13 @@ const Player = ({ urlParams, queryParams }) => { if (!defaultSubtitlesSelected.current) { const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang); + if (settings.subtitlesLanguage === null) { + onSubtitlesTrackSelected(null); + onExtraSubtitlesTrackSelected(null); + defaultSubtitlesSelected.current = true; + return; + } + const subtitlesTrack = findTrackByLang(video.state.subtitlesTracks, settings.subtitlesLanguage); const extraSubtitlesTrack = findTrackByLang(video.state.extraSubtitlesTracks, settings.subtitlesLanguage); diff --git a/src/routes/Settings/useProfileSettingsInputs.js b/src/routes/Settings/useProfileSettingsInputs.js index 2a31fc254..4cb021f37 100644 --- a/src/routes/Settings/useProfileSettingsInputs.js +++ b/src/routes/Settings/useProfileSettingsInputs.js @@ -65,10 +65,13 @@ const useProfileSettingsInputs = (profile) => { }), [profile.settings]); const subtitlesLanguageSelect = React.useMemo(() => ({ - options: Object.keys(languageNames).map((code) => ({ - value: code, - label: languageNames[code] - })), + options: [ + { value: null, label: t('NONE') }, + ...Object.keys(languageNames).map((code) => ({ + value: code, + label: languageNames[code] + })) + ], selected: [profile.settings.subtitlesLanguage], onSelect: (event) => { core.transport.dispatch({ diff --git a/src/types/models/Ctx.d.ts b/src/types/models/Ctx.d.ts index 47f18749f..e649b305b 100644 --- a/src/types/models/Ctx.d.ts +++ b/src/types/models/Ctx.d.ts @@ -35,7 +35,7 @@ type Settings = { subtitlesBackgroundColor: string, subtitlesBold: boolean, subtitlesFont: string, - subtitlesLanguage: string, + subtitlesLanguage: string | null, subtitlesOffset: number, subtitlesOutlineColor: string, subtitlesSize: number,