From f72c6214e8dd92fa5dbb866a63616c4688604a1f Mon Sep 17 00:00:00 2001 From: vlOd2 <66838724+vlOd2@users.noreply.github.com> Date: Fri, 26 Dec 2025 04:40:10 +0200 Subject: [PATCH] Add languages to translation UI --- src/assets/locales/en.json | 5 +- .../player/atoms/settings/CaptionsView.tsx | 3 +- .../atoms/settings/LanguageSubtitlesView.tsx | 1 + .../atoms/settings/TranslateSubtitleView.tsx | 87 ++++++++++++++++++- 4 files changed, 90 insertions(+), 6 deletions(-) diff --git a/src/assets/locales/en.json b/src/assets/locales/en.json index a0f93d16..6d76f7b4 100644 --- a/src/assets/locales/en.json +++ b/src/assets/locales/en.json @@ -837,7 +837,10 @@ "useNativeSubtitles": "Native video subtitles", "useNativeSubtitlesDescription": "Broadcast subtitles for native fullscreen and PiP", "delayLate": "Heard audio", - "delayEarly": "Saw caption" + "delayEarly": "Saw caption", + "translate": { + "title": "Translate from {{language}}" + } }, "watchparty": { "watchpartyItem": "Watch Party", diff --git a/src/components/player/atoms/settings/CaptionsView.tsx b/src/components/player/atoms/settings/CaptionsView.tsx index b2f523f9..d696fae3 100644 --- a/src/components/player/atoms/settings/CaptionsView.tsx +++ b/src/components/player/atoms/settings/CaptionsView.tsx @@ -36,6 +36,7 @@ export interface CaptionOptionProps { onClick?: () => void; error?: React.ReactNode; flag?: boolean; + translatable?: boolean; subtitleUrl?: string; subtitleType?: string; // subtitle details from wyzie @@ -55,7 +56,7 @@ function CaptionOptionRightSide(props: CaptionOptionProps) { function translateBtn(margin: boolean) { return ( - props.countryCode && ( + props.translatable && ( + {friendlyName} + + ); + } + return ( <> - Translate from {caption.id} + + {t("player.menus.subtitles.translate.title", { + replace: { + language: + getPrettyLanguageNameFromLocale(caption.language) ?? + caption.language, + }, + })} +
-
- {t("player.menus.subtitles.notFound")} -
+ {availableLanguages.map(renderTargetLang)}
);