Add translations to frontend/InteractiveImport

(cherry picked from commit 060b66aa398f7e676b789354361b6fe95a96ff17)

Closes #9027
pull/9088/head
Stevie Robinson 10 months ago committed by Bogdan
parent be20a9d116
commit 0f699a01f7

@ -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…
Cancel
Save