More Frontend Translation

This commit is contained in:
Qstick
2020-07-20 20:18:10 -04:00
parent 71492d4c6f
commit 82b546999a
83 changed files with 326 additions and 215 deletions
@@ -8,6 +8,7 @@ import ModalBody from 'Components/Modal/ModalBody';
import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import translate from 'Utilities/String/translate';
class BlacklistDetailsModal extends Component {
@@ -68,7 +69,7 @@ class BlacklistDetailsModal extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -8,6 +8,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import HistoryDetails from './HistoryDetails';
import styles from './HistoryDetailsModal.css';
@@ -79,7 +80,7 @@ function HistoryDetailsModal(props) {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -10,6 +10,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, kinds, sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
class RemoveQueueItemModal extends Component {
@@ -116,7 +117,7 @@ class RemoveQueueItemModal extends Component {
<ModalFooter>
<Button onPress={this.onModalClose}>
Close
{translate('Close')}
</Button>
<Button
@@ -10,6 +10,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, kinds, sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './RemoveQueueItemsModal.css';
class RemoveQueueItemsModal extends Component {
@@ -120,7 +121,7 @@ class RemoveQueueItemsModal extends Component {
<ModalFooter>
<Button onPress={this.onModalClose}>
Close
{translate('Close')}
</Button>
<Button
@@ -184,7 +184,7 @@ class AddNewMovie extends Component {
to="/add/import"
kind={kinds.PRIMARY}
>
Import Existing Movies
{translate('ImportExistingMovies')}
</Button>
</div>
</div> :
@@ -17,17 +17,17 @@ import styles from './ImportMovieSelectFolder.css';
const rootFolderColumns = [
{
name: 'path',
label: 'Path',
label: translate('Path'),
isVisible: true
},
{
name: 'freeSpace',
label: 'Free Space',
label: translate('FreeSpace'),
isVisible: true
},
{
name: 'unmappedFolders',
label: 'Unmapped Folders',
label: translate('UnmappedFolders'),
isVisible: true
},
{
+5 -4
View File
@@ -7,6 +7,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './ConnectionLostModal.css';
function ConnectionLostModal(props) {
@@ -22,16 +23,16 @@ function ConnectionLostModal(props) {
>
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
Connnection Lost
{translate('ConnectionLost')}
</ModalHeader>
<ModalBody>
<div>
Radarr has lost it's connection to the backend and will need to be reloaded to restore functionality.
{translate('ConnectionLostMessage')}
</div>
<div className={styles.automatic}>
Radarr will try to connect automatically, or you can click reload below.
{translate('ConnectionLostAutomaticMessage')}
</div>
</ModalBody>
<ModalFooter>
@@ -39,7 +40,7 @@ function ConnectionLostModal(props) {
kind={kinds.PRIMARY}
onPress={onModalClose}
>
Reload
{translate('Reload')}
</Button>
</ModalFooter>
</ModalContent>
@@ -12,6 +12,7 @@ import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import { firstDayOfWeekOptions, timeFormatOptions, weekColumnOptions } from 'Settings/UI/UISettings';
import translate from 'Utilities/String/translate';
class CalendarOptionsModalContent extends Component {
@@ -193,7 +194,7 @@ class CalendarOptionsModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -13,6 +13,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { icons, inputTypes, kinds, sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
function getUrls(state) {
const {
@@ -186,7 +187,7 @@ class CalendarLinkModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -14,18 +14,19 @@ import Scroller from 'Components/Scroller/Scroller';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import { kinds, scrollDirections } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import FileBrowserRow from './FileBrowserRow';
import styles from './FileBrowserModalContent.css';
const columns = [
{
name: 'type',
label: 'Type',
label: translate('Type'),
isVisible: true
},
{
name: 'name',
label: 'Name',
label: translate('Name'),
isVisible: true
}
];
@@ -223,13 +224,13 @@ class FileBrowserModalContent extends Component {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<Button
onPress={this.onOkPress}
>
Ok
{translate('Ok')}
</Button>
</ModalFooter>
</ModalContent>
@@ -8,6 +8,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import FilterBuilderRow from './FilterBuilderRow';
import styles from './FilterBuilderModalContent.css';
@@ -192,7 +193,7 @@ class FilterBuilderModalContent extends Component {
<ModalFooter>
<Button onPress={onCancelPress}>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -200,7 +201,7 @@ class FilterBuilderModalContent extends Component {
error={saveError}
onPress={this.onSaveFilterPress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -59,7 +59,7 @@ function CustomFiltersModalContent(props) {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
+2 -1
View File
@@ -6,6 +6,7 @@ import ModalBody from 'Components/Modal/ModalBody';
import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import translate from 'Utilities/String/translate';
import styles from './ModalError.css';
function ModalError(props) {
@@ -33,7 +34,7 @@ function ModalError(props) {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>);
@@ -6,6 +6,7 @@ import ModalBody from 'Components/Modal/ModalBody';
import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import translate from 'Utilities/String/translate';
import styles from './KeyboardShortcutsModalContent.css';
function getShortcuts() {
@@ -75,7 +76,7 @@ function KeyboardShortcutsModalContent(props) {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -214,7 +214,7 @@ class MovieSearchInput extends Component {
}
suggestionGroups.push({
title: 'Add New Movie',
title: translate('AddNewMovie'),
suggestions: [
{
type: ADD_NEW_TYPE,
@@ -12,7 +12,7 @@
display: flex;
align-items: center;
flex: 0 0 $sidebarWidth;
padding-left: 20px;
padding-left: 35px;
}
.logoFull,
@@ -21,8 +21,8 @@
}
.logoFull {
width: 144px;
height: 48px;
width: 120px;
height: 40px;
}
.logo {
@@ -7,6 +7,7 @@ import MenuContent from 'Components/Menu/MenuContent';
import MenuItem from 'Components/Menu/MenuItem';
import MenuItemSeparator from 'Components/Menu/MenuItemSeparator';
import { align, icons, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './PageHeaderActionsMenu.css';
function PageHeaderActionsMenu(props) {
@@ -32,7 +33,7 @@ function PageHeaderActionsMenu(props) {
className={styles.itemIcon}
name={icons.KEYBOARD}
/>
Keyboard Shortcuts
{translate('KeyboardShortcuts')}
</MenuItem>
<MenuItemSeparator />
@@ -42,7 +43,7 @@ function PageHeaderActionsMenu(props) {
className={styles.itemIcon}
name={icons.RESTART}
/>
Restart
{translate('Restart')}
</MenuItem>
<MenuItem onPress={onShutdownPress}>
@@ -51,7 +52,7 @@ function PageHeaderActionsMenu(props) {
name={icons.SHUTDOWN}
kind={kinds.DANGER}
/>
Shutdown
{translate('Shutdown')}
</MenuItem>
{
@@ -15,6 +15,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import TableOptionsColumn from './TableOptionsColumn';
import TableOptionsColumnDragPreview from './TableOptionsColumnDragPreview';
import TableOptionsColumnDragSource from './TableOptionsColumnDragSource';
@@ -136,7 +137,7 @@ class TableOptionsModal extends Component {
isOpen ?
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
Table Options
{translate('TableOptions')}
</ModalHeader>
<ModalBody>
@@ -144,7 +145,7 @@ class TableOptionsModal extends Component {
{
hasPageSize ?
<FormGroup>
<FormLabel>Page Size</FormLabel>
<FormLabel>{translate('PageSize')}</FormLabel>
<FormInputGroup
type={inputTypes.NUMBER}
@@ -168,11 +169,11 @@ class TableOptionsModal extends Component {
{
canModifyColumns ?
<FormGroup>
<FormLabel>Columns</FormLabel>
<FormLabel>{translate('Columns')}</FormLabel>
<div>
<FormInputHelpText
text="Choose which columns are visible and which order they appear in"
text={translate('TableOptionsColumnsMessage')}
/>
<div className={styles.columns}>
@@ -231,7 +232,7 @@ class TableOptionsModal extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent> :
@@ -6,6 +6,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './ExcludeMovieModalContent.css';
class ExcludeMovieModalContent extends Component {
@@ -44,7 +45,7 @@ class ExcludeMovieModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Close
{translate('Close')}
</Button>
<Button
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import Button from 'Components/Link/Button';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './NoDiscoverMovie.css';
function NoDiscoverMovie(props) {
@@ -11,7 +12,7 @@ function NoDiscoverMovie(props) {
return (
<div>
<div className={styles.message}>
All movies are hidden due to the applied filter.
{translate('AllMoviesHiddenDueToFilter')}
</div>
</div>
);
@@ -28,7 +29,7 @@ function NoDiscoverMovie(props) {
to="/add/import"
kind={kinds.PRIMARY}
>
Import Existing Movies
{translate('ImportExistingMovies')}
</Button>
</div>
@@ -37,7 +38,7 @@ function NoDiscoverMovie(props) {
to="/add/new"
kind={kinds.PRIMARY}
>
Add New Movie
{translate('AddNewMovie')}
</Button>
</div>
@@ -46,7 +47,7 @@ function NoDiscoverMovie(props) {
to="/settings/netimports"
kind={kinds.PRIMARY}
>
Add List
{translate('AddList')}
</Button>
</div>
</div>
@@ -11,6 +11,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
const posterSizeOptions = [
{ key: 'small', value: 'Small' },
@@ -114,7 +115,7 @@ class AddListMovieOverviewOptionsModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -11,6 +11,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
const posterSizeOptions = [
{ key: 'small', value: 'Small' },
@@ -115,7 +116,7 @@ class AddListMoviePosterOptionsModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -10,6 +10,7 @@ import ModalHeader from 'Components/Modal/ModalHeader';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import { icons, kinds, sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import RecentFolderRow from './RecentFolderRow';
import styles from './InteractiveImportSelectFolderModalContent.css';
@@ -149,7 +150,7 @@ class InteractiveImportSelectFolderModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
</ModalFooter>
</ModalContent>
@@ -20,6 +20,7 @@ import SelectLanguageModal from 'InteractiveImport/Language/SelectLanguageModal'
import SelectMovieModal from 'InteractiveImport/Movie/SelectMovieModal';
import SelectQualityModal from 'InteractiveImport/Quality/SelectQualityModal';
import getErrorMessage from 'Utilities/Object/getErrorMessage';
import translate from 'Utilities/String/translate';
import getSelectedIds from 'Utilities/Table/getSelectedIds';
import selectAll from 'Utilities/Table/selectAll';
import toggleSelected from 'Utilities/Table/toggleSelected';
@@ -29,31 +30,31 @@ import styles from './InteractiveImportModalContent.css';
const columns = [
{
name: 'relativePath',
label: 'Relative Path',
label: translate('RelativePath'),
isSortable: true,
isVisible: true
},
{
name: 'movie',
label: 'Movie',
label: translate('Movie'),
isSortable: true,
isVisible: true
},
{
name: 'quality',
label: 'Quality',
label: translate('Quality'),
isSortable: true,
isVisible: true
},
{
name: 'languages',
label: 'Languages',
label: translate('Languages'),
isSortable: true,
isVisible: true
},
{
name: 'size',
label: 'Size',
label: translate('Size'),
isSortable: true,
isVisible: true
},
@@ -73,8 +74,8 @@ const filterExistingFilesOptions = {
};
const importModeOptions = [
{ key: 'move', value: 'Move Files' },
{ key: 'copy', value: 'Hardlink/Copy Files' }
{ key: 'move', value: translate('MoveFiles') },
{ key: 'copy', value: translate('HardlinkCopyFiles') }
];
const SELECT = 'select';
@@ -331,7 +332,7 @@ class InteractiveImportModalContent extends Component {
<div className={styles.rightButtons}>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
{
@@ -11,6 +11,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, kinds, sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './SelectLanguageModalContent.css';
class SelectLanguageModalContent extends Component {
@@ -118,7 +119,7 @@ class SelectLanguageModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
<Button
@@ -13,6 +13,7 @@ import Scroller from 'Components/Scroller/Scroller';
import VirtualTable from 'Components/Table/VirtualTable';
import VirtualTableRow from 'Components/Table/VirtualTableRow';
import { scrollDirections } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import SelectMovieRow from './SelectMovieRow';
import styles from './SelectMovieModalContent.css';
@@ -172,7 +173,7 @@ class SelectMovieModalContent extends Component {
<div className={styles.path}>{relativePath}</div>
<div className={styles.buttons}>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
</div>
</ModalFooter>
@@ -11,6 +11,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
class SelectQualityModalContent extends Component {
@@ -136,7 +137,7 @@ class SelectQualityModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
<Button
@@ -5,61 +5,62 @@ import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import { icons, sortDirections } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import InteractiveSearchRow from './InteractiveSearchRow';
import styles from './InteractiveSearchContent.css';
const columns = [
{
name: 'protocol',
label: 'Source',
label: translate('Source'),
isSortable: true,
isVisible: true
},
{
name: 'age',
label: 'Age',
label: translate('Age'),
isSortable: true,
isVisible: true
},
{
name: 'title',
label: 'Title',
label: translate('Title'),
isSortable: true,
isVisible: true
},
{
name: 'indexer',
label: 'Indexer',
label: translate('Indexer'),
isSortable: true,
isVisible: true
},
{
name: 'size',
label: 'Size',
label: translate('Size'),
isSortable: true,
isVisible: true
},
{
name: 'peers',
label: 'Peers',
label: translate('Peers'),
isSortable: true,
isVisible: true
},
{
name: 'languageWeight',
label: 'Language',
label: translate('Language'),
isSortable: true,
isVisible: true
},
{
name: 'qualityWeight',
label: 'Quality',
label: translate('Quality'),
isSortable: true,
isVisible: true
},
{
name: 'customFormat',
label: 'Formats',
label: translate('Formats'),
isSortable: true,
isVisible: true
},
@@ -67,7 +68,7 @@ const columns = [
name: 'customFormatScore',
label: React.createElement(Icon, {
name: icons.SCORE,
title: 'Custom Format score'
title: translate('CustomFormatScore')
}),
isSortable: true,
isVisible: true
@@ -134,7 +134,7 @@ class DeleteMovieModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Close
{translate('Close')}
</Button>
<Button
@@ -3,23 +3,24 @@ import React, { Component } from 'react';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import translate from 'Utilities/String/translate';
import MovieTitlesRow from './MovieTitlesRow';
import styles from './MovieTitlesTableContent.css';
const columns = [
{
name: 'altTitle',
label: 'Alternative Title',
label: translate('AlternativeTitle'),
isVisible: true
},
{
name: 'language',
label: 'Language',
label: translate('Language'),
isVisible: true
},
{
name: 'sourceType',
label: 'Type',
label: translate('Type'),
isVisible: true
}
];
@@ -79,7 +79,7 @@ class EditMovieModalContent extends Component {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
Edit - {title}
{translate('Edit')} - {title}
</ModalHeader>
<ModalBody>
@@ -87,7 +87,7 @@ class EditMovieModalContent extends Component {
{...otherProps}
>
<FormGroup>
<FormLabel>Monitored</FormLabel>
<FormLabel>{translate('Monitored')}</FormLabel>
<FormInputGroup
type={inputTypes.CHECK}
@@ -99,7 +99,7 @@ class EditMovieModalContent extends Component {
</FormGroup>
<FormGroup>
<FormLabel>Minimum Availability</FormLabel>
<FormLabel>{translate('MinimumAvailability')}</FormLabel>
<FormInputGroup
type={inputTypes.AVAILABILITY_SELECT}
@@ -110,7 +110,7 @@ class EditMovieModalContent extends Component {
</FormGroup>
<FormGroup>
<FormLabel>Quality Profile</FormLabel>
<FormLabel>{translate('QualityProfile')}</FormLabel>
<FormInputGroup
type={inputTypes.QUALITY_PROFILE_SELECT}
@@ -121,7 +121,7 @@ class EditMovieModalContent extends Component {
</FormGroup>
<FormGroup>
<FormLabel>Path</FormLabel>
<FormLabel>{translate('Path')}</FormLabel>
<FormInputGroup
type={inputTypes.PATH}
@@ -132,7 +132,7 @@ class EditMovieModalContent extends Component {
</FormGroup>
<FormGroup>
<FormLabel>Tags</FormLabel>
<FormLabel>{translate('Tags')}</FormLabel>
<FormInputGroup
type={inputTypes.TAG}
@@ -156,14 +156,14 @@ class EditMovieModalContent extends Component {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerButton
isSpinning={isSaving}
onPress={this.onSavePress}
>
Save
{translate('Save')}
</SpinnerButton>
</ModalFooter>
@@ -121,7 +121,7 @@ class DeleteMovieModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
<Button
@@ -8,6 +8,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { icons, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './OrganizeMovieModalContent.css';
function OrganizeMovieModalContent(props) {
@@ -51,7 +52,7 @@ function OrganizeMovieModalContent(props) {
<ModalFooter>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
<Button
@@ -12,6 +12,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, kinds, sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './TagsModalContent.css';
class TagsModalContent extends Component {
@@ -162,14 +163,14 @@ class TagsModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
<Button
kind={kinds.PRIMARY}
onPress={this.onApplyTagsPress}
>
Apply
{translate('Apply')}
</Button>
</ModalFooter>
</ModalContent>
@@ -16,17 +16,17 @@ const columns = [
},
{
name: 'sourceTitle',
label: 'Source Title',
label: translate('SourceTitle'),
isVisible: true
},
{
name: 'languages',
label: 'Languages',
label: translate('Languages'),
isVisible: true
},
{
name: 'quality',
label: 'Quality',
label: translate('Quality'),
isVisible: true
},
{
@@ -4,6 +4,7 @@ import MenuContent from 'Components/Menu/MenuContent';
import SortMenu from 'Components/Menu/SortMenu';
import SortMenuItem from 'Components/Menu/SortMenuItem';
import { align, sortDirections } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
function MovieIndexSortMenu(props) {
const {
@@ -34,7 +35,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Title
{translate('Title')}
</SortMenuItem>
<SortMenuItem
@@ -43,7 +44,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Studio
{translate('Studio')}
</SortMenuItem>
<SortMenuItem
@@ -52,7 +53,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Quality Profile
{translate('QualityProfile')}
</SortMenuItem>
<SortMenuItem
@@ -61,7 +62,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Added
{translate('Added')}
</SortMenuItem>
<SortMenuItem
@@ -70,7 +71,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Year
{translate('Year')}
</SortMenuItem>
<SortMenuItem
@@ -79,7 +80,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
In Cinemas
{translate('InCinemas')}
</SortMenuItem>
<SortMenuItem
@@ -88,7 +89,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Physical Release
{translate('PhysicalRelease')}
</SortMenuItem>
<SortMenuItem
@@ -97,7 +98,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Digital Release
{translate('DigitalRelease')}
</SortMenuItem>
<SortMenuItem
@@ -106,7 +107,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Path
{translate('Path')}
</SortMenuItem>
<SortMenuItem
@@ -115,7 +116,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Size on Disk
{translate('SizeOnDisk')}
</SortMenuItem>
<SortMenuItem
@@ -124,7 +125,7 @@ function MovieIndexSortMenu(props) {
sortDirection={sortDirection}
onPress={onSortSelect}
>
Certification
{translate('Certification')}
</SortMenuItem>
</MenuContent>
</SortMenu>
@@ -11,6 +11,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
const posterSizeOptions = [
{ key: 'small', value: 'Small' },
@@ -242,7 +243,7 @@ class MovieIndexOverviewOptionsModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -11,6 +11,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
const posterSizeOptions = [
{ key: 'small', value: 'Small' },
@@ -191,7 +192,7 @@ class MovieIndexPosterOptionsModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
+4 -3
View File
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import Button from 'Components/Link/Button';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './NoMovie.css';
function NoMovie(props) {
@@ -11,7 +12,7 @@ function NoMovie(props) {
return (
<div>
<div className={styles.message}>
All movies are hidden due to the applied filter.
{translate('AllMoviesHiddenDueToFilter')}
</div>
</div>
);
@@ -28,7 +29,7 @@ function NoMovie(props) {
to="/add/import"
kind={kinds.PRIMARY}
>
Import Existing Movies
{translate('ImportExistingMovies')}
</Button>
</div>
@@ -37,7 +38,7 @@ function NoMovie(props) {
to="/add/new"
kind={kinds.PRIMARY}
>
Add New Movie
{translate('AddNewMovie')}
</Button>
</div>
</div>
@@ -4,6 +4,7 @@ import IconButton from 'Components/Link/IconButton';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import { icons } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import MovieFileEditorRow from './MovieFileEditorRow';
import styles from './MovieFileEditorTableContent.css';
@@ -15,32 +16,32 @@ const columns = [
},
{
name: 'videoCodec',
label: 'Video Codec',
label: translate('VideoCodec'),
isVisible: true
},
{
name: 'audioInfo',
label: 'Audio Info',
label: translate('AudioInfo'),
isVisible: true
},
{
name: 'size',
label: 'Size',
label: translate('Size'),
isVisible: true
},
{
name: 'languages',
label: 'Languages',
label: translate('Languages'),
isVisible: true
},
{
name: 'quality',
label: 'Quality',
label: translate('Quality'),
isVisible: true
},
{
name: 'quality.customFormats',
label: 'Formats',
label: translate('Formats'),
isVisible: true
},
{
@@ -4,23 +4,24 @@ import IconButton from 'Components/Link/IconButton';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import { icons } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import ExtraFileRow from './ExtraFileRow';
import styles from './ExtraFileTableContent.css';
const columns = [
{
name: 'relativePath',
label: 'Extra File',
label: translate('RelativePath'),
isVisible: true
},
{
name: 'extension',
label: 'Extension',
label: translate('Extension'),
isVisible: true
},
{
name: 'type',
label: 'Type',
label: translate('Type'),
isVisible: true
},
{
+3 -2
View File
@@ -7,6 +7,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import MediaInfoPopover from './Editor/MediaInfoPopover';
function FileDetailsModal(props) {
@@ -26,7 +27,7 @@ function FileDetailsModal(props) {
onModalClose={onModalClose}
>
<ModalHeader>
Details
{translate('Details')}
</ModalHeader>
<ModalBody>
@@ -35,7 +36,7 @@ function FileDetailsModal(props) {
<ModalFooter>
<Button onPress={onModalClose}>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -6,9 +6,9 @@ import createMovieFileSelector from 'Store/Selectors/createMovieFileSelector';
function createMapStateToProps() {
return createSelector(
createMovieFileSelector(),
(episodeFile) => {
(movieFile) => {
return {
language: episodeFile ? episodeFile.language : undefined
language: movieFile ? movieFile.language : undefined
};
}
);
@@ -11,6 +11,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
class SelectQualityModalContent extends Component {
@@ -136,7 +137,7 @@ class SelectQualityModalContent extends Component {
<ModalFooter>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
<Button
@@ -9,6 +9,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import getSelectedIds from 'Utilities/Table/getSelectedIds';
import selectAll from 'Utilities/Table/selectAll';
import toggleSelected from 'Utilities/Table/toggleSelected';
@@ -91,7 +92,7 @@ class OrganizePreviewModalContent extends Component {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
Organize & Rename
{translate('OrganizeAndRename')}
</ModalHeader>
<ModalBody>
@@ -110,8 +111,8 @@ class OrganizePreviewModalContent extends Component {
<div>
{
renameMovies ?
<div>Success! My work is done, no files to rename.</div> :
<div>Renaming is disabled, nothing to rename</div>
<div>{translate('OrganizeModalSuccess')}</div> :
<div>{translate('OrganizeModalDisabled')}</div>
}
</div>
}
@@ -121,14 +122,14 @@ class OrganizePreviewModalContent extends Component {
<div>
<Alert>
<div>
All paths are relative to:
{translate('OrganizeModalAllPathsRelative')}
<span className={styles.path}>
{path}
</span>
</div>
<div>
Naming pattern:
{translate('OrganizeModalNamingPattern')}
<span className={styles.standardMovieFormat}>
{standardMovieFormat}
</span>
@@ -170,14 +171,14 @@ class OrganizePreviewModalContent extends Component {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<Button
kind={kinds.PRIMARY}
onPress={this.onOrganizePress}
>
Organize
{translate('Organize')}
</Button>
</ModalFooter>
</ModalContent>
+3 -2
View File
@@ -7,6 +7,7 @@ import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableRow from 'Components/Table/TableRow';
import { icons, kinds } from 'Helpers/Props';
import formatBytes from 'Utilities/Number/formatBytes';
import translate from 'Utilities/String/translate';
import styles from './RootFolderRow.css';
function RootFolderRow(props) {
@@ -33,7 +34,7 @@ function RootFolderRow(props) {
className={styles.unavailableLabel}
kind={kinds.DANGER}
>
Unavailable
{translate('Unavailable')}
</Label>
</div> :
@@ -56,7 +57,7 @@ function RootFolderRow(props) {
<TableRowCell className={styles.actions}>
<IconButton
title="Remove root folder"
title={translate('RemoveRootFolder')}
name={icons.REMOVE}
onPress={onDeletePress}
/>
+4 -3
View File
@@ -3,22 +3,23 @@ import React from 'react';
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import translate from 'Utilities/String/translate';
import RootFolderRowConnector from './RootFolderRowConnector';
const rootFolderColumns = [
{
name: 'path',
label: 'Path',
label: translate('Path'),
isVisible: true
},
{
name: 'freeSpace',
label: 'Free Space',
label: translate('FreeSpace'),
isVisible: true
},
{
name: 'unmappedFolders',
label: 'Unmapped Folders',
label: translate('UnmappedFolders'),
isVisible: true
},
{
@@ -193,7 +193,7 @@ class EditCustomFormatModalContent extends Component {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -201,7 +201,7 @@ class EditCustomFormatModalContent extends Component {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -5,6 +5,7 @@ import Link from 'Components/Link/Link';
import Menu from 'Components/Menu/Menu';
import MenuContent from 'Components/Menu/MenuContent';
import { sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AddSpecificationPresetMenuItem from './AddSpecificationPresetMenuItem';
import styles from './AddSpecificationItem.css';
@@ -90,7 +91,7 @@ class AddSpecificationItem extends Component {
to={infoLink}
size={sizes.SMALL}
>
More info
{translate('MoreInfo')}
</Button>
</div>
</div>
@@ -9,6 +9,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AddSpecificationItem from './AddSpecificationItem';
import styles from './AddSpecificationModalContent.css';
@@ -74,7 +75,7 @@ class AddSpecificationModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -128,14 +128,14 @@ function EditSpecificationModalContent(props) {
<Button
onPress={onCancelPress}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
isSpinning={false}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -5,6 +5,7 @@ import Link from 'Components/Link/Link';
import Menu from 'Components/Menu/Menu';
import MenuContent from 'Components/Menu/MenuContent';
import { sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AddDownloadClientPresetMenuItem from './AddDownloadClientPresetMenuItem';
import styles from './AddDownloadClientItem.css';
@@ -90,7 +91,7 @@ class AddDownloadClientItem extends Component {
to={infoLink}
size={sizes.SMALL}
>
More info
{translate('MoreInfo')}
</Button>
</div>
</div>
@@ -9,6 +9,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AddDownloadClientItem from './AddDownloadClientItem';
import styles from './AddDownloadClientModalContent.css';
@@ -94,7 +95,7 @@ class AddDownloadClientModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -154,13 +154,13 @@ class EditDownloadClientModalContent extends Component {
error={saveError}
onPress={onTestPress}
>
Test
{translate('Test')}
</SpinnerErrorButton>
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -168,7 +168,7 @@ class EditDownloadClientModalContent extends Component {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -113,7 +113,7 @@ function EditRemotePathMappingModalContent(props) {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -121,7 +121,7 @@ function EditRemotePathMappingModalContent(props) {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -5,6 +5,7 @@ import Link from 'Components/Link/Link';
import Menu from 'Components/Menu/Menu';
import MenuContent from 'Components/Menu/MenuContent';
import { sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AddIndexerPresetMenuItem from './AddIndexerPresetMenuItem';
import styles from './AddIndexerItem.css';
@@ -90,7 +91,7 @@ class AddIndexerItem extends Component {
to={infoLink}
size={sizes.SMALL}
>
More info
{translate('MoreInfo')}
</Button>
</div>
</div>
@@ -9,6 +9,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AddIndexerItem from './AddIndexerItem';
import styles from './AddIndexerModalContent.css';
@@ -94,7 +95,7 @@ class AddIndexerModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -153,13 +153,13 @@ function EditIndexerModalContent(props) {
error={saveError}
onPress={onTestPress}
>
Test
{translate('Test')}
</SpinnerErrorButton>
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -167,7 +167,7 @@ function EditIndexerModalContent(props) {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -99,7 +99,7 @@ function EditRestrictionModalContent(props) {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -107,7 +107,7 @@ function EditRestrictionModalContent(props) {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -411,7 +411,7 @@ class NamingModal extends Component {
onSelectionChange={this.onInputSelectionChange}
/>
<Button onPress={onModalClose}>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -12,6 +12,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
function EditMetadataModalContent(props) {
const {
@@ -74,7 +75,7 @@ function EditMetadataModalContent(props) {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -82,7 +83,7 @@ function EditMetadataModalContent(props) {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -5,6 +5,7 @@ import Link from 'Components/Link/Link';
import Menu from 'Components/Menu/Menu';
import MenuContent from 'Components/Menu/MenuContent';
import { sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AddNetImportPresetMenuItem from './AddNetImportPresetMenuItem';
import styles from './AddNetImportItem.css';
@@ -90,7 +91,7 @@ class AddNetImportItem extends Component {
to={infoLink}
size={sizes.SMALL}
>
More info
{translate('MoreInfo')}
</Button>
</div>
</div>
@@ -10,6 +10,7 @@ import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
import titleCase from 'Utilities/String/titleCase';
import translate from 'Utilities/String/translate';
import AddNetImportItem from './AddNetImportItem';
import styles from './AddNetImportModalContent.css';
@@ -31,7 +32,7 @@ class AddNetImportModalContent extends Component {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
Add List
{translate('AddList')}
</ModalHeader>
<ModalBody>
@@ -83,7 +84,7 @@ class AddNetImportModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -196,13 +196,13 @@ function EditNetImportModalContent(props) {
error={saveError}
onPress={onTestPress}
>
Test
{translate('Test')}
</SpinnerErrorButton>
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -210,7 +210,7 @@ function EditNetImportModalContent(props) {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -113,7 +113,7 @@ function EditNetImportExclusionModalContent(props) {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -121,7 +121,7 @@ function EditNetImportExclusionModalContent(props) {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -5,6 +5,7 @@ import Link from 'Components/Link/Link';
import Menu from 'Components/Menu/Menu';
import MenuContent from 'Components/Menu/MenuContent';
import { sizes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AddNotificationPresetMenuItem from './AddNotificationPresetMenuItem';
import styles from './AddNotificationItem.css';
@@ -90,7 +91,7 @@ class AddNotificationItem extends Component {
to={infoLink}
size={sizes.SMALL}
>
More info
{translate('MoreInfo')}
</Button>
</div>
</div>
@@ -6,6 +6,7 @@ import ModalBody from 'Components/Modal/ModalBody';
import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import translate from 'Utilities/String/translate';
import AddNotificationItem from './AddNotificationItem';
import styles from './AddNotificationModalContent.css';
@@ -65,7 +66,7 @@ class AddNotificationModalContent extends Component {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -228,13 +228,13 @@ function EditNotificationModalContent(props) {
error={saveError}
onPress={onTestPress}
>
Test
{translate('Test')}
</SpinnerErrorButton>
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -242,7 +242,7 @@ function EditNotificationModalContent(props) {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -144,7 +144,7 @@ function EditDelayProfileModalContent(props) {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -152,7 +152,7 @@ function EditDelayProfileModalContent(props) {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</ModalContent>
@@ -307,7 +307,7 @@ class EditQualityProfileModalContent extends Component {
<Button
onPress={onModalClose}
>
Cancel
{translate('Cancel')}
</Button>
<SpinnerErrorButton
@@ -315,7 +315,7 @@ class EditQualityProfileModalContent extends Component {
error={saveError}
onPress={onSavePress}
>
Save
{translate('Save')}
</SpinnerErrorButton>
</ModalFooter>
</Measure>
+2 -1
View File
@@ -5,6 +5,7 @@ import PageToolbar from 'Components/Page/Toolbar/PageToolbar';
import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton';
import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection';
import { icons } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import AdvancedSettingsButton from './AdvancedSettingsButton';
import PendingChangesModal from './PendingChangesModal';
@@ -61,7 +62,7 @@ class SettingsToolbar extends Component {
{
showSave &&
<PageToolbarButton
label={hasPendingChanges ? 'Save Changes' : 'No Changes'}
label={hasPendingChanges ? translate('SaveChanges') : translate('NoChanges')}
iconName={icons.SAVE}
isSpinning={isSaving}
isDisabled={!hasPendingChanges}
@@ -175,7 +175,7 @@ function TagDetailsModalContent(props) {
<Button
onPress={onModalClose}
>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
+18 -18
View File
@@ -219,24 +219,24 @@ export const defaultState = {
filterBuilderProps: [
{
name: 'monitored',
label: 'Monitored',
label: translate('Monitored'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.BOOL
},
{
name: 'title',
label: 'Title',
label: translate('Title'),
type: filterBuilderTypes.STRING
},
{
name: 'status',
label: 'Status',
label: translate('Status'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.MOVIE_STATUS
},
{
name: 'studio',
label: 'Studio',
label: translate('Studio'),
type: filterBuilderTypes.EXACT,
optionsSelector: function(items) {
const tagList = items.reduce((acc, movie) => {
@@ -255,7 +255,7 @@ export const defaultState = {
},
{
name: 'collection',
label: 'Collection',
label: translate('Collection'),
type: filterBuilderTypes.ARRAY,
optionsSelector: function(items) {
const collectionList = items.reduce((acc, movie) => {
@@ -274,58 +274,58 @@ export const defaultState = {
},
{
name: 'qualityProfileId',
label: 'Quality Profile',
label: translate('QualityProfile'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.QUALITY_PROFILE
},
{
name: 'added',
label: 'Added',
label: translate('Added'),
type: filterBuilderTypes.DATE,
valueType: filterBuilderValueTypes.DATE
},
{
name: 'year',
label: 'Year',
label: translate('Year'),
type: filterBuilderTypes.NUMBER
},
{
name: 'inCinemas',
label: 'In Cinemas',
label: translate('InCinemas'),
type: filterBuilderTypes.DATE,
valueType: filterBuilderValueTypes.DATE
},
{
name: 'physicalRelease',
label: 'Physical Release',
label: translate('PhysicalRelease'),
type: filterBuilderTypes.DATE,
valueType: filterBuilderValueTypes.DATE
},
{
name: 'digitalRelease',
label: 'Digital Release',
label: translate('DigitalRelease'),
type: filterBuilderTypes.DATE,
valueType: filterBuilderValueTypes.DATE
},
{
name: 'runtime',
label: 'Runtime',
label: translate('Runtime'),
type: filterBuilderTypes.NUMBER
},
{
name: 'path',
label: 'Path',
label: translate('Path'),
type: filterBuilderTypes.STRING
},
{
name: 'sizeOnDisk',
label: 'Size on Disk',
label: translate('SizeOnDisk'),
type: filterBuilderTypes.NUMBER,
valueType: filterBuilderValueTypes.BYTES
},
{
name: 'genres',
label: 'Genres',
label: translate('Genres'),
type: filterBuilderTypes.ARRAY,
optionsSelector: function(items) {
const genreList = items.reduce((acc, movie) => {
@@ -344,12 +344,12 @@ export const defaultState = {
},
{
name: 'ratings',
label: 'Rating',
label: translate('Ratings'),
type: filterBuilderTypes.NUMBER
},
{
name: 'certification',
label: 'Certification',
label: translate('Certification'),
type: filterBuilderTypes.EXACT,
optionsSelector: function(items) {
const certificationList = items.reduce((acc, movie) => {
@@ -368,7 +368,7 @@ export const defaultState = {
},
{
name: 'tags',
label: 'Tags',
label: translate('Tags'),
type: filterBuilderTypes.ARRAY,
valueType: filterBuilderValueTypes.TAG
}
+2 -1
View File
@@ -7,6 +7,7 @@ import createAjaxRequest from 'Utilities/createAjaxRequest';
import requestAction from 'Utilities/requestAction';
import getSectionState from 'Utilities/State/getSectionState';
import updateSectionState from 'Utilities/State/updateSectionState';
import translate from 'Utilities/String/translate';
import createHandleActions from './Creators/createHandleActions';
//
@@ -59,7 +60,7 @@ function showOAuthWindow(url, payload) {
responseJSON: [
{
propertyName: payload.name,
errorMessage: 'Pop-ups are being blocked by your browser'
errorMessage: translate('OAuthPopupMessage')
}
]
};
+9 -9
View File
@@ -114,50 +114,50 @@ export const defaultState = {
filterBuilderProps: [
{
name: 'title',
label: 'Title',
label: translate('Title'),
type: filterBuilderTypes.STRING
},
{
name: 'age',
label: 'Age',
label: translate('Age'),
type: filterBuilderTypes.NUMBER
},
{
name: 'protocol',
label: 'Protocol',
label: translate('Protocol'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.PROTOCOL
},
{
name: 'indexerId',
label: 'Indexer',
label: translate('Indexer'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.INDEXER
},
{
name: 'size',
label: 'Size',
label: translate('Size'),
type: filterBuilderTypes.NUMBER
},
{
name: 'seeders',
label: 'Seeders',
label: translate('Seeders'),
type: filterBuilderTypes.NUMBER
},
{
name: 'peers',
label: 'Peers',
label: translate('Peers'),
type: filterBuilderTypes.NUMBER
},
{
name: 'quality',
label: 'Quality',
label: translate('Quality'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.QUALITY
},
{
name: 'rejectionCount',
label: 'Rejection Count',
label: translate('RejectionCount'),
type: filterBuilderTypes.NUMBER
}
],
+7 -7
View File
@@ -81,27 +81,27 @@ export const defaultState = {
columns: [
{
name: 'level',
columnLabel: 'Level',
columnLabel: translate('Level'),
isSortable: false,
isVisible: true,
isModifiable: false
},
{
name: 'logger',
label: 'Component',
label: translate('Component'),
isSortable: false,
isVisible: true,
isModifiable: false
},
{
name: 'message',
label: 'Message',
label: translate('Message'),
isVisible: true,
isModifiable: false
},
{
name: 'time',
label: 'Time',
label: translate('Time'),
isSortable: true,
isVisible: true,
isModifiable: false
@@ -125,7 +125,7 @@ export const defaultState = {
},
{
key: 'info',
label: 'Info',
label: translate('Info'),
filters: [
{
key: 'level',
@@ -136,7 +136,7 @@ export const defaultState = {
},
{
key: 'warn',
label: 'Warn',
label: translate('Warn'),
filters: [
{
key: 'level',
@@ -147,7 +147,7 @@ export const defaultState = {
},
{
key: 'error',
label: 'Error',
label: translate('Error'),
filters: [
{
key: 'level',
+2 -2
View File
@@ -20,12 +20,12 @@ const columns = [
},
{
name: 'name',
label: 'Name',
label: translate('Name'),
isVisible: true
},
{
name: 'time',
label: 'Time',
label: translate('Time'),
isVisible: true
},
{
@@ -9,6 +9,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { icons, kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './RestoreBackupModalContent.css';
function getErrorMessage(error) {
@@ -200,7 +201,7 @@ class RestoreBackupModalContent extends Component {
</div>
<Button onPress={onModalClose}>
Cancel
{translate('Cancel')}
</Button>
<SpinnerButton
@@ -8,6 +8,7 @@ import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import Scroller from 'Components/Scroller/Scroller';
import { scrollDirections } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './LogsTableDetailsModal.css';
function LogsTableDetailsModal(props) {
@@ -56,7 +57,7 @@ function LogsTableDetailsModal(props) {
<ModalFooter>
<Button onPress={onModalClose}>
Close
{translate('Close')}
</Button>
</ModalFooter>
</ModalContent>
@@ -15,17 +15,17 @@ import styles from './DiskSpace.css';
const columns = [
{
name: 'path',
label: 'Location',
label: translate('Location'),
isVisible: true
},
{
name: 'freeSpace',
label: 'Free Space',
label: translate('FreeSpace'),
isVisible: true
},
{
name: 'totalSpace',
label: 'Total Space',
label: translate('TotalSpace'),
isVisible: true
},
{
+5 -5
View File
@@ -63,7 +63,7 @@ function getTestLink(source, props) {
return (
<SpinnerIconButton
name={icons.TEST}
title="Test All"
title={translate('TestAll')}
isSpinning={props.isTestingAllIndexers}
onPress={props.dispatchTestAllIndexers}
/>
@@ -73,7 +73,7 @@ function getTestLink(source, props) {
return (
<SpinnerIconButton
name={icons.TEST}
title="Test All"
title={translate('TestAll')}
isSpinning={props.isTestingAllDownloadClients}
onPress={props.dispatchTestAllDownloadClients}
/>
@@ -92,12 +92,12 @@ const columns = [
},
{
name: 'message',
label: 'Message',
label: translate('Message'),
isVisible: true
},
{
name: 'actions',
label: 'Actions',
label: translate('Actions'),
isVisible: true
}
];
@@ -140,7 +140,7 @@ class Health extends Component {
{
!healthIssues &&
<div className={styles.healthOk}>
No issues with your configuration
{translate('HealthNoIssues')}
</div>
}
@@ -11,6 +11,7 @@ import formatDate from 'Utilities/Date/formatDate';
import formatDateTime from 'Utilities/Date/formatDateTime';
import formatTimeSpan from 'Utilities/Date/formatTimeSpan';
import titleCase from 'Utilities/String/titleCase';
import translate from 'Utilities/String/translate';
import styles from './QueuedTaskRow.css';
function getStatusIconProps(status, message) {
@@ -234,7 +235,7 @@ class QueuedTaskRow extends Component {
<ConfirmModal
isOpen={isCancelConfirmModalOpen}
kind={kinds.DANGER}
title="Cancel"
title={translate('Cancel')}
message={'Are you sure you want to cancel this pending task?'}
confirmLabel="Yes, Cancel"
cancelLabel="No, Leave It"