mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-03-11 17:15:48 +00:00
Merge pull request #1130 from fawazorg/fix/translate-hardcoded-strings
Some checks failed
Build / build (push) Has been cancelled
Some checks failed
Build / build (push) Has been cancelled
fix: hardcoded strings and add missing translation keys
This commit is contained in:
commit
83ff6d54a4
5 changed files with 14 additions and 12 deletions
|
|
@ -41,7 +41,7 @@
|
||||||
"react-i18next": "^15.1.3",
|
"react-i18next": "^15.1.3",
|
||||||
"react-is": "18.3.1",
|
"react-is": "18.3.1",
|
||||||
"spatial-navigation-polyfill": "github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6",
|
"spatial-navigation-polyfill": "github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6",
|
||||||
"stremio-translations": "github:Stremio/stremio-translations#1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe",
|
"stremio-translations": "github:Stremio/stremio-translations#72a0decf9c636efc3171ee7238a0037ccefc36c1",
|
||||||
"url": "0.11.4",
|
"url": "0.11.4",
|
||||||
"use-long-press": "^3.2.0"
|
"use-long-press": "^3.2.0"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -90,8 +90,8 @@ importers:
|
||||||
specifier: github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6
|
specifier: github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6
|
||||||
version: https://codeload.github.com/Stremio/spatial-navigation/tar.gz/64871b1422466f5f45d24ebc8bbd315b2ebab6a6
|
version: https://codeload.github.com/Stremio/spatial-navigation/tar.gz/64871b1422466f5f45d24ebc8bbd315b2ebab6a6
|
||||||
stremio-translations:
|
stremio-translations:
|
||||||
specifier: github:Stremio/stremio-translations#1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe
|
specifier: github:Stremio/stremio-translations#72a0decf9c636efc3171ee7238a0037ccefc36c1
|
||||||
version: https://codeload.github.com/Stremio/stremio-translations/tar.gz/1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe
|
version: https://codeload.github.com/Stremio/stremio-translations/tar.gz/72a0decf9c636efc3171ee7238a0037ccefc36c1
|
||||||
url:
|
url:
|
||||||
specifier: 0.11.4
|
specifier: 0.11.4
|
||||||
version: 0.11.4
|
version: 0.11.4
|
||||||
|
|
@ -4133,9 +4133,9 @@ packages:
|
||||||
resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
|
resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe:
|
stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/72a0decf9c636efc3171ee7238a0037ccefc36c1:
|
||||||
resolution: {tarball: https://codeload.github.com/Stremio/stremio-translations/tar.gz/1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe}
|
resolution: {tarball: https://codeload.github.com/Stremio/stremio-translations/tar.gz/72a0decf9c636efc3171ee7238a0037ccefc36c1}
|
||||||
version: 1.45.0
|
version: 1.47.2
|
||||||
|
|
||||||
string-length@4.0.2:
|
string-length@4.0.2:
|
||||||
resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
|
resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
|
||||||
|
|
@ -9378,7 +9378,7 @@ snapshots:
|
||||||
es-errors: 1.3.0
|
es-errors: 1.3.0
|
||||||
internal-slot: 1.1.0
|
internal-slot: 1.1.0
|
||||||
|
|
||||||
stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe: {}
|
stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/72a0decf9c636efc3171ee7238a0037ccefc36c1: {}
|
||||||
|
|
||||||
string-length@4.0.2:
|
string-length@4.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ const mapSelectableInputs = (installedAddons, remoteAddons, t) => {
|
||||||
() => {
|
() => {
|
||||||
const selectableCatalog = remoteAddons.selectable.catalogs
|
const selectableCatalog = remoteAddons.selectable.catalogs
|
||||||
.find(({ id }) => id === remoteAddons.selected.request.path.id);
|
.find(({ id }) => id === remoteAddons.selected.request.path.id);
|
||||||
return selectableCatalog ? t.stringWithPrefix(selectableCatalog.name, 'ADDON_') : remoteAddons.selected.request.path.id;
|
return selectableCatalog ? t.stringWithPrefix(selectableCatalog.name.toUpperCase(), 'ADDON_') : remoteAddons.selected.request.path.id;
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
onSelect: (value) => {
|
onSelect: (value) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { useMemo } from 'react';
|
import { useMemo } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
import { CONSTANTS, languageNames, useLanguageSorting, usePlatform } from 'stremio/common';
|
||||||
import { useServices } from 'stremio/services';
|
import { useServices } from 'stremio/services';
|
||||||
import { CONSTANTS, languageNames, usePlatform, useLanguageSorting } from 'stremio/common';
|
|
||||||
|
|
||||||
const LANGUAGES_NAMES: Record<string, string> = languageNames;
|
const LANGUAGES_NAMES: Record<string, string> = languageNames;
|
||||||
|
|
||||||
|
|
@ -232,12 +232,12 @@ const usePlayerOptions = (profile: Profile) => {
|
||||||
const nextVideoPopupDurationSelect = useMemo(() => ({
|
const nextVideoPopupDurationSelect = useMemo(() => ({
|
||||||
options: CONSTANTS.NEXT_VIDEO_POPUP_DURATIONS.map((duration) => ({
|
options: CONSTANTS.NEXT_VIDEO_POPUP_DURATIONS.map((duration) => ({
|
||||||
value: `${duration}`,
|
value: `${duration}`,
|
||||||
label: duration === 0 ? 'Disabled' : `${duration / 1000} ${t('SECONDS')}`
|
label: duration === 0 ? t('SETTINGS_DISABLED') : `${duration / 1000} ${t('SECONDS')}`
|
||||||
})),
|
})),
|
||||||
value: `${profile.settings.nextVideoNotificationDuration}`,
|
value: `${profile.settings.nextVideoNotificationDuration}`,
|
||||||
title: () => {
|
title: () => {
|
||||||
return profile.settings.nextVideoNotificationDuration === 0 ?
|
return profile.settings.nextVideoNotificationDuration === 0 ?
|
||||||
'Disabled'
|
t('SETTINGS_DISABLED')
|
||||||
:
|
:
|
||||||
`${profile.settings.nextVideoNotificationDuration / 1000} ${t('SECONDS')}`;
|
`${profile.settings.nextVideoNotificationDuration / 1000} ${t('SECONDS')}`;
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
// Copyright (C) 2017-2024 Smart code 203358507
|
// Copyright (C) 2017-2024 Smart code 203358507
|
||||||
|
|
||||||
import React, { ChangeEvent, useCallback, useState } from 'react';
|
import React, { ChangeEvent, useCallback, useState } from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
import Icon from '@stremio/stremio-icons/react';
|
import Icon from '@stremio/stremio-icons/react';
|
||||||
import { Button, TextInput } from 'stremio/components';
|
import { Button, TextInput } from 'stremio/components';
|
||||||
import styles from './AddItem.less';
|
import styles from './AddItem.less';
|
||||||
|
|
@ -11,6 +12,7 @@ type Props = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const AddItem = ({ onCancel, handleAddUrl }: Props) => {
|
const AddItem = ({ onCancel, handleAddUrl }: Props) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
const [inputValue, setInputValue] = useState('');
|
const [inputValue, setInputValue] = useState('');
|
||||||
|
|
||||||
const handleValueChange = useCallback(({ target }: ChangeEvent<HTMLInputElement>) => {
|
const handleValueChange = useCallback(({ target }: ChangeEvent<HTMLInputElement>) => {
|
||||||
|
|
@ -28,7 +30,7 @@ const AddItem = ({ onCancel, handleAddUrl }: Props) => {
|
||||||
value={inputValue}
|
value={inputValue}
|
||||||
onChange={handleValueChange}
|
onChange={handleValueChange}
|
||||||
onSubmit={onSubmit}
|
onSubmit={onSubmit}
|
||||||
placeholder={'Enter URL'}
|
placeholder={t('SETTINGS_SERVER_ADD_URL_PLACEHOLDER')}
|
||||||
/>
|
/>
|
||||||
<div className={styles['actions']}>
|
<div className={styles['actions']}>
|
||||||
<Button className={styles['add']} onClick={onSubmit}>
|
<Button className={styles['add']} onClick={onSubmit}>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue