-
\\^$.|?*+()[{ have special meanings and need escaping with a \\
' }} />
- {'More details'} {'Here'}
+
- {'Regular expressions can be tested '}
- Here
+
+
+
+
}
@@ -130,7 +131,7 @@ function EditSpecificationModalContent(props) {
type={inputTypes.CHECK}
name="negate"
{...negate}
- helpText={translate('AutoTaggingNegateHelpText', { name: implementationName })}
+ helpText={translate('AutoTaggingNegateHelpText', { implementationName })}
onChange={onInputChange}
/>
@@ -144,7 +145,7 @@ function EditSpecificationModalContent(props) {
type={inputTypes.CHECK}
name="required"
{...required}
- helpText={translate('AutoTaggingRequiredHelpText', { name: implementationName })}
+ helpText={translate('AutoTaggingRequiredHelpText', { implementationName })}
onChange={onInputChange}
/>
diff --git a/frontend/src/Settings/Tags/AutoTagging/Specifications/Specification.js b/frontend/src/Settings/Tags/AutoTagging/Specifications/Specification.js
index b53bc74b6..21977e160 100644
--- a/frontend/src/Settings/Tags/AutoTagging/Specifications/Specification.js
+++ b/frontend/src/Settings/Tags/AutoTagging/Specifications/Specification.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 EditSpecificationModal from './EditSpecificationModal';
import styles from './Specification.css';
@@ -60,7 +61,7 @@ export default function Specification(props) {
@@ -74,7 +75,7 @@ export default function Specification(props) {
{
negate ?
:
null
}
@@ -82,7 +83,7 @@ export default function Specification(props) {
{
required ?
:
null
}
@@ -98,9 +99,9 @@ export default function Specification(props) {
diff --git a/frontend/src/Settings/Tags/Details/TagDetailsDelayProfile.js b/frontend/src/Settings/Tags/Details/TagDetailsDelayProfile.js
index ab670359b..d3482e94f 100644
--- a/frontend/src/Settings/Tags/Details/TagDetailsDelayProfile.js
+++ b/frontend/src/Settings/Tags/Details/TagDetailsDelayProfile.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import titleCase from 'Utilities/String/titleCase';
+import translate from 'Utilities/String/translate';
function TagDetailsDelayProfile(props) {
const {
@@ -14,22 +15,22 @@ function TagDetailsDelayProfile(props) {
return (
- Protocol: {titleCase(preferredProtocol)}
+ {titleCase(translate('DelayProfileProtocol', { preferredProtocol }))}
{
enableUsenet ?
- `Usenet Delay: ${usenetDelay}` :
- 'Usenet disabled'
+ translate('UsenetDelayTime', { usenetDelay }) :
+ translate('UsenetDisabled')
}
{
enableTorrent ?
- `Torrent Delay: ${torrentDelay}` :
- 'Torrents disabled'
+ translate('TorrentDelayTime', { torrentDelay }) :
+ translate('TorrentsDisabled')
}
diff --git a/frontend/src/Settings/Tags/Details/TagDetailsModalContent.js b/frontend/src/Settings/Tags/Details/TagDetailsModalContent.js
index af05ce3de..41a14807c 100644
--- a/frontend/src/Settings/Tags/Details/TagDetailsModalContent.js
+++ b/frontend/src/Settings/Tags/Details/TagDetailsModalContent.js
@@ -8,6 +8,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { kinds } from 'Helpers/Props';
+import translate from 'Utilities/String/translate';
import TagDetailsDelayProfile from './TagDetailsDelayProfile';
import styles from './TagDetailsModalContent.css';
@@ -30,18 +31,20 @@ function TagDetailsModalContent(props) {
return (
- Tag Details - {label}
+ {translate('TagDetails', { label })}
{
!isTagUsed &&
- Tag is not used and can be deleted
+
+ {translate('TagIsNotUsedAndCanBeDeleted')}
+
}
{
series.length ?
-
diff --git a/frontend/src/Settings/Tags/Tag.js b/frontend/src/Settings/Tags/Tag.js
index 9764f6f05..e7715364c 100644
--- a/frontend/src/Settings/Tags/Tag.js
+++ b/frontend/src/Settings/Tags/Tag.js
@@ -3,6 +3,7 @@ import React, { Component } from 'react';
import Card from 'Components/Card';
import ConfirmModal from 'Components/Modal/ConfirmModal';
import { kinds } from 'Helpers/Props';
+import translate from 'Utilities/String/translate';
import TagDetailsModal from './Details/TagDetailsModal';
import TagInUse from './TagInUse';
import styles from './Tag.css';
@@ -93,45 +94,49 @@ class Tag extends Component {
isTagUsed ?
:
null
@@ -140,7 +145,7 @@ class Tag extends Component {
{
!isTagUsed &&
- No links
+ {translate('NoLinks')}
}
@@ -163,9 +168,9 @@ class Tag extends Component {
diff --git a/frontend/src/Settings/Tags/TagInUse.js b/frontend/src/Settings/Tags/TagInUse.js
index cc0b968b5..9fb57d230 100644
--- a/frontend/src/Settings/Tags/TagInUse.js
+++ b/frontend/src/Settings/Tags/TagInUse.js
@@ -4,31 +4,31 @@ import React from 'react';
export default function TagInUse(props) {
const {
label,
- count,
- shouldPluralize = true
+ labelPlural,
+ count
} = props;
if (count === 0) {
return null;
}
- if (count > 1 && shouldPluralize) {
+ if (count > 1 && labelPlural ) {
return (
- {count} {label}s
+ {count} {labelPlural.toLowerCase()}
);
}
return (
- {count} {label}
+ {count} {label.toLowerCase()}
);
}
TagInUse.propTypes = {
label: PropTypes.string.isRequired,
- count: PropTypes.number.isRequired,
- shouldPluralize: PropTypes.bool
+ labelPlural: PropTypes.string,
+ count: PropTypes.number.isRequired
};
diff --git a/frontend/src/Settings/Tags/TagSettings.js b/frontend/src/Settings/Tags/TagSettings.js
index 1aa555e67..ca8672603 100644
--- a/frontend/src/Settings/Tags/TagSettings.js
+++ b/frontend/src/Settings/Tags/TagSettings.js
@@ -2,12 +2,13 @@ import React from 'react';
import PageContent from 'Components/Page/PageContent';
import PageContentBody from 'Components/Page/PageContentBody';
import SettingsToolbarConnector from 'Settings/SettingsToolbarConnector';
+import translate from 'Utilities/String/translate';
import AutoTaggings from './AutoTagging/AutoTaggings';
import TagsConnector from './TagsConnector';
function TagSettings() {
return (
-
+
diff --git a/frontend/src/Settings/Tags/Tags.js b/frontend/src/Settings/Tags/Tags.js
index 04d8e91e5..8f5a9918a 100644
--- a/frontend/src/Settings/Tags/Tags.js
+++ b/frontend/src/Settings/Tags/Tags.js
@@ -4,6 +4,7 @@ import Alert from 'Components/Alert';
import FieldSet from 'Components/FieldSet';
import PageSectionContent from 'Components/Page/PageSectionContent';
import { kinds } from 'Helpers/Props';
+import translate from 'Utilities/String/translate';
import TagConnector from './TagConnector';
import styles from './Tags.css';
@@ -16,17 +17,17 @@ function Tags(props) {
if (!items.length) {
return (
- No tags have been added yet
+ {translate('NoTagsHaveBeenAddedYet')}
);
}
return (
diff --git a/frontend/src/Settings/UI/UISettings.js b/frontend/src/Settings/UI/UISettings.js
index e9d4ce400..a9365c49a 100644
--- a/frontend/src/Settings/UI/UISettings.js
+++ b/frontend/src/Settings/UI/UISettings.js
@@ -16,8 +16,18 @@ import titleCase from 'Utilities/String/titleCase';
import translate from 'Utilities/String/translate';
export const firstDayOfWeekOptions = [
- { key: 0, value: 'Sunday' },
- { key: 1, value: 'Monday' }
+ {
+ key: 0,
+ get value() {
+ return translate('Sunday');
+ }
+ },
+ {
+ key: 1,
+ get value() {
+ return translate('Monday');
+ }
+ }
];
export const weekColumnOptions = [
@@ -67,7 +77,7 @@ class UISettings extends Component {
.map((theme) => ({ key: theme, value: titleCase(theme) }));
return (
-
+
Unable to load UI settings :
+
+ {translate('UiSettingsLoadError')}
+ :
null
}
@@ -92,9 +104,9 @@ class UISettings extends Component {
id="uiSettings"
{...otherProps}
>
-
+
- First Day of Week
+ {translate('FirstDayOfWeek')}
- Week Column Header
+ {translate('WeekColumnHeader')}
- Short Date Format
+ {translate('ShortDateFormat')}
- Long Date Format
+ {translate('LongDateFormat')}
- Time Format
+ {translate('TimeFormat')}
- Show Relative Dates
+ {translate('ShowRelativeDates')}
@@ -171,14 +183,14 @@ class UISettings extends Component {
- Theme
+ {translate('Theme')}
- Enable Color-Impaired Mode
+ {translate('EnableColorImpairedMode')}
@@ -199,13 +211,13 @@ class UISettings extends Component {
- {translate('UI Language')}
+ {translate('UiLanguage')}
diff --git a/frontend/src/System/Backup/Backups.js b/frontend/src/System/Backup/Backups.js
index 8f7a5b0a5..ede2f97f6 100644
--- a/frontend/src/System/Backup/Backups.js
+++ b/frontend/src/System/Backup/Backups.js
@@ -109,7 +109,7 @@ class Backups extends Component {
{
!isFetching && !!error &&
- {translate('UnableToLoadBackups')}
+ {translate('BackupsLoadError')}
}
diff --git a/frontend/src/System/Updates/Updates.js b/frontend/src/System/Updates/Updates.js
index bded2676d..e40276181 100644
--- a/frontend/src/System/Updates/Updates.js
+++ b/frontend/src/System/Updates/Updates.js
@@ -44,7 +44,7 @@ class Updates extends Component {
const hasUpdateToInstall = hasUpdates && _.some(items, { installable: true, latest: true });
const noUpdateToInstall = hasUpdates && !hasUpdateToInstall;
- const externalUpdaterPrefix = translate('UnableToUpdateSonarrDirectly');
+ const externalUpdaterPrefix = translate('UpdateSonarrDirectlyLoadError');
const externalUpdaterMessages = {
external: translate('ExternalUpdater'),
apt: translate('AptUpdater'),
diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json
index 8e9a1030b..a11957c4b 100644
--- a/src/NzbDrone.Core/Localization/Core/en.json
+++ b/src/NzbDrone.Core/Localization/Core/en.json
@@ -1,23 +1,59 @@
{
"About": "About",
+ "AbsoluteEpisodeNumber": "Absolute Episode Number",
"AbsoluteEpisodeNumbers": "Absolute Episode Number(s)",
"Actions": "Actions",
"Activity": "Activity",
"Add": "Add",
"AddAutoTag": "Add Auto Tag",
+ "AddAutoTagError": "Unable to add a new auto tag, please try again.",
"AddCondition": "Add Condition",
+ "AddConditionError": "Unable to add a new condition, please try again.",
+ "AddConnection": "Add Connection",
+ "AddCustomFormat": "Add Custom Format",
+ "AddCustomFormatError": "Unable to add a new custom format, please try again.",
+ "AddDelayProfile": "Add Delay Profile",
+ "AddDownloadClient": "Add Download Client",
+ "AddDownloadClientError": "Unable to add a new download client, please try again.",
+ "AddExclusion": "Add Exclusion",
+ "AddImportList": "Add Import List",
+ "AddImportListExclusion": "Add Import List Exclusion",
+ "AddImportListExclusionError": "Unable to add a new import list exclusion, please try again.",
+ "AddIndexer": "Add Indexer",
+ "AddIndexerError": "Unable to add a new indexer, please try again.",
+ "AddList": "Add List",
+ "AddListError": "Unable to add a new list, please try again.",
+ "AddListExclusionError": "Unable to add a new list exclusion, please try again.",
"AddNew": "Add New",
+ "AddNewRestriction": "Add new restriction",
+ "AddNotification": "Add Notification",
+ "AddNotificationError": "Unable to add a new notification, please try again.",
+ "AddQualityProfile": "Add Quality Profile",
+ "AddQualityProfileError": "Unable to add a new quality profile, please try again.",
+ "AddReleaseProfile": "Add Release Profile",
+ "AddRemotePathMapping": "Add Remote Path Mapping",
+ "AddRemotePathMappingError": "Unable to add a new remote path mapping, please try again.",
"AddRootFolder": "Add Root Folder",
"Added": "Added",
"AddingTag": "Adding tag",
+ "AfterManualRefresh": "After Manual Refresh",
"Age": "Age",
"AirDate": "Air Date",
"All": "All",
"AllResultsAreHiddenByTheAppliedFilter": "All results are hidden by the applied filter",
"AllTitles": "All Titles",
+ "Always": "Always",
+ "AnalyseVideoFiles": "Analyse video files",
+ "AnalyseVideoFilesHelpText": "Extract video information such as resolution, runtime and codec information from files. This requires Sonarr to read parts of the file which may cause high disk or network activity during scans.",
+ "Analytics": "Analytics",
+ "AnalyticsEnabledHelpText": "Send anonymous usage and error information to Sonarr's servers. This includes information on your browser, which Sonarr WebUI pages you use, error reporting as well as OS and runtime version. We will use this information to prioritize features and bug fixes.",
+ "AnimeEpisodeFormat": "Anime Episode Format",
+ "ApiKey": "API Key",
"ApiKeyValidationHealthCheckMessage": "Please update your API key to be at least {0} characters long. You can do this via settings or the config file",
"AppDataDirectory": "AppData directory",
"AppDataLocationHealthCheckMessage": "Updating will not be possible to prevent deleting AppData on Update",
+ "ApplicationURL": "Application URL",
+ "ApplicationUrlHelpText": "This application's external URL including http(s)://, port and URL base",
"Apply": "Apply",
"ApplyChanges": "Apply Changes",
"ApplyTags": "Apply Tags",
@@ -31,52 +67,152 @@
"AptUpdater": "Use apt to install the update",
"AudioInfo": "Audio Info",
"AudioLanguages": "Audio Languages",
+ "AuthBasic": "Basic (Browser Popup)",
+ "AuthForm": "Forms (Login Page)",
+ "Authentication": "Authentication",
+ "AuthenticationMethodHelpText": "Require Username and Password to access Sonarr",
+ "AuthenticationRequired": "Authentication Required",
+ "AuthenticationRequiredHelpText": "Change which requests authentication is required for. Do not change unless you understand the risks.",
+ "AuthenticationRequiredWarning": "To prevent remote access without authentication, Sonarr now requires authentication to be enabled. You can optionally disable authentication from local addresses.",
"AutoAdd": "Auto Add",
+ "AutoRedownloadFailedHelpText": "Automatically search for and attempt to download a different release",
"AutoTagging": "Auto Tagging",
- "AutoTaggingNegateHelpText": "If checked, the auto tagging rule will not apply if this {name} condition matches.",
- "AutoTaggingRequiredHelpText": "This {name} condition must match for the auto tagging rule to apply. Otherwise a single {name} match is sufficient.",
+ "AutoTaggingLoadError": "Unable to load auto tagging",
+ "AutoTaggingNegateHelpText": "If checked, the auto tagging rule will not apply if this {implementationName} condition matches.",
+ "AutoTaggingRequiredHelpText": "This {implementationName} condition must match for the auto tagging rule to apply. Otherwise a single {implementationName} match is sufficient.",
+ "Automatic": "Automatic",
"AutomaticAdd": "Automatic Add",
+ "AutomaticSearch": "Automatic Search",
"Backup": "Backup",
+ "BackupFolderHelpText": "Relative paths will be under Sonarr's AppData directory",
+ "BackupIntervalHelpText": "Interval between automatic backups",
"BackupNow": "Backup Now",
+ "BackupRetentionHelpText": "Automatic backups older than the retention period will be cleaned up automatically",
"Backups": "Backups",
+ "BackupsLoadError": "Unable to load backups",
"BeforeUpdate": "Before update",
+ "BindAddress": "Bind Address",
+ "BindAddressHelpText": "Valid IP address, localhost or '*' for all interfaces",
"Blocklist": "Blocklist",
+ "BlocklistLoadError": "Unable to load blocklist",
"BlocklistRelease": "Blocklist Release",
"BlocklistReleaseHelpText": "Prevents Sonarr from automatically grabbing this release again",
"BlocklistReleases": "Blocklist Releases",
- "Browser Reload Required": "Browser Reload Required",
+ "Branch": "Branch",
+ "BranchUpdate": "Branch to use to update Sonarr",
+ "BranchUpdateMechanism": "Branch used by external update mechanism",
+ "BrowserReloadRequired": "Browser Reload Required",
+ "BuiltIn": "Built-In",
+ "BypassDelayIfAboveCustomFormatScore": "Bypass if Above Custom Format Score",
+ "BypassDelayIfAboveCustomFormatScoreHelpText": "Enable bypass when release has a score higher than the configured minimum custom format score",
+ "BypassDelayIfAboveCustomFormatScoreMinimumScore": "Minimum Custom Format Score",
+ "BypassDelayIfAboveCustomFormatScoreMinimumScoreHelpText": "Minimum Custom Format Score required to bypass delay for the preferred protocol",
+ "BypassDelayIfHighestQuality": "Bypass if Highest Quality",
+ "BypassDelayIfHighestQualityHelpText": "Bypass delay when release has the highest enabled quality in the quality profile with the preferred protocol",
+ "BypassProxyForLocalAddresses": "Bypass Proxy for Local Addresses",
"Calendar": "Calendar",
+ "CalendarLoadError": "Unable to load the calendar",
"Cancel": "Cancel",
"CancelPendingTask": "Are you sure you want to cancel this pending task?",
+ "CertificateValidation": "Certificate Validation",
+ "CertificateValidationHelpText": "Change how strict HTTPS certification validation is. Do not change unless you understand the risks.",
"Certification": "Certification",
+ "ChangeFileDate": "Change File Date",
+ "ChangeFileDateHelpText": "Change file date on import/rescan",
+ "ChmodFolder": "chmod Folder",
+ "ChmodFolderHelpText": "Octal, applied during import/rename to media folders and files (without execute bits)",
+ "ChmodFolderHelpTextWarning": "This only works if the user running sonarr is the owner of the file. It's better to ensure the download client sets the permissions properly.",
+ "ChownGroup": "chown Group",
+ "ChownGroupHelpText": "Group name or gid. Use gid for remote file systems.",
+ "ChownGroupHelpTextWarning": "This only works if the user running sonarr is the owner of the file. It's better to ensure the download client uses the same group as sonarr.",
"Clear": "Clear",
+ "ClientPriority": "Client Priority",
+ "Clone": "Clone",
"CloneAutoTag": "Clone Auto Tag",
"CloneCondition": "Clone Condition",
"CloneCustomFormat": "Clone Custom Format",
+ "CloneIndexer": "Clone Indexer",
+ "CloneProfile": "Clone Profile",
"Close": "Close",
+ "CollectionsLoadError": "Unable to load collections",
+ "ColonReplacement": "Colon Replacement",
+ "ColonReplacementFormatHelpText": "Change how Sonarr handles colon replacement",
+ "CompletedDownloadHandling": "Completed Download Handling",
"Component": "Component",
+ "Condition": "Condition",
+ "ConditionUsingRegularExpressions": "This condition matches using Regular Expressions. Note that the characters `\\^$.|?*+()[{` have special meanings and need escaping with a `\\`",
"Conditions": "Conditions",
"Connect": "Connect",
+ "ConnectSettings": "Connect Settings",
+ "ConnectSettingsSummary": "Notifications, connections to media servers/players, and custom scripts",
+ "Connections": "Connections",
"ContinuingOnly": "Continuing Only",
+ "CopyToClipboard": "Copy to Clipboard",
+ "CopyUsingHardlinksHelpText": "Hardlinks allow Sonarr to import seeding torrents to the series folder without taking extra disk space or copying the entire contents of the file. Hardlinks will only work if the source and destination are on the same volume",
+ "CopyUsingHardlinksHelpTextWarning": "Occasionally, file locks may prevent renaming files that are being seeded. You may temporarily disable seeding and use Sonarr's rename function as a work around.",
"CountDownloadClientsSelected": "{count} download client(s) selected",
"CountImportListsSelected": "{count} import list(s) selected",
"CountIndexersSelected": "{count} indexer(s) selected",
"CountSeasons": "{count} seasons",
+ "CreateEmptySeriesFolders": "Create Empty Series Folders",
+ "CreateEmptySeriesFoldersHelpText": "Create missing series folders during disk scan",
+ "CreateGroup": "Create Group",
"CurrentlyInstalled": "Currently Installed",
+ "Custom": "Custom",
+ "CustomFormat": "Custom Format",
+ "CustomFormatHelpText": "Sonarr scores each release using the sum of scores for matching custom formats. If a new release would improve the score, at the same or better quality, then Sonarr will grab it.",
"CustomFormatScore": "Custom Format Score",
+ "CustomFormatUnknownCondition": "Unknown Custom Format condition '{implementation}'",
+ "CustomFormatUnknownConditionOption": "Unknown option '{key}' for condition '{implementation}'",
"CustomFormats": "Custom Formats",
+ "CustomFormatsLoadError": "Unable to load Custom Formats",
+ "CustomFormatsSettings": "Custom Formats Settings",
+ "CustomFormatsSettingsSummary": "Custom Formats and Settings",
+ "Cutoff": "Cutoff",
"CutoffUnmet": "Cutoff Unmet",
"Daily": "Daily",
+ "DailyEpisodeFormat": "Daily Episode Format",
+ "Dash": "Dash",
"Date": "Date",
+ "Dates": "Dates",
+ "Debug": "Debug",
+ "DefaultCase": "Default Case",
+ "DefaultDelayProfile": "This is the default profile. It applies to all series that don't have an explicit profile.",
+ "DelayMinutes": "{delay} Minutes",
+ "DelayProfile": "Delay Profile",
+ "DelayProfileProtocol": "Protocol: {preferredProtocol}",
+ "DelayProfileTagsHelpText": "Applies to series with at least one matching tag",
+ "DelayProfiles": "Delay Profiles",
+ "DelayProfilesLoadError": "Unable to load Delay Profiles",
"Delete": "Delete",
"DeleteAutoTag": "Delete Auto Tag",
"DeleteAutoTagHelpText": "Are you sure you want to delete the auto tag '{name}'?",
"DeleteBackup": "Delete Backup",
"DeleteBackupMessageText": "Are you sure you want to delete the backup '{name}'?",
"DeleteCondition": "Delete Condition",
- "DeleteConditionMessageText": "Are you sure you want to delete the condition '{0}'?",
+ "DeleteConditionMessageText": "Are you sure you want to delete the condition '{name}'?",
"DeleteCustomFormat": "Delete Custom Format",
"DeleteCustomFormatMessageText": "Are you sure you want to delete the custom format '{0}'?",
+ "DeleteDelayProfile": "Delete Delay Profile",
+ "DeleteDelayProfileMessageText": "Are you sure you want to delete this delay profile?",
+ "DeleteDownloadClient": "Delete Download Client",
+ "DeleteDownloadClientMessageText": "Are you sure you want to delete the download client '{name}'?",
+ "DeleteEmptyFolders": "Delete Empty Folders",
+ "DeleteEmptyFoldersHelpText": "Delete empty series and season folders during disk scan and when episode files are deleted",
+ "DeleteImportList": "Delete Import List",
+ "DeleteImportListExclusion": "Delete Import List Exclusion",
+ "DeleteImportListExclusionMessageText": "Are you sure you want to delete this import list exclusion?",
+ "DeleteImportListMessageText": "Are you sure you want to delete the list {name}",
+ "DeleteIndexer": "Delete Indexer",
+ "DeleteIndexerMessageText": "Delete Indexer",
+ "DeleteNotification": "Delete Notification",
+ "DeleteNotificationMessageText": "Are you sure you want to delete the notification {name}",
+ "DeleteQualityProfile": "Delete Quality Profile",
+ "DeleteQualityProfileMessageText": "Are you sure you want to delete the quality profile {name}",
+ "DeleteReleaseProfile": "Delete Release Profile",
+ "DeleteReleaseProfileMessageText": "Are you sure you want to delete this release profile {name}",
+ "DeleteRemotePathMapping": "Delete Remote Path Mapping",
+ "DeleteRemotePathMappingMessageText": "Are you sure you want to delete this remote path mapping?",
"DeleteRootFolder": "Delete Root Folder",
"DeleteRootFolderMessageText": "Are you sure you want to delete the root folder '{path}'?",
"DeleteSelectedDownloadClients": "Delete Download Client(s)",
@@ -85,35 +221,84 @@
"DeleteSelectedImportListsMessageText": "Are you sure you want to delete {count} selected import list(s)?",
"DeleteSelectedIndexers": "Delete Indexer(s)",
"DeleteSelectedIndexersMessageText": "Are you sure you want to delete {count} selected indexer(s)?",
+ "DeleteSpecification": "Delete Specification",
+ "DeleteSpecificationHelpText": "Are you sure you want to delete specification '{name}'?",
+ "DeleteTag": "DeleteTag",
+ "DeleteTagMessageText": "Are you sure you want to delete the tag '{label}'?",
"Deleted": "Deleted",
"Details": "Details",
"Disabled": "Disabled",
+ "DisabledForLocalAddresses": "Disabled for Local Addresses",
"Discord": "Discord",
"DiskSpace": "Disk Space",
+ "DoNotPrefer": "Do not Prefer",
+ "DoNotUpgradeAutomatically": "Do not Upgrade Automatically",
"Docker": "Docker",
"DockerUpdater": "Update the docker container to receive the update",
"Donations": "Donations",
+ "DoneEditingGroups": "Done Editing Groups",
"DotNetVersion": ".NET",
"Download": "Download",
"DownloadClient": "Download Client",
"DownloadClientCheckNoneAvailableHealthCheckMessage": "No download client is available",
"DownloadClientCheckUnableToCommunicateWithHealthCheckMessage": "Unable to communicate with {0}.",
+ "DownloadClientOptionsLoadError": "Unable to load download client options",
"DownloadClientRootFolderHealthCheckMessage": "Download client {0} places downloads in the root folder {1}. You should not download to a root folder.",
+ "DownloadClientSettings": "Download Client Settings",
"DownloadClientSortingHealthCheckMessage": "Download client {0} has {1} sorting enabled for Sonarr's category. You should disable sorting in your download client to avoid import issues.",
"DownloadClientStatusAllClientHealthCheckMessage": "All download clients are unavailable due to failures",
"DownloadClientStatusSingleClientHealthCheckMessage": "Download clients unavailable due to failures: {0}",
+ "DownloadClientTagHelpText": "Only use this download client for series with at least one matching tag. Leave blank to use with all series.",
"DownloadClients": "Download Clients",
+ "DownloadClientsLoadError": "Unable to load download clients",
+ "DownloadClientsSettingsSummary": "Download clients, download handling and remote path mappings",
+ "DownloadPropersAndRepacks": "Propers and Repacks",
+ "DownloadPropersAndRepacksHelpText": "Whether or not to automatically upgrade to Propers/Repacks",
+ "DownloadPropersAndRepacksHelpTextCustomFormat": "Use 'Do not Prefer' to sort by custom format score over Propers/Repacks",
+ "DownloadPropersAndRepacksHelpTextWarning": "Use custom formats for automatic upgrades to Propers/Repacks",
+ "Duplicate": "Duplicate",
"Duration": "Duration",
"Edit": "Edit",
"EditAutoTag": "Edit Auto Tag",
"EditCondition": "Edit Condition",
+ "EditConnection": "Edit Connection",
+ "EditCustomFormat": "Edit Custom Format",
+ "EditDelayProfile": "Edit Delay Profile",
+ "EditGroups": "Edit Groups",
+ "EditImportList": "Edit Import List",
+ "EditImportListExclusion": "Edit Import List Exclusion",
+ "EditIndexer": "Edit Indexer",
+ "EditListExclusion": "Edit List Exclusion",
+ "EditMetadata": "Edit {metadataType} Metadata",
+ "EditQualityProfile": "Edit Quality Profile",
+ "EditReleaseProfile": "Edit Release Profile",
+ "EditRemotePathMapping": "Edit Remote Path Mapping",
+ "EditRestriction": "Edit Restriction",
"EditSelectedDownloadClients": "Edit Selected Download Clients",
"EditSelectedImportLists": "Edit Selected Import Lists",
"EditSelectedIndexers": "Edit Selected Indexers",
"EditSeries": "Edit Series",
+ "Enable": "Enable",
+ "EnableAutomaticAdd": "Enable Automatic Add",
+ "EnableAutomaticAddHelpText": "Add series from this list to Sonarr when syncs are performed via the UI or by Sonarr",
"EnableAutomaticSearch": "Enable Automatic Search",
+ "EnableAutomaticSearchHelpText": "Will be used when automatic searches are performed via the UI or by Sonarr",
+ "EnableAutomaticSearchHelpTextWarning": "Will be used when interactive search is used",
+ "EnableColorImpairedMode": "Enable Color-Impaired Mode",
+ "EnableColorImpairedModeHelpText": "Altered style to allow color-impaired users to better distinguish color coded information",
+ "EnableCompletedDownloadHandlingHelpText": "Automatically import completed downloads from download client",
+ "EnableHelpText": "Enable metadata file creation for this metadata type",
"EnableInteractiveSearch": "Enable Interactive Search",
- "EnableRSS": "Enable RSS",
+ "EnableInteractiveSearchHelpText": "Will be used when interactive search is used",
+ "EnableInteractiveSearchHelpTextWarning": "Search is not supported with this indexer",
+ "EnableMediaInfoHelpText": "Extract video information such as resolution, runtime and codec information from files. This requires Sonarr to read parts of the file which may cause high disk or network activity during scans.",
+ "EnableMetadataHelpText": "Enable metadata file creation for this metadata type",
+ "EnableProfile": "Enable Profile",
+ "EnableProfileHelpText": "Check to enable release profile",
+ "EnableRss": "Enable RSS",
+ "EnableRssHelpText": "Will be used when Sonarr periodically looks for releases via RSS Sync",
+ "EnableSsl": "Enable SSL",
+ "EnableSslHelpText": "Requires restart running as administrator to take effect",
"Enabled": "Enabled",
"Ended": "Ended",
"EndedOnly": "Ended Only",
@@ -121,25 +306,39 @@
"EpisodeAirDate": "Episode Air Date",
"EpisodeCount": "Episode Count",
"EpisodeInfo": "Episode Info",
+ "EpisodeNaming": "Episode Naming",
"EpisodeNumbers": "Episode Number(s)",
"EpisodeProgress": "Episode Progress",
+ "EpisodeSearchResultsLoadError": "Unable to load results for this episode search. Try again later",
"EpisodeTitle": "Episode Title",
+ "EpisodeTitleRequired": "Episode Title Required",
+ "EpisodeTitleRequiredHelpText": "Prevent importing for up to 48 hours if the episode title is in the naming format and the episode title is TBA",
"Episodes": "Episodes",
"Error": "Error",
"ErrorRestoringBackup": "Error restoring backup",
"EventType": "Event Type",
"Events": "Events",
+ "Example": "Example",
"Exception": "Exception",
"ExistingTag": "Existing tag",
"ExportCustomFormat": "Export Custom Format",
+ "Extend": "Extend",
+ "External": "External",
"ExternalUpdater": "Sonarr is configured to use an external update mechanism",
+ "ExtraFileExtensionsHelpText": "Comma separated list of extra files to import (.nfo will be imported as .nfo-orig)",
+ "ExtraFileExtensionsHelpTextsExamples": "Examples: '.sub, .nfo' or 'sub,nfo'",
"Failed": "Failed",
"FailedToFetchUpdates": "Failed to fetch updates",
"FailedToUpdateSettings": "Failed to update settings",
"FeatureRequests": "Feature Requests",
+ "FileManagement": "File Management",
+ "FileNameTokens": "File Name Tokens",
+ "FileNames": "File Names",
"Filename": "Filename",
+ "FirstDayOfWeek": "First Day of Week",
"Fixed": "Fixed",
"Folder": "Folder",
+ "Folders": "Folders",
"Formats": "Formats",
"Forums": "Forums",
"FreeSpace": "Free Space",
@@ -147,48 +346,89 @@
"FullSeason": "Full Season",
"General": "General",
"GeneralSettings": "General Settings",
+ "GeneralSettingsLoadError": "Unable to load General settings",
+ "GeneralSettingsSummary": "Port, SSL, username/password, proxy, analytics and updates",
"Genres": "Genres",
"Grabbed": "Grabbed",
+ "Group": "Group",
"HasMissingSeason": "Has Missing Season",
"Health": "Health",
+ "Here": "here",
"HiddenClickToShow": "Hidden, click to show",
"HideAdvanced": "Hide Advanced",
"History": "History",
+ "HistoryLoadError": "Unable to load history",
"HomePage": "Home Page",
+ "Host": "Host",
+ "Hostname": "Hostname",
+ "HourShorthand": "h",
+ "HttpHttps": "HTTP(S)",
"IRC": "IRC",
"IRCLinkText": "#sonarr on Libera",
"Ignored": "Ignored",
+ "IgnoredAddresses": "Ignored Addresses",
+ "Images": "Images",
"Implementation": "Implementation",
+ "Import": "Import",
+ "ImportCustomFormat": "Import Custom Format",
+ "ImportExtraFiles": "Import Extra Files",
+ "ImportExtraFilesHelpText": "Import matching extra files (subtitles, nfo, etc) after importing an episode file",
+ "ImportList": "Import List",
+ "ImportListExclusions": "Import List Exclusions",
+ "ImportListExclusionsLoadError": "Unable to load Import List Exclusions",
"ImportListRootFolderMissingRootHealthCheckMessage": "Missing root folder for import list(s): {0}",
"ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Multiple root folders are missing for import lists: {0}",
+ "ImportListSettings": "Import List Settings",
"ImportListStatusAllUnavailableHealthCheckMessage": "All lists are unavailable due to failures",
"ImportListStatusUnavailableHealthCheckMessage": "Lists unavailable due to failures: {0}",
"ImportLists": "Import Lists",
+ "ImportListsLoadError": "Unable to load Import Lists",
+ "ImportListsSettingsSummary": "Import from another Sonarr instance or Trakt lists and manage list exclusions",
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleHealthCheckMessage": "Enable Completed Download Handling if possible",
"ImportMechanismEnableCompletedDownloadHandlingIfPossibleMultiComputerHealthCheckMessage": "Enable Completed Download Handling if possible (Multi-Computer unsupported)",
"ImportMechanismHandlingDisabledHealthCheckMessage": "Enable Completed Download Handling",
+ "ImportScriptPath": "Import Script Path",
+ "ImportScriptPathHelpText": "The path to the script to use for importing",
+ "ImportUsingScript": "Import Using Script",
+ "ImportUsingScriptHelpText": "Copy files for importing using a script (ex. for transcoding)",
"Imported": "Imported",
+ "Importing": "Importing",
+ "IncludeCustomFormatWhenRenaming": "Include Custom Format when Renaming",
+ "IncludeCustomFormatWhenRenamingHelpText": "Include in {Custom Formats} renaming format",
+ "IncludeHealthWarnings": "Include Health Warnings",
"IncludeUnmonitored": "Include Unmonitored",
"Indexer": "Indexer",
"IndexerDownloadClientHealthCheckMessage": "Indexers with invalid download clients: {0}.",
+ "IndexerDownloadClientHelpText": "Specify which download client is used for grabs from this indexer",
"IndexerJackettAllHealthCheckMessage": "Indexers using the unsupported Jackett 'all' endpoint: {0}",
"IndexerLongTermStatusAllUnavailableHealthCheckMessage": "All indexers are unavailable due to failures for more than 6 hours",
"IndexerLongTermStatusUnavailableHealthCheckMessage": "Indexers unavailable due to failures for more than 6 hours: {0}",
+ "IndexerOptionsLoadError": "Unable to load indexer options",
+ "IndexerPriority": "Indexer Priority",
+ "IndexerPriorityHelpText": "Indexer Priority from 1 (Highest) to 50 (Lowest). Default: 25. Used when grabbing releases as a tiebreaker for otherwise equal releases, Sonarr will still use all enabled indexers for RSS Sync and Searching",
"IndexerRssNoIndexersAvailableHealthCheckMessage": "All rss-capable indexers are temporarily unavailable due to recent indexer errors",
"IndexerRssNoIndexersEnabledHealthCheckMessage": "No indexers available with RSS sync enabled, Sonarr will not grab new releases automatically",
"IndexerSearchNoAutomaticHealthCheckMessage": "No indexers available with Automatic Search enabled, Sonarr will not provide any automatic search results",
"IndexerSearchNoAvailableIndexersHealthCheckMessage": "All search-capable indexers are temporarily unavailable due to recent indexer errors",
"IndexerSearchNoInteractiveHealthCheckMessage": "No indexers available with Interactive Search enabled, Sonarr will not provide any interactive search results",
+ "IndexerSettings": "Indexer Settings",
"IndexerStatusAllUnavailableHealthCheckMessage": "All indexers are unavailable due to failures",
"IndexerStatusUnavailableHealthCheckMessage": "Indexers unavailable due to failures: {0}",
+ "IndexerTagHelpText": "Only use this indexer for series with at least one matching tag. Leave blank to use with all series.",
"Indexers": "Indexers",
+ "IndexersLoadError": "Unable to load Indexers",
+ "IndexersSettingsSummary": "Indexers and indexer options",
"Info": "Info",
"InstallLatest": "Install Latest",
+ "InstanceName": "Instance Name",
+ "InstanceNameHelpText": "Instance name in tab and for Syslog app name",
"InteractiveImport": "Interactive Import",
+ "InteractiveSearch": "Interactive Search",
"Interval": "Interval",
+ "InvalidFormat": "Invalid Format",
"Language": "Language",
- "Language that Sonarr will use for UI": "Language that Sonarr will use for UI",
"Languages": "Languages",
+ "LanguagesLoadError": "Unable to load languages",
"LastDuration": "Last Duration",
"LastExecution": "Last Execution",
"LastUsed": "Last Used",
@@ -196,10 +436,24 @@
"LatestSeason": "Latest Season",
"LiberaWebchat": "Libera Webchat",
"LibraryImport": "Library Import",
+ "ListExclusionsLoadError": "Unable to load List Exclusions",
+ "ListOptionsLoadError": "Unable to load list options",
+ "ListQualityProfileHelpText": "Quality Profile list items will be added with",
+ "ListRootFolderHelpText": "Root Folder list items will be added to",
+ "ListTagsHelpText": "Tags that will be added on import from this list",
+ "ListWillRefreshEveryInterval": "List will refresh every {refreshInterval}",
+ "ListsLoadError": "Unable to load Lists",
+ "LocalAirDate": "Local Air Date",
+ "LocalPath": "Local Path",
"Location": "Location",
"LogFiles": "Log Files",
"LogFilesLocation": "Log files are located in: {location}",
+ "LogLevel": "Log Level",
+ "LogLevelTraceHelpTextWarning": "Trace logging should only be enabled temporarily",
+ "Logging": "Logging",
"Logs": "Logs",
+ "LongDateFormat": "Long Date Format",
+ "Lowercase": "Lowercase",
"MaintenanceRelease": "Maintenance Release: bug fixes and other improvements. See Github Commit History for more details",
"ManageClients": "Manage Clients",
"ManageDownloadClients": "Manage Download Clients",
@@ -207,81 +461,210 @@
"ManageIndexers": "Manage Indexers",
"ManageLists": "Manage Lists",
"Manual": "Manual",
+ "ManualImportItemsLoadError": "Unable to load manual import items",
"MatchedToEpisodes": "Matched to Episodes",
"MatchedToSeason": "Matched to Season",
"MatchedToSeries": "Matched to Series",
+ "Max": "Max",
+ "MaximumLimits": "Maximum Limits",
+ "MaximumSingleEpisodeAge": "Maximum Single Episode Age",
+ "MaximumSingleEpisodeAgeHelpText": "During a full season search only season packs will be allowed when the season's last episode is older than this setting. Standard series only. Use 0 to disable.",
+ "MaximumSize": "Maximum Size",
+ "MaximumSizeHelpText": "Maximum size for a release to be grabbed in MB. Set to zero to set to unlimited",
+ "Mechanism": "Mechanism",
+ "MediaInfo": "Media Info",
+ "MediaInfoFootNote": "MediaInfo Full/AudioLanguages/SubtitleLanguages support a `:EN+DE` suffix allowing you to filter the languages included in the filename. Use `-DE` to exclude specific languages. Appending `+` (eg `:EN+`) will output `[EN]`/`[EN+--]`/`[--]` depending on excluded languages. For example `{MediaInfo Full:EN+DE}`.",
"MediaManagement": "Media Management",
+ "MediaManagementSettings": "Media Management Settings",
+ "MediaManagementSettingsLoadError": "Unable to load Media Management settings",
+ "MediaManagementSettingsSummary": "Naming, file management settings and root folders",
+ "MegabytesPerMinute": "Megabytes Per Minute",
"Message": "Message",
"Metadata": "Metadata",
+ "MetadataLoadError": "Unable to load Metadata",
+ "MetadataSettings": "Metadata Settings",
+ "MetadataSettingsSummary": "Create metadata files when episodes are imported or series are refreshed",
"MetadataSource": "Metadata Source",
+ "MetadataSourceSettings": "Metadata Source Settings",
+ "MetadataSourceSettingsSummary": "Information on where Sonarr gets series and episode information",
+ "Min": "Min",
+ "MinimumAge": "Minimum Age",
+ "MinimumAgeHelpText": "Usenet only: Minimum age in minutes of NZBs before they are grabbed. Use this to give new releases time to propagate to your usenet provider.",
+ "MinimumCustomFormatScore": "Minimum Custom Format Score",
+ "MinimumCustomFormatScoreHelpText": "Minimum custom format score allowed to download",
+ "MinimumFreeSpace": "Minimum Free Space",
+ "MinimumFreeSpaceHelpText": "Prevent import if it would leave less than this amount of disk space available",
+ "MinimumLimits": "Minimum Limits",
+ "MinutesFortyFive": "45 Minutes: {fortyFive}",
+ "MinutesSixty": "60 Minutes: {sixty}",
+ "MinutesThirty": "30 Minutes: {thirty}",
"Missing": "Missing",
"MissingEpisodes": "Missing Episodes",
"Mode": "Mode",
+ "Monday": "Monday",
"Monitored": "Monitored",
"MonitoredOnly": "Monitored Only",
+ "MonitoringOptions": "Monitoring Options",
+ "MoreDetails": "More details",
"MoreInfo": "More Info",
"MountHealthCheckMessage": "Mount containing a series path is mounted read-only: ",
"MoveAutomatically": "Move Automatically",
+ "MultiEpisode": "Multi Episode",
+ "MultiEpisodeInvalidFormat": "Multi Episode: Invalid Format",
+ "MultiEpisodeStyle": "Multi Episode Style",
"MultiSeason": "Multi-Season",
+ "MustContain": "Must Contain",
+ "MustContainHelpText": "The release must contain at least one of these terms (case insensitive)",
+ "MustNotContain": "Must Not Contain",
+ "MustNotContainHelpText": "The release will be rejected if it contains one or more of terms (case insensitive)",
"Name": "Name",
+ "NamingSettings": "Naming Settings",
+ "NamingSettingsLoadError": "Unable to load Naming settings",
"Negate": "Negate",
+ "NegateHelpText": "If checked, the custom format will not apply if this {implementationName} condition matches.",
"Negated": "Negated",
"Network": "Network",
+ "Never": "Never",
"New": "New",
"NextAiring": "Next Airing",
"NextExecution": "Next Execution",
"No": "No",
"NoBackupsAreAvailable": "No backups are available",
"NoChange": "No Change",
+ "NoChanges": "No Changes",
+ "NoDelay": "No Delay",
"NoDownloadClientsFound": "No download clients found",
"NoEventsFound": "No events found",
"NoImportListsFound": "No import lists found",
"NoIndexersFound": "No indexers found",
"NoIssuesWithYourConfiguration": "No issues with your configuration",
"NoLeaveIt": "No, Leave It",
+ "NoLimitForAnyRuntime": "No limit for any runtime",
+ "NoLinks": "No links",
"NoLogFiles": "No log files",
+ "NoMinimumForAnyRuntime": "No minimum for any runtime",
"NoResultsFound": "No results found",
"NoSeasons": "No seasons",
+ "NoTagsHaveBeenAddedYet": "No tags have been added yet",
"NoUpdatesAreAvailable": "No updates are available",
+ "None": "None",
"NotSeasonPack": "Not Season Pack",
+ "NotificationTriggers": "Notification Triggers",
+ "NotificationTriggersHelpText": "Select which events should trigger this notification",
+ "NotificationsLoadError": "Unable to load Notifications",
+ "NotificationsTagsHelpText": "Only send notifications for series with at least one matching tag",
+ "OnApplicationUpdate": "On Application Update",
+ "OnEpisodeFileDelete": "On Episode File Delete",
+ "OnEpisodeFileDeleteForUpgrade": "On Episode File Delete For Upgrade",
+ "OnGrab": "On Grab",
+ "OnHealthIssue": "On Health Issue",
+ "OnHealthRestored": "On Health Restored",
+ "OnImport": "On Import",
"OnLatestVersion": "The latest version of Sonarr is already installed",
+ "OnManualInteractionRequired": "On Manual Interaction Required",
+ "OnRename": "On Rename",
+ "OnSeriesAdd": "On Series Add",
+ "OnSeriesDelete": "On Series Delete",
+ "OnUpgrade": "On Upgrade",
+ "OneMinute": "1 Minute",
"OneSeason": "1 season",
+ "OnlyForBulkSeasonReleases": "Only for Bulk Season Releases",
+ "OnlyTorrent": "Only Torrent",
+ "OnlyUsenet": "Only Usenet",
+ "OpenBrowserOnStart": "Open browser on start",
+ "OpenBrowserOnStartHelpText": " Open a web browser and navigate to the Sonarr homepage on app start.",
+ "OptionalName": "Optional name",
"Options": "Options",
+ "Original": "Original",
"OriginalLanguage": "Original Language",
+ "Other": "Other",
"OutputPath": "Output Path",
"PackageVersion": "Package Version",
"PackageVersionInfo": "{packageVersion} by {packageAuthor}",
"PartialSeason": "Partial Season",
+ "Password": "Password",
"Path": "Path",
"Peers": "Peers",
+ "PendingChangesDiscardChanges": "Discard changes and leave",
+ "PendingChangesMessage": "You have unsaved changes, are you sure you want to leave this page?",
+ "PendingChangesStayReview": "Stay and review changes",
+ "Period": "Period",
+ "Permissions": "Permissions",
+ "PortNumber": "Port Number",
+ "PreferAndUpgrade": "Prefer and Upgrade",
+ "PreferProtocol": "Prefer {preferredProtocol}",
+ "PreferTorrent": "Prefer Torrent",
+ "PreferUsenet": "Prefer Usenet",
+ "Preferred": "Preferred",
+ "PreferredProtocol": "Preferred Protocol",
+ "PreferredSize": "Preferred Size",
+ "PrefixedRange": "Prefixed Range",
+ "Presets": "Presets",
"PreviousAiring": "Previous Airing",
"PreviouslyInstalled": "Previously Installed",
"Priority": "Priority",
+ "PriorityHelpText": "Prioritize multiple Download Clients. Round-Robin is used for clients with the same priority.",
+ "PrioritySettings": "Priority: {priority}",
"Profiles": "Profiles",
+ "ProfilesSettingsSummary": "Quality, Language Delay and Release profiles",
"Progress": "Progress",
"Proper": "Proper",
"Protocol": "Protocol",
+ "ProtocolHelpText": "Choose which protocol(s) to use and which one is preferred when choosing between otherwise equal releases",
+ "Proxy": "Proxy",
"ProxyBadRequestHealthCheckMessage": "Failed to test proxy. Status Code: {0}",
+ "ProxyBypassFilterHelpText": "Use ',' as a separator, and '*.' as a wildcard for subdomains",
"ProxyFailedToTestHealthCheckMessage": "Failed to test proxy: {0}",
+ "ProxyPasswordHelpText": "You only need to enter a username and password if one is required. Leave them blank otherwise.",
"ProxyResolveIpHealthCheckMessage": "Failed to resolve the IP Address for the Configured Proxy Host {0}",
+ "ProxyType": "Proxy Type",
+ "ProxyUsernameHelpText": "You only need to enter a username and password if one is required. Leave them blank otherwise.",
+ "Qualities": "Qualities",
+ "QualitiesHelpText": "Qualities higher in the list are more preferred. Qualities within the same group are equal. Only checked qualities are wanted",
+ "QualitiesLoadError": "Unable to load qualities",
"Quality": "Quality",
+ "QualityDefinitions": "Quality Definitions",
+ "QualityDefinitionsLoadError": "Unable to load Quality Definitions",
+ "QualityLimitsHelpText": "Limits are automatically adjusted for the series runtime and number of episodes in the file.",
"QualityProfile": "Quality Profile",
+ "QualityProfileInUse": "Can't delete a quality profile that is attached to a series, list, or collection",
+ "QualityProfiles": "Quality Profiles",
+ "QualityProfilesLoadError": "Unable to load Quality Profiles",
+ "QualitySettings": "Quality Settings",
+ "QualitySettingsSummary": "Quality sizes and naming",
"Queue": "Queue",
"Queued": "Queued",
+ "Range": "Range",
"Rating": "Rating",
"ReadTheWikiForMoreInformation": "Read the Wiki for more information",
"Real": "Real",
"RecycleBinUnableToWriteHealthCheckMessage": "Unable to write to configured recycling bin folder: {0}. Ensure this path exists and is writable by the user running Sonarr",
+ "RecyclingBin": "Recycling Bin",
+ "RecyclingBinCleanup": "Recycling Bin Cleanup",
+ "RecyclingBinCleanupHelpText": "Set to 0 to disable automatic cleanup",
+ "RecyclingBinCleanupHelpTextWarning": "Files in the recycle bin older than the selected number of days will be cleaned up automatically",
+ "RecyclingBinHelpText": "Episode files will go here when deleted instead of being permanently deleted",
+ "RedownloadFailed": "Redownload Failed",
"Refresh": "Refresh",
"RefreshSeries": "Refresh Series",
+ "RegularExpression": "Regular Expression",
+ "RegularExpressionsCanBeTested": "Regular expressions can be tested [here](http://regexstorm.net/tester).",
+ "RegularExpressionsTutorialLink": "More details on regular expressions can be found [here](https://www.regular-expressions.info/tutorial.html).",
"RejectionCount": "Rejection Count",
"RelativePath": "Relative Path",
"Release": "Release",
"ReleaseGroup": "Release Group",
"ReleaseGroups": "Release Groups",
"ReleaseHash": "Release Hash",
+ "ReleaseProfile": "Release Profile",
+ "ReleaseProfileIndexerHelpText": "Specify what indexer the profile applies to",
+ "ReleaseProfileIndexerHelpTextWarning": "Using a specific indexer with release profiles can lead to duplicate releases being grabbed",
+ "ReleaseProfileTagHelpText": "Release profiles will apply to series with at least one matching tag. Leave blank to apply to all series",
+ "ReleaseProfiles": "Release Profiles",
+ "ReleaseProfilesLoadError": "Unable to load Release Profiles",
"ReleaseTitle": "Release Title",
"Reload": "Reload",
+ "RemotePath": "Remote Path",
"RemotePathMappingBadDockerPathHealthCheckMessage": "You are using docker; download client {0} places downloads in {1} but this is not a valid {2} path. Review your remote path mappings and download client settings.",
"RemotePathMappingDockerFolderMissingHealthCheckMessage": "You are using docker; download client {0} places downloads in {1} but this directory does not appear to exist inside the container. Review your remote path mappings and container volume settings.",
"RemotePathMappingDownloadPermissionsHealthCheckMessage": "Sonarr can see but not access downloaded episode {0}. Likely permissions error.",
@@ -292,16 +675,24 @@
"RemotePathMappingFilesWrongOSPathHealthCheckMessage": "Remote download client {0} reported files in {1} but this is not a valid {2} path. Review your remote path mappings and download client settings.",
"RemotePathMappingFolderPermissionsHealthCheckMessage": "Sonarr can see but not access download directory {0}. Likely permissions error.",
"RemotePathMappingGenericPermissionsHealthCheckMessage": "Download client {0} places downloads in {1} but Sonarr cannot see this directory. You may need to adjust the folder's permissions.",
+ "RemotePathMappingHostHelpText": "The same host you specified for the remote Download Client",
"RemotePathMappingImportFailedHealthCheckMessage": "Sonarr failed to import (an) episode(s). Check your logs for details.",
"RemotePathMappingLocalFolderMissingHealthCheckMessage": "Remote download client {0} places downloads in {1} but this directory does not appear to exist. Likely missing or incorrect remote path mapping.",
+ "RemotePathMappingLocalPathHelpText": "Path that Sonarr should use to access the remote path locally",
"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.",
+ "RemotePathMappingRemotePathHelpText": "Root path to the directory that the Download Client accesses",
"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.",
+ "RemotePathMappings": "Remote Path Mappings",
+ "RemotePathMappingsLoadError": "Unable to load Remote Path Mappings",
"Remove": "Remove",
"RemoveCompleted": "Remove Completed",
"RemoveCompletedDownloads": "Remove Completed Downloads",
+ "RemoveCompletedDownloadsHelpText": "Remove imported downloads from download client history",
+ "RemoveDownloadsAlert": "The Remove settings were moved to the individual Download Client settings in the table above.",
"RemoveFailed": "Remove Failed",
"RemoveFailedDownloads": "Remove Failed Downloads",
+ "RemoveFailedDownloadsHelpText": "Remove failed downloads from download client history",
"RemoveFromDownloadClient": "Remove From Download Client",
"RemoveFromDownloadClientHelpTextWarning": "Removing will remove the download and the file(s) from the download client.",
"RemoveRootFolder": "Remove root folder",
@@ -315,93 +706,237 @@
"RemovedSeriesMultipleRemovedHealthCheckMessage": "Series {0} were removed from TheTVDB",
"RemovedSeriesSingleRemovedHealthCheckMessage": "Series {0} was removed from TheTVDB",
"RemovingTag": "Removing tag",
+ "RenameEpisodes": "Rename Episodes",
+ "RenameEpisodesHelpText": "Sonarr will use the existing file name if renaming is disabled",
"Renamed": "Renamed",
+ "Reorder": "Reorder",
"Repack": "Repack",
+ "Repeat": "Repeat",
"Replace": "Replace",
+ "ReplaceIllegalCharacters": "Replace Illegal Characters",
+ "ReplaceIllegalCharactersHelpText": "Replace illegal characters. If unchecked, Sonarr will remove them instead",
+ "ReplaceWithDash": "Replace with Dash",
+ "ReplaceWithSpaceDash": "Replace with Space Dash",
+ "ReplaceWithSpaceDashSpace": "Replace with Space Dash Space",
"Required": "Required",
+ "RequiredHelpText": "This {implementationName} condition must match for the custom format to apply. Otherwise a single {implementationName} match is sufficient.",
+ "RescanAfterRefreshHelpText": "Rescan the series folder after refreshing the series",
+ "RescanAfterRefreshHelpTextWarning": "Sonarr will not automatically detect changes to files when not set to 'Always'",
+ "RescanSeriesFolderAfterRefresh": "Rescan Series Folder after Refresh",
"Reset": "Reset",
+ "ResetAPIKey": "Reset API Key",
+ "ResetAPIKeyMessageText": "Are you sure you want to reset your API Key?",
"ResetDefinitionTitlesHelpText": "Reset definition titles as well as values",
+ "ResetDefinitions": "Reset Definitions",
"ResetQualityDefinitions": "Reset Quality Definitions",
"ResetQualityDefinitionsMessageText": "Are you sure you want to reset quality definitions?",
"ResetTitles": "Reset Titles",
"Restart": "Restart",
+ "RestartLater": "I'll restart later",
+ "RestartNow": "Restart Now",
"RestartReloadNote": "Note: Sonarr will automatically restart and reload the UI during the restore process.",
+ "RestartRequiredHelpTextWarning": "Requires restart to take effect",
+ "RestartRequiredToApplyChanges": "Sonarr requires a restart to apply changes, do you want to restart now?",
+ "RestartRequiredWindowsService": "Depending which user is running the Sonarr service you may need to restart Sonarr as admin once before the service will start automatically.",
+ "RestartSonarr": "Restart Sonarr",
"Restore": "Restore",
"RestoreBackup": "Restore Backup",
+ "RestrictionsLoadError": "Unable to load Restrictions",
"Result": "Result",
+ "Retention": "Retention",
+ "RetentionHelpText": "Usenet only: Set to zero to set for unlimited retention",
"RootFolder": "Root Folder",
+ "RootFolderLoadError": "Unable to add root folder",
"RootFolderMissingHealthCheckMessage": "Missing root folder: {0}",
"RootFolderMultipleMissingHealthCheckMessage": "Multiple root folders are missing: {0}",
"RootFolderPath": "Root Folder Path",
"RootFolders": "Root Folders",
+ "RootFoldersLoadError": "Unable to load root folders",
+ "Rss": "RSS",
+ "RssIsNotSupportedWithThisIndexer": "RSS is not supported with this indexer",
+ "RssSyncInterval": "RSS Sync Interval",
+ "RssSyncIntervalHelpText": "Interval in minutes. Set to zero to disable (this will stop all automatic release grabbing)",
+ "RssSyncIntervalHelpTextWarning": "This will apply to all indexers, please follow the rules set forth by them",
"Runtime": "Runtime",
"Save": "Save",
+ "SaveChanges": "Save Changes",
+ "SaveSettings": "Save Settings",
+ "Scene": "Scene",
"SceneNumbering": "Scene Numbering",
"Scheduled": "Scheduled",
+ "Score": "Score",
+ "Script": "Script",
+ "ScriptPath": "Script Path",
"SearchForMonitoredEpisodes": "Search for monitored episodes",
+ "SearchIsNotSupportedWithThisIndexer": "Search is not supported with this indexer",
"Season": "Season",
"SeasonCount": "Season Count",
"SeasonFolder": "Season Folder",
+ "SeasonFolderFormat": "Season Folder Format",
"SeasonNumber": "Season Number",
"SeasonPack": "Season Pack",
"Seasons": "Seasons",
+ "Security": "Security",
"Seeders": "Seeders",
"SelectFolder": "Select Folder",
+ "SendAnonymousUsageData": "Send Anonymous Usage Data",
"Series": "Series",
+ "SeriesAndEpisodeInformationIsProvidedByTheTVDB": "Series and episode information is provided by TheTVDB.com. [Please consider supporting them](https://www.thetvdb.com/subscribe).",
"SeriesEditor": "Series Editor",
+ "SeriesFolderFormat": "Series Folder Format",
+ "SeriesFolderFormatHelpText": "Used when adding a new series or moving series via the series editor",
+ "SeriesID": "Series ID",
+ "SeriesLoadError": "Unable to load Series",
"SeriesTitle": "Series Title",
+ "SeriesTitleToExcludeHelpText": "The name of the series to exclude",
+ "SeriesType": "Series Type",
+ "SeriesTypes": "Series Types",
+ "SetPermissions": "Set Permissions",
+ "SetPermissionsLinuxHelpText": "Should chmod be run when files are imported/renamed?",
+ "SetPermissionsLinuxHelpTextWarning": "If you're unsure what these settings do, do not alter them.",
"SetTags": "Set Tags",
"Settings": "Settings",
+ "ShortDateFormat": "Short Date Format",
"ShowAdvanced": "Show Advanced",
+ "ShowRelativeDates": "Show Relative Dates",
+ "ShowRelativeDatesHelpText": "Show relative (Today/Yesterday/etc) or absolute dates",
"ShownClickToHide": "Shown, click to hide",
+ "SingleEpisode": "Single Episode",
+ "SingleEpisodeInvalidFormat": "Single Episode: Invalid Format",
"Size": "Size",
+ "SizeLimit": "Size Limit",
"SizeOnDisk": "Size on disk",
+ "SkipFreeSpaceCheck": "Skip Free Space Check",
+ "SkipFreeSpaceCheckWhenImportingHelpText": "Use when Sonarr is unable to detect free space from your series root folder",
"SkipRedownload": "Skip Redownload",
"SkipRedownloadHelpText": "Prevents Sonarr from trying to download an alternative release for this item",
+ "SmartReplace": "Smart Replace",
+ "SmartReplaceHint": "Dash or Space Dash depending on name",
+ "Socks4": "Socks4",
+ "Socks5": "Socks5 (Support TOR)",
"SomeResultsAreHiddenByTheAppliedFilter": "Some results are hidden by the applied filter",
+ "SonarrTags": "Sonarr Tags",
"Source": "Source",
"SourceTitle": "Source Title",
+ "Space": "Space",
"Special": "Special",
+ "SpecialsFolderFormat": "Specials Folder Format",
+ "SslCertPassword": "SSL Cert Password",
+ "SslCertPasswordHelpText": "Password for pfx file",
+ "SslCertPath": "SSL Cert Path",
+ "SslCertPathHelpText": "Path to pfx file",
+ "SslPort": "SSL Port",
+ "StandardEpisodeFormat": "Standard Episode Format",
"Started": "Started",
"StartupDirectory": "Startup directory",
"Status": "Status",
+ "Style": "Style",
"SubtitleLanguages": "Subtitle Languages",
+ "Sunday": "Sunday",
+ "SupportedAutoTaggingProperties": "Sonarr supports the follow properties for auto tagging rules",
+ "SupportedCustomConditions": "Sonarr supports custom conditions against the release properties below.",
+ "SupportedDownloadClients": "Sonarr supports many popular torrent and usenet download clients.",
+ "SupportedDownloadClientsMoreInfo": "For more information on the individual download clients, click the more info buttons.",
+ "SupportedImportListsMoreInfo": "For more information on the individual import lists, click on the more info buttons.",
+ "SupportedIndexers": "Sonarr supports any indexer that uses the Newznab standard, as well as other indexers listed below.",
+ "SupportedIndexersMoreInfo": "For more information on the individual indexers, click on the more info buttons.",
+ "SupportedLists": "Sonarr supports multiple lists for importing Series into the database.",
+ "SupportedListsMoreInfo": "For more information on the individual lists, click on the more info buttons.",
"System": "System",
"SystemTimeHealthCheckMessage": "System time is off by more than 1 day. Scheduled tasks may not run correctly until the time is corrected",
+ "TagCannotBeDeletedWhileInUse": "Tag cannot be deleted while in use",
+ "TagDetails": "Tag Details - {label}",
+ "TagIsNotUsedAndCanBeDeleted": "Tag is not used and can be deleted",
"Tags": "Tags",
+ "TagsLoadError": "Unable to load Tags",
+ "TagsSettingsSummary": "See all tags and how they are used. Unused tags can be removed",
"TaskUserAgentTooltip": "User-Agent provided by the app that called the API",
"Tasks": "Tasks",
"TestAll": "Test All",
+ "TestAllClients": "Test All Clients",
+ "TestAllIndexers": "Test All Indexers",
+ "TestAllLists": "Test All Lists",
"TestParsing": "Test Parsing",
"TheLogLevelDefault": "The log level defaults to 'Info' and can be changed in [General Settings](/settings/general)",
+ "TheTvdb": "TheTVDB",
+ "Theme": "Theme",
+ "ThemeHelpText": "Change Application UI Theme, 'Auto' Theme will use your OS Theme to set Light or Dark mode. Inspired by Theme.Park",
"Time": "Time",
+ "TimeFormat": "Time Format",
"TimeLeft": "Time Left",
"Title": "Title",
+ "TorrentDelay": "Torrent Delay",
+ "TorrentDelayHelpText": "Delay in minutes to wait before grabbing a torrent",
+ "TorrentDelayTime": "Torrent Delay: {torrentDelay}",
+ "Torrents": "Torrents",
+ "TorrentsDisabled": "Torrents Disabled",
"TotalSpace": "Total Space",
+ "Trace": "Trace",
+ "TvdbId": "TVDB ID",
+ "TvdbIdExcludeHelpText": "The TVDB ID of the series to exclude",
"Twitter": "Twitter",
"Type": "Type",
- "UI": "UI",
- "UI Language": "UI Language",
+ "TypeOfList": "{typeOfList} List",
+ "Ui": "UI",
+ "UiLanguage": "UI Language",
+ "UiLanguageHelpText": "Language that Sonarr will use for UI",
+ "UiSettings": "UI Settings",
+ "UiSettingsLoadError": "Unable to load UI settings",
+ "UiSettingsSummary": "Calendar, date and color impaired options",
"UnableToLoadAutoTagging": "Unable to load auto tagging",
"UnableToLoadBackups": "Unable to load backups",
"UnableToLoadRootFolders": "Unable to load root folders",
"UnableToUpdateSonarrDirectly": "Unable to update Sonarr directly,",
"Unavailable": "Unavailable",
+ "Underscore": "Underscore",
+ "Ungroup": "Ungroup",
+ "Unlimited": "Unlimited",
"UnmappedFolders": "Unmapped Folders",
+ "UnmonitorDeletedEpisodes": "Unmonitor Deleted Episodes",
+ "UnmonitorDeletedEpisodesHelpText": "Episodes deleted from disk are automatically unmonitored in Sonarr",
"Unmonitored": "Unmonitored",
"UnmonitoredOnly": "Unmonitored Only",
+ "UnsavedChanges": "Unsaved Changes",
+ "UpdateAutomaticallyHelpText": "Automatically download and install updates. You will still be able to install from System: Updates",
"UpdateAvailableHealthCheckMessage": "New update is available",
+ "UpdateMechanismHelpText": "Use Sonarr's built-in updater or a script",
+ "UpdateScriptPathHelpText": "Path to a custom script that takes an extracted update package and handle the remainder of the update process",
+ "UpdateSonarrDirectlyLoadError": "Unable to update Sonarr directly,",
"UpdateStartupNotWritableHealthCheckMessage": "Cannot install update because startup folder '{0}' is not writable by the user '{1}'.",
"UpdateStartupTranslocationHealthCheckMessage": "Cannot install update because startup folder '{0}' is in an App Translocation folder.",
"UpdateUINotWritableHealthCheckMessage": "Cannot install update because UI folder '{0}' is not writable by the user '{1}'.",
+ "UpdateUiNotWritableHealthCheckMessage": "Cannot install update because UI folder '{0}' is not writable by the user '{1}'.",
"UpdaterLogFiles": "Updater Log Files",
"Updates": "Updates",
+ "UpgradeUntil": "Upgrade Until",
+ "UpgradeUntilCustomFormatScore": "Upgrade Until Custom Format Score",
+ "UpgradeUntilCustomFormatScoreHelpText": "Once this custom format score is reached Sonarr will no longer grab episode releases",
+ "UpgradeUntilHelpText": "Once this quality is reached Sonarr will no longer download episodes",
+ "UpgradeUntilThisQualityIsMetOrExceeded": "Upgrade until this quality is met or exceeded",
+ "UpgradesAllowed": "Upgrades Allowed",
+ "UpgradesAllowedHelpText": "If disabled qualities will not be upgraded",
+ "Uppercase": "Uppercase",
"Uptime": "Uptime",
+ "UrlBase": "URL Base",
+ "UrlBaseHelpText": "For reverse proxy support, default is empty",
+ "UseHardlinksInsteadOfCopy": "Use Hardlinks instead of Copy",
+ "UseProxy": "Use Proxy",
+ "Usenet": "Usenet",
+ "UsenetDelay": "Usenet Delay",
+ "UsenetDelayHelpText": "Delay in minutes to wait before grabbing a release from Usenet",
+ "UsenetDelayTime": "Usenet Delay: {usenetDelay}",
+ "UsenetDisabled": "Usenet Disabled",
+ "Username": "Username",
+ "UtcAirDate": "UTC Air Date",
"Version": "Version",
"VideoCodec": "Video Codec",
"VideoDynamicRange": "Video Dynamic Range",
+ "VisitTheWikiForMoreDetails": "Visit the wiki for more details: ",
+ "WantMoreControlAddACustomFormat": "Want more control over which downloads are preferred? Add a [Custom Format](/settings/customformats)",
"Wanted": "Wanted",
"Warn": "Warn",
+ "WeekColumnHeader": "Week Column Header",
+ "WeekColumnHeaderHelpText": "Shown above each column when week is the active view",
"Wiki": "Wiki",
"WouldYouLikeToRestoreBackup": "Would you like to restore the backup '{name}'?",
"Year": "Year",