1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-08-18 00:09:37 +02:00

More Translations

This commit is contained in:
Qstick 2020-08-19 23:32:49 -04:00
parent e4d033d0a7
commit 04b84e4931
16 changed files with 127 additions and 75 deletions

View File

@ -111,7 +111,7 @@ class ImportMovieSelectFolder extends Component {
{ {
items.length > 0 ? items.length > 0 ?
<div className={styles.recentFolders}> <div className={styles.recentFolders}>
<FieldSet legend="Recent Folders"> <FieldSet legend={translate('RecentFolders')}>
<Table <Table
columns={rootFolderColumns} columns={rootFolderColumns}
> >

View File

@ -272,7 +272,7 @@ class MovieSearchInput extends Component {
if (suggestions.length || loading) { if (suggestions.length || loading) {
suggestionGroups.push({ suggestionGroups.push({
title: 'Existing Movie(s)', title: translate('ExistingMovies'),
loading, loading,
suggestions suggestions
}); });

View File

@ -146,7 +146,7 @@ class DiscoverMovieFooter extends Component {
<PageContentFooter> <PageContentFooter>
<div className={styles.inputContainer}> <div className={styles.inputContainer}>
<DiscoverMovieFooterLabel <DiscoverMovieFooterLabel
label="Monitor Movie" label={translate('MonitorMovie')}
isSaving={isAdding} isSaving={isAdding}
/> />
@ -161,7 +161,7 @@ class DiscoverMovieFooter extends Component {
<div className={styles.inputContainer}> <div className={styles.inputContainer}>
<DiscoverMovieFooterLabel <DiscoverMovieFooterLabel
label="Quality Profile" label={translate('QualityProfile')}
isSaving={isAdding} isSaving={isAdding}
/> />
@ -175,7 +175,7 @@ class DiscoverMovieFooter extends Component {
<div className={styles.inputContainer}> <div className={styles.inputContainer}>
<DiscoverMovieFooterLabel <DiscoverMovieFooterLabel
label="Minimum Availability" label={translate('MinimumAvailability')}
isSaving={isAdding} isSaving={isAdding}
/> />
@ -189,7 +189,7 @@ class DiscoverMovieFooter extends Component {
<div className={styles.inputContainer}> <div className={styles.inputContainer}>
<DiscoverMovieFooterLabel <DiscoverMovieFooterLabel
label="Root Folder" label={translate('RootFolder')}
isSaving={isAdding} isSaving={isAdding}
/> />
@ -204,7 +204,7 @@ class DiscoverMovieFooter extends Component {
<div className={styles.inputContainer}> <div className={styles.inputContainer}>
<DiscoverMovieFooterLabel <DiscoverMovieFooterLabel
label="Search on Add" label={translate('SearchOnAdd')}
isSaving={isAdding} isSaving={isAdding}
/> />

View File

@ -76,7 +76,7 @@ class InteractiveImportSelectFolderModalContent extends Component {
return ( return (
<ModalContent onModalClose={onModalClose}> <ModalContent onModalClose={onModalClose}>
<ModalHeader> <ModalHeader>
Manual Import - Select Folder {translate('ManualImport')} - {translate('SelectFolder')}
</ModalHeader> </ModalHeader>
<ModalBody> <ModalBody>
@ -125,7 +125,7 @@ class InteractiveImportSelectFolderModalContent extends Component {
name={icons.QUICK} name={icons.QUICK}
/> />
Quick Import {translate('QuickImport')}
</Button> </Button>
</div> </div>
@ -142,7 +142,7 @@ class InteractiveImportSelectFolderModalContent extends Component {
name={icons.INTERACTIVE} name={icons.INTERACTIVE}
/> />
Interactive Import {translate('InteractiveImport')}
</Button> </Button>
</div> </div>
</div> </div>

View File

@ -289,7 +289,7 @@ class MovieDetails extends Component {
<PageToolbar> <PageToolbar>
<PageToolbarSection> <PageToolbarSection>
<PageToolbarButton <PageToolbarButton
label="Refresh & Scan" label={translate('RefreshAndScan')}
iconName={icons.REFRESH} iconName={icons.REFRESH}
spinningName={icons.REFRESH} spinningName={icons.REFRESH}
title="Refresh information and scan disk" title="Refresh information and scan disk"
@ -298,7 +298,7 @@ class MovieDetails extends Component {
/> />
<PageToolbarButton <PageToolbarButton
label="Search Movie" label={translate('SearchMovie')}
iconName={icons.SEARCH} iconName={icons.SEARCH}
isDisabled={!monitored} isDisabled={!monitored}
isSpinning={isSearching} isSpinning={isSearching}
@ -309,14 +309,14 @@ class MovieDetails extends Component {
<PageToolbarSeparator /> <PageToolbarSeparator />
<PageToolbarButton <PageToolbarButton
label="Preview Rename" label={translate('PreviewRename')}
iconName={icons.ORGANIZE} iconName={icons.ORGANIZE}
isDisabled={!hasMovieFiles} isDisabled={!hasMovieFiles}
onPress={this.onOrganizePress} onPress={this.onOrganizePress}
/> />
<PageToolbarButton <PageToolbarButton
label="Manual Import" label={translate('ManualImport')}
iconName={icons.INTERACTIVE} iconName={icons.INTERACTIVE}
onPress={this.onInteractiveImportPress} onPress={this.onInteractiveImportPress}
/> />
@ -324,7 +324,7 @@ class MovieDetails extends Component {
<PageToolbarSeparator /> <PageToolbarSeparator />
<PageToolbarButton <PageToolbarButton
label="Edit" label={translate('Edit')}
iconName={icons.EDIT} iconName={icons.EDIT}
onPress={this.onEditMoviePress} onPress={this.onEditMoviePress}
/> />
@ -488,7 +488,7 @@ class MovieDetails extends Component {
<div className={styles.detailsLabels}> <div className={styles.detailsLabels}>
<InfoLabel <InfoLabel
className={styles.detailsInfoLabel} className={styles.detailsInfoLabel}
title="Path" title={translate('Path')}
size={sizes.LARGE} size={sizes.LARGE}
> >
<span className={styles.path}> <span className={styles.path}>
@ -498,7 +498,7 @@ class MovieDetails extends Component {
<InfoLabel <InfoLabel
className={styles.detailsInfoLabel} className={styles.detailsInfoLabel}
title="Status" title={translate('Status')}
kind={kinds.DELETE} kind={kinds.DELETE}
size={sizes.LARGE} size={sizes.LARGE}
> >
@ -513,7 +513,7 @@ class MovieDetails extends Component {
<InfoLabel <InfoLabel
className={styles.detailsInfoLabel} className={styles.detailsInfoLabel}
title="Quality Profile" title={translate('QualityProfile')}
size={sizes.LARGE} size={sizes.LARGE}
> >
<span className={styles.qualityProfileName}> <span className={styles.qualityProfileName}>
@ -527,7 +527,7 @@ class MovieDetails extends Component {
<InfoLabel <InfoLabel
className={styles.detailsInfoLabel} className={styles.detailsInfoLabel}
title="Filesize" title={translate('Size')}
size={sizes.LARGE} size={sizes.LARGE}
> >
<span className={styles.sizeOnDisk}> <span className={styles.sizeOnDisk}>
@ -541,7 +541,7 @@ class MovieDetails extends Component {
!!collection && !!collection &&
<InfoLabel <InfoLabel
className={styles.detailsInfoLabel} className={styles.detailsInfoLabel}
title="Collection" title={translate('Collection')}
size={sizes.LARGE} size={sizes.LARGE}
> >
<div className={styles.collection}> <div className={styles.collection}>
@ -558,7 +558,7 @@ class MovieDetails extends Component {
!!studio && !isSmallScreen && !!studio && !isSmallScreen &&
<InfoLabel <InfoLabel
className={styles.detailsInfoLabel} className={styles.detailsInfoLabel}
title="Studio" title={translate('Studio')}
size={sizes.LARGE} size={sizes.LARGE}
> >
<span className={styles.studio}> <span className={styles.studio}>

View File

@ -163,7 +163,7 @@ class MovieEditorFooter extends Component {
<PageContentFooter> <PageContentFooter>
<div className={styles.inputContainer}> <div className={styles.inputContainer}>
<MovieEditorFooterLabel <MovieEditorFooterLabel
label="Monitor Movie" label={translate('MonitorMovie')}
isSaving={isSaving && monitored !== NO_CHANGE} isSaving={isSaving && monitored !== NO_CHANGE}
/> />
@ -238,7 +238,7 @@ class MovieEditorFooter extends Component {
isDisabled={!selectedCount || isOrganizingMovie} isDisabled={!selectedCount || isOrganizingMovie}
onPress={onOrganizeMoviePress} onPress={onOrganizeMoviePress}
> >
Rename Files {translate('RenameFiles')}
</SpinnerButton> </SpinnerButton>
<SpinnerButton <SpinnerButton
@ -247,7 +247,7 @@ class MovieEditorFooter extends Component {
isDisabled={!selectedCount || isOrganizingMovie} isDisabled={!selectedCount || isOrganizingMovie}
onPress={this.onTagsPress} onPress={this.onTagsPress}
> >
Set Tags {translate('SetTags')}
</SpinnerButton> </SpinnerButton>
</div> </div>

View File

@ -4,6 +4,7 @@ import MenuContent from 'Components/Menu/MenuContent';
import ViewMenu from 'Components/Menu/ViewMenu'; import ViewMenu from 'Components/Menu/ViewMenu';
import ViewMenuItem from 'Components/Menu/ViewMenuItem'; import ViewMenuItem from 'Components/Menu/ViewMenuItem';
import { align } from 'Helpers/Props'; import { align } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
function MovieIndexViewMenu(props) { function MovieIndexViewMenu(props) {
const { const {
@ -23,7 +24,7 @@ function MovieIndexViewMenu(props) {
selectedView={view} selectedView={view}
onPress={onViewSelect} onPress={onViewSelect}
> >
Table {translate('Table')}
</ViewMenuItem> </ViewMenuItem>
<ViewMenuItem <ViewMenuItem
@ -31,7 +32,7 @@ function MovieIndexViewMenu(props) {
selectedView={view} selectedView={view}
onPress={onViewSelect} onPress={onViewSelect}
> >
Posters {translate('Posters')}
</ViewMenuItem> </ViewMenuItem>
<ViewMenuItem <ViewMenuItem
@ -39,7 +40,7 @@ function MovieIndexViewMenu(props) {
selectedView={view} selectedView={view}
onPress={onViewSelect} onPress={onViewSelect}
> >
Overview {translate('Overview')}
</ViewMenuItem> </ViewMenuItem>
</MenuContent> </MenuContent>
</ViewMenu> </ViewMenu>

View File

@ -130,13 +130,13 @@ class MovieIndexOverviewOptionsModalContent extends Component {
return ( return (
<ModalContent onModalClose={onModalClose}> <ModalContent onModalClose={onModalClose}>
<ModalHeader> <ModalHeader>
Overview Options {translate('OverviewOptions')}
</ModalHeader> </ModalHeader>
<ModalBody> <ModalBody>
<Form> <Form>
<FormGroup> <FormGroup>
<FormLabel>Poster Size</FormLabel> <FormLabel>{translate('PosterSize')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
@ -148,19 +148,19 @@ class MovieIndexOverviewOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Detailed Progress Bar</FormLabel> <FormLabel>{translate('DetailedProgressBar')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="detailedProgressBar" name="detailedProgressBar"
value={detailedProgressBar} value={detailedProgressBar}
helpText="Show text on progess bar" helpText={translate('DetailedProgressBarHelpText')}
onChange={this.onChangeOverviewOption} onChange={this.onChangeOverviewOption}
/> />
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Monitored</FormLabel> <FormLabel>{translate('ShowMonitored')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -171,7 +171,7 @@ class MovieIndexOverviewOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Studio</FormLabel> <FormLabel>{translate('ShowStudio')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -182,7 +182,7 @@ class MovieIndexOverviewOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Quality Profile</FormLabel> <FormLabel>{translate('ShowQualityProfile')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -193,7 +193,7 @@ class MovieIndexOverviewOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Date Added</FormLabel> <FormLabel>{translate('ShowDateAdded')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -204,7 +204,7 @@ class MovieIndexOverviewOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Path</FormLabel> <FormLabel>{translate('ShowPath')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -215,7 +215,7 @@ class MovieIndexOverviewOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Size on Disk</FormLabel> <FormLabel>{translate('ShowSizeOnDisk')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -226,13 +226,13 @@ class MovieIndexOverviewOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Search</FormLabel> <FormLabel>{translate('ShowSearch')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="showSearchAction" name="showSearchAction"
value={showSearchAction} value={showSearchAction}
helpText="Show search button on hover" helpText={translate('ShowSearchHelpText')}
onChange={this.onChangeOverviewOption} onChange={this.onChangeOverviewOption}
/> />
</FormGroup> </FormGroup>

View File

@ -109,13 +109,13 @@ class MovieIndexPosterOptionsModalContent extends Component {
return ( return (
<ModalContent onModalClose={onModalClose}> <ModalContent onModalClose={onModalClose}>
<ModalHeader> <ModalHeader>
Poster Options {translate('PosterOptions')}
</ModalHeader> </ModalHeader>
<ModalBody> <ModalBody>
<Form> <Form>
<FormGroup> <FormGroup>
<FormLabel>Poster Size</FormLabel> <FormLabel>{translate('PosterSize')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
@ -127,19 +127,19 @@ class MovieIndexPosterOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Detailed Progress Bar</FormLabel> <FormLabel>{translate('DetailedProgressBar')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="detailedProgressBar" name="detailedProgressBar"
value={detailedProgressBar} value={detailedProgressBar}
helpText="Show text on progess bar" helpText={translate('DetailedProgressBarHelpText')}
onChange={this.onChangePosterOption} onChange={this.onChangePosterOption}
/> />
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Title</FormLabel> <FormLabel>{translate('ShowTitle')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -151,7 +151,7 @@ class MovieIndexPosterOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Monitored</FormLabel> <FormLabel>{translate('ShowMonitored')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -163,7 +163,7 @@ class MovieIndexPosterOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Quality Profile</FormLabel> <FormLabel>{translate('ShowQualityProfile')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
@ -175,13 +175,13 @@ class MovieIndexPosterOptionsModalContent extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Search</FormLabel> <FormLabel>{translate('ShowSearch')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="showSearchAction" name="showSearchAction"
value={showSearchAction} value={showSearchAction}
helpText="Show search button on hover" helpText={translate('ShowSearchHelpText')}
onChange={this.onChangePosterOption} onChange={this.onChangePosterOption}
/> />
</FormGroup> </FormGroup>

View File

@ -4,6 +4,7 @@ import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup'; import FormInputGroup from 'Components/Form/FormInputGroup';
import FormLabel from 'Components/Form/FormLabel'; import FormLabel from 'Components/Form/FormLabel';
import { inputTypes } from 'Helpers/Props'; import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
class MovieIndexTableOptions extends Component { class MovieIndexTableOptions extends Component {
@ -54,13 +55,13 @@ class MovieIndexTableOptions extends Component {
return ( return (
<FormGroup> <FormGroup>
<FormLabel>Show Search</FormLabel> <FormLabel>{translate('ShowSearch')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="showSearchAction" name="showSearchAction"
value={showSearchAction} value={showSearchAction}
helpText="Show search button on hover" helpText={translate('ShowSearchHelpText')}
onChange={this.onTableOptionChange} onChange={this.onTableOptionChange}
/> />
</FormGroup> </FormGroup>

View File

@ -41,7 +41,7 @@ function EditRemotePathMappingModalContent(props) {
return ( return (
<ModalContent onModalClose={onModalClose}> <ModalContent onModalClose={onModalClose}>
<ModalHeader> <ModalHeader>
{id ? 'Edit Remote Path Mapping' : 'Add Remote Path Mapping'} {id ? translate('EditRemotePathMapping') : translate('AddRemotePathMapping')}
</ModalHeader> </ModalHeader>
<ModalBody className={styles.body}> <ModalBody className={styles.body}>
@ -59,12 +59,12 @@ function EditRemotePathMappingModalContent(props) {
!isFetching && !error && !isFetching && !error &&
<Form {...otherProps}> <Form {...otherProps}>
<FormGroup> <FormGroup>
<FormLabel>Host</FormLabel> <FormLabel>{translate('Host')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
name="host" name="host"
helpText="The same host you specified for the remote Download Client" helpText={translate('SettingsRemotePathMappingHostHelpText')}
{...host} {...host}
values={downloadClientHosts} values={downloadClientHosts}
onChange={onInputChange} onChange={onInputChange}
@ -72,24 +72,24 @@ function EditRemotePathMappingModalContent(props) {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Remote Path</FormLabel> <FormLabel>{translate('SettingsRemotePathMappingRemotePath')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.TEXT} type={inputTypes.TEXT}
name="remotePath" name="remotePath"
helpText="Root path to the directory that the Download Client accesses" helpText={translate('SettingsRemotePathMappingRemotePathHelpText')}
{...remotePath} {...remotePath}
onChange={onInputChange} onChange={onInputChange}
/> />
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Local Path</FormLabel> <FormLabel>{translate('SettingsRemotePathMappingLocalPath')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.PATH} type={inputTypes.PATH}
name="localPath" name="localPath"
helpText="Path that Radarr should use to access the remote path locally" helpText={translate('SettingsRemotePathMappingLocalPathHelpText')}
{...localPath} {...localPath}
onChange={onInputChange} onChange={onInputChange}
/> />

View File

@ -8,6 +8,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter'; import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader'; import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props'; import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
function PendingChangesModal(props) { function PendingChangesModal(props) {
const { const {
@ -27,10 +28,10 @@ function PendingChangesModal(props) {
onModalClose={onCancel} onModalClose={onCancel}
> >
<ModalContent onModalClose={onCancel}> <ModalContent onModalClose={onCancel}>
<ModalHeader>Unsaved Changes</ModalHeader> <ModalHeader>{translate('UnsavedChanges')}</ModalHeader>
<ModalBody> <ModalBody>
You have unsaved changes, are you sure you want to leave this page? {translate('PendingChangesMessage')}
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
@ -38,7 +39,7 @@ function PendingChangesModal(props) {
kind={kinds.DEFAULT} kind={kinds.DEFAULT}
onPress={onCancel} onPress={onCancel}
> >
Stay and review changes {translate('PendingChangesStayReview')}
</Button> </Button>
<Button <Button
@ -46,7 +47,7 @@ function PendingChangesModal(props) {
kind={kinds.DANGER} kind={kinds.DANGER}
onPress={onConfirm} onPress={onConfirm}
> >
Discard changes and leave {translate('PendingChangesDiscardChanges')}
</Button> </Button>
</ModalFooter> </ModalFooter>
</ModalContent> </ModalContent>

View File

@ -99,7 +99,7 @@ function TagDetailsModalContent(props) {
{ {
!!restrictions.length && !!restrictions.length &&
<FieldSet legend="Restrictions"> <FieldSet legend={translate('Restrictions')}>
{ {
restrictions.map((item) => { restrictions.map((item) => {
return ( return (

View File

@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react'; import React from 'react';
import FieldSet from 'Components/FieldSet'; import FieldSet from 'Components/FieldSet';
import PageSectionContent from 'Components/Page/PageSectionContent'; import PageSectionContent from 'Components/Page/PageSectionContent';
import translate from 'Utilities/String/translate';
import TagConnector from './TagConnector'; import TagConnector from './TagConnector';
import styles from './Tags.css'; import styles from './Tags.css';
@ -19,7 +20,7 @@ function Tags(props) {
return ( return (
<FieldSet <FieldSet
legend="Tags" legend={translate('Tags')}
> >
<PageSectionContent <PageSectionContent
errorMessage="Unable to load Tags" errorMessage="Unable to load Tags"

View File

@ -86,7 +86,7 @@ class UISettings extends Component {
> >
<FieldSet legend={translate('Calendar')}> <FieldSet legend={translate('Calendar')}>
<FormGroup> <FormGroup>
<FormLabel>First Day of Week</FormLabel> <FormLabel>{translate('SettingsFirstDayOfWeek')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
@ -98,14 +98,14 @@ class UISettings extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Week Column Header</FormLabel> <FormLabel>{translate('SettingsWeekColumnHeader')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
name="calendarWeekColumnHeader" name="calendarWeekColumnHeader"
values={weekColumnOptions} values={weekColumnOptions}
onChange={onInputChange} onChange={onInputChange}
helpText="Shown above each column when week is the active view" helpText={translate('SettingsWeekColumnHeaderHelpText')}
{...settings.calendarWeekColumnHeader} {...settings.calendarWeekColumnHeader}
/> />
</FormGroup> </FormGroup>
@ -115,7 +115,7 @@ class UISettings extends Component {
legend={translate('Dates')} legend={translate('Dates')}
> >
<FormGroup> <FormGroup>
<FormLabel>Short Date Format</FormLabel> <FormLabel>{translate('SettingsShortDateFormat')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
@ -127,7 +127,7 @@ class UISettings extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Long Date Format</FormLabel> <FormLabel>{translate('SettingsLongDateFormat')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
@ -139,7 +139,7 @@ class UISettings extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Time Format</FormLabel> <FormLabel>{translate('SettingsTimeFormat')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
@ -151,11 +151,11 @@ class UISettings extends Component {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Show Relative Dates</FormLabel> <FormLabel>{translate('SettingsShowRelativeDates')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="showRelativeDates" name="showRelativeDates"
helpText="Show relative (Today/Yesterday/etc) or absolute dates" helpText={translate('SettingsShowRelativeDatesHelpText')}
onChange={onInputChange} onChange={onInputChange}
{...settings.showRelativeDates} {...settings.showRelativeDates}
/> />
@ -166,11 +166,11 @@ class UISettings extends Component {
legend={translate('Style')} legend={translate('Style')}
> >
<FormGroup> <FormGroup>
<FormLabel>Enable Color-Impaired Mode</FormLabel> <FormLabel>{translate('SettingsEnableColorImpairedMode')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="enableColorImpairedMode" name="enableColorImpairedMode"
helpText="Altered style to allow color-impaired users to better distinguish color coded information" helpText={translate('SettingsEnableColorImpairedModeHelpText')}
onChange={onInputChange} onChange={onInputChange}
{...settings.enableColorImpairedMode} {...settings.enableColorImpairedMode}
/> />
@ -181,12 +181,12 @@ class UISettings extends Component {
legend={translate('Language')} legend={translate('Language')}
> >
<FormGroup> <FormGroup>
<FormLabel>UI Language</FormLabel> <FormLabel>{translate('SettingsUiLanguage')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
name="movieInfoLanguage" name="movieInfoLanguage"
values={languages} values={languages}
helpText="Language that Radarr will use for UI" helpText={translate('SettingsUiLanguageHelpText')}
helpTextWarning="Browser Reload Required" helpTextWarning="Browser Reload Required"
onChange={onInputChange} onChange={onInputChange}
{...settings.movieInfoLanguage} {...settings.movieInfoLanguage}

View File

@ -10,6 +10,7 @@
"AddNewMessage": "It's easy to add a new movie, just start typing the name of the movie you want to add", "AddNewMessage": "It's easy to add a new movie, just start typing the name of the movie you want to add",
"AddNewMovie": "Add New Movie", "AddNewMovie": "Add New Movie",
"AddNewTmdbIdMessage": "You can also search using TMDB Id of a movie. eg. tmdb:71663", "AddNewTmdbIdMessage": "You can also search using TMDB Id of a movie. eg. tmdb:71663",
"AddRemotePathMapping": "Add Remote Path Mapping",
"Age": "Age", "Age": "Age",
"Agenda": "Agenda", "Agenda": "Agenda",
"All": "All", "All": "All",
@ -52,6 +53,8 @@
"DelayProfiles": "Delay Profiles", "DelayProfiles": "Delay Profiles",
"Delete": "Delete", "Delete": "Delete",
"Deleted": "Deleted", "Deleted": "Deleted",
"DetailedProgressBar": "Detailed Progress Bar",
"DetailedProgressBarHelpText": "Show text on progess bar",
"Details": "Details", "Details": "Details",
"DigitalRelease": "Digital Release", "DigitalRelease": "Digital Release",
"Discover": "Discover", "Discover": "Discover",
@ -67,9 +70,11 @@
"DownloadClientStatusCheckSingleClientMessage": "Download clients unavailable due to failures: {0}", "DownloadClientStatusCheckSingleClientMessage": "Download clients unavailable due to failures: {0}",
"Downloaded": "Downloaded", "Downloaded": "Downloaded",
"Edit": "Edit", "Edit": "Edit",
"EditRemotePathMapping": "Edit Remote Path Mapping",
"Error": "Error", "Error": "Error",
"Events": "Events", "Events": "Events",
"EventType": "Event Type", "EventType": "Event Type",
"ExistingMovies": "Existing Movie(s)",
"Extension": "Extension", "Extension": "Extension",
"Failed": "Failed", "Failed": "Failed",
"FailedDownloadHandling": "Failed Download Handling", "FailedDownloadHandling": "Failed Download Handling",
@ -115,6 +120,7 @@
"IndexerStatusCheckAllClientMessage": "All indexers are unavailable due to failures", "IndexerStatusCheckAllClientMessage": "All indexers are unavailable due to failures",
"IndexerStatusCheckSingleClientMessage": "Indexers unavailable due to failures: {0}", "IndexerStatusCheckSingleClientMessage": "Indexers unavailable due to failures: {0}",
"Info": "Info", "Info": "Info",
"InteractiveImport": "Interactive Import",
"KeyboardShortcuts": "Keyboard Shortcuts", "KeyboardShortcuts": "Keyboard Shortcuts",
"Language": "Language", "Language": "Language",
"Languages": "Languages", "Languages": "Languages",
@ -141,6 +147,7 @@
"Monitor": "Monitor", "Monitor": "Monitor",
"Monitored": "Monitored", "Monitored": "Monitored",
"MonitoredOnly": "Monitored Only", "MonitoredOnly": "Monitored Only",
"MonitorMovie": "MonitorMovie",
"MonoNotNetCoreCheckMessage": "Please upgrade to the .NET Core version of Radarr", "MonoNotNetCoreCheckMessage": "Please upgrade to the .NET Core version of Radarr",
"MonoTlsCheckMessage": "Radarr Mono 4.x tls workaround still enabled, consider removing MONO_TLS_PROVIDER=legacy environment option", "MonoTlsCheckMessage": "Radarr Mono 4.x tls workaround still enabled, consider removing MONO_TLS_PROVIDER=legacy environment option",
"MonoVersionCheckNotSupportedMessage": "Currently installed Mono version {0} is no longer supported. Please upgrade Mono to version {1}.", "MonoVersionCheckNotSupportedMessage": "Currently installed Mono version {0} is no longer supported. Please upgrade Mono to version {1}.",
@ -171,10 +178,18 @@
"OrganizeModalNamingPattern": "Naming Pattern:", "OrganizeModalNamingPattern": "Naming Pattern:",
"OrganizeModalSuccess": "Success! My work is done, no files to rename.", "OrganizeModalSuccess": "Success! My work is done, no files to rename.",
"OutputPath": "Output Path", "OutputPath": "Output Path",
"Overview": "Overview",
"OverviewOptions": "Overview Options",
"PageSize": "Page Size", "PageSize": "Page Size",
"Path": "Path", "Path": "Path",
"Peers": "Peers", "Peers": "Peers",
"PendingChangesDiscardChanges": "Discard changes and leave",
"PendingChangesMessage": "You have unsaved changes, are you sure you want to leave this page?",
"PendingChangesStayReview": "Stay and review changes",
"PhysicalRelease": "Physical Release", "PhysicalRelease": "Physical Release",
"PosterOptions": "Poster Options",
"Posters": "Posters",
"PosterSize": "Poster Size",
"PreviewRename": "Preview Rename", "PreviewRename": "Preview Rename",
"Profiles": "Profiles", "Profiles": "Profiles",
"ProfilesSettingsSummary": "Quality, Language and Delay profiles", "ProfilesSettingsSummary": "Quality, Language and Delay profiles",
@ -191,7 +206,9 @@
"QualityProfiles": "Quality Profiles", "QualityProfiles": "Quality Profiles",
"QualitySettingsSummary": "Quality sizes and naming", "QualitySettingsSummary": "Quality sizes and naming",
"Queue": "Queue", "Queue": "Queue",
"QuickImport": "Quick Import",
"Ratings": "Ratings", "Ratings": "Ratings",
"RecentFolders": "Recent Folders",
"Refresh": "Refresh", "Refresh": "Refresh",
"RefreshAndScan": "Refresh & Scan", "RefreshAndScan": "Refresh & Scan",
"RejectionCount": "Rejection Count", "RejectionCount": "Rejection Count",
@ -225,13 +242,42 @@
"SearchAll": "Search All", "SearchAll": "Search All",
"SearchFiltered": "Search Filtered", "SearchFiltered": "Search Filtered",
"SearchForMissing": "Search for Missing", "SearchForMissing": "Search for Missing",
"SearchMovie": "Search Movie",
"SearchOnAdd": "Search On Add",
"SearchSelected": "Search Selected", "SearchSelected": "Search Selected",
"Security": "Security", "Security": "Security",
"Seeders": "Seeders", "Seeders": "Seeders",
"SelectAll": "Select All", "SelectAll": "Select All",
"SelectFolder": "Select Folder",
"SetTags": "Set Tags", "SetTags": "Set Tags",
"Settings": "Settings", "Settings": "Settings",
"SettingsEnableColorImpairedMode": "Enable Color-Impaired Mode",
"SettingsEnableColorImpairedModeHelpText": "Altered style to allow color-impaired users to better distinguish color coded information",
"SettingsFirstDayOfWeek": "First Day of Week",
"SettingsLongDateFormat": "Long Date Format",
"SettingsRemotePathMappingHostHelpText": "The same host you specified for the remote Download Client",
"SettingsRemotePathMappingLocalPath": "Local Path",
"SettingsRemotePathMappingLocalPathHelpText": "Path that Radarr should use to access the remote path locally",
"SettingsRemotePathMappingRemotePath": "Remote Path",
"SettingsRemotePathMappingRemotePathHelpText": "Root path to the directory that the Download Client accesses",
"SettingsShortDateFormat": "Short Date Format",
"SettingsShowRelativeDates": "Show Relative Dates",
"SettingsShowRelativeDatesHelpText": "Show relative (Today/Yesterday/etc) or absolute dates",
"SettingsTimeFormat": "Time Format",
"SettingsUiLanguage": "UI Language",
"SettingsUiLanguageHelpText": "Language that Radarr will use for UI",
"SettingsWeekColumnHeader": "Week Column Header",
"SettingsWeekColumnHeaderHelpText": "Shown above each column when week is the active view",
"ShowAdvanced": "Show Advanced", "ShowAdvanced": "Show Advanced",
"ShowDateAdded": "Show Date Added",
"ShowMonitored": "Show Monitored",
"ShowPath": "Show Path",
"ShowQualityProfile": "Show Quality Profile",
"ShowSearch": "Show Search",
"ShowSearchHelpText": "Show search button on hover",
"ShowSizeOnDisk": "Show Size on Disk",
"ShowStudio": "Show Studio",
"ShowTitle": "Show Title",
"Shutdown": "Shutdown", "Shutdown": "Shutdown",
"Size": "Size", "Size": "Size",
"SizeOnDisk": "Size on Disk", "SizeOnDisk": "Size on Disk",
@ -243,6 +289,7 @@
"Style": "Style", "Style": "Style",
"System": "System", "System": "System",
"SystemTimeCheckMessage": "System time is off by more than 1 day. Scheduled tasks may not run correctly until the time is corrected", "SystemTimeCheckMessage": "System time is off by more than 1 day. Scheduled tasks may not run correctly until the time is corrected",
"Table": "Table",
"TableOptions": "Table Options", "TableOptions": "Table Options",
"TableOptionsColumnsMessage": "Choose which columns are visible and which order they appear in", "TableOptionsColumnsMessage": "Choose which columns are visible and which order they appear in",
"Tags": "Tags", "Tags": "Tags",
@ -261,6 +308,7 @@
"Unavailable": "Unavailable", "Unavailable": "Unavailable",
"UnmappedFolders": "Unmapped Folders", "UnmappedFolders": "Unmapped Folders",
"Unmonitored": "Unmonitored", "Unmonitored": "Unmonitored",
"UnsavedChanges": "Unsaved Changes",
"UnselectAll": "Unselect All", "UnselectAll": "Unselect All",
"UpdateAll": "Update All", "UpdateAll": "Update All",
"UpdateCheckStartupNotWritableMessage": "Cannot install update because startup folder '{0}' is not writable by the user '{1}'.", "UpdateCheckStartupNotWritableMessage": "Cannot install update because startup folder '{0}' is not writable by the user '{1}'.",