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:
@@ -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>
|
||||
|
||||
@@ -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}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user