Fixed: Missing Translates

This commit is contained in:
Bakerboy448
2023-04-29 14:43:13 -05:00
committed by Qstick
parent a0e2f3324c
commit 40dc4de47d
9 changed files with 84 additions and 43 deletions

View File

@@ -6,6 +6,7 @@ import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableRow from 'Components/Table/TableRow'; import TableRow from 'Components/Table/TableRow';
import { icons } from 'Helpers/Props'; import { icons } from 'Helpers/Props';
import CapabilitiesLabel from 'Indexer/Index/Table/CapabilitiesLabel'; import CapabilitiesLabel from 'Indexer/Index/Table/CapabilitiesLabel';
import translate from 'Utilities/String/translate';
import HistoryDetailsModal from './Details/HistoryDetailsModal'; import HistoryDetailsModal from './Details/HistoryDetailsModal';
import HistoryEventTypeCell from './HistoryEventTypeCell'; import HistoryEventTypeCell from './HistoryEventTypeCell';
import HistoryRowParameter from './HistoryRowParameter'; import HistoryRowParameter from './HistoryRowParameter';
@@ -193,7 +194,7 @@ class HistoryRow extends Component {
{ {
data.season ? data.season ?
<HistoryRowParameter <HistoryRowParameter
title='Season' title={translate('Season')}
value={data.season} value={data.season}
/> : /> :
null null
@@ -202,7 +203,7 @@ class HistoryRow extends Component {
{ {
data.episode ? data.episode ?
<HistoryRowParameter <HistoryRowParameter
title='Episode' title={translate('Episode')}
value={data.episode} value={data.episode}
/> : /> :
null null
@@ -211,7 +212,7 @@ class HistoryRow extends Component {
{ {
data.artist ? data.artist ?
<HistoryRowParameter <HistoryRowParameter
title='Artist' title={translate('Artist')}
value={data.artist} value={data.artist}
/> : /> :
null null
@@ -220,7 +221,7 @@ class HistoryRow extends Component {
{ {
data.album ? data.album ?
<HistoryRowParameter <HistoryRowParameter
title='Album' title={translate('Album')}
value={data.album} value={data.album}
/> : /> :
null null
@@ -229,7 +230,7 @@ class HistoryRow extends Component {
{ {
data.label ? data.label ?
<HistoryRowParameter <HistoryRowParameter
title='Label' title={translate('Label')}
value={data.label} value={data.label}
/> : /> :
null null
@@ -238,7 +239,7 @@ class HistoryRow extends Component {
{ {
data.track ? data.track ?
<HistoryRowParameter <HistoryRowParameter
title='Track' title={translate('Track')}
value={data.track} value={data.track}
/> : /> :
null null
@@ -247,7 +248,7 @@ class HistoryRow extends Component {
{ {
data.year ? data.year ?
<HistoryRowParameter <HistoryRowParameter
title='Year' title={translate('Year')}
value={data.year} value={data.year}
/> : /> :
null null
@@ -256,7 +257,7 @@ class HistoryRow extends Component {
{ {
data.genre ? data.genre ?
<HistoryRowParameter <HistoryRowParameter
title='Genre' title={translate('Genre')}
value={data.genre} value={data.genre}
/> : /> :
null null
@@ -265,7 +266,7 @@ class HistoryRow extends Component {
{ {
data.author ? data.author ?
<HistoryRowParameter <HistoryRowParameter
title='Author' title={translate('Author')}
value={data.author} value={data.author}
/> : /> :
null null
@@ -274,7 +275,7 @@ class HistoryRow extends Component {
{ {
data.bookTitle ? data.bookTitle ?
<HistoryRowParameter <HistoryRowParameter
title='Book' title={translate('Book')}
value={data.bookTitle} value={data.bookTitle}
/> : /> :
null null
@@ -283,7 +284,7 @@ class HistoryRow extends Component {
{ {
data.publisher ? data.publisher ?
<HistoryRowParameter <HistoryRowParameter
title='Publisher' title={translate('Publisher')}
value={data.publisher} value={data.publisher}
/> : /> :
null null
@@ -381,14 +382,14 @@ class HistoryRow extends Component {
<IconButton <IconButton
name={icons.SEARCH} name={icons.SEARCH}
onPress={this.onSearchPress} onPress={this.onSearchPress}
title='Repeat Search' title={translate('RepeatSearch')}
/> : /> :
null null
} }
<IconButton <IconButton
name={icons.INFO} name={icons.INFO}
onPress={this.onDetailsPress} onPress={this.onDetailsPress}
title='History Details' title={translate('HistoryDetails')}
/> />
</TableRowCell> </TableRowCell>
); );

View File

@@ -222,7 +222,11 @@ const IndexerIndex = withScrollPosition((props: IndexerIndexProps) => {
<PageToolbarSeparator /> <PageToolbarSeparator />
<IndexerIndexSelectModeButton <IndexerIndexSelectModeButton
label={isSelectMode ? 'Stop Selecting' : 'Select Indexer'} label={
isSelectMode
? translate('StopSelecting')
: translate('SelectIndexer')
}
iconName={isSelectMode ? icons.SERIES_ENDED : icons.CHECK} iconName={isSelectMode ? icons.SERIES_ENDED : icons.CHECK}
isSelectMode={isSelectMode} isSelectMode={isSelectMode}
overflowComponent={IndexerIndexSelectModeMenuItem} overflowComponent={IndexerIndexSelectModeMenuItem}
@@ -230,7 +234,7 @@ const IndexerIndex = withScrollPosition((props: IndexerIndexProps) => {
/> />
<IndexerIndexSelectAllButton <IndexerIndexSelectAllButton
label="SelectAll" label={translate('SelectAll')}
isSelectMode={isSelectMode} isSelectMode={isSelectMode}
overflowComponent={IndexerIndexSelectAllMenuItem} overflowComponent={IndexerIndexSelectAllMenuItem}
/> />
@@ -245,7 +249,10 @@ const IndexerIndex = withScrollPosition((props: IndexerIndexProps) => {
optionsComponent={IndexerIndexTableOptions} optionsComponent={IndexerIndexTableOptions}
onTableOptionChange={onTableOptionChange} onTableOptionChange={onTableOptionChange}
> >
<PageToolbarButton label="Options" iconName={icons.TABLE} /> <PageToolbarButton
label={translate('Options')}
iconName={icons.TABLE}
/>
</TableOptionsModalWrapper> </TableOptionsModalWrapper>
<PageToolbarSeparator /> <PageToolbarSeparator />
@@ -276,7 +283,9 @@ const IndexerIndex = withScrollPosition((props: IndexerIndexProps) => {
> >
{isFetching && !isPopulated ? <LoadingIndicator /> : null} {isFetching && !isPopulated ? <LoadingIndicator /> : null}
{!isFetching && !!error ? <div>Unable to load indexers</div> : null} {!isFetching && !!error ? (
<div>{translate('UnableToLoadIndexers')}</div>
) : null}
{isLoaded ? ( {isLoaded ? (
<div className={styles.contentBodyContainer}> <div className={styles.contentBodyContainer}>

View File

@@ -2,6 +2,7 @@ import React, { useCallback } from 'react';
import { SelectActionType, useSelect } from 'App/SelectContext'; import { SelectActionType, useSelect } from 'App/SelectContext';
import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton'; import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton';
import { icons } from 'Helpers/Props'; import { icons } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
interface IndexerIndexSelectAllButtonProps { interface IndexerIndexSelectAllButtonProps {
label: string; label: string;
@@ -32,7 +33,7 @@ function IndexerIndexSelectAllButton(props: IndexerIndexSelectAllButtonProps) {
return isSelectMode ? ( return isSelectMode ? (
<PageToolbarButton <PageToolbarButton
label={allSelected ? 'Unselect All' : 'Select All'} label={allSelected ? translate('UnselectAll') : translate('SelectAll')}
iconName={icon} iconName={icon}
onPress={onPress} onPress={onPress}
/> />

View File

@@ -2,6 +2,7 @@ import React, { useCallback } from 'react';
import { SelectActionType, useSelect } from 'App/SelectContext'; import { SelectActionType, useSelect } from 'App/SelectContext';
import PageToolbarOverflowMenuItem from 'Components/Page/Toolbar/PageToolbarOverflowMenuItem'; import PageToolbarOverflowMenuItem from 'Components/Page/Toolbar/PageToolbarOverflowMenuItem';
import { icons } from 'Helpers/Props'; import { icons } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
interface IndexerIndexSelectAllMenuItemProps { interface IndexerIndexSelectAllMenuItemProps {
label: string; label: string;
@@ -33,7 +34,7 @@ function IndexerIndexSelectAllMenuItem(
return isSelectMode ? ( return isSelectMode ? (
<PageToolbarOverflowMenuItem <PageToolbarOverflowMenuItem
label={allSelected ? 'Unselect All' : 'Select All'} label={allSelected ? translate('UnselectAll') : translate('SelectAll')}
iconName={iconName} iconName={iconName}
onPress={onPressWrapper} onPress={onPressWrapper}
/> />

View File

@@ -14,6 +14,7 @@ import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes, kinds, sizes } from 'Helpers/Props'; import { inputTypes, kinds, sizes } from 'Helpers/Props';
import createAllIndexersSelector from 'Store/Selectors/createAllIndexersSelector'; import createAllIndexersSelector from 'Store/Selectors/createAllIndexersSelector';
import createTagsSelector from 'Store/Selectors/createTagsSelector'; import createTagsSelector from 'Store/Selectors/createTagsSelector';
import translate from 'Utilities/String/translate';
import styles from './TagsModalContent.css'; import styles from './TagsModalContent.css';
interface TagsModalContentProps { interface TagsModalContentProps {
@@ -70,7 +71,7 @@ function TagsModalContent(props: TagsModalContentProps) {
<ModalBody> <ModalBody>
<Form> <Form>
<FormGroup> <FormGroup>
<FormLabel>Tags</FormLabel> <FormLabel>{translate('Tags')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.TAG} type={inputTypes.TAG}
@@ -81,7 +82,7 @@ function TagsModalContent(props: TagsModalContentProps) {
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Apply Tags</FormLabel> <FormLabel>{translate('ApplyTags')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.SELECT} type={inputTypes.SELECT}
@@ -89,17 +90,17 @@ function TagsModalContent(props: TagsModalContentProps) {
value={applyTags} value={applyTags}
values={applyTagsOptions} values={applyTagsOptions}
helpTexts={[ helpTexts={[
'How to apply tags to the selected series', translate('ApplyTagsHelpTexts1'),
'Add: Add the tags the existing list of tags', translate('ApplyTagsHelpTexts2'),
'Remove: Remove the entered tags', translate('ApplyTagsHelpTexts3'),
'Replace: Replace the tags with the entered tags (enter no tags to clear all tags)', translate('ApplyTagsHelpTexts4'),
]} ]}
onChange={onApplyTagsChange} onChange={onApplyTagsChange}
/> />
</FormGroup> </FormGroup>
<FormGroup> <FormGroup>
<FormLabel>Result</FormLabel> <FormLabel>{translate('Result')}</FormLabel>
<div className={styles.result}> <div className={styles.result}>
{indexerTags.map((id) => { {indexerTags.map((id) => {
@@ -116,7 +117,11 @@ function TagsModalContent(props: TagsModalContentProps) {
return ( return (
<Label <Label
key={tag.id} key={tag.id}
title={removeTag ? 'Removing tag' : 'Existing tag'} title={
removeTag
? translate('RemoveTagRemovingTag')
: translate('RemoveTagExistingTag')
}
kind={removeTag ? kinds.INVERSE : kinds.INFO} kind={removeTag ? kinds.INVERSE : kinds.INFO}
size={sizes.LARGE} size={sizes.LARGE}
> >
@@ -140,7 +145,7 @@ function TagsModalContent(props: TagsModalContentProps) {
return ( return (
<Label <Label
key={tag.id} key={tag.id}
title={'Adding tag'} title={translate('AddingTag')}
kind={kinds.SUCCESS} kind={kinds.SUCCESS}
size={sizes.LARGE} size={sizes.LARGE}
> >

View File

@@ -4,6 +4,7 @@ import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup'; import FormInputGroup from 'Components/Form/FormInputGroup';
import FormLabel from 'Components/Form/FormLabel'; import FormLabel from 'Components/Form/FormLabel';
import { inputTypes } from 'Helpers/Props'; import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import selectTableOptions from './selectTableOptions'; import selectTableOptions from './selectTableOptions';
interface IndexerIndexTableOptionsProps { interface IndexerIndexTableOptionsProps {
@@ -32,13 +33,13 @@ function IndexerIndexTableOptions(props: IndexerIndexTableOptionsProps) {
return ( return (
<Fragment> <Fragment>
<FormGroup> <FormGroup>
<FormLabel>Show Search</FormLabel> <FormLabel>{translate('ShowSearch')}</FormLabel>
<FormInputGroup <FormInputGroup
type={inputTypes.CHECK} type={inputTypes.CHECK}
name="showSearchAction" name="showSearchAction"
value={showSearchAction} value={showSearchAction}
helpText="Show search button on hover" helpText={translate('ShowSearchActionHelpText')}
onChange={onTableOptionChangeWrapper} onChange={onTableOptionChangeWrapper}
/> />
</FormGroup> </FormGroup>

View File

@@ -33,8 +33,8 @@ function IndexerStatusCell(props: IndexerStatusCellProps) {
const enableKind = redirect ? kinds.INFO : kinds.SUCCESS; const enableKind = redirect ? kinds.INFO : kinds.SUCCESS;
const enableIcon = redirect ? icons.REDIRECT : icons.CHECK; const enableIcon = redirect ? icons.REDIRECT : icons.CHECK;
const enableTitle = redirect const enableTitle = redirect
? 'Indexer is Enabled, Redirect is Enabled' ? translate('EnabledRedirected')
: 'Indexer is Enabled'; : translate('Enabled');
return ( return (
<Component className={className} {...otherProps}> <Component className={className} {...otherProps}>
@@ -43,7 +43,7 @@ function IndexerStatusCell(props: IndexerStatusCellProps) {
className={styles.statusIcon} className={styles.statusIcon}
kind={enabled ? enableKind : kinds.DEFAULT} kind={enabled ? enableKind : kinds.DEFAULT}
name={enabled ? enableIcon : icons.BLOCKLIST} name={enabled ? enableIcon : icons.BLOCKLIST}
title={enabled ? enableTitle : 'Indexer is Disabled'} title={enabled ? enableTitle : translate('EnabledIndexerIsDisabled')}
/> />
} }
{status ? ( {status ? (

View File

@@ -10,6 +10,7 @@ import PageToolbar from 'Components/Page/Toolbar/PageToolbar';
import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection'; import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection';
import { align, kinds } from 'Helpers/Props'; import { align, kinds } from 'Helpers/Props';
import getErrorMessage from 'Utilities/Object/getErrorMessage'; import getErrorMessage from 'Utilities/Object/getErrorMessage';
import translate from 'Utilities/String/translate';
import StatsFilterMenu from './StatsFilterMenu'; import StatsFilterMenu from './StatsFilterMenu';
import styles from './Stats.css'; import styles from './Stats.css';
@@ -188,53 +189,53 @@ function Stats(props) {
<div className={styles.fullWidthChart}> <div className={styles.fullWidthChart}>
<BarChart <BarChart
data={getAverageResponseTimeData(item.indexers)} data={getAverageResponseTimeData(item.indexers)}
title='Average Response Times (ms)' title={translate('AverageResponseTimesMs')}
/> />
</div> </div>
<div className={styles.fullWidthChart}> <div className={styles.fullWidthChart}>
<BarChart <BarChart
data={getFailureRateData(item.indexers)} data={getFailureRateData(item.indexers)}
title='Indexer Failure Rate' title={translate('IndexerFailureRate')}
kind={kinds.WARNING} kind={kinds.WARNING}
/> />
</div> </div>
<div className={styles.halfWidthChart}> <div className={styles.halfWidthChart}>
<StackedBarChart <StackedBarChart
data={getTotalRequestsData(item.indexers)} data={getTotalRequestsData(item.indexers)}
title='Total Indexer Queries' title={translate('TotalIndexerQueries')}
/> />
</div> </div>
<div className={styles.halfWidthChart}> <div className={styles.halfWidthChart}>
<BarChart <BarChart
data={getNumberGrabsData(item.indexers)} data={getNumberGrabsData(item.indexers)}
title='Total Indexer Successful Grabs' title={translate('TotalIndexerSuccessfulGrabs')}
/> />
</div> </div>
<div className={styles.halfWidthChart}> <div className={styles.halfWidthChart}>
<BarChart <BarChart
data={getUserAgentQueryData(item.userAgents)} data={getUserAgentQueryData(item.userAgents)}
title='Total User Agent Queries' title={translate('TotalUserAgentQueries')}
horizontal={true} horizontal={true}
/> />
</div> </div>
<div className={styles.halfWidthChart}> <div className={styles.halfWidthChart}>
<BarChart <BarChart
data={getUserAgentGrabsData(item.userAgents)} data={getUserAgentGrabsData(item.userAgents)}
title='Total User Agent Grabs' title={translate('TotalUserAgentGrabs')}
horizontal={true} horizontal={true}
/> />
</div> </div>
<div className={styles.halfWidthChart}> <div className={styles.halfWidthChart}>
<DoughnutChart <DoughnutChart
data={getHostQueryData(item.hosts)} data={getHostQueryData(item.hosts)}
title='Total Host Queries' title={translate('TotalHostQueries')}
horizontal={true} horizontal={true}
/> />
</div> </div>
<div className={styles.halfWidthChart}> <div className={styles.halfWidthChart}>
<DoughnutChart <DoughnutChart
data={getHostGrabsData(item.hosts)} data={getHostGrabsData(item.hosts)}
title='Total Host Grabs' title={translate('TotalHostGrabs')}
horizontal={true} horizontal={true}
/> />
</div> </div>

View File

@@ -17,6 +17,7 @@
"AddSyncProfile": "Add Sync Profile", "AddSyncProfile": "Add Sync Profile",
"AddToDownloadClient": "Add release to download client", "AddToDownloadClient": "Add release to download client",
"Age": "Age", "Age": "Age",
"Album": "Album",
"All": "All", "All": "All",
"AllIndexersHiddenDueToFilter": "All indexers are hidden due to applied filter.", "AllIndexersHiddenDueToFilter": "All indexers are hidden due to applied filter.",
"Analytics": "Analytics", "Analytics": "Analytics",
@@ -43,6 +44,7 @@
"AppSettingsSummary": "Applications and settings to configure how Prowlarr interacts with your PVR programs", "AppSettingsSummary": "Applications and settings to configure how Prowlarr interacts with your PVR programs",
"AreYouSureYouWantToDeleteCategory": "Are you sure you want to delete mapped category?", "AreYouSureYouWantToDeleteCategory": "Are you sure you want to delete mapped category?",
"AreYouSureYouWantToResetYourAPIKey": "Are you sure you want to reset your API Key?", "AreYouSureYouWantToResetYourAPIKey": "Are you sure you want to reset your API Key?",
"Artist": "Artist",
"AudioSearch": "Audio Search", "AudioSearch": "Audio Search",
"Auth": "Auth", "Auth": "Auth",
"Authentication": "Authentication", "Authentication": "Authentication",
@@ -50,8 +52,10 @@
"AuthenticationRequired": "Authentication Required", "AuthenticationRequired": "Authentication Required",
"AuthenticationRequiredHelpText": "Change which requests authentication is required for. Do not change unless you understand the risks.", "AuthenticationRequiredHelpText": "Change which requests authentication is required for. Do not change unless you understand the risks.",
"AuthenticationRequiredWarning": "To prevent remote access without authentication, Prowlarr now requires authentication to be enabled. Configure your authentication method and credentials. You can optionally disable authentication from local addresses. Refer to the FAQ for additional information.", "AuthenticationRequiredWarning": "To prevent remote access without authentication, Prowlarr now requires authentication to be enabled. Configure your authentication method and credentials. You can optionally disable authentication from local addresses. Refer to the FAQ for additional information.",
"Author": "Author",
"Automatic": "Automatic", "Automatic": "Automatic",
"AutomaticSearch": "Automatic Search", "AutomaticSearch": "Automatic Search",
"AverageResponseTimesMs": "Average Response Times (Ms)",
"Backup": "Backup", "Backup": "Backup",
"BackupFolderHelpText": "Relative paths will be under Prowlarr's AppData directory", "BackupFolderHelpText": "Relative paths will be under Prowlarr's AppData directory",
"BackupIntervalHelpText": "Interval between automatic backups", "BackupIntervalHelpText": "Interval between automatic backups",
@@ -61,6 +65,7 @@
"BeforeUpdate": "Before update", "BeforeUpdate": "Before update",
"BindAddress": "Bind Address", "BindAddress": "Bind Address",
"BindAddressHelpText": "Valid IP address, localhost or '*' for all interfaces", "BindAddressHelpText": "Valid IP address, localhost or '*' for all interfaces",
"Book": "Book",
"BookSearch": "Book Search", "BookSearch": "Book Search",
"BookSearchTypes": "Book Search Types", "BookSearchTypes": "Book Search Types",
"Branch": "Branch", "Branch": "Branch",
@@ -146,6 +151,7 @@
"EnableSslHelpText": " Requires restart running as administrator to take effect", "EnableSslHelpText": " Requires restart running as administrator to take effect",
"Encoding": "Encoding", "Encoding": "Encoding",
"Ended": "Ended", "Ended": "Ended",
"Episode": "Episode",
"Error": "Error", "Error": "Error",
"ErrorLoadingContents": "Error loading contents", "ErrorLoadingContents": "Error loading contents",
"Events": "Events", "Events": "Events",
@@ -167,6 +173,7 @@
"General": "General", "General": "General",
"GeneralSettings": "General Settings", "GeneralSettings": "General Settings",
"GeneralSettingsSummary": "Port, SSL, username/password, proxy, analytics, and updates", "GeneralSettingsSummary": "Port, SSL, username/password, proxy, analytics, and updates",
"Genre": "Genre",
"Grabbed": "Grabbed", "Grabbed": "Grabbed",
"GrabReleases": "Grab Release(s)", "GrabReleases": "Grab Release(s)",
"Grabs": "Grabs", "Grabs": "Grabs",
@@ -179,6 +186,7 @@
"HistoryCleanup": "History Cleanup", "HistoryCleanup": "History Cleanup",
"HistoryCleanupDaysHelpText": "Set to 0 to disable automatic cleanup", "HistoryCleanupDaysHelpText": "Set to 0 to disable automatic cleanup",
"HistoryCleanupDaysHelpTextWarning": "History items older than the selected number of days will be cleaned up automatically", "HistoryCleanupDaysHelpTextWarning": "History items older than the selected number of days will be cleaned up automatically",
"HistoryDetails": "History Details",
"HomePage": "Home Page", "HomePage": "Home Page",
"Host": "Host", "Host": "Host",
"Hostname": "Hostname", "Hostname": "Hostname",
@@ -192,6 +200,7 @@
"IndexerAuth": "Indexer Auth", "IndexerAuth": "Indexer Auth",
"IndexerDetails": "Indexer Details", "IndexerDetails": "Indexer Details",
"IndexerDisabled": "Indexer Disabled", "IndexerDisabled": "Indexer Disabled",
"IndexerFailureRate": "Indexer Failure Rate",
"IndexerFlags": "Indexer Flags", "IndexerFlags": "Indexer Flags",
"IndexerHealthCheckNoIndexers": "No indexers enabled, Prowlarr will not return search results", "IndexerHealthCheckNoIndexers": "No indexers enabled, Prowlarr will not return search results",
"IndexerInfo": "Indexer Info", "IndexerInfo": "Indexer Info",
@@ -224,6 +233,7 @@
"InteractiveSearch": "Interactive Search", "InteractiveSearch": "Interactive Search",
"Interval": "Interval", "Interval": "Interval",
"KeyboardShortcuts": "Keyboard Shortcuts", "KeyboardShortcuts": "Keyboard Shortcuts",
"Label": "Label",
"Language": "Language", "Language": "Language",
"LastDuration": "Last Duration", "LastDuration": "Last Duration",
"LastExecution": "Last Execution", "LastExecution": "Last Execution",
@@ -248,6 +258,7 @@
"MinimumSeeders": "Minimum Seeders", "MinimumSeeders": "Minimum Seeders",
"MinimumSeedersHelpText": "Minimum seeders required by the Application for the indexer to grab", "MinimumSeedersHelpText": "Minimum seeders required by the Application for the indexer to grab",
"Mode": "Mode", "Mode": "Mode",
"More": "More",
"MoreInfo": "More Info", "MoreInfo": "More Info",
"MovieIndexScrollBottom": "Movie Index: Scroll Bottom", "MovieIndexScrollBottom": "Movie Index: Scroll Bottom",
"MovieIndexScrollTop": "Movie Index: Scroll Top", "MovieIndexScrollTop": "Movie Index: Scroll Top",
@@ -313,8 +324,8 @@
"ProxyPasswordHelpText": "You only need to enter a username and password if one is required. Leave them blank otherwise.", "ProxyPasswordHelpText": "You only need to enter a username and password if one is required. Leave them blank otherwise.",
"ProxyType": "Proxy Type", "ProxyType": "Proxy Type",
"ProxyUsernameHelpText": "You only need to enter a username and password if one is required. Leave them blank otherwise.", "ProxyUsernameHelpText": "You only need to enter a username and password if one is required. Leave them blank otherwise.",
"PtpOldSettingsCheckMessage": "The following PassThePopcorn indexers have deprecated settings and should be updated: {0}",
"Public": "Public", "Public": "Public",
"Publisher": "Publisher",
"Query": "Query", "Query": "Query",
"QueryOptions": "Query Options", "QueryOptions": "Query Options",
"QueryResults": "Query Results", "QueryResults": "Query Results",
@@ -335,6 +346,7 @@
"RemoveFilter": "Remove filter", "RemoveFilter": "Remove filter",
"RemovingTag": "Removing tag", "RemovingTag": "Removing tag",
"Replace": "Replace", "Replace": "Replace",
"RepeatSearch": "Repeat Search",
"Reset": "Reset", "Reset": "Reset",
"ResetAPIKey": "Reset API Key", "ResetAPIKey": "Reset API Key",
"Restart": "Restart", "Restart": "Restart",
@@ -358,6 +370,7 @@
"SearchIndexers": "Search Indexers", "SearchIndexers": "Search Indexers",
"SearchType": "Search Type", "SearchType": "Search Type",
"SearchTypes": "Search Types", "SearchTypes": "Search Types",
"Season": "Season",
"Security": "Security", "Security": "Security",
"Seeders": "Seeders", "Seeders": "Seeders",
"SelectAll": "Select All", "SelectAll": "Select All",
@@ -423,6 +436,7 @@
"TestAllClients": "Test All Clients", "TestAllClients": "Test All Clients",
"TestAllIndexers": "Test All Indexers", "TestAllIndexers": "Test All Indexers",
"TheLatestVersionIsAlreadyInstalled": "The latest version of {0} is already installed", "TheLatestVersionIsAlreadyInstalled": "The latest version of {0} is already installed",
"Theme": "Theme",
"ThemeHelpText": "Change Application UI Theme, 'Auto' Theme will use your OS Theme to set Light or Dark mode. Inspired by {0}", "ThemeHelpText": "Change Application UI Theme, 'Auto' Theme will use your OS Theme to set Light or Dark mode. Inspired by {0}",
"Time": "Time", "Time": "Time",
"Title": "Title", "Title": "Title",
@@ -430,6 +444,13 @@
"Tomorrow": "Tomorrow", "Tomorrow": "Tomorrow",
"Torrent": "Torrent", "Torrent": "Torrent",
"Torrents": "Torrents", "Torrents": "Torrents",
"TotalHostGrabs": "Total Host Grabs",
"TotalHostQueries": "Total Host Queries",
"TotalIndexerQueries": "Total Indexer Queries",
"TotalIndexerSuccessfulGrabs": "Total Indexer Successful Grabs",
"TotalUserAgentGrabs": "Total User Agent Grabs",
"TotalUserAgentQueries": "Total User Agent Queries",
"Track": "Track",
"TvSearch": "TV Search", "TvSearch": "TV Search",
"TVSearchTypes": "TV Search Types", "TVSearchTypes": "TV Search Types",
"Type": "Type", "Type": "Type",
@@ -481,6 +502,7 @@
"Website": "Website", "Website": "Website",
"Wiki": "Wiki", "Wiki": "Wiki",
"Yes": "Yes", "Yes": "Yes",
"Year": "Year",
"YesCancel": "Yes, Cancel", "YesCancel": "Yes, Cancel",
"Yesterday": "Yesterday" "Yesterday": "Yesterday"
} }