Fixed: Added new and missing translations

pull/1591/head
bakerboy448 2 years ago committed by ta264
parent 575f995916
commit d01ce8b908

@ -8,17 +8,17 @@ function AuthorMonitorNewItemsOptionsPopoverContent() {
<DescriptionList> <DescriptionList>
<DescriptionListItem <DescriptionListItem
title={translate('AllBooks')} title={translate('AllBooks')}
data="Monitor all new books" data={translate('DataNewAllBooks')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('NewBooks')} title={translate('NewBooks')}
data="Monitor new books released after the newest existing book" data={translate('DataNewBooks')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('None')} title={translate('None')}
data="Don't monitor any new books" data={translate('DataNewNone')}
/> />
</DescriptionList> </DescriptionList>
); );

@ -8,42 +8,42 @@ function AuthorMonitoringOptionsPopoverContent() {
return ( return (
<> <>
<Alert> <Alert>
This is a one time adjustment to set which books are monitored {translate('MonitoringOptionsHelpText')}
</Alert> </Alert>
<DescriptionList> <DescriptionList>
<DescriptionListItem <DescriptionListItem
title={translate('AllBooks')} title={translate('AllBooks')}
data="Monitor all books" data={translate('DataAllBooks')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('FutureBooks')} title={translate('FutureBooks')}
data="Monitor books that have not released yet" data={translate('DataFutureBooks')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('MissingBooks')} title={translate('MissingBooks')}
data="Monitor books that do not have files or have not released yet" data={translate('DataMissingBooks')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('ExistingBooks')} title={translate('ExistingBooks')}
data="Monitor books that have files or have not released yet" data={translate('DataExistingBooks')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('FirstBook')} title={translate('FirstBook')}
data="Monitor the first book. All other books will be ignored" data={translate('DataFirstBook')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('LatestBook')} title={translate('LatestBook')}
data="Monitor the latest book and future books" data={translate('DataLatestBook')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('None')} title={translate('None')}
data="No books will be monitored" data={translate('DataNone')}
/> />
</DescriptionList> </DescriptionList>
</> </>

@ -267,7 +267,7 @@ class AuthorEditorFooter extends Component {
isDisabled={!selectedCount || isOrganizingAuthor || isRetaggingAuthor} isDisabled={!selectedCount || isOrganizingAuthor || isRetaggingAuthor}
onPress={onOrganizeAuthorPress} onPress={onOrganizeAuthorPress}
> >
Rename Files {translate('RenameFiles')}
</SpinnerButton> </SpinnerButton>
<SpinnerButton <SpinnerButton
@ -277,7 +277,7 @@ class AuthorEditorFooter extends Component {
isDisabled={!selectedCount || isOrganizingAuthor || isRetaggingAuthor} isDisabled={!selectedCount || isOrganizingAuthor || isRetaggingAuthor}
onPress={onRetagAuthorPress} onPress={onRetagAuthorPress}
> >
Write Metadata Tags {translate('WriteMetadataTags')}
</SpinnerButton> </SpinnerButton>
<SpinnerButton <SpinnerButton
@ -286,7 +286,7 @@ class AuthorEditorFooter extends Component {
isDisabled={!selectedCount || isOrganizingAuthor || isRetaggingAuthor} isDisabled={!selectedCount || isOrganizingAuthor || isRetaggingAuthor}
onPress={this.onTagsPress} onPress={this.onTagsPress}
> >
Set Readarr Tags {translate('SetReadarrTags')}
</SpinnerButton> </SpinnerButton>
<SpinnerButton <SpinnerButton
@ -296,7 +296,7 @@ class AuthorEditorFooter extends Component {
isDisabled={!selectedCount || isDeleting} isDisabled={!selectedCount || isDeleting}
onPress={this.onDeleteSelectedPress} onPress={this.onDeleteSelectedPress}
> >
Delete {translate('Delete')}
</SpinnerButton> </SpinnerButton>
</div> </div>

@ -6,6 +6,7 @@ import SelectInput from 'Components/Form/SelectInput';
import SpinnerButton from 'Components/Link/SpinnerButton'; import SpinnerButton from 'Components/Link/SpinnerButton';
import PageContentFooter from 'Components/Page/PageContentFooter'; import PageContentFooter from 'Components/Page/PageContentFooter';
import { kinds } from 'Helpers/Props'; import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import styles from './BookshelfFooter.css'; import styles from './BookshelfFooter.css';
const NO_CHANGE = 'noChange'; const NO_CHANGE = 'noChange';
@ -114,7 +115,7 @@ class BookshelfFooter extends Component {
<div className={styles.inputContainer}> <div className={styles.inputContainer}>
<div className={styles.label}> <div className={styles.label}>
Monitor Existing Books {translate('MonitorExistingBooks')}
</div> </div>
<MonitorBooksSelectInput <MonitorBooksSelectInput
@ -128,7 +129,7 @@ class BookshelfFooter extends Component {
<div className={styles.inputContainer}> <div className={styles.inputContainer}>
<div className={styles.label}> <div className={styles.label}>
Monitor New Books {translate('MonitorNewBooks')}
</div> </div>
<MonitorNewItemsSelectInput <MonitorNewItemsSelectInput
@ -152,7 +153,7 @@ class BookshelfFooter extends Component {
isDisabled={!selectedCount || noChanges} isDisabled={!selectedCount || noChanges}
onPress={this.onUpdateSelectedPress} onPress={this.onUpdateSelectedPress}
> >
Update Selected {translate('UpdateSelected')}
</SpinnerButton> </SpinnerButton>
</div> </div>
</PageContentFooter> </PageContentFooter>

@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react'; import React from 'react';
import Link from 'Components/Link/Link'; import Link from 'Components/Link/Link';
import { inputTypes } from 'Helpers/Props'; import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
// import translate from 'Utilities/String/translate'; // import translate from 'Utilities/String/translate';
import AutoCompleteInput from './AutoCompleteInput'; import AutoCompleteInput from './AutoCompleteInput';
import BookEditionSelectInputConnector from './BookEditionSelectInputConnector'; import BookEditionSelectInputConnector from './BookEditionSelectInputConnector';
@ -216,7 +217,7 @@ function FormInputGroup(props) {
<Link <Link
to={helpLink} to={helpLink}
> >
More Info {translate('MoreInfo')}
</Link> </Link>
} }

@ -126,7 +126,7 @@ class AddAuthorOptionsForm extends Component {
<FormGroup className={showMetadataProfile ? undefined : styles.hideMetadataProfile}> <FormGroup className={showMetadataProfile ? undefined : styles.hideMetadataProfile}>
<FormLabel> <FormLabel>
Metadata Profile {translate('MetadataProfile')}
{ {
includeNoneMetadataProfile && includeNoneMetadataProfile &&

@ -28,17 +28,17 @@ function ImportListMonitoringOptionsPopoverContent() {
<DescriptionList> <DescriptionList>
<DescriptionListItem <DescriptionListItem
title={translate('None')} title={translate('None')}
data="Do not monitor authors or books" data={translate('DataListMonitorNone')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('SpecificBook')} title={translate('SpecificBook')}
data="Monitor authors but only monitor books explicitly included in the list" data={translate('DataListMonitorSpecificBook')}
/> />
<DescriptionListItem <DescriptionListItem
title={translate('AllAuthorBooks')} title={translate('AllAuthorBooks')}
data="Monitor authors and all books for each author included on the import list" data={translate('DataListMonitorAll')}
/> />
</DescriptionList> </DescriptionList>
); );
@ -89,7 +89,7 @@ function EditImportListModalContent(props) {
return ( return (
<ModalContent onModalClose={onModalClose}> <ModalContent onModalClose={onModalClose}>
<ModalHeader> <ModalHeader>
{id ? 'Edit List' : 'Add List'} {id ? translate('EditList') : translate('AddList')}
</ModalHeader> </ModalHeader>
<ModalBody> <ModalBody>
@ -148,7 +148,7 @@ function EditImportListModalContent(props) {
<FormGroup> <FormGroup>
<FormLabel> <FormLabel>
Monitor {translate('Monitor')}
<Popover <Popover
anchor={ anchor={
@ -318,7 +318,7 @@ function EditImportListModalContent(props) {
kind={kinds.DANGER} kind={kinds.DANGER}
onPress={onDeleteImportListPress} onPress={onDeleteImportListPress}
> >
Delete {translate('Delete')}
</Button> </Button>
} }
@ -327,13 +327,13 @@ function EditImportListModalContent(props) {
error={saveError} error={saveError}
onPress={onTestPress} onPress={onTestPress}
> >
Test {translate('Test')}
</SpinnerErrorButton> </SpinnerErrorButton>
<Button <Button
onPress={onModalClose} onPress={onModalClose}
> >
Cancel {translate('Cancel')}
</Button> </Button>
<SpinnerErrorButton <SpinnerErrorButton
@ -341,7 +341,7 @@ function EditImportListModalContent(props) {
error={saveError} error={saveError}
onPress={onSavePress} onPress={onSavePress}
> >
Save {translate('Save')}
</SpinnerErrorButton> </SpinnerErrorButton>
</ModalFooter> </ModalFooter>
</ModalContent> </ModalContent>

@ -346,7 +346,7 @@ function EditRootFolderModalContent(props) {
<FormGroup> <FormGroup>
<FormLabel> <FormLabel>
Convert to format {translate('ConvertToFormat')}
<Popover <Popover
anchor={ anchor={
<Icon <Icon
@ -371,7 +371,7 @@ function EditRootFolderModalContent(props) {
<FormGroup> <FormGroup>
<FormLabel> <FormLabel>
Calibre Output Profile {translate('CalibreOutputProfile')}
<Popover <Popover
anchor={ anchor={
<Icon <Icon
@ -423,14 +423,14 @@ function EditRootFolderModalContent(props) {
kind={kinds.DANGER} kind={kinds.DANGER}
onPress={onDeleteRootFolderPress} onPress={onDeleteRootFolderPress}
> >
Delete {translate('Delete')}
</Button> </Button>
} }
<Button <Button
onPress={onModalClose} onPress={onModalClose}
> >
Cancel {translate('Cancel')}
</Button> </Button>
<SpinnerErrorButton <SpinnerErrorButton
@ -438,7 +438,7 @@ function EditRootFolderModalContent(props) {
error={saveError} error={saveError}
onPress={onSavePress} onPress={onSavePress}
> >
Save {translate('Save')}
</SpinnerErrorButton> </SpinnerErrorButton>
</ModalFooter> </ModalFooter>
</ModalContent> </ModalContent>

@ -7,6 +7,7 @@
"AddedAuthorSettings": "Added Author Settings", "AddedAuthorSettings": "Added Author Settings",
"AddImportListExclusionHelpText": "Prevent book from being added to Readarr by Import Lists or Author Refresh", "AddImportListExclusionHelpText": "Prevent book from being added to Readarr by Import Lists or Author Refresh",
"AddingTag": "Adding tag", "AddingTag": "Adding tag",
"AddList": "Add List",
"AddListExclusion": "Add List Exclusion", "AddListExclusion": "Add List Exclusion",
"AddMissing": "Add missing", "AddMissing": "Add missing",
"AddNewItem": "Add New Item", "AddNewItem": "Add New Item",
@ -130,6 +131,7 @@
"ContinuingAllBooksDownloaded": "Continuing (All books downloaded)", "ContinuingAllBooksDownloaded": "Continuing (All books downloaded)",
"ContinuingMoreBooksAreExpected": "More books are expected", "ContinuingMoreBooksAreExpected": "More books are expected",
"ContinuingNoAdditionalBooksAreExpected": "No additional books are expected", "ContinuingNoAdditionalBooksAreExpected": "No additional books are expected",
"ConvertToFormat": "Convert To Format",
"CopyUsingHardlinksHelpText": "Use Hardlinks when trying to copy files from torrents that are still being seeded", "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 Readarr's rename function as a work around.", "CopyUsingHardlinksHelpTextWarning": "Occasionally, file locks may prevent renaming files that are being seeded. You may temporarily disable seeding and use Readarr's rename function as a work around.",
"CouldntFindAnyResultsForTerm": "Couldn't find any results for '{0}'", "CouldntFindAnyResultsForTerm": "Couldn't find any results for '{0}'",
@ -139,6 +141,19 @@
"CreateGroup": "Create group", "CreateGroup": "Create group",
"CutoffHelpText": "Once this quality is reached Readarr will no longer download books", "CutoffHelpText": "Once this quality is reached Readarr will no longer download books",
"CutoffUnmet": "Cutoff Unmet", "CutoffUnmet": "Cutoff Unmet",
"DataAllBooks": "Monitor all books",
"DataExistingBooks": "Monitor books that have files or have not released yet",
"DataFirstBook": "Monitor the first book. All other books will be ignored",
"DataFuturebooks": "Monitor books that have not released yet",
"DataLatestBook": "Monitor the latest book and future books",
"DataListMonitorAll": "Monitor authors and all books for each author included on the import list",
"DataListMonitorNone": "Do not monitor authors or books",
"DataListMonitorSpecificBook": "Monitor authors, but only monitor books explicitly included in the list",
"DataMissingBooks": "Monitor books that do not have files or have not released yet",
"DataNewAllBooks": "Monitor all new books",
"DataNewBooks": "Monitor new books released after the newest existing book",
"DataNewNone": "Don't monitor any new books",
"DataNone": "No books will be monitored",
"Dates": "Dates", "Dates": "Dates",
"DBMigration": "DB Migration", "DBMigration": "DB Migration",
"DefaultMetadataProfileIdHelpText": "Default Metadata Profile for authors detected in this folder", "DefaultMetadataProfileIdHelpText": "Default Metadata Profile for authors detected in this folder",
@ -210,6 +225,7 @@
"EditBook": "Edit Book", "EditBook": "Edit Book",
"Edition": "Edition", "Edition": "Edition",
"EditionsHelpText": "Change edition for this book", "EditionsHelpText": "Change edition for this book",
"EditList": "Edit List",
"EmbedMetadataHelpText": "Tell Calibre to write metadata into the actual book file", "EmbedMetadataHelpText": "Tell Calibre to write metadata into the actual book file",
"EmbedMetadataInBookFiles": "Embed Metadata in Book Files", "EmbedMetadataInBookFiles": "Embed Metadata in Book Files",
"Enable": "Enable", "Enable": "Enable",
@ -425,9 +441,11 @@
"MonitoredAuthorIsMonitored": "Author is monitored", "MonitoredAuthorIsMonitored": "Author is monitored",
"MonitoredAuthorIsUnmonitored": "Author is unmonitored", "MonitoredAuthorIsUnmonitored": "Author is unmonitored",
"MonitoredHelpText": "Readarr will search for and download book", "MonitoredHelpText": "Readarr will search for and download book",
"MonitorExistingBooks": "Monitor Existing Books",
"Monitoring": "Monitoring", "Monitoring": "Monitoring",
"MonitoringOptions": "Monitoring Options", "MonitoringOptions": "Monitoring Options",
"MonitoringOptionsHelpText": "Which books should be monitored after the author is added (one-time adjustment)", "MonitoringOptionsHelpText": "Which books should be monitored after the author is added (one-time adjustment)",
"MonitorNewBooks": "Monitor New Books",
"MonitorNewItems": "Monitor New Books", "MonitorNewItems": "Monitor New Books",
"MonitorNewItemsHelpText": "Which new books should be monitored", "MonitorNewItemsHelpText": "Which new books should be monitored",
"MonoVersion": "Mono Version", "MonoVersion": "Mono Version",
@ -601,6 +619,7 @@
"RemoveTagRemovingTag": "Removing tag", "RemoveTagRemovingTag": "Removing tag",
"RenameBooks": "Rename Books", "RenameBooks": "Rename Books",
"RenameBooksHelpText": "Readarr will use the existing file name if renaming is disabled", "RenameBooksHelpText": "Readarr will use the existing file name if renaming is disabled",
"RenameFiles": "Rename Files",
"Reorder": "Reorder", "Reorder": "Reorder",
"ReplaceIllegalCharacters": "Replace Illegal Characters", "ReplaceIllegalCharacters": "Replace Illegal Characters",
"ReplaceIllegalCharactersHelpText": "Replace illegal characters. If unchecked, Readarr will remove them instead", "ReplaceIllegalCharactersHelpText": "Replace illegal characters. If unchecked, Readarr will remove them instead",
@ -659,6 +678,7 @@
"SetPermissions": "Set Permissions", "SetPermissions": "Set Permissions",
"SetPermissionsLinuxHelpText": "Should chmod be run when files are imported/renamed?", "SetPermissionsLinuxHelpText": "Should chmod be run when files are imported/renamed?",
"SetPermissionsLinuxHelpTextWarning": "If you're unsure what these settings do, do not alter them.", "SetPermissionsLinuxHelpTextWarning": "If you're unsure what these settings do, do not alter them.",
"SetReadarrTags": "Set Readarr Tags",
"Settings": "Settings", "Settings": "Settings",
"SettingsRemotePathMappingLocalPath": "Local Path", "SettingsRemotePathMappingLocalPath": "Local Path",
"SettingsRemotePathMappingLocalPathHelpText": "Path that Readarr should use to access the remote path locally", "SettingsRemotePathMappingLocalPathHelpText": "Path that Readarr should use to access the remote path locally",
@ -737,6 +757,7 @@
"TagsSettingsSummary": "Manage author, profile, restriction, and notification tags", "TagsSettingsSummary": "Manage author, profile, restriction, and notification tags",
"Tasks": "Tasks", "Tasks": "Tasks",
"Term": "Term", "Term": "Term",
"Test": "Test",
"TestAll": "Test All", "TestAll": "Test All",
"TestAllClients": "Test All Clients", "TestAllClients": "Test All Clients",
"TestAllIndexers": "Test All Indexers", "TestAllIndexers": "Test All Indexers",
@ -846,6 +867,7 @@
"WriteAudioTagsScrub": "Scrub Existing Tags", "WriteAudioTagsScrub": "Scrub Existing Tags",
"WriteAudioTagsScrubHelp": "Remove existing tags from files, leaving only those added by Readarr.", "WriteAudioTagsScrubHelp": "Remove existing tags from files, leaving only those added by Readarr.",
"WriteBookTagsHelpTextWarning": "Selecting 'All files' will alter existing files when they are imported.", "WriteBookTagsHelpTextWarning": "Selecting 'All files' will alter existing files when they are imported.",
"WriteMetadataTags": "Write Metadata Tags",
"WriteTagsAll": "All files; initial import only", "WriteTagsAll": "All files; initial import only",
"WriteTagsNew": "For new downloads only", "WriteTagsNew": "For new downloads only",
"WriteTagsNo": "Never", "WriteTagsNo": "Never",

Loading…
Cancel
Save