mirror of
https://github.com/Radarr/Radarr.git
synced 2024-09-11 03:52:33 +02:00
Translation update, updating inline div tags and placeHolder attributes
This commit is contained in:
parent
914d8f9937
commit
f286f99bb6
@ -65,13 +65,15 @@ class Blacklist extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to load blacklist</div>
|
||||
<div>
|
||||
{translate('UnableToLoadBlacklist')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
isPopulated && !error && !items.length &&
|
||||
<div>
|
||||
No history blacklist
|
||||
{translate('NoHistory')}
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -83,7 +83,9 @@ class History extends Component {
|
||||
|
||||
{
|
||||
!isFetchingAny && hasError &&
|
||||
<div>Unable to load history</div>
|
||||
<div>
|
||||
{translate('UnableToLoadHistory')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -127,7 +127,7 @@ class AddNewMovie extends Component {
|
||||
!isFetching && !!error ?
|
||||
<div className={styles.message}>
|
||||
<div className={styles.helpText}>
|
||||
Failed to load search results, please try again.
|
||||
{translate('FailedLoadingSearchResults')}
|
||||
</div>
|
||||
<div>{getErrorMessage(error)}</div>
|
||||
</div> : null
|
||||
@ -152,11 +152,15 @@ class AddNewMovie extends Component {
|
||||
{
|
||||
!isFetching && !error && !items.length && !!term &&
|
||||
<div className={styles.message}>
|
||||
<div className={styles.noResults}>Couldn't find any results for '{term}'</div>
|
||||
<div>You can also search using TMDB ID or IMDB ID of a movie. eg. tmdb:71663</div>
|
||||
<div className={styles.noResults}>
|
||||
(translate('CouldNotFindResults', [term]))
|
||||
</div>
|
||||
<div>
|
||||
{translate('YouCanAlsoSearch')}
|
||||
</div>
|
||||
<div>
|
||||
<Link to="https://github.com/Radarr/Radarr/wiki/FAQ#why-cant-i-add-a-new-movie-when-i-know-the-tmdb-id">
|
||||
Why can't I find my movie?
|
||||
{translate('CantFindMovie')}
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
@ -169,7 +173,9 @@ class AddNewMovie extends Component {
|
||||
<div className={styles.helpText}>
|
||||
{translate('AddNewMessage')}
|
||||
</div>
|
||||
<div>{translate('AddNewTmdbIdMessage')}</div>
|
||||
<div>
|
||||
{translate('AddNewTmdbIdMessage')}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@ -177,7 +183,7 @@ class AddNewMovie extends Component {
|
||||
!term && !hasExistingMovies ?
|
||||
<div className={styles.message}>
|
||||
<div className={styles.noMoviesText}>
|
||||
You haven't added any movies yet, do you want to import some or all of your movies first?
|
||||
{translate('HaveNotAddedMovies')}
|
||||
</div>
|
||||
<div>
|
||||
<Button
|
||||
|
@ -104,7 +104,9 @@ class ImportMovie extends Component {
|
||||
|
||||
{
|
||||
!rootFoldersFetching && !!rootFoldersError ?
|
||||
<div>Unable to load root folders</div> :
|
||||
<div>
|
||||
{translate('UnableToLoadRootFolders')}
|
||||
</div> :
|
||||
null
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,9 @@ class ImportMovieSelectFolder extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to load root folders</div>
|
||||
<div>
|
||||
{translate('UnableToLoadRootFolders')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -1,6 +1,7 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React, { Component } from 'react';
|
||||
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
|
||||
import translate from 'Utilities/String/translate';
|
||||
import AgendaConnector from './Agenda/AgendaConnector';
|
||||
import * as calendarViews from './calendarViews';
|
||||
import CalendarDaysConnector from './Day/CalendarDaysConnector';
|
||||
@ -30,7 +31,9 @@ class Calendar extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to load the calendar</div>
|
||||
<div>
|
||||
{translate('UnableToLoadTheCalendar')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -135,7 +135,7 @@ class FileBrowserModalContent extends Component {
|
||||
|
||||
<PathInput
|
||||
className={styles.pathInput}
|
||||
placeholder="Start typing or select a path below"
|
||||
placeholder={translate('StartTypingOrSelectAPathBelow')}
|
||||
hasFileBrowser={false}
|
||||
{...otherProps}
|
||||
value={this.state.currentPath}
|
||||
@ -149,7 +149,9 @@ class FileBrowserModalContent extends Component {
|
||||
>
|
||||
{
|
||||
!!error &&
|
||||
<div>Error loading contents</div>
|
||||
<div>
|
||||
{translate('ErrorLoadingContents')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -376,7 +376,9 @@ class DiscoverMovie extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to load movies</div>
|
||||
<div>
|
||||
{translate('UnableToLoadMovies')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -154,7 +154,7 @@ class DiscoverMoviePoster extends Component {
|
||||
isExcluded &&
|
||||
<div
|
||||
className={styles.excluded}
|
||||
title={translate('Exluded')}
|
||||
title={translate('Excluded')}
|
||||
/>
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,9 @@ class SelectLanguageModalContent extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to load languages</div>
|
||||
<div>
|
||||
{translate('UnableToLoadLanguages')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -183,7 +183,7 @@ class SelectMovieModalContent extends Component {
|
||||
>
|
||||
<TextInput
|
||||
className={styles.filterInput}
|
||||
placeholder="Search movies"
|
||||
placeholder={translate('FilterPlaceHolder')}
|
||||
name="filter"
|
||||
value={filter}
|
||||
autoFocus={true}
|
||||
|
@ -92,7 +92,9 @@ class SelectQualityModalContent extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to load qualities</div>
|
||||
<div>
|
||||
{translate('UnableToLoadQualities')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -581,17 +581,23 @@ class MovieDetails extends Component {
|
||||
<div className={styles.contentContainer}>
|
||||
{
|
||||
!isFetching && movieFilesError &&
|
||||
<div>Loading movie files failed</div>
|
||||
<div>
|
||||
{translate('LoadingMovieFilesFailed')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
!isFetching && movieCreditsError &&
|
||||
<div>Loading movie credits failed</div>
|
||||
<div>
|
||||
{translate('LoadingMovieCreditsFailed')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
!isFetching && extraFilesError &&
|
||||
<div>Loading movie extra files failed</div>
|
||||
<div>
|
||||
{translate('LoadingMovieExtraFilesFailed')}
|
||||
</div>
|
||||
}
|
||||
|
||||
<Tabs selectedIndex={this.state.tabIndex} onSelect={(tabIndex) => this.setState({ selectedTabIndex: tabIndex })}>
|
||||
|
@ -94,10 +94,10 @@ class TagsModalContent extends Component {
|
||||
value={applyTags}
|
||||
values={applyTagsOptions}
|
||||
helpTexts={[
|
||||
'How to apply tags to the selected movies',
|
||||
'Add: Add the tags the existing list of tags',
|
||||
'Remove: Remove the entered tags',
|
||||
'Replace: Replace the tags with the entered tags (enter no tags to clear all tags)'
|
||||
translate('ApplyTagsHelpTexts1'),
|
||||
translate('ApplyTagsHelpTexts2'),
|
||||
translate('ApplyTagsHelpTexts3'),
|
||||
translate('ApplyTagsHelpTexts4')
|
||||
]}
|
||||
onChange={this.onInputChange}
|
||||
/>
|
||||
|
@ -44,12 +44,16 @@ class MovieIndexFooter extends PureComponent {
|
||||
<div>
|
||||
<div className={styles.legendItem}>
|
||||
<div className={styles.ended} />
|
||||
<div>Downloaded and Monitored</div>
|
||||
<div>
|
||||
{translate('DownloadedAndMonitored')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={styles.legendItem}>
|
||||
<div className={styles.availNotMonitored} />
|
||||
<div>Downloaded, but not Monitored</div>
|
||||
<div>
|
||||
{translate('DownloadedButNotMonitored')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={styles.legendItem}>
|
||||
@ -58,7 +62,9 @@ class MovieIndexFooter extends PureComponent {
|
||||
colorImpairedMode && 'colorImpaired'
|
||||
)}
|
||||
/>
|
||||
<div>Missing, Monitored and considered Available</div>
|
||||
<div>
|
||||
{translate('MissingMonitoredAndConsideredAvailable')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={styles.legendItem}>
|
||||
@ -67,12 +73,16 @@ class MovieIndexFooter extends PureComponent {
|
||||
colorImpairedMode && 'colorImpaired'
|
||||
)}
|
||||
/>
|
||||
<div>Missing, not Monitored</div>
|
||||
<div>
|
||||
{translate('MissingNotMonitored')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={styles.legendItem}>
|
||||
<div className={styles.continuing} />
|
||||
<div>Unreleased</div>
|
||||
<div>
|
||||
{translate('Unreleased')}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -92,7 +92,9 @@ class SelectQualityModalContent extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to load qualities</div>
|
||||
<div>
|
||||
{translate('UnableToLoadQualities')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -103,7 +103,9 @@ class OrganizePreviewModalContent extends Component {
|
||||
|
||||
{
|
||||
!isFetching && error &&
|
||||
<div>Error loading previews</div>
|
||||
<div>
|
||||
{translate('ErrorLoadingPreviews')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -44,7 +44,9 @@ function RootFolders(props) {
|
||||
|
||||
if (!isFetching && !!error) {
|
||||
return (
|
||||
<div>Unable to load root folders</div>
|
||||
<div>
|
||||
{translate('UnableToLoadRootFolders')}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,9 @@ class EditCustomFormatModalContent extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new custom format, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewCustomFormatPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -42,7 +42,9 @@ class AddSpecificationModalContent extends Component {
|
||||
|
||||
{
|
||||
!isSchemaFetching && !!schemaError &&
|
||||
<div>Unable to add a new condition, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewConditionPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
@ -50,8 +52,13 @@ class AddSpecificationModalContent extends Component {
|
||||
<div>
|
||||
|
||||
<Alert kind={kinds.INFO}>
|
||||
<div>Radarr supports custom conditions against the release properties below.</div>
|
||||
<div>Visit <Link to='https://github.com/Radarr/Radarr/wiki/Custom-Formats-Aphrodite'>GitHub</Link> for more details.</div>
|
||||
<div>
|
||||
{translate('RadarrSupportsCustomConditionsAgainstTheReleasePropertiesBelow')}
|
||||
</div>
|
||||
<div>
|
||||
{translate('VisitGithubCustomFormatsAphrodite')}
|
||||
<Link to="https://github.com/Radarr/Radarr/wiki/Custom-Formats-Aphrodite">GitHub</Link>
|
||||
</div>
|
||||
</Alert>
|
||||
|
||||
<div className={styles.specifications}>
|
||||
|
@ -51,8 +51,14 @@ function EditSpecificationModalContent(props) {
|
||||
{
|
||||
fields && fields.some((x) => x.label === 'Regular Expression') &&
|
||||
<Alert kind={kinds.INFO}>
|
||||
<div>This condition matches using Regular Expressions. See <Link to="https://www.regular-expressions.info/tutorial.html">here</Link> for details. Note that the characters <code>{'\\^$.|?*+()[{'}</code> have special meanings and need escaping with a <code>\</code></div>
|
||||
<div>Regular expressions can be tested <Link to="http://regexstorm.net/tester">here</Link>.</div>
|
||||
<div>
|
||||
<div dangerouslySetInnerHTML={{ __html: translate('ThisConditionMatchesUsingRegularExpressions', ['<code>\\^$.|?*+()[{</code>', '<code>\\</code>']) }} />
|
||||
{translate('MoreDetails')} <Link to="https://www.regular-expressions.info/tutorial.html">{translate('LinkHere')}</Link>
|
||||
</div>
|
||||
<div>
|
||||
{translate('RegularExpressionsCanBeTested')}
|
||||
<Link to="http://regexstorm.net/tester">{translate('LinkHere')}</Link>
|
||||
</div>
|
||||
</Alert>
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,9 @@ class AddDownloadClientModalContent extends Component {
|
||||
|
||||
{
|
||||
!isSchemaFetching && !!schemaError &&
|
||||
<div>Unable to add a new downloadClient, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewDownloadClientPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
@ -51,8 +53,12 @@ class AddDownloadClientModalContent extends Component {
|
||||
<div>
|
||||
|
||||
<Alert kind={kinds.INFO}>
|
||||
<div>Radarr supports any downloadClient that uses the Newznab standard, as well as other downloadClients listed below.</div>
|
||||
<div>For more information on the individual downloadClients, clink on the info buttons.</div>
|
||||
<div>
|
||||
{translate('RadarrSupportsAnyDownloadClient')}
|
||||
</div>
|
||||
<div>
|
||||
{translate('ForMoreInformationOnTheIndividualDownloadClients')}
|
||||
</div>
|
||||
</Alert>
|
||||
|
||||
<FieldSet legend={translate('Usenet')}>
|
||||
|
@ -64,7 +64,9 @@ class EditDownloadClientModalContent extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new download client, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewDownloadClientPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -28,7 +28,9 @@ function DownloadClientOptions(props) {
|
||||
|
||||
{
|
||||
!isFetching && error &&
|
||||
<div>Unable to load download client options</div>
|
||||
<div>
|
||||
{translate('UnableToLoadDownloadClientOptions')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -52,7 +52,9 @@ function EditRemotePathMappingModalContent(props) {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new remote path mapping, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewRemotePathMappingPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -126,7 +126,9 @@ class GeneralSettings extends Component {
|
||||
|
||||
{
|
||||
!isFetching && error &&
|
||||
<div>Unable to load General settings</div>
|
||||
<div>
|
||||
{translate('UnableToLoadGeneralSettings')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -50,7 +50,9 @@ function EditImportExclusionModalContent(props) {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new list exclusion, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewListExclusionPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -43,7 +43,9 @@ class AddImportListModalContent extends Component {
|
||||
|
||||
{
|
||||
!isSchemaFetching && !!schemaError &&
|
||||
<div>Unable to add a new list, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewListPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
@ -51,8 +53,12 @@ class AddImportListModalContent extends Component {
|
||||
<div>
|
||||
|
||||
<Alert kind={kinds.INFO}>
|
||||
<div>Radarr supports any RSS movie lists as well as the one stated below.</div>
|
||||
<div>For more information on the individual importLists, clink on the info buttons.</div>
|
||||
<div>
|
||||
{translate('RadarrSupportsAnyRSSMovieListsAsWellAsTheOneStatedBelow')}
|
||||
</div>
|
||||
<div>
|
||||
{translate('ForMoreInformationOnTheIndividualImportListsClinkOnTheInfoButtons')}
|
||||
</div>
|
||||
</Alert>
|
||||
|
||||
{
|
||||
|
@ -63,7 +63,9 @@ function EditImportListModalContent(props) {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new list, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewListPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -35,7 +35,9 @@ function ImportListOptions(props) {
|
||||
|
||||
{
|
||||
!isFetching && error &&
|
||||
<div>Unable to load list options</div>
|
||||
<div>
|
||||
{translate('UnableToLoadListOptions')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -43,7 +43,9 @@ class AddIndexerModalContent extends Component {
|
||||
|
||||
{
|
||||
!isSchemaFetching && !!schemaError &&
|
||||
<div>Unable to add a new indexer, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewIndexerPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
@ -51,8 +53,12 @@ class AddIndexerModalContent extends Component {
|
||||
<div>
|
||||
|
||||
<Alert kind={kinds.INFO}>
|
||||
<div>Radarr supports any indexer that uses the Newznab standard, as well as other indexers listed below.</div>
|
||||
<div>For more information on the individual indexers, click on the info buttons.</div>
|
||||
<div>
|
||||
{translate('RadarrSupportsAnyIndexer')}
|
||||
</div>
|
||||
<div>
|
||||
{translate('ForMoreInformationOnTheIndividualIndexers')}
|
||||
</div>
|
||||
</Alert>
|
||||
|
||||
<FieldSet legend={translate('Usenet')}>
|
||||
|
@ -60,7 +60,9 @@ function EditIndexerModalContent(props) {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new indexer, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewIndexerPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -28,7 +28,9 @@ function IndexerOptions(props) {
|
||||
|
||||
{
|
||||
!isFetching && error &&
|
||||
<div>Unable to load indexer options</div>
|
||||
<div>
|
||||
{translate('UnableToLoadIndexerOptions')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ function EditRestrictionModalContent(props) {
|
||||
name="required"
|
||||
helpText={translate('RequiredHelpText')}
|
||||
kind={kinds.SUCCESS}
|
||||
placeholder="Add new restriction"
|
||||
placeholder={translate('RequiredPlaceHolder')}
|
||||
{...required}
|
||||
onChange={onInputChange}
|
||||
/>
|
||||
@ -65,7 +65,7 @@ function EditRestrictionModalContent(props) {
|
||||
name="ignored"
|
||||
helpText={translate('IgnoredHelpText')}
|
||||
kind={kinds.DANGER}
|
||||
placeholder="Add new restriction"
|
||||
placeholder={translate('IgnoredPlaceHolder')}
|
||||
{...ignored}
|
||||
onChange={onInputChange}
|
||||
/>
|
||||
|
@ -66,7 +66,9 @@ class MediaManagement extends Component {
|
||||
{
|
||||
!isFetching && error &&
|
||||
<FieldSet legend={translate('NamingSettings')}>
|
||||
<div>Unable to load Media Management settings</div>
|
||||
<div>
|
||||
{translate('UnableToLoadMediaManagementSettings')}
|
||||
</div>
|
||||
</FieldSet>
|
||||
}
|
||||
|
||||
@ -197,8 +199,8 @@ class MediaManagement extends Component {
|
||||
type={inputTypes.TEXT}
|
||||
name="extraFileExtensions"
|
||||
helpTexts={[
|
||||
'Comma separated list of extra files to import (.nfo will be imported as .nfo-orig)',
|
||||
'Examples: ".sub, .nfo" or "sub,nfo"'
|
||||
translate('ExtraFileExtensionsHelpTexts1'),
|
||||
translate('ExtraFileExtensionsHelpTexts2')
|
||||
]}
|
||||
onChange={onInputChange}
|
||||
{...settings.extraFileExtensions}
|
||||
@ -353,8 +355,8 @@ class MediaManagement extends Component {
|
||||
type={inputTypes.TEXT}
|
||||
name="fileChmod"
|
||||
helpTexts={[
|
||||
'Octal, applied to media files when imported/renamed by Radarr',
|
||||
'The same mode is applied to movie/sub folders with the execute bit added, e.g., 0644 becomes 0755'
|
||||
translate('FileChmodHelpTexts1'),
|
||||
translate('FileChmodHelpTexts2')
|
||||
]}
|
||||
onChange={onInputChange}
|
||||
{...settings.fileChmod}
|
||||
|
@ -110,7 +110,9 @@ class Naming extends Component {
|
||||
|
||||
{
|
||||
!isFetching && error &&
|
||||
<div>Unable to load Naming settings</div>
|
||||
<div>
|
||||
{translate('UnableToLoadNamingSettings')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -32,7 +32,9 @@ function MetadataOptions(props) {
|
||||
|
||||
{
|
||||
!isFetching && error &&
|
||||
<div>Unable to load indexer options</div>
|
||||
<div>
|
||||
{translate('UnableToLoadIndexerOptions')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -39,7 +39,9 @@ class AddNotificationModalContent extends Component {
|
||||
|
||||
{
|
||||
!isSchemaFetching && !!schemaError &&
|
||||
<div>Unable to add a new notification, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewNotificationPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -59,7 +59,9 @@ function EditNotificationModalContent(props) {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new notification, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewNotificationPleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -90,7 +90,7 @@ function NotificationEventItems(props) {
|
||||
<FormInputGroup
|
||||
type={inputTypes.CHECK}
|
||||
name="onDelete"
|
||||
helpText="On Delete"
|
||||
helpText={translate('OnDeleteHelpText')}
|
||||
isDisabled={!supportsOnDelete.value}
|
||||
{...onDelete}
|
||||
onChange={onInputChange}
|
||||
|
@ -57,7 +57,9 @@ function EditDelayProfileModalContent(props) {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new quality profile, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewQualityProfilePleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -146,7 +146,9 @@ class EditQualityProfileModalContent extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to add a new quality profile, please try again.</div>
|
||||
<div>
|
||||
{translate('UnableToAddANewQualityProfilePleaseTryAgain')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -1,6 +1,7 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React from 'react';
|
||||
import formatBytes from 'Utilities/Number/formatBytes';
|
||||
import translate from 'Utilities/String/translate';
|
||||
|
||||
function QualityDefinitionLimits(props) {
|
||||
const {
|
||||
@ -18,9 +19,15 @@ function QualityDefinitionLimits(props) {
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div>60 Minutes: {sixty}</div>
|
||||
<div>90 Minutes: {ninety}</div>
|
||||
<div>120 Minutes: {hundredTwenty}</div>
|
||||
<div>
|
||||
{translate('MinutesSixty', [sixty])}
|
||||
</div>
|
||||
<div>
|
||||
{translate('MinutesNinety', [ninety])}
|
||||
</div>
|
||||
<div>
|
||||
{translate('MinutesHundredTwenty', [hundredTwenty])}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -35,7 +35,9 @@ function TagDetailsModalContent(props) {
|
||||
<ModalBody>
|
||||
{
|
||||
!isTagUsed &&
|
||||
<div>Tag is not used and can be deleted</div>
|
||||
<div>
|
||||
{translate('TagIsNotUsedAndCanBeDeleted')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -14,7 +14,9 @@ function Tags(props) {
|
||||
|
||||
if (!items.length) {
|
||||
return (
|
||||
<div>No tags have been added yet</div>
|
||||
<div>
|
||||
{translate('NoTagsHaveBeenAddedYet')}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,9 @@ class UISettings extends Component {
|
||||
|
||||
{
|
||||
!isFetching && error &&
|
||||
<div>Unable to load UI settings</div>
|
||||
<div>
|
||||
{translate('UnableToLoadUISettings')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -102,12 +102,16 @@ class Backups extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !!error &&
|
||||
<div>Unable to load backups</div>
|
||||
<div>
|
||||
{translate('UnableToLoadBackups')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
noBackups &&
|
||||
<div>No backups are available</div>
|
||||
<div>
|
||||
{translate('NoBackupsAreAvailable')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -168,7 +168,9 @@ class RestoreBackupModalContent extends Component {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>Restore</div>
|
||||
<div>
|
||||
{translate('Restore')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={styles.step}>
|
||||
@ -179,7 +181,9 @@ class RestoreBackupModalContent extends Component {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>Restart</div>
|
||||
<div>
|
||||
{translate('Restart')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={styles.step}>
|
||||
@ -190,7 +194,9 @@ class RestoreBackupModalContent extends Component {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>Reload</div>
|
||||
<div>
|
||||
{translate('Reload')}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ModalBody>
|
||||
|
@ -32,7 +32,9 @@ function LogsTableDetailsModal(props) {
|
||||
</ModalHeader>
|
||||
|
||||
<ModalBody>
|
||||
<div>Message</div>
|
||||
<div>
|
||||
{translate('Message')}
|
||||
</div>
|
||||
|
||||
<Scroller
|
||||
className={styles.detailsText}
|
||||
@ -44,7 +46,9 @@ function LogsTableDetailsModal(props) {
|
||||
{
|
||||
!!exception &&
|
||||
<div>
|
||||
<div>Exception</div>
|
||||
<div>
|
||||
{translate('Exception')}
|
||||
</div>
|
||||
<Scroller
|
||||
className={styles.detailsText}
|
||||
scrollDirection={scrollDirections.HORIZONTAL}
|
||||
|
@ -118,7 +118,9 @@ class LogFiles extends Component {
|
||||
|
||||
{
|
||||
!isFetching && !items.length &&
|
||||
<div>No log files</div>
|
||||
<div>
|
||||
{translate('NoLogFiles')}
|
||||
</div>
|
||||
}
|
||||
</PageContentBody>
|
||||
</PageContent>
|
||||
|
@ -58,7 +58,9 @@ class Updates extends Component {
|
||||
|
||||
{
|
||||
noUpdates &&
|
||||
<div>No updates are available</div>
|
||||
<div>
|
||||
{translate('NoUpdatesAreAvailable')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
@ -162,7 +164,9 @@ class Updates extends Component {
|
||||
|
||||
{
|
||||
!hasChanges &&
|
||||
<div>Maintenance release</div>
|
||||
<div>
|
||||
{translate('MaintenanceRelease')}
|
||||
</div>
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -25,12 +25,8 @@ const translations = getTranslations();
|
||||
export default function translate(key, args = '') {
|
||||
if (args) {
|
||||
const translatedKey = translate(key);
|
||||
return translatedKey.replace(/(\{\{\d\}\}|\{\d\})/g, (translatedKeyDbl) => {
|
||||
if (translatedKeyDbl.substring(0, 2) === '{{') {
|
||||
return translatedKeyDbl;
|
||||
}
|
||||
const match = parseInt(translatedKey.match(/\d/)[0]);
|
||||
return args[match];
|
||||
return translatedKey.replace(/\{(\d+)\}/g, (match, index) => {
|
||||
return args[index];
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,10 @@
|
||||
"AppDataLocationHealthCheckMessage": "Updating will not be possible to prevent deleting AppData on Update",
|
||||
"Apply": "Apply",
|
||||
"ApplyTags": "Apply Tags",
|
||||
"ApplyTagsHelpTexts1": "How to apply tags to the selected movies",
|
||||
"ApplyTagsHelpTexts2": "Add: Add the tags the existing list of tags",
|
||||
"ApplyTagsHelpTexts3": "Remove: Remove the entered tags",
|
||||
"ApplyTagsHelpTexts4": "Replace: Replace the tags with the entered tags (enter no tags to clear all tags)",
|
||||
"AreYouSureYouWantToDeleteThisDelayProfile": "Are you sure you want to delete this delay profile?",
|
||||
"AreYouSureYouWantToDeleteThisImportListExclusion": "Are you sure you want to delete this import list exclusion?",
|
||||
"AreYouSureYouWantToDeleteThisRemotePathMapping": "Are you sure you want to delete this remote path mapping?",
|
||||
@ -67,6 +71,7 @@
|
||||
"Calendar": "Calendar",
|
||||
"Cancel": "Cancel",
|
||||
"CancelPendingTask": "Are you sure you want to cancel this pending task?",
|
||||
"CantFindMovie": "Why can't I find my movie?",
|
||||
"Cast": "Cast",
|
||||
"CertificateValidation": "Certificate Validation",
|
||||
"CertificateValidationHelpText": "Change how strict HTTPS certification validation is",
|
||||
@ -104,6 +109,7 @@
|
||||
"ConnectSettingsSummary": "Notifications, connections to media servers/players and custom scripts",
|
||||
"CopyUsingHardlinksHelpText": "Use Hardlinks when trying to copy files from torrents that are still being seeded",
|
||||
"CopyUsingHardlinksHelpTextWarning": "Occasionally, file locks may prevent renaming files that are being seeded. You may temporarily disable seeding and use Radarr's rename function as a work around.",
|
||||
"CouldNotFindResults": "Couldn't find any results for '{0}'",
|
||||
"CreateEmptyMovieFolders": "Create empty movie folders",
|
||||
"CreateEmptyMovieFoldersHelpText": "Create missing movie folders during disk scan",
|
||||
"CreateGroup": "Create group",
|
||||
@ -170,6 +176,8 @@
|
||||
"DownloadClientStatusCheckSingleClientMessage": "Download clients unavailable due to failures: {0}",
|
||||
"DownloadClientUnavailable": "Download client is unavailable",
|
||||
"Downloaded": "Downloaded",
|
||||
"DownloadedAndMonitored": "Downloaded and Monitored",
|
||||
"DownloadedButNotMonitored": "Downloaded, but not Monitored",
|
||||
"DownloadFailed": "Download failed",
|
||||
"DownloadFailedCheckDownloadClientForMoreDetails": "Download failed: check download client for more details",
|
||||
"DownloadFailedInterp": "Download failed: {0}",
|
||||
@ -202,15 +210,23 @@
|
||||
"EnableSslHelpText": " Requires restart running as administrator to take effect",
|
||||
"Ended": "Ended",
|
||||
"Error": "Error",
|
||||
"ErrorLoadingContents": "Error loading contents",
|
||||
"ErrorLoadingPreviews": "Error loading previews",
|
||||
"Events": "Events",
|
||||
"EventType": "Event Type",
|
||||
"Exception": "Exception",
|
||||
"Excluded": "Excluded",
|
||||
"ExcludeMovie": "Exclude Movie",
|
||||
"ExistingMovies": "Existing Movie(s)",
|
||||
"ExistingTag": "Existing tag",
|
||||
"Exluded": "Exluded",
|
||||
"Extension": "Extension",
|
||||
"ExtraFileExtensionsHelpTexts1": "Comma separated list of extra files to import (.nfo will be imported as .nfo-orig)",
|
||||
"ExtraFileExtensionsHelpTexts2": "Examples: '.sub, .nfo' or 'sub,nfo'",
|
||||
"Failed": "Failed",
|
||||
"FailedDownloadHandling": "Failed Download Handling",
|
||||
"FailedLoadingSearchResults": "Failed to load search results, please try again.",
|
||||
"FileChmodHelpTexts1": "Octal, applied to media files when imported/renamed by Radarr",
|
||||
"FileChmodHelpTexts2": "The same mode is applied to movie/sub folders with the execute bit added, e.g., 0644 becomes 0755",
|
||||
"FileChmodMode": "File chmod mode",
|
||||
"FileDateHelpText": "Change file date on import/rescan",
|
||||
"FileManagement": "File Management",
|
||||
@ -219,6 +235,7 @@
|
||||
"Files": "Files",
|
||||
"Filesize": "Filesize",
|
||||
"Filter": "Filter",
|
||||
"FilterPlaceHolder": "Search movies",
|
||||
"FirstDayOfWeek": "First Day of Week",
|
||||
"Fixed": "Fixed",
|
||||
"Folder": "Folder",
|
||||
@ -226,6 +243,9 @@
|
||||
"FollowPerson": "Follow Person",
|
||||
"Forecast": "Forecast",
|
||||
"Formats": "Formats",
|
||||
"ForMoreInformationOnTheIndividualDownloadClients": "For more information on the individual download clients, clink on the info buttons.",
|
||||
"ForMoreInformationOnTheIndividualImportListsClinkOnTheInfoButtons": "For more information on the individual import lists, clink on the info buttons.",
|
||||
"ForMoreInformationOnTheIndividualIndexers": "For more information on the individual indexers, click on the info buttons.",
|
||||
"FreeSpace": "Free Space",
|
||||
"General": "General",
|
||||
"GeneralSettings": "General Settings",
|
||||
@ -241,6 +261,7 @@
|
||||
"GrabSelected": "Grab Selected",
|
||||
"Group": "Group",
|
||||
"HardlinkCopyFiles": "Hardlink/Copy Files",
|
||||
"HaveNotAddedMovies": "You haven't added any movies yet, do you want to import some or all of your movies first?",
|
||||
"Health": "Health",
|
||||
"HealthNoIssues": "No issues with your configuration",
|
||||
"HelpText": "Interval in minutes. Set to zero to disable (this will stop all automatic release grabbing)",
|
||||
@ -257,6 +278,7 @@
|
||||
"IgnoredAddresses": "Ignored Addresses",
|
||||
"IgnoreDeletedMovies": "Ignore Deleted Movies",
|
||||
"IgnoredHelpText": "The release will be rejected if it contains one or more of the terms (case insensitive)",
|
||||
"IgnoredPlaceHolder": "Add new restriction",
|
||||
"IllRestartLater": "I'll restart later",
|
||||
"Import": "Import",
|
||||
"Imported": "Imported",
|
||||
@ -307,6 +329,7 @@
|
||||
"LastWriteTime": "Last Write Time",
|
||||
"LaunchBrowserHelpText": " Open a web browser and navigate to the Radarr homepage on app start.",
|
||||
"Level": "Level",
|
||||
"LinkHere": "here",
|
||||
"Links": "Links",
|
||||
"ListExclusions": "List Exclusions",
|
||||
"Lists": "Lists",
|
||||
@ -314,6 +337,9 @@
|
||||
"ListsSettingsSummary": "Import Lists, list exclusions",
|
||||
"ListSyncLevelHelpText": "Movies in library will be removed or unmonitored if not in your list",
|
||||
"ListUpdateInterval": "List Update Interval",
|
||||
"LoadingMovieCreditsFailed": "Loading movie credits failed",
|
||||
"LoadingMovieExtraFilesFailed": "Loading movie extra files failed",
|
||||
"LoadingMovieFilesFailed": "Loading movie files failed",
|
||||
"Local": "Local",
|
||||
"Location": "Location",
|
||||
"LogFiles": "Log Files",
|
||||
@ -322,6 +348,7 @@
|
||||
"LogLevel": "Log Level",
|
||||
"LogLevelTraceHelpTextWarning": "Trace logging should only be enabled temporarily",
|
||||
"Logs": "Logs",
|
||||
"MaintenanceRelease": "Maintenance release",
|
||||
"Manual": "Manual",
|
||||
"ManualImport": "Manual Import",
|
||||
"MarkAsFailed": "Mark as Failed",
|
||||
@ -349,7 +376,12 @@
|
||||
"MinimumFreeSpace": "Minimum Free Space",
|
||||
"MinimumFreeSpaceWhenImportingHelpText": "Prevent import if it would leave less than this amount of disk space available",
|
||||
"MinimumLimits": "Minimum Limits",
|
||||
"MinutesHundredTwenty": "120 Minutes: {0}",
|
||||
"MinutesNinety": "90 Minutes: {0}",
|
||||
"MinutesSixty": "60 Minutes: {0}",
|
||||
"Missing": "Missing",
|
||||
"MissingMonitoredAndConsideredAvailable": "Missing, Monitored and considered Available",
|
||||
"MissingNotMonitored": "Missing, not Monitored",
|
||||
"Mode": "Mode",
|
||||
"Monitor": "Monitor",
|
||||
"Monitored": "Monitored",
|
||||
@ -363,6 +395,7 @@
|
||||
"MonoVersionCheckOldNotSupportedMessage": "Currently installed Mono version {0} is old and unsupported. Please upgrade Mono to version {1}.",
|
||||
"MonoVersionCheckUpgradeRecommendedMessage": "Currently installed Mono version {0} is supported but upgrading to {1} is recommended.",
|
||||
"Month": "Month",
|
||||
"MoreDetails": "More details",
|
||||
"MoreInfo": "More Info",
|
||||
"MountCheckMessage": "Mount containing a movie path is mounted read-only: ",
|
||||
"MoveFiles": "Move Files",
|
||||
@ -395,16 +428,22 @@
|
||||
"NegateHelpText": "If checked, the custom format will not apply if this {0} condition matches.",
|
||||
"NetCore": ".NET Core",
|
||||
"New": "New",
|
||||
"NoBackupsAreAvailable": "No backups are available",
|
||||
"NoChange": "No Change",
|
||||
"NoChanges": "No Changes",
|
||||
"NoHistory": "No history",
|
||||
"NoLeaveIt": "No, Leave It",
|
||||
"NoLimitForAnyRuntime": "No limit for any runtime",
|
||||
"NoLogFiles": "No log files",
|
||||
"NoMinimumForAnyRuntime": "No minimum for any runtime",
|
||||
"NoTagsHaveBeenAddedYet": "No tags have been added yet",
|
||||
"NotAvailable": "Not Available",
|
||||
"NotificationTriggers": "Notification Triggers",
|
||||
"NotMonitored": "Not Monitored",
|
||||
"NoUpdatesAreAvailable": "No updates are available",
|
||||
"OAuthPopupMessage": "Pop-ups are being blocked by your browser",
|
||||
"Ok": "Ok",
|
||||
"OnDeleteHelpText": "On Delete",
|
||||
"OnDownloadHelpText": "Be notified when movies are successfully imported",
|
||||
"OnGrabHelpText": "On Grab",
|
||||
"OnHealthIssueHelpText": "On Health Issue",
|
||||
@ -473,6 +512,10 @@
|
||||
"Queued": "Queued",
|
||||
"QuickImport": "Quick Import",
|
||||
"Radarr": "Radarr",
|
||||
"RadarrSupportsAnyDownloadClient": "Radarr supports any download client that uses the Newznab standard, as well as other download clients listed below.",
|
||||
"RadarrSupportsAnyIndexer": "Radarr supports any indexer that uses the Newznab standard, as well as other indexers listed below.",
|
||||
"RadarrSupportsAnyRSSMovieListsAsWellAsTheOneStatedBelow": "Radarr supports any RSS movie lists as well as the one stated below.",
|
||||
"RadarrSupportsCustomConditionsAgainstTheReleasePropertiesBelow": "Radarr supports custom conditions against the release properties below.",
|
||||
"RadarrTags": "Radarr Tags",
|
||||
"Ratings": "Ratings",
|
||||
"ReadTheWikiForMoreInformation": "Read the Wiki for more information",
|
||||
@ -489,6 +532,7 @@
|
||||
"RefreshAndScan": "Refresh & Scan",
|
||||
"RefreshInformationAndScanDisk": "Refresh information and scan disk",
|
||||
"RefreshMovie": "Refresh movie",
|
||||
"RegularExpressionsCanBeTested": "Regular expressions can be tested ",
|
||||
"RejectionCount": "Rejection Count",
|
||||
"RelativePath": "Relative Path",
|
||||
"ReleaseBranchCheckOfficialBranchMessage": "Branch {0} is not a valid Radarr release branch, you will not receive updates",
|
||||
@ -523,6 +567,7 @@
|
||||
"ReplaceIllegalCharacters": "Replace Illegal Characters",
|
||||
"ReplaceIllegalCharactersHelpText": "Replace illegal characters. If unchecked, Radarr will remove them instead",
|
||||
"RequiredHelpText": "This {0} condition must match for the custom format to apply. Otherwise a single {1} match is sufficient.",
|
||||
"RequiredPlaceHolder": "Add new restriction",
|
||||
"RescanAfterRefreshHelpText": "Rescan the movie folder after refreshing the movie",
|
||||
"RescanAfterRefreshHelpTextWarning": "Radarr will not automatically detect changes to files when not set to 'Always'",
|
||||
"RescanMovieFolderAfterRefresh": "Rescan Movie Folder after Refresh",
|
||||
@ -532,6 +577,7 @@
|
||||
"RestartNow": "Restart Now",
|
||||
"RestartRadarr": "Restart Radarr",
|
||||
"RestartRequiredHelpTextWarning": "Requires restart to take effect",
|
||||
"Restore": "Restore",
|
||||
"RestoreBackup": "Restore Backup",
|
||||
"Restrictions": "Restrictions",
|
||||
"Result": "Result",
|
||||
@ -629,6 +675,7 @@
|
||||
"SSLCertPathHelpText": "Path to pfx file",
|
||||
"SSLPort": "SSL Port",
|
||||
"StandardMovieFormat": "Standard Movie Format",
|
||||
"StartTypingOrSelectAPathBelow": "Start typing or select a path below",
|
||||
"StartupDirectory": "Startup directory",
|
||||
"Status": "Status",
|
||||
"Studio": "Studio",
|
||||
@ -641,6 +688,7 @@
|
||||
"TableOptions": "Table Options",
|
||||
"TableOptionsColumnsMessage": "Choose which columns are visible and which order they appear in",
|
||||
"TagCannotBeDeletedWhileInUse": "Cannot be deleted while in use",
|
||||
"TagIsNotUsedAndCanBeDeleted": "Tag is not used and can be deleted",
|
||||
"Tags": "Tags",
|
||||
"TagsHelpText": "Applies to movies with at least one matching tag",
|
||||
"TagsSettingsSummary": "See all tags and how they are used. Unused tags can be removed",
|
||||
@ -650,6 +698,7 @@
|
||||
"TestAllClients": "Test All Clients",
|
||||
"TestAllIndexers": "Test All Indexers",
|
||||
"TestAllLists": "Test All Lists",
|
||||
"ThisConditionMatchesUsingRegularExpressions": "This condition matches using Regular Expressions. Note that the characters {0} have special meanings and need escaping with a {1}",
|
||||
"Time": "Time",
|
||||
"TimeFormat": "Time Format",
|
||||
"Timeleft": "Timeleft",
|
||||
@ -666,24 +715,49 @@
|
||||
"UI": "UI",
|
||||
"UISettings": "UI Settings",
|
||||
"UISettingsSummary": "Calendar, date and color impaired options",
|
||||
"UnableToAddANewConditionPleaseTryAgain": "Unable to add a new condition, please try again.",
|
||||
"UnableToAddANewCustomFormatPleaseTryAgain": "Unable to add a new custom format, please try again.",
|
||||
"UnableToAddANewDownloadClientPleaseTryAgain": "Unable to add a new download client, please try again.",
|
||||
"UnableToAddANewIndexerPleaseTryAgain": "Unable to add a new indexer, please try again.",
|
||||
"UnableToAddANewListExclusionPleaseTryAgain": "Unable to add a new list exclusion, please try again.",
|
||||
"UnableToAddANewListPleaseTryAgain": "Unable to add a new list, please try again.",
|
||||
"UnableToAddANewNotificationPleaseTryAgain": "Unable to add a new notification, please try again.",
|
||||
"UnableToAddANewQualityProfilePleaseTryAgain": "Unable to add a new quality profile, please try again.",
|
||||
"UnableToAddANewRemotePathMappingPleaseTryAgain": "Unable to add a new remote path mapping, please try again.",
|
||||
"UnableToLoadBackups": "Unable to load backups",
|
||||
"UnableToLoadBlacklist": "Unable to load blacklist",
|
||||
"UnableToLoadCustomFormats": "Unable to load Custom Formats",
|
||||
"UnableToLoadDelayProfiles": "Unable to load Delay Profiles",
|
||||
"UnableToLoadDownloadClientOptions": "Unable to load download client options",
|
||||
"UnableToLoadDownloadClients": "Unable to load download clients",
|
||||
"UnableToLoadGeneralSettings": "Unable to load General settings",
|
||||
"UnableToLoadHistory": "Unable to load history",
|
||||
"UnableToLoadIndexerOptions": "Unable to load indexer options",
|
||||
"UnableToLoadIndexers": "Unable to load Indexers",
|
||||
"UnableToLoadLanguages": "Unable to load languages",
|
||||
"UnableToLoadListExclusions": "Unable to load List Exclusions",
|
||||
"UnableToLoadListOptions": "Unable to load list options",
|
||||
"UnableToLoadLists": "Unable to load Lists",
|
||||
"UnableToLoadMediaManagementSettings": "Unable to load Media Management settings",
|
||||
"UnableToLoadMetadata": "Unable to load Metadata",
|
||||
"UnableToLoadMovies": "Unable to load movies",
|
||||
"UnableToLoadNamingSettings": "Unable to load Naming settings",
|
||||
"UnableToLoadNotifications": "Unable to load Notifications",
|
||||
"UnableToLoadQualities": "Unable to load qualities",
|
||||
"UnableToLoadQualityDefinitions": "Unable to load Quality Definitions",
|
||||
"UnableToLoadQualityProfiles": "Unable to load Quality Profiles",
|
||||
"UnableToLoadRemotePathMappings": "Unable to load Remote Path Mappings",
|
||||
"UnableToLoadRestrictions": "Unable to load Restrictions",
|
||||
"UnableToLoadRootFolders": "Unable to load root folders",
|
||||
"UnableToLoadTags": "Unable to load Tags",
|
||||
"UnableToLoadTheCalendar": "Unable to load the calendar",
|
||||
"UnableToLoadUISettings": "Unable to load UI settings",
|
||||
"Unavailable": "Unavailable",
|
||||
"Ungroup": "Ungroup",
|
||||
"UnmappedFolders": "Unmapped Folders",
|
||||
"Unmonitored": "Unmonitored",
|
||||
"UnmonitoredHelpText": "Include unmonitored movies in the iCal feed",
|
||||
"Unreleased": "Unreleased",
|
||||
"UnsavedChanges": "Unsaved Changes",
|
||||
"UnselectAll": "Unselect All",
|
||||
"UpdateAll": "Update All",
|
||||
@ -709,6 +783,7 @@
|
||||
"Version": "Version",
|
||||
"VideoCodec": "Video Codec",
|
||||
"View": "View",
|
||||
"VisitGithubCustomFormatsAphrodite": "Visit Github for more details: ",
|
||||
"WaitingToImport": "Waiting to Import",
|
||||
"WaitingToProcess": "Waiting to Process",
|
||||
"Wanted": "Wanted",
|
||||
@ -718,5 +793,6 @@
|
||||
"WhitelistedHardcodedSubsHelpText": "Subtitle tags set here will not be considered hardcoded",
|
||||
"WhitelistedSubtitleTags": "Whitelisted Subtitle Tags",
|
||||
"Year": "Year",
|
||||
"YesCancel": "Yes, Cancel"
|
||||
"YesCancel": "Yes, Cancel",
|
||||
"YouCanAlsoSearch": "You can also search using TMDb ID or IMDb ID of a movie. eg. tmdb:71663"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user