diff --git a/frontend/src/Activity/Blocklist/Blocklist.js b/frontend/src/Activity/Blocklist/Blocklist.js
index 39150b1fb..b2af5a035 100644
--- a/frontend/src/Activity/Blocklist/Blocklist.js
+++ b/frontend/src/Activity/Blocklist/Blocklist.js
@@ -158,7 +158,7 @@ class Blocklist extends Component {
{
!isFetching && !!error &&
- {translate('UnableToLoadBlocklist')}
+ {translate('BlocklistLoadError')}
}
@@ -210,7 +210,7 @@ class Blocklist extends Component {
isOpen={isConfirmRemoveModalOpen}
kind={kinds.DANGER}
title={translate('RemoveSelected')}
- message={translate('RemoveSelectedItemBlocklistMessageText')}
+ message={translate('RemoveSelectedBlocklistMessageText')}
confirmLabel={translate('RemoveSelected')}
onConfirm={this.onRemoveSelectedConfirmed}
onCancel={this.onConfirmRemoveModalClose}
diff --git a/frontend/src/Activity/History/Details/HistoryDetails.js b/frontend/src/Activity/History/Details/HistoryDetails.js
index a582d856a..b3ae7cb2c 100644
--- a/frontend/src/Activity/History/Details/HistoryDetails.js
+++ b/frontend/src/Activity/History/Details/HistoryDetails.js
@@ -88,7 +88,7 @@ function HistoryDetails(props) {
nzbInfoUrl ?
- Info URL
+ {translate('InfoUrl')}
@@ -110,7 +110,7 @@ function HistoryDetails(props) {
{
downloadId ?
:
null
@@ -153,7 +153,7 @@ function HistoryDetails(props) {
{
downloadId ?
:
null
@@ -228,13 +228,13 @@ function HistoryDetails(props) {
switch (reason) {
case 'Manual':
- reasonMessage = translate('FileWasDeletedByViaUI');
+ reasonMessage = translate('DeletedReasonManual');
break;
case 'MissingFromDisk':
- reasonMessage = translate('MissingFromDisk');
+ reasonMessage = translate('DeletedReasonMissingFromDisk');
break;
case 'Upgrade':
- reasonMessage = translate('FileWasDeletedByUpgrade');
+ reasonMessage = translate('DeletedReasonUpgrade');
break;
default:
reasonMessage = '';
@@ -313,7 +313,7 @@ function HistoryDetails(props) {
{
downloadId ?
:
null
diff --git a/frontend/src/Activity/History/Details/HistoryDetailsModal.js b/frontend/src/Activity/History/Details/HistoryDetailsModal.js
index 56147ec98..19fda4907 100644
--- a/frontend/src/Activity/History/Details/HistoryDetailsModal.js
+++ b/frontend/src/Activity/History/Details/HistoryDetailsModal.js
@@ -15,19 +15,19 @@ import styles from './HistoryDetailsModal.css';
function getHeaderTitle(eventType) {
switch (eventType) {
case 'grabbed':
- return 'Grabbed';
+ return translate('Grabbed');
case 'downloadFailed':
- return 'Download Failed';
+ return translate('DownloadFailed');
case 'downloadFolderImported':
- return 'Movie Imported';
+ return translate('MovieImported');
case 'movieFileDeleted':
- return 'Movie File Deleted';
+ return translate('MovieFileDeleted');
case 'movieFileRenamed':
- return 'Movie File Renamed';
+ return translate('MovieFileRenamed');
case 'downloadIgnored':
- return 'Download Ignored';
+ return translate('DownloadIgnored');
default:
- return 'Unknown';
+ return translate('Unknown');
}
}
diff --git a/frontend/src/Activity/History/History.js b/frontend/src/Activity/History/History.js
index b8309ba2a..3afa2a740 100644
--- a/frontend/src/Activity/History/History.js
+++ b/frontend/src/Activity/History/History.js
@@ -85,7 +85,7 @@ class History extends Component {
{
!isFetchingAny && hasError &&
- {translate('UnableToLoadHistory')}
+ {translate('HistoryLoadError')}
}
@@ -95,7 +95,7 @@ class History extends Component {
isPopulated && !hasError && !items.length &&
- {translate('NoHistory')}
+ {translate('NoHistoryFound')}
}
diff --git a/frontend/src/Activity/History/HistoryEventTypeCell.js b/frontend/src/Activity/History/HistoryEventTypeCell.js
index c2dfc2885..d2427c0da 100644
--- a/frontend/src/Activity/History/HistoryEventTypeCell.js
+++ b/frontend/src/Activity/History/HistoryEventTypeCell.js
@@ -3,6 +3,7 @@ import React from 'react';
import Icon from 'Components/Icon';
import TableRowCell from 'Components/Table/Cells/TableRowCell';
import { icons, kinds } from 'Helpers/Props';
+import translate from 'Utilities/String/translate';
import styles from './HistoryEventTypeCell.css';
function getIconName(eventType) {
@@ -38,21 +39,21 @@ function getIconKind(eventType) {
function getTooltip(eventType, data) {
switch (eventType) {
case 'grabbed':
- return `Movie grabbed from ${data.indexer} and sent to ${data.downloadClient}`;
+ return translate('MovieGrabbedHistoryTooltip', { indexer: data.indexer, downloadClient: data.downloadClient });
case 'movieFolderImported':
- return 'Movie imported from movie folder';
+ return translate('MovieFolderImportedTooltip');
case 'downloadFolderImported':
- return 'Movie downloaded successfully and picked up from download client';
+ return translate('MovieImportedTooltip');
case 'downloadFailed':
- return 'Movie download failed';
+ return translate('MovieDownloadFailedTooltip');
case 'movieFileDeleted':
- return 'Movie file deleted';
+ return translate('MovieFileDeletedTooltip');
case 'movieFileRenamed':
- return 'Movie file renamed';
+ return translate('MovieFileRenamedTooltip');
case 'downloadIgnored':
- return 'Movie Download Ignored';
+ return translate('MovieDownloadIgnoredTooltip');
default:
- return 'Unknown event';
+ return translate('UnknownEventTooltip');
}
}
diff --git a/frontend/src/Activity/Queue/Queue.js b/frontend/src/Activity/Queue/Queue.js
index 54cff620e..33de69644 100644
--- a/frontend/src/Activity/Queue/Queue.js
+++ b/frontend/src/Activity/Queue/Queue.js
@@ -233,7 +233,7 @@ class Queue extends Component {
{
!isRefreshing && hasError ?
- {translate('FailedToLoadQueue')}
+ {translate('QueueLoadError')}
:
null
}
diff --git a/frontend/src/Activity/Queue/QueueOptions.js b/frontend/src/Activity/Queue/QueueOptions.js
index 27b6e2273..63a1fc422 100644
--- a/frontend/src/Activity/Queue/QueueOptions.js
+++ b/frontend/src/Activity/Queue/QueueOptions.js
@@ -61,7 +61,7 @@ class QueueOptions extends Component {
type={inputTypes.CHECK}
name="includeUnknownMovieItems"
value={includeUnknownMovieItems}
- helpText={translate('IncludeUnknownMovieItemsHelpText')}
+ helpText={translate('ShownUnknownMovieItemsHelpText')}
onChange={this.onOptionChange}
/>
diff --git a/frontend/src/Activity/Queue/RemoveQueueItemModal.js b/frontend/src/Activity/Queue/RemoveQueueItemModal.js
index 153e496c5..d79ef665c 100644
--- a/frontend/src/Activity/Queue/RemoveQueueItemModal.js
+++ b/frontend/src/Activity/Queue/RemoveQueueItemModal.js
@@ -115,11 +115,12 @@ class RemoveQueueItemModal extends Component {
{translate('BlocklistRelease')}
+
@@ -149,7 +150,7 @@ class RemoveQueueItemModal extends Component {
kind={kinds.DANGER}
onPress={this.onRemoveConfirmed}
>
- Remove
+ {translate('Remove')}
diff --git a/frontend/src/Activity/Queue/RemoveQueueItemsModal.js b/frontend/src/Activity/Queue/RemoveQueueItemsModal.js
index 72ae4c718..754ec77be 100644
--- a/frontend/src/Activity/Queue/RemoveQueueItemsModal.js
+++ b/frontend/src/Activity/Queue/RemoveQueueItemsModal.js
@@ -123,7 +123,7 @@ class RemoveQueueItemsModal extends Component {
type={inputTypes.CHECK}
name="blocklist"
value={blocklist}
- helpText={translate('BlocklistHelpText')}
+ helpText={translate('BlocklistReleaseHelpText')}
onChange={this.onBlocklistChange}
/>
diff --git a/frontend/src/Activity/Queue/TimeleftCell.js b/frontend/src/Activity/Queue/TimeleftCell.js
index f2aa1390a..5677af2ee 100644
--- a/frontend/src/Activity/Queue/TimeleftCell.js
+++ b/frontend/src/Activity/Queue/TimeleftCell.js
@@ -27,7 +27,7 @@ function TimeleftCell(props) {
return (
-
@@ -41,7 +41,7 @@ function TimeleftCell(props) {
return (
-
diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json
index ba74e49d4..e3bb7a778 100644
--- a/src/NzbDrone.Core/Localization/Core/en.json
+++ b/src/NzbDrone.Core/Localization/Core/en.json
@@ -108,8 +108,9 @@
"BindAddress": "Bind Address",
"BindAddressHelpText": "Valid IP address, localhost or '*' for all interfaces",
"Blocklist": "Blocklist",
- "BlocklistHelpText": "Prevents Radarr from automatically grabbing this release again",
+ "BlocklistLoadError": "Unable to load blocklist",
"BlocklistRelease": "Blocklist Release",
+ "BlocklistReleaseHelpText": "Prevents Radarr from automatically grabbing this release again",
"BlocklistReleases": "Blocklist Releases",
"Blocklisted": "Blocklisted",
"Branch": "Branch",
@@ -227,7 +228,7 @@
"DefaultNameCopiedSpecification": "{name} - Copy",
"DelayProfile": "Delay Profile",
"DelayProfiles": "Delay Profiles",
- "DelayingDownloadUntilInterp": "Delaying download until {0} at {1}",
+ "DelayingDownloadUntil": "Delaying download until {date} at {time}",
"Delete": "Delete",
"DeleteAutoTag": "Delete Auto Tag",
"DeleteAutoTagHelpText": "Are you sure you want to delete the auto tag '{name}'?",
@@ -281,6 +282,9 @@
"DeleteTheMovieFolder": "The movie folder '{path}' and all its content will be deleted.",
"Deleted": "Deleted",
"DeletedMsg": "Movie was deleted from TMDb",
+ "DeletedReasonManual": "File was deleted by via UI",
+ "DeletedReasonMissingFromDisk": "Radarr was unable to find the file on disk so the file was unlinked from the movie in the database",
+ "DeletedReasonUpgrade": "File was deleted to import an upgrade",
"DestinationPath": "Destination Path",
"DestinationRelativePath": "Destination Relative Path",
"DetailedProgressBar": "Detailed Progress Bar",
@@ -314,6 +318,7 @@
"DownloadClientsLoadError": "Unable to load download clients",
"DownloadClientsSettingsSummary": "Download clients, download handling and remote path mappings",
"DownloadFailed": "Download failed",
+ "DownloadIgnored": "Download Ignored",
"DownloadPropersAndRepacks": "Propers and Repacks",
"DownloadPropersAndRepacksHelpText1": "Whether or not to automatically upgrade to Propers/Repacks",
"DownloadPropersAndRepacksHelpText2": "Use 'Do not Prefer' to sort by custom format score over Propers/Repacks",
@@ -390,7 +395,6 @@
"FailedDownloadHandling": "Failed Download Handling",
"FailedLoadingSearchResults": "Failed to load search results, please try again.",
"FailedToLoadMovieFromAPI": "Failed to load movie from API",
- "FailedToLoadQueue": "Failed to load Queue",
"False": "False",
"FeatureRequests": "Feature Requests",
"File": "File",
@@ -398,8 +402,6 @@
"FileManagement": "File Management",
"FileNameTokens": "File Name Tokens",
"FileNames": "File Names",
- "FileWasDeletedByUpgrade": "File was deleted to import an upgrade",
- "FileWasDeletedByViaUI": "File was deleted via the UI",
"Filename": "Filename",
"Files": "Files",
"Filter": "Filter",
@@ -428,7 +430,7 @@
"Global": "Global",
"GoToInterp": "Go to {0}",
"Grab": "Grab",
- "GrabID": "Grab ID",
+ "GrabId": "Grab ID",
"GrabRelease": "Grab Release",
"GrabReleaseMessageText": "Radarr was unable to determine which movie this release was for. Radarr may be unable to automatically import this release. Do you want to grab '{0}'?",
"GrabSelected": "Grab Selected",
@@ -442,6 +444,7 @@
"HiddenClickToShow": "Hidden, click to show",
"HideAdvanced": "Hide Advanced",
"History": "History",
+ "HistoryLoadError": "Unable to load history",
"HomePage": "Home Page",
"Host": "Host",
"Hostname": "Hostname",
@@ -494,7 +497,6 @@
"IncludeHealthWarningsHelpText": "Include Health Warnings",
"IncludeRadarrRecommendations": "Include Radarr Recommendations",
"IncludeRecommendationsHelpText": "Include Radarr recommended movies in discovery view",
- "IncludeUnknownMovieItemsHelpText": "Show items without a movie in the queue. This could include removed movies or anything else in Radarr's category",
"IncludeUnmonitored": "Include Unmonitored",
"Indexer": "Indexer",
"IndexerDownloadClientHealthCheckMessage": "Indexers with invalid download clients: {0}.",
@@ -517,6 +519,7 @@
"Indexers": "Indexers",
"IndexersSettingsSummary": "Indexers and release restrictions",
"Info": "Info",
+ "InfoUrl": "Info URL",
"InstallLatest": "Install Latest",
"InstanceName": "Instance Name",
"InstanceNameHelpText": "Instance name in tab and for Syslog app name",
@@ -623,7 +626,6 @@
"MinutesNinety": "90 Minutes: {0}",
"MinutesSixty": "60 Minutes: {0}",
"Missing": "Missing",
- "MissingFromDisk": "Radarr was unable to find the file on disk so the file was unlinked from the movie in the database",
"MissingMonitoredAndConsideredAvailable": "Missing (Monitored)",
"MissingNotMonitored": "Missing (Unmonitored)",
"Mode": "Mode",
@@ -656,12 +658,22 @@
"MovieCollectionMultipleMissingRoots": "Multiple root folders are missing for movie collections: {0}",
"MovieDetailsNextMovie": "Movie Details: Next Movie",
"MovieDetailsPreviousMovie": "Movie Details: Previous Movie",
+ "MovieDownloadFailedTooltip": "Movie download failed",
+ "MovieDownloadIgnoredTooltip": "Movie Download Ignored",
"MovieEditor": "Movie Editor",
"MovieExcludedFromAutomaticAdd": "Movie Excluded From Automatic Add",
+ "MovieFileDeleted": "Movie File Deleted",
+ "MovieFileDeletedTooltip": "Movie file deleted",
+ "MovieFileRenamed": "Movie File Renamed",
+ "MovieFileRenamedTooltip": "Movie file renamed",
"MovieFiles": "Movie Files",
"MovieFilesTotaling": "Movie Files Totaling",
"MovieFolderFormat": "Movie Folder Format",
+ "MovieFolderImportedTooltip": "Movie imported from movie folder",
+ "MovieGrabbedHistoryTooltip": "Movie grabbed from {indexer} and sent to {downloadClient}",
"MovieID": "Movie ID",
+ "MovieImported": "Movie Imported",
+ "MovieImportedTooltip": "Movie downloaded successfully and picked up from download client",
"MovieIndex": "Movie Index",
"MovieIndexScrollBottom": "Movie Index: Scroll Bottom",
"MovieIndexScrollTop": "Movie Index: Scroll Top",
@@ -705,6 +717,7 @@
"NoEventsFound": "No events found",
"NoHistory": "No history",
"NoHistoryBlocklist": "No history blocklist",
+ "NoHistoryFound": "No history found",
"NoImportListsFound": "No import lists found",
"NoIndexersFound": "No indexers found",
"NoLeaveIt": "No, Leave It",
@@ -850,6 +863,7 @@
"QualitySettingsSummary": "Quality sizes and naming",
"Queue": "Queue",
"QueueIsEmpty": "Queue is empty",
+ "QueueLoadError": "Failed to load Queue",
"Queued": "Queued",
"QuickImport": "Move Automatically",
"RSS": "RSS",
@@ -941,8 +955,8 @@
"RemoveQueueItemConfirmation": "Are you sure you want to remove '{sourceTitle}' from the queue?",
"RemoveRootFolder": "Remove root folder",
"RemoveSelected": "Remove Selected",
+ "RemoveSelectedBlocklistMessageText": "Are you sure you want to remove the selected items from the blocklist?",
"RemoveSelectedItem": "Remove Selected Item",
- "RemoveSelectedItemBlocklistMessageText": "Are you sure you want to remove the selected items from the blocklist?",
"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 {selectedCount} items from the queue?",
@@ -989,7 +1003,7 @@
"Result": "Result",
"Retention": "Retention",
"RetentionHelpText": "Usenet only: Set to zero to set for unlimited retention",
- "RetryingDownloadInterp": "Retrying download {0} at {1}",
+ "RetryingDownloadOn": "Retrying download on {date} at {time}",
"RootFolder": "Root Folder",
"RootFolderCheckMultipleMessage": "Multiple root folders are missing: {0}",
"RootFolderCheckSingleMessage": "Missing root folder: {0}",
@@ -1102,6 +1116,7 @@
"ShowUnknownMovieItems": "Show Unknown Movie Items",
"ShowYear": "Show Year",
"ShownClickToHide": "Shown, click to hide",
+ "ShownUnknownMovieItemsHelpText": "Show items without a movie in the queue. This could include removed movies or anything else in Radarr's category",
"Shutdown": "Shutdown",
"Size": "Size",
"SizeLimit": "Size Limit",
@@ -1208,13 +1223,11 @@
"UnableToLoadAltTitle": "Unable to load alternative titles.",
"UnableToLoadAutoTagging": "Unable to load auto tagging",
"UnableToLoadBackups": "Unable to load backups",
- "UnableToLoadBlocklist": "Unable to load blocklist",
"UnableToLoadCollections": "Unable to load collections",
"UnableToLoadCustomFormats": "Unable to load Custom Formats",
"UnableToLoadDelayProfiles": "Unable to load Delay Profiles",
"UnableToLoadDownloadClientOptions": "Unable to load download client options",
"UnableToLoadGeneralSettings": "Unable to load General settings",
- "UnableToLoadHistory": "Unable to load history",
"UnableToLoadIndexerOptions": "Unable to load indexer options",
"UnableToLoadIndexers": "Unable to load Indexers",
"UnableToLoadListExclusions": "Unable to load List Exclusions",
@@ -1237,6 +1250,8 @@
"UnableToUpdateRadarrDirectly": "Unable to update Radarr directly,",
"Unavailable": "Unavailable",
"Ungroup": "Ungroup",
+ "Unknown": "Unknown",
+ "UnknownEventTooltip": "Unknown event",
"Unlimited": "Unlimited",
"UnmappedFilesOnly": "Unmapped Files Only",
"UnmappedFolders": "Unmapped Folders",