From fed28bf6ea6b63c8108bd05f3752293d7296e7a2 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 16 Dec 2022 16:03:26 +0100 Subject: [PATCH] refactor: translate remaining strings --- src/common/ColorInput/ColorInput.js | 6 ++- src/common/MetaPreview/MetaLinks/MetaLinks.js | 4 +- src/common/MetaRow/MetaRow.js | 6 ++- .../MetaRowPlaceholder/MetaRowPlaceholder.js | 6 ++- .../StreamingServerWarning.js | 8 ++-- src/routes/Settings/Settings.js | 38 +++++++++---------- .../Settings/useProfileSettingsInputs.js | 10 +++-- 7 files changed, 44 insertions(+), 34 deletions(-) diff --git a/src/common/ColorInput/ColorInput.js b/src/common/ColorInput/ColorInput.js index 1c5d450bc..c60f02a23 100644 --- a/src/common/ColorInput/ColorInput.js +++ b/src/common/ColorInput/ColorInput.js @@ -4,6 +4,7 @@ const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); const AColorPicker = require('a-color-picker'); +const { useTranslation } = require('react-i18next'); const Button = require('stremio/common/Button'); const ModalDialog = require('stremio/common/ModalDialog'); const useBinaryState = require('stremio/common/useBinaryState'); @@ -16,6 +17,7 @@ const parseColor = (value) => { }; const ColorInput = ({ className, value, dataset, onChange, ...props }) => { + const { t } = useTranslation(); const [modalOpen, openModal, closeModal] = useBinaryState(false); const [tempValue, setTempValue] = React.useState(() => { return parseColor(value); @@ -69,11 +71,11 @@ const ColorInput = ({ className, value, dataset, onChange, ...props }) => { setTempValue(parseColor(value)); }, [value, modalOpen]); return ( - : diff --git a/src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js b/src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js index f49c84c17..469faa349 100644 --- a/src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js +++ b/src/common/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js @@ -3,12 +3,14 @@ const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); +const { useTranslation } = require('react-i18next'); const Icon = require('@stremio/stremio-icons/dom'); const Button = require('stremio/common/Button'); const CONSTANTS = require('stremio/common/CONSTANTS'); const styles = require('./styles'); const MetaRowPlaceholder = ({ className, title, deepLinks }) => { + const { t } = useTranslation(); return (
@@ -17,8 +19,8 @@ const MetaRowPlaceholder = ({ className, title, deepLinks }) => {
{ deepLinks && typeof deepLinks.discover === 'string' ? - : diff --git a/src/common/StreamingServerWarning/StreamingServerWarning.js b/src/common/StreamingServerWarning/StreamingServerWarning.js index 7ff2ff6b9..f095ce1d1 100644 --- a/src/common/StreamingServerWarning/StreamingServerWarning.js +++ b/src/common/StreamingServerWarning/StreamingServerWarning.js @@ -51,11 +51,11 @@ const StreamingServerWarning = ({ className }) => { return (
{ t('SETTINGS_SERVER_UNAVAILABLE') }
- -
); diff --git a/src/routes/Settings/Settings.js b/src/routes/Settings/Settings.js index e1f8db275..f00acfddf 100644 --- a/src/routes/Settings/Settings.js +++ b/src/routes/Settings/Settings.js @@ -324,7 +324,7 @@ const Settings = () => {
-
Rewind & Fast-forward duration
+
{ t('SETTINGS_REWIND_FAST_FORWARD_DURATION') }
{
-
Next video popup duration
+
{ t('SETTINGS_NEXT_VIDEO_POPUP_DURATION') }
{
-
Play in background
+
{ t('SETTINGS_PLAY_IN_BACKGROUND') }
{
-
Play in external player
+
{ t('SETTINGS_PLAY_IN_EXTERNAL_PLAYER') }
{ 'NotLoaded' : streamingServer.settings.type === 'Ready' ? - 'Online' + t('SETTINGS_SERVER_STATUS_ONLINE') : streamingServer.settings.type === 'Error' ? - `Error: (${streamingServer.settings.content})` + `${t('SETTINGS_SERVER_STATUS_ERROR')}: (${streamingServer.settings.content})` : streamingServer.settings.type } @@ -427,7 +427,7 @@ const Settings = () => { cacheSizeSelect !== null ?
-
Cache size
+
{ t('SETTINGS_SERVER_CACHE_SIZE') }
{ torrentProfileSelect !== null ?
-
Torrent profile
+
{ t('SETTINGS_SERVER_TORRENT_PROFILE') }
{
{ t('SETTINGS_SHORTCUT_PLAY_PAUSE') }
- Space + { t('SETTINGS_SHORTCUT_SPACE') }
-
Seek Forward
+
{ t('SETTINGS_SHORTCUT_SEEK_FORWARD') }
-
or
- ⇧ Shift +
{ t('SETTINGS_SHORTCUT_OR') }
+ ⇧ { t('SETTINGS_SHORTCUT_SHIFT') }
+
-
Seek Backward
+
{ t('SETTINGS_SHORTCUT_SEEK_BACKWARD') }
-
or
- ⇧ Shift +
{ t('SETTINGS_SHORTCUT_OR') }
+ ⇧ { t('SETTINGS_SHORTCUT_SHIFT') }
+
@@ -532,7 +532,7 @@ const Settings = () => {
1 -
to
+
{ t('SETTINGS_SHORTCUT_TO') }
5
@@ -549,7 +549,7 @@ const Settings = () => {
{ t('SETTINGS_SHORTCUT_EXIT_BACK') }
- Esc + { t('SETTINGS_SHORTCUT_ESC') }
@@ -559,7 +559,7 @@ const Settings = () => { configureServerUrlModalOpen ? { className={styles['server-url-input']} type={'text'} defaultValue={streamingServerUrlInput.value} - placeholder={'Enter a streaming server url'} + placeholder={t('SETTINGS_SERVER_CONFIGURE_INPUT')} onSubmit={configureServerUrlOnSubmit} /> diff --git a/src/routes/Settings/useProfileSettingsInputs.js b/src/routes/Settings/useProfileSettingsInputs.js index 417e4ec89..3c4c00bfc 100644 --- a/src/routes/Settings/useProfileSettingsInputs.js +++ b/src/routes/Settings/useProfileSettingsInputs.js @@ -1,10 +1,12 @@ // Copyright (C) 2017-2022 Smart code 203358507 const React = require('react'); +const { useTranslation } = require('react-i18next'); const { useServices } = require('stremio/services'); const { CONSTANTS, interfaceLanguages, languageNames } = require('stremio/common'); const useProfileSettingsInputs = (profile) => { + const { t } = useTranslation(); const { core } = useServices(); // TODO combine those useMemo in one const interfaceLanguageSelect = React.useMemo(() => ({ @@ -136,11 +138,11 @@ const useProfileSettingsInputs = (profile) => { const seekTimeDurationSelect = React.useMemo(() => ({ options: CONSTANTS.SEEK_TIME_DURATIONS.map((size) => ({ value: `${size}`, - label: `${size / 1000} seconds` + label: `${size / 1000} ${t('SECONDS')}` })), selected: [`${profile.settings.seekTimeDuration}`], renderLabelText: () => { - return `${profile.settings.seekTimeDuration / 1000} seconds`; + return `${profile.settings.seekTimeDuration / 1000} ${t('SECONDS')}`; }, onSelect: (event) => { core.transport.dispatch({ @@ -158,14 +160,14 @@ const useProfileSettingsInputs = (profile) => { const nextVideoPopupDurationSelect = React.useMemo(() => ({ options: CONSTANTS.NEXT_VIDEO_POPUP_DURATIONS.map((duration) => ({ value: `${duration}`, - label: duration === 0 ? 'Disabled' : `${duration / 1000} seconds` + label: duration === 0 ? 'Disabled' : `${duration / 1000} ${t('SECONDS')}` })), selected: [`${profile.settings.nextVideoNotificationDuration}`], renderLabelText: () => { return profile.settings.nextVideoNotificationDuration === 0 ? 'Disabled' : - `${profile.settings.nextVideoNotificationDuration / 1000} seconds`; + `${profile.settings.nextVideoNotificationDuration / 1000} ${t('SECONDS')}`; }, onSelect: (event) => { core.transport.dispatch({