This condition matches using Regular Expressions. See here for details. Note that the characters {'\\^$.|?*+()[{'} have special meanings and need escaping with a \
}
{
diff --git a/frontend/src/Utilities/String/translate.js b/frontend/src/Utilities/String/translate.js
index 01e162512..38605c2de 100644
--- a/frontend/src/Utilities/String/translate.js
+++ b/frontend/src/Utilities/String/translate.js
@@ -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];
});
}
diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json
index b1ffd7bc0..64d0b6744 100644
--- a/src/NzbDrone.Core/Localization/Core/en.json
+++ b/src/NzbDrone.Core/Localization/Core/en.json
@@ -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"
}