mirror of
https://github.com/Radarr/Radarr.git
synced 2025-04-24 06:27:08 -04:00
Add translations to frontend/InteractiveImport
(cherry picked from commit 060b66aa398f7e676b789354361b6fe95a96ff17) Closes #9027
This commit is contained in:
parent
be20a9d116
commit
0f699a01f7
9 changed files with 50 additions and 33 deletions
|
@ -100,7 +100,7 @@ function InteractiveImportSelectFolderModalContent(
|
|||
return (
|
||||
<ModalContent onModalClose={onModalClose}>
|
||||
<ModalHeader>
|
||||
{modalTitle} - {translate('SelectFolder')}
|
||||
{translate('SelectFolderModalTitle', { modalTitle })}
|
||||
</ModalHeader>
|
||||
|
||||
<ModalBody>
|
||||
|
|
|
@ -118,6 +118,7 @@ const COLUMNS = [
|
|||
label: React.createElement(Icon, {
|
||||
name: icons.DANGER,
|
||||
kind: kinds.DANGER,
|
||||
title: () => translate('Rejections'),
|
||||
}),
|
||||
isSortable: true,
|
||||
isVisible: true,
|
||||
|
@ -242,10 +243,23 @@ function InteractiveImportModalContent(
|
|||
useState<string | null>(null);
|
||||
const [selectState, setSelectState] = useSelectState();
|
||||
const [bulkSelectOptions, setBulkSelectOptions] = useState([
|
||||
{ key: 'select', value: translate('SelectDotDot'), disabled: true },
|
||||
{ key: 'quality', value: translate('SelectQuality') },
|
||||
{ key: 'releaseGroup', value: translate('SelectReleaseGroup') },
|
||||
{ key: 'language', value: translate('SelectLanguage') },
|
||||
{
|
||||
key: 'select',
|
||||
value: translate('SelectDropdown'),
|
||||
disabled: true,
|
||||
},
|
||||
{
|
||||
key: 'quality',
|
||||
value: translate('SelectQuality'),
|
||||
},
|
||||
{
|
||||
key: 'releaseGroup',
|
||||
value: translate('SelectReleaseGroup'),
|
||||
},
|
||||
{
|
||||
key: 'language',
|
||||
value: translate('SelectLanguage'),
|
||||
},
|
||||
]);
|
||||
const { allSelected, allUnselected, selectedState } = selectState;
|
||||
const previousIsDeleting = usePrevious(isDeleting);
|
||||
|
@ -390,7 +404,9 @@ function InteractiveImportModalContent(
|
|||
const files: InteractiveImportCommandOptions[] = [];
|
||||
|
||||
if (finalImportMode === 'chooseImportMode') {
|
||||
setInteractiveImportErrorMessage('An import mode must be selected');
|
||||
setInteractiveImportErrorMessage(
|
||||
translate('InteractiveImportNoImportMode')
|
||||
);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -403,21 +419,21 @@ function InteractiveImportModalContent(
|
|||
|
||||
if (!movie) {
|
||||
setInteractiveImportErrorMessage(
|
||||
translate('InteractiveImportErrMovie')
|
||||
translate('InteractiveImportNoMovie')
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!quality) {
|
||||
setInteractiveImportErrorMessage(
|
||||
translate('InteractiveImportErrQuality')
|
||||
translate('InteractiveImportNoQuality')
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!languages) {
|
||||
setInteractiveImportErrorMessage(
|
||||
translate('InteractiveImportErrLanguage')
|
||||
translate('InteractiveImportNoLanguage')
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -605,7 +621,7 @@ function InteractiveImportModalContent(
|
|||
|
||||
const errorMessage = getErrorMessage(
|
||||
error,
|
||||
translate('UnableToLoadManualImportItems')
|
||||
translate('InteractiveImportLoadError')
|
||||
);
|
||||
|
||||
return (
|
||||
|
@ -685,7 +701,7 @@ function InteractiveImportModalContent(
|
|||
) : null}
|
||||
|
||||
{isPopulated && !items.length && !isFetching
|
||||
? translate('NoVideoFilesFoundSelectedFolder')
|
||||
? translate('InteractiveImportNoFilesFound')
|
||||
: null}
|
||||
</ModalBody>
|
||||
|
||||
|
@ -781,8 +797,8 @@ function InteractiveImportModalContent(
|
|||
isOpen={isConfirmDeleteModalOpen}
|
||||
kind={kinds.DANGER}
|
||||
title={translate('DeleteSelectedMovieFiles')}
|
||||
message={translate('DeleteSelectedMovieFilesMessage')}
|
||||
confirmLabel="Delete"
|
||||
message={translate('DeleteSelectedMovieFilesHelpText')}
|
||||
confirmLabel={translate('Delete')}
|
||||
onConfirm={onConfirmDelete}
|
||||
onCancel={onConfirmDeleteModalClose}
|
||||
/>
|
||||
|
|
|
@ -80,16 +80,14 @@ function SelectLanguageModalContent(props: SelectLanguageModalContentProps) {
|
|||
return (
|
||||
<ModalContent onModalClose={onModalClose}>
|
||||
<ModalHeader>
|
||||
{modalTitle} - {translate('SelectLanguage')}
|
||||
{translate('SelectLanguageModalTitle', { modalTitle })}
|
||||
</ModalHeader>
|
||||
|
||||
<ModalBody>
|
||||
{isFetching ? <LoadingIndicator /> : null}
|
||||
|
||||
{!isFetching && error ? (
|
||||
<Alert kind={kinds.DANGER}>
|
||||
{translate('UnableToLoadLanguages')}
|
||||
</Alert>
|
||||
<Alert kind={kinds.DANGER}>{translate('LanguagesLoadError')}</Alert>
|
||||
) : null}
|
||||
|
||||
{isPopulated && !error ? (
|
||||
|
|
|
@ -131,9 +131,7 @@ function SelectQualityModalContent(props: SelectQualityModalContentProps) {
|
|||
{isFetching && <LoadingIndicator />}
|
||||
|
||||
{!isFetching && error ? (
|
||||
<Alert kind={kinds.DANGER}>
|
||||
{translate('UnableToLoadQualities')}
|
||||
</Alert>
|
||||
<Alert kind={kinds.DANGER}>{translate('QualitiesLoadError')}</Alert>
|
||||
) : null}
|
||||
|
||||
{isPopulated && !error ? (
|
||||
|
|
|
@ -39,7 +39,7 @@ function SelectReleaseGroupModalContent(
|
|||
return (
|
||||
<ModalContent onModalClose={onModalClose}>
|
||||
<ModalHeader>
|
||||
{modalTitle} - {translate('SetReleaseGroup')}
|
||||
{translate('SetReleaseGroupModalTitle', { modalTitle })}
|
||||
</ModalHeader>
|
||||
|
||||
<ModalBody
|
||||
|
@ -62,7 +62,7 @@ function SelectReleaseGroupModalContent(
|
|||
</ModalBody>
|
||||
|
||||
<ModalFooter>
|
||||
<Button onPress={onModalClose}>Cancel</Button>
|
||||
<Button onPress={onModalClose}>{translate('Cancel')}</Button>
|
||||
|
||||
<Button kind={kinds.SUCCESS} onPress={onReleaseGroupSelectWrapper}>
|
||||
{translate('SetReleaseGroup')}
|
||||
|
|
|
@ -111,7 +111,7 @@ class FileEditModalContent extends Component {
|
|||
{
|
||||
!isFetching && !!error &&
|
||||
<Alert kind={kinds.DANGER}>
|
||||
{translate('UnableToLoadQualities')}
|
||||
{translate('QualitiesLoadError')}
|
||||
</Alert>
|
||||
}
|
||||
|
||||
|
|
|
@ -332,7 +332,7 @@ class MovieFileEditorRow extends Component {
|
|||
ids={[id]}
|
||||
kind={kinds.DANGER}
|
||||
title={translate('DeleteSelectedMovieFiles')}
|
||||
message={translate('DeleteSelectedMovieFilesMessage')}
|
||||
message={translate('DeleteSelectedMovieFilesHelpText')}
|
||||
confirmLabel={translate('Delete')}
|
||||
onConfirm={this.onConfirmDelete}
|
||||
onCancel={this.onConfirmDeleteModalClose}
|
||||
|
|
|
@ -94,7 +94,7 @@ class SelectQualityModalContent extends Component {
|
|||
{
|
||||
!isFetching && !!error &&
|
||||
<Alert kind={kinds.DANGER}>
|
||||
{translate('UnableToLoadQualities')}
|
||||
{translate('QualitiesLoadError')}
|
||||
</Alert>
|
||||
}
|
||||
|
||||
|
|
|
@ -269,7 +269,7 @@
|
|||
"DeleteSelectedIndexersMessageText": "Are you sure you want to delete {count} selected indexer(s)?",
|
||||
"DeleteSelectedMovie": "Delete Selected Movie(s)",
|
||||
"DeleteSelectedMovieFiles": "Delete Selected Movie Files",
|
||||
"DeleteSelectedMovieFilesMessage": "Are you sure you want to delete the selected movie files?",
|
||||
"DeleteSelectedMovieFilesHelpText": "Are you sure you want to delete the selected movie files?",
|
||||
"DeleteTag": "Delete Tag",
|
||||
"DeleteTagMessageText": "Are you sure you want to delete the tag '{label}'?",
|
||||
"DeleteTheMovieFolder": "The movie folder '{path}' and all its content will be deleted.",
|
||||
|
@ -516,9 +516,12 @@
|
|||
"InstanceName": "Instance Name",
|
||||
"InstanceNameHelpText": "Instance name in tab and for Syslog app name",
|
||||
"InteractiveImport": "Interactive Import",
|
||||
"InteractiveImportErrLanguage": "Language must be chosen for each selected file",
|
||||
"InteractiveImportErrMovie": "Movie must be chosen for each selected file",
|
||||
"InteractiveImportErrQuality": "Quality must be chosen for each selected file",
|
||||
"InteractiveImportLoadError": "Unable to load manual import items",
|
||||
"InteractiveImportNoFilesFound": "No video files were found in the selected folder",
|
||||
"InteractiveImportNoImportMode": "An import mode must be selected",
|
||||
"InteractiveImportNoLanguage": "Language must be chosen for each selected file",
|
||||
"InteractiveImportNoMovie": "Movie must be chosen for each selected file",
|
||||
"InteractiveImportNoQuality": "Quality must be chosen for each selected file",
|
||||
"InteractiveSearch": "Interactive Search",
|
||||
"InteractiveSearchResultsFailedErrorMessage": "Search failed because its {message}. Try refreshing the movie info and verify the necessary information is present before searching again.",
|
||||
"Interval": "Interval",
|
||||
|
@ -528,6 +531,7 @@
|
|||
"Language": "Language",
|
||||
"LanguageHelpText": "Language for Releases",
|
||||
"Languages": "Languages",
|
||||
"LanguagesLoadError": "Unable to load languages",
|
||||
"Large": "Large",
|
||||
"LastDuration": "Last Duration",
|
||||
"LastExecution": "Last Execution",
|
||||
|
@ -710,7 +714,6 @@
|
|||
"NoResultsFound": "No results found",
|
||||
"NoTagsHaveBeenAddedYet": "No tags have been added yet",
|
||||
"NoUpdatesAreAvailable": "No updates are available",
|
||||
"NoVideoFilesFoundSelectedFolder": "No video files were found in the selected folder",
|
||||
"None": "None",
|
||||
"NotAvailable": "Not Available",
|
||||
"NotMonitored": "Not Monitored",
|
||||
|
@ -828,6 +831,7 @@
|
|||
"PublishedDate": "Published Date",
|
||||
"Qualities": "Qualities",
|
||||
"QualitiesHelpText": "Qualities higher in the list are more preferred even if not checked. Qualities within the same group are equal. Only checked qualities are wanted",
|
||||
"QualitiesLoadError": "Unable to load qualities",
|
||||
"Quality": "Quality",
|
||||
"QualityCutoffHasNotBeenMet": "Quality cutoff has not been met",
|
||||
"QualityDefinitions": "Quality Definitions",
|
||||
|
@ -1018,10 +1022,12 @@
|
|||
"Security": "Security",
|
||||
"Seeders": "Seeders",
|
||||
"SelectAll": "Select All",
|
||||
"SelectDotDot": "Select...",
|
||||
"SelectDownloadClientModalTitle": "{modalTitle} - Select Download Client",
|
||||
"SelectDropdown": "Select...",
|
||||
"SelectFolder": "Select Folder",
|
||||
"SelectFolderModalTitle": "{modalTitle} - Select Folder",
|
||||
"SelectLanguage": "Select Language",
|
||||
"SelectLanguageModalTitle": "{modalTitle} - Select Language",
|
||||
"SelectLanguages": "Select Languages",
|
||||
"SelectMovie": "Select Movie",
|
||||
"SelectQuality": "Select Quality",
|
||||
|
@ -1031,6 +1037,7 @@
|
|||
"SetPermissionsLinuxHelpText": "Should chmod be run when files are imported/renamed?",
|
||||
"SetPermissionsLinuxHelpTextWarning": "If you're unsure what these settings do, do not alter them.",
|
||||
"SetReleaseGroup": "Set Release Group",
|
||||
"SetReleaseGroupModalTitle": "{modalTitle} - Set Release Group",
|
||||
"SetTags": "Set Tags",
|
||||
"Settings": "Settings",
|
||||
"SettingsEnableColorImpairedMode": "Enable Color-Impaired Mode",
|
||||
|
@ -1204,7 +1211,6 @@
|
|||
"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",
|
||||
|
@ -1214,7 +1220,6 @@
|
|||
"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",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue