diff --git a/frontend/src/Activity/Queue/RemoveQueueItemsModal.js b/frontend/src/Activity/Queue/RemoveQueueItemsModal.js
index 295b72179..738559ed5 100644
--- a/frontend/src/Activity/Queue/RemoveQueueItemsModal.js
+++ b/frontend/src/Activity/Queue/RemoveQueueItemsModal.js
@@ -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 {
@@ -82,25 +83,25 @@ class RemoveQueueItemsModal extends Component {
onModalClose={this.onModalClose}
>
- Remove Selected Item{selectedCount > 1 ? 's' : ''}
+ {selectedCount > 1 ? translate('RemoveSelectedItems') : translate('RemoveSelectedItem')}
- Are you sure you want to remove {selectedCount} item{selectedCount > 1 ? 's' : ''} from the queue?
+ {selectedCount > 1 ? translate('RemoveSelectedItemsQueueMessageText', selectedCount) : translate('RemoveSelectedItemQueueMessageText')}
{
allPending ?
null :
- Remove From Download Client
+ {translate('RemoveFromDownloadClient')}
@@ -109,14 +110,14 @@ class RemoveQueueItemsModal extends Component {
- Add Release{selectedCount > 1 ? 's' : ''} To Blocklist
+ {selectedCount > 1 ? translate('BlocklistReleases') : translate('BlocklistRelease')}
@@ -125,14 +126,14 @@ class RemoveQueueItemsModal extends Component {
diff --git a/frontend/src/Settings/CustomFormats/CustomFormats/CustomFormat.js b/frontend/src/Settings/CustomFormats/CustomFormats/CustomFormat.js
index e32a58cc1..d18abcc32 100644
--- a/frontend/src/Settings/CustomFormats/CustomFormats/CustomFormat.js
+++ b/frontend/src/Settings/CustomFormats/CustomFormats/CustomFormat.js
@@ -5,6 +5,7 @@ import Label from 'Components/Label';
import IconButton from 'Components/Link/IconButton';
import ConfirmModal from 'Components/Modal/ConfirmModal';
import { icons, kinds } from 'Helpers/Props';
+import translate from 'Utilities/String/translate';
import EditCustomFormatModalConnector from './EditCustomFormatModalConnector';
import ExportCustomFormatModal from './ExportCustomFormatModal';
import styles from './CustomFormat.css';
@@ -92,14 +93,14 @@ class CustomFormat extends Component {
@@ -113,9 +114,9 @@ class Specification extends Component {
diff --git a/frontend/src/Settings/Quality/Reset/ResetQualityDefinitionsModalContent.js b/frontend/src/Settings/Quality/Reset/ResetQualityDefinitionsModalContent.js
index 7d952ea83..11f9dfa2f 100644
--- a/frontend/src/Settings/Quality/Reset/ResetQualityDefinitionsModalContent.js
+++ b/frontend/src/Settings/Quality/Reset/ResetQualityDefinitionsModalContent.js
@@ -9,6 +9,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';
import styles from './ResetQualityDefinitionsModalContent.css';
class ResetQualityDefinitionsModalContent extends Component {
@@ -54,22 +55,24 @@ class ResetQualityDefinitionsModalContent extends Component {
onModalClose={onModalClose}
>
- Reset Quality Definitions
+ {translate('ResetQualityDefinitions')}
- Are you sure you want to reset quality definitions?
+ {translate('ResetQualityDefinitionsMessageText')}
- Reset Titles
+
+ {translate('ResetTitles')}
+
@@ -78,7 +81,7 @@ class ResetQualityDefinitionsModalContent extends Component {
diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json
index da5cec7b2..a5e5b2789 100644
--- a/src/NzbDrone.Core/Localization/Core/en.json
+++ b/src/NzbDrone.Core/Localization/Core/en.json
@@ -4,8 +4,19 @@
"AppDataLocationHealthCheckMessage": "Updating will not be possible to prevent deleting AppData on Update",
"ApplyChanges": "Apply Changes",
"AutomaticAdd": "Automatic Add",
+ "BlocklistRelease": "Blocklist Release",
+ "BlocklistReleaseHelpText": "Prevents Sonarr from automatically grabbing this release again",
+ "BlocklistReleases": "Blocklist Releases",
"Browser Reload Required": "Browser Reload Required",
+ "CloneCondition": "Clone Condition",
+ "CloneCustomFormat": "Clone Custom Format",
+ "Close": "Close",
"CountSeasons": "{count} seasons",
+ "Delete": "Delete",
+ "DeleteCondition": "Delete Condition",
+ "DeleteConditionMessageText": "Are you sure you want to delete the condition '{0}'?",
+ "DeleteCustomFormat": "Delete Custom Format",
+ "DeleteCustomFormatMessageText": "Are you sure you want to delete the custom format '{0}'?",
"DownloadClientCheckNoneAvailableHealthCheckMessage": "No download client is available",
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Unable to communicate with {0}.",
"DownloadClientRootFolderHealthCheckMessage": "Download client {0} places downloads in the root folder {1}. You should not download to a root folder.",
@@ -21,6 +32,7 @@
"EnableRss": "Enable Rss",
"Enabled": "Enabled",
"Ended": "Ended",
+ "ExportCustomFormat": "Export Custom Format",
"HiddenClickToShow": "Hidden, click to show",
"HideAdvanced": "Hide Advanced",
"ImportListRootFolderMissingRootHealthCheckMessage": "Missing root folder for import list(s): {0}",
@@ -44,6 +56,7 @@
"Language that Sonarr will use for UI": "Language that Sonarr will use for UI",
"Monitored": "Monitored",
"MountHealthCheckMessage": "Mount containing a series path is mounted read-only: ",
+ "Negated": "Negated",
"Network": "Network",
"NextAiring": "Next Airing",
"NoSeasons": "No seasons",
@@ -73,10 +86,18 @@
"RemotePathMappingLocalWrongOSPathHealthCheckMessage": "Local download client {0} places downloads in {1} but this is not a valid {2} path. Review your download client settings.",
"RemotePathMappingRemoteDownloadClientHealthCheckMessage": "Remote download client {0} reported files in {1} but this directory does not appear to exist. Likely missing remote path mapping.",
"RemotePathMappingWrongOSPathHealthCheckMessage": "Remote download client {0} places downloads in {1} but this is not a valid {2} path. Review your remote path mappings and download client settings.",
+ "Remove": "Remove",
"RemoveCompletedDownloads": "Remove Completed Downloads",
"RemoveFailedDownloads": "Remove Failed Downloads",
+ "RemoveFromDownloadClient": "Remove From Download Client",
+ "RemoveFromDownloadClientHelpTextWarning": "Removing will remove the download and the file(s) from the download client.",
+ "RemoveSelectedItem": "Remove Selected Item",
+ "RemoveSelectedItemQueueMessageText": "Are you sure you want to remove 1 item from the queue?",
+ "RemoveSelectedItems": "Remove Selected Items",
+ "RemoveSelectedItemsQueueMessageText": "Are you sure you want to remove {0} items from the queue?",
"RemovedSeriesMultipleRemovedHealthCheckMessage": "Series {0} were removed from TheTVDB",
"RemovedSeriesSingleRemovedHealthCheckMessage": "Series {0} was removed from TheTVDB",
+ "Required": "Required",
"RootFolder": "Root Folder",
"RootFolderMissingHealthCheckMessage": "Missing root folder: {0}",
"RootFolderMultipleMissingHealthCheckMessage": "Multiple root folders are missing: {0}",