Fixed: Added Various Missing Translations

cleanup en.json of unused translates

Fixes #1397

Closes Sonarr PR # 4791 'Fixed: Better wording of MissingFromDisk'
This commit is contained in:
bakerboy448
2022-01-16 21:53:43 +00:00
committed by ta264
parent bc3764dcda
commit 94adb4d582
16 changed files with 117 additions and 80 deletions

View File

@@ -215,13 +215,13 @@ function HistoryDetails(props) {
switch (reason) {
case 'Manual':
reasonMessage = 'File was deleted by via UI';
reasonMessage = translate('FileWasDeletedByViaUI');
break;
case 'MissingFromDisk':
reasonMessage = 'Readarr was unable to find the file on disk so it was removed';
reasonMessage = translate('MissingFromDisk');
break;
case 'Upgrade':
reasonMessage = 'File was deleted to import an upgrade';
reasonMessage = translate('FileWasDeletedByUpgrade');
break;
default:
reasonMessage = '';

View File

@@ -223,14 +223,14 @@ class Queue extends Component {
{
!isRefreshing && hasError &&
<div>
Failed to load Queue
{translate('FailedToLoadQueue')}
</div>
}
{
isAllPopulated && !hasError && !items.length &&
<div>
Queue is empty
{translate('QueueIsEmpty')}
</div>
}

View File

@@ -39,7 +39,9 @@ function AppUpdatedModalContent(props) {
<div>
{
!update.changes &&
<div className={styles.maintenance}>Maintenance release</div>
<div className={styles.maintenance}>
{translate('MaintenanceRelease')}
</div>
}
{

View File

@@ -77,7 +77,7 @@ class DeleteBookModalContent extends Component {
type={inputTypes.CHECK}
name="deleteFiles"
value={deleteFiles}
helpText={'Delete book files'}
helpText={translate('DeleteFilesHelpText')}
kind={kinds.DANGER}
isDisabled={files.length === 0}
onChange={this.onDeleteFilesChange}

View File

@@ -8,6 +8,7 @@ import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import { inputTypes } from 'Helpers/Props';
import translate from 'Utilities/String/translate';
import FilterBuilderRow from './FilterBuilderRow';
import styles from './FilterBuilderModalContent.css';
@@ -165,7 +166,9 @@ class FilterBuilderModalContent extends Component {
</div>
</div>
<div className={styles.label}>Filters</div>
<div className={styles.label}>
{translate('Filters')}
</div>
<div className={styles.rows}>
{

View File

@@ -167,7 +167,9 @@ class AddNewItem extends Component {
{
!isFetching && !error && !items.length && !!term &&
<div className={styles.message}>
<div className={styles.noResults}>Couldn't find any results for '{term}'</div>
<div className={styles.noResults}>
{translate('CouldntFindAnyResultsForTerm', [term])}
</div>
<div>
You can also search using the
<Link to="https://goodreads.com"> Goodreads ID </Link>
@@ -179,7 +181,9 @@ class AddNewItem extends Component {
{
!term &&
<div className={styles.message}>
<div className={styles.helpText}>It's easy to add a new author or book, just start typing the name of the item you want to add.</div>
<div className={styles.helpText}>
{translate('ItsEasyToAddANewAuthorOrBookJustStartTypingTheNameOfTheItemYouWantToAdd')}
</div>
<div>
You can also search using the
<Link to="https://goodreads.com"> Goodreads ID </Link>

View File

@@ -51,9 +51,15 @@ class RemotePathMappings extends Component {
{...otherProps}
>
<div className={styles.remotePathMappingsHeader}>
<div className={styles.host}>Host</div>
<div className={styles.path}>Remote Path</div>
<div className={styles.path}>Local Path</div>
<div className={styles.host}>
{translate('Host')}
</div>
<div className={styles.path}>
{translate('RemotePath')}
</div>
<div className={styles.path}>
{translate('LocalPath')}
</div>
</div>
<div>

View File

@@ -51,8 +51,12 @@ class ImportListExclusions extends Component {
{...otherProps}
>
<div className={styles.importListExclusionsHeader}>
<div className={styles.foreignId}>Foreign Id</div>
<div className={styles.name}>Name</div>
<div className={styles.foreignId}>
{translate('ForeignId')}
</div>
<div className={styles.name}>
{translate('Name')}
</div>
</div>
<div>

View File

@@ -73,10 +73,18 @@ class DelayProfiles extends Component {
{...otherProps}
>
<div className={styles.delayProfilesHeader}>
<div className={styles.column}>Protocol</div>
<div className={styles.column}>Usenet Delay</div>
<div className={styles.column}>Torrent Delay</div>
<div className={styles.tags}>Tags</div>
<div className={styles.column}>
{translate('Protocol')}
</div>
<div className={styles.column}>
{translate('UsenetDelay')}
</div>
<div className={styles.column}>
{translate('TorrentDelay')}
</div>
<div className={styles.tags}>
{translate('Tags')}
</div>
</div>
<div className={styles.delayProfiles}>

View File

@@ -25,9 +25,15 @@ class QualityDefinitions extends Component {
{...otherProps}
>
<div className={styles.header}>
<div className={styles.quality}>Quality</div>
<div className={styles.title}>Title</div>
<div className={styles.sizeLimit}>Size Limit</div>
<div className={styles.quality}>
{translate('Quality')}
</div>
<div className={styles.title}>
{translate('Title')}
</div>
<div className={styles.sizeLimit}>
{translate('SizeLimit')}
</div>
{
advancedSettings ?
<div className={styles.kilobitsPerSecond}>

View File

@@ -18,121 +18,121 @@ function Settings() {
className={styles.link}
to="/settings/mediamanagement"
>
Media Management
{translate('MediaManagement')}
</Link>
<div className={styles.summary}>
Naming, file management settings and root folders
{translate('MediaManagementSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/profiles"
>
Profiles
{translate('Profiles')}
</Link>
<div className={styles.summary}>
Quality, Metadata, Delay, and Release profiles
{translate('ProfilesSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/quality"
>
Quality
{translate('Quality')}
</Link>
<div className={styles.summary}>
Quality sizes and naming
{translate('QualitySettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/indexers"
>
Indexers
{translate('Indexers')}
</Link>
<div className={styles.summary}>
Indexers and indexer options
{translate('IndexersSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/downloadclients"
>
Download Clients
{translate('DownloadClients')}
</Link>
<div className={styles.summary}>
Download clients, download handling and remote path mappings
{translate('DownloadClientsSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/importlists"
>
Import Lists
{translate('Lists')}
</Link>
<div className={styles.summary}>
Import Lists
{translate('ListsSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/connect"
>
Connect
{translate('Connect')}
</Link>
<div className={styles.summary}>
Notifications, connections to media servers/players and custom scripts
{translate('ConnectSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/metadata"
>
Metadata
{translate('Metadata')}
</Link>
<div className={styles.summary}>
Create metadata files when books are imported or author are refreshed
{translate('MetadataSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/tags"
>
Tags
{translate('Tags')}
</Link>
<div className={styles.summary}>
Manage author, profile, restriction, and notification tags
{translate('TagsSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/general"
>
General
{translate('General')}
</Link>
<div className={styles.summary}>
Port, SSL, username/password, proxy, analytics and updates
{translate('GeneralSettingsSummary')}
</div>
<Link
className={styles.link}
to="/settings/ui"
>
UI
{translate('UI')}
</Link>
<div className={styles.summary}>
Calendar, date and color impaired options
{translate('UISettingsSummary')}
</div>
</PageContentBody>
</PageContent>

View File

@@ -113,9 +113,9 @@ export const defaultState = {
},
{
name: 'size',
label: 'Size',
label: translate('Size'),
isSortable: true,
isVisibile: false
isVisible: false
},
{
name: 'outputPath',
@@ -454,4 +454,3 @@ export const reducers = createHandleActions({
})
}, defaultState, section);

View File

@@ -199,7 +199,7 @@ class QueuedTaskRow extends Component {
</span>
{
clientUserAgent ?
<span className={styles.userAgent} title="User-Agent provided by the app that called the API">
<span className={styles.userAgent} title={translate('UserAgentProvidedByTheAppThatCalledTheAPI')}>
from: {clientUserAgent}
</span> :
null

View File

@@ -15,27 +15,27 @@ const columns = [
},
{
name: 'commandName',
label: 'Name',
label: translate('Name'),
isVisible: true
},
{
name: 'queued',
label: 'Queued',
label: translate('Queued'),
isVisible: true
},
{
name: 'started',
label: 'Started',
label: translate('Started'),
isVisible: true
},
{
name: 'ended',
label: 'Ended',
label: translate('Ended'),
isVisible: true
},
{
name: 'duration',
label: 'Duration',
label: translate('Duration'),
isVisible: true
},
{

View File

@@ -1,4 +1,5 @@
import moment from 'moment';
import translate from 'Utilities/String/translate';
import formatTime from './formatTime';
import isToday from './isToday';
import isTomorrow from './isTomorrow';
@@ -10,15 +11,15 @@ function getRelativeDay(date, includeRelativeDate) {
}
if (isYesterday(date)) {
return 'Yesterday, ';
return translate('Yesterday');
}
if (isToday(date)) {
return 'Today, ';
return translate('Today');
}
if (isTomorrow(date)) {
return 'Tomorrow, ';
return translate('Tomorrow');
}
return '';