1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-26 22:46:53 -04:00

Add Translations to Settings Pages

(cherry picked from commit f2c31e92ceec7c6a8daffa78f30f15ab8684bef9)
This commit is contained in:
Stevie Robinson
2023-07-22 21:14:33 +02:00
committed by Bogdan
parent bfff736cfc
commit ca1a40723b
101 changed files with 3515 additions and 3664 deletions
@@ -17,15 +17,15 @@ function getDelay(enabled, delay) {
}
if (!delay) {
return 'No Delay';
return translate('NoDelay');
}
if (delay === 1) {
return '1 Minute';
return translate('OneMinute');
}
// TODO: use better units of time than just minutes
return `${delay} Minutes`;
return translate('DelayMinutes', { delay });
}
class DelayProfile extends Component {
@@ -85,7 +85,7 @@ class DelayProfile extends Component {
connectDragSource
} = this.props;
let preferred = `Prefer ${titleCase(preferredProtocol)}`;
let preferred = titleCase(translate('PreferProtocol', { preferredProtocol }));
if (!enableUsenet) {
preferred = translate('OnlyTorrent');
@@ -70,7 +70,7 @@ class DelayProfiles extends Component {
<Measure onMeasure={this.onMeasure}>
<FieldSet legend={translate('DelayProfiles')}>
<PageSectionContent
errorMessage={translate('UnableToLoadDelayProfiles')}
errorMessage={translate('DelayProfilesLoadError')}
{...otherProps}
>
<Scroller
@@ -87,9 +87,9 @@ function EditDelayProfileModalContent(props) {
{
!isFetching && !!error ?
<div>
{translate('UnableToAddANewQualityProfilePleaseTryAgain')}
</div> :
<Alert kind={kinds.DANGER}>
{translate('AddDelayProfileError')}
</Alert> :
null
}
@@ -186,7 +186,7 @@ function EditDelayProfileModalContent(props) {
{
id === 1 ?
<Alert>
{translate('DefaultDelayProfile')}
{translate('DefaultDelayProfileMovie')}
</Alert> :
<FormGroup>
@@ -196,7 +196,7 @@ function EditDelayProfileModalContent(props) {
type={inputTypes.TAG}
name="tags"
{...tags}
helpText={translate('TagsHelpText')}
helpText={translate('DelayProfileMovieTagsHelpText')}
onChange={onInputChange}
/>
</FormGroup>
+2 -3
View File
@@ -8,6 +8,7 @@ import translate from 'Utilities/String/translate';
import DelayProfilesConnector from './Delay/DelayProfilesConnector';
import QualityProfilesConnector from './Quality/QualityProfilesConnector';
import ReleaseProfilesConnector from './Release/ReleaseProfilesConnector';
// Only a single DragDrop Context can exist so it's done here to allow editing
// quality profiles and reordering delay profiles to work.
@@ -19,9 +20,7 @@ class Profiles extends Component {
render() {
return (
<PageContent title={translate('Profiles')}>
<SettingsToolbarConnector
showSave={false}
/>
<SettingsToolbarConnector showSave={false} />
<PageContentBody>
<DndProvider options={HTML5toTouch}>
@@ -158,7 +158,7 @@ class EditQualityProfileModalContent extends Component {
{
!isFetching && !!error &&
<div>
{translate('UnableToAddANewQualityProfilePleaseTryAgain')}
{translate('AddQualityProfileError')}
</div>
}
@@ -191,7 +191,7 @@ class EditQualityProfileModalContent extends Component {
type={inputTypes.CHECK}
name="upgradeAllowed"
{...upgradeAllowed}
helpText={translate('UpgradeAllowedHelpText')}
helpText={translate('UpgradesAllowedHelpText')}
onChange={onInputChange}
/>
</FormGroup>
@@ -200,7 +200,7 @@ class EditQualityProfileModalContent extends Component {
upgradeAllowed.value &&
<FormGroup size={sizes.EXTRA_SMALL}>
<FormLabel size={sizes.SMALL}>
{translate('UpgradeUntilQuality')}
{translate('UpgradeUntil')}
</FormLabel>
<FormInputGroup
@@ -208,7 +208,7 @@ class EditQualityProfileModalContent extends Component {
name="cutoff"
{...cutoff}
values={qualities}
helpText={translate('CutoffHelpText')}
helpText={translate('UpgradeUntilMovieHelpText')}
onChange={onCutoffChange}
/>
</FormGroup>
@@ -225,7 +225,7 @@ class EditQualityProfileModalContent extends Component {
type={inputTypes.NUMBER}
name="minFormatScore"
{...minFormatScore}
helpText={translate('MinFormatScoreHelpText')}
helpText={translate('MinimumCustomFormatScoreHelpText')}
onChange={onInputChange}
/>
</FormGroup>
@@ -242,7 +242,7 @@ class EditQualityProfileModalContent extends Component {
type={inputTypes.NUMBER}
name="cutoffFormatScore"
{...cutoffFormatScore}
helpText={translate('CutoffFormatScoreHelpText')}
helpText={translate('UpgradeUntilCustomFormatScoreMovieHelpText')}
onChange={onInputChange}
/>
</FormGroup>
@@ -301,7 +301,7 @@ class EditQualityProfileModalContent extends Component {
className={styles.deleteButtonContainer}
title={
isInUse ?
translate('QualityProfileInUse') :
translate('QualityProfileInUseMovieListCollection') :
undefined
}
>
@@ -4,7 +4,7 @@ import React, { Component } from 'react';
import FormGroup from 'Components/Form/FormGroup';
import FormInputHelpText from 'Components/Form/FormInputHelpText';
import FormLabel from 'Components/Form/FormLabel';
import Link from 'Components/Link/Link';
import InlineMarkdown from 'Components/Markdown/InlineMarkdown';
import { sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import QualityProfileFormatItem from './QualityProfileFormatItem';
@@ -67,10 +67,7 @@ class QualityProfileFormatItems extends Component {
if (profileFormatItems.length < 1) {
return (
<div className={styles.addCustomFormatMessage}>
{translate('MoreControlCFText')}
<Link to='/settings/customformats'> {translate('CustomFormat')} </Link>
</div>
<InlineMarkdown className={styles.addCustomFormatMessage} data={translate('WantMoreControlAddACustomFormat')} />
);
}
@@ -54,7 +54,7 @@ class QualityProfiles extends Component {
return (
<FieldSet legend={translate('QualityProfiles')}>
<PageSectionContent
errorMessage={translate('UnableToLoadQualityProfiles')}
errorMessage={translate('QualityProfilesLoadError')}
{...otherProps}c={true}
>
<div className={styles.qualityProfiles}>
@@ -41,7 +41,7 @@ function EditReleaseProfileModalContent(props) {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
{id ? translate('Edit Release Profile') : translate('Add Release Profile')}
{id ? translate('EditReleaseProfile') : translate('AddReleaseProfile')}
</ModalHeader>
<ModalBody>
@@ -54,7 +54,7 @@ function EditReleaseProfileModalContent(props) {
type={inputTypes.TEXT}
name="name"
{...name}
placeholder="Optional name"
placeholder={translate('OptionalName')}
canEdit={true}
onChange={onInputChange}
/>
@@ -66,7 +66,7 @@ function EditReleaseProfileModalContent(props) {
<FormInputGroup
type={inputTypes.CHECK}
name="enabled"
helpText="Check to enable release profile"
helpText={translate('EnableProfileHelpText')}
{...enabled}
onChange={onInputChange}
/>
@@ -80,9 +80,9 @@ function EditReleaseProfileModalContent(props) {
inputClassName={styles.tagInternalInput}
type={inputTypes.TEXT_TAG}
name="required"
helpText="The release must contain at least one of these terms (case insensitive)"
helpText={translate('MustContainHelpText')}
kind={kinds.SUCCESS}
placeholder={translate('RequiredRestrictionPlaceHolder')}
placeholder={translate('AddNewRestriction')}
delimiters={tagInputDelimiters}
canEdit={true}
onChange={onInputChange}
@@ -97,9 +97,9 @@ function EditReleaseProfileModalContent(props) {
inputClassName={styles.tagInternalInput}
type={inputTypes.TEXT_TAG}
name="ignored"
helpText="The release will be rejected if it contains one or more of terms (case insensitive)"
helpText={translate('MustNotContainHelpText')}
kind={kinds.DANGER}
placeholder={translate('IgnoredPlaceHolder')}
placeholder={translate('AddNewRestriction')}
delimiters={tagInputDelimiters}
canEdit={true}
onChange={onInputChange}
@@ -112,8 +112,8 @@ function EditReleaseProfileModalContent(props) {
<FormInputGroup
type={inputTypes.INDEXER_SELECT}
name="indexerId"
helpText="Specify what indexer the profile applies to"
helpTextWarning="Using a specific indexer with release profiles can lead to duplicate releases being grabbed"
helpText={translate('ReleaseProfileIndexerHelpText')}
helpTextWarning={translate('ReleaseProfileIndexerHelpTextWarning')}
{...indexerId}
includeAny={true}
onChange={onInputChange}
@@ -126,7 +126,7 @@ function EditReleaseProfileModalContent(props) {
<FormInputGroup
type={inputTypes.TAG}
name="tags"
helpText="Release profiles will apply to movies with at least one matching tag. Leave blank to apply to all movies"
helpText={translate('ReleaseProfileTagMovieHelpText')}
{...tags}
onChange={onInputChange}
/>
@@ -5,6 +5,7 @@ import Label from 'Components/Label';
import ConfirmModal from 'Components/Modal/ConfirmModal';
import TagList from 'Components/TagList';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import EditReleaseProfileModalConnector from './EditReleaseProfileModalConnector';
import styles from './ReleaseProfile.css';
@@ -137,7 +138,7 @@ class ReleaseProfile extends Component {
kind={kinds.DISABLED}
outline={true}
>
Disabled
{translate('Disabled')}
</Label>
}
@@ -162,9 +163,9 @@ class ReleaseProfile extends Component {
<ConfirmModal
isOpen={isDeleteReleaseProfileModalOpen}
kind={kinds.DANGER}
title="Delete ReleaseProfile"
message={'Are you sure you want to delete this releaseProfile?'}
confirmLabel="Delete"
title={translate('DeleteReleaseProfile')}
message={translate('DeleteReleaseProfileMessageText', { name })}
confirmLabel={translate('Delete')}
onConfirm={this.onConfirmDeleteReleaseProfile}
onCancel={this.onDeleteReleaseProfileModalClose}
/>