diff --git a/frontend/src/Activity/Blocklist/Blocklist.js b/frontend/src/Activity/Blocklist/Blocklist.js index 4e2ccc6c3..cb2781c7c 100644 --- a/frontend/src/Activity/Blocklist/Blocklist.js +++ b/frontend/src/Activity/Blocklist/Blocklist.js @@ -14,6 +14,7 @@ import TablePager from 'Components/Table/TablePager'; import { align, icons, kinds } from 'Helpers/Props'; import getRemovedItems from 'Utilities/Object/getRemovedItems'; import hasDifferentItems from 'Utilities/Object/hasDifferentItems'; +import translate from 'Utilities/String/translate'; import getSelectedIds from 'Utilities/Table/getSelectedIds'; import removeOldSelectedState from 'Utilities/Table/removeOldSelectedState'; import selectAll from 'Utilities/Table/selectAll'; @@ -120,11 +121,11 @@ class Blocklist extends Component { const selectedIds = this.getSelectedIds(); return ( - + @@ -160,7 +161,9 @@ class Blocklist extends Component { { !isAnyFetching && !!error && -
Unable to load blocklist
+
+ {translate('UnableToLoadBlocklist')} +
} { @@ -210,9 +213,9 @@ class Blocklist extends Component { diff --git a/frontend/src/Activity/Blocklist/BlocklistDetailsModal.js b/frontend/src/Activity/Blocklist/BlocklistDetailsModal.js index 4e2197d5b..506fa0129 100644 --- a/frontend/src/Activity/Blocklist/BlocklistDetailsModal.js +++ b/frontend/src/Activity/Blocklist/BlocklistDetailsModal.js @@ -8,6 +8,7 @@ import ModalBody from 'Components/Modal/ModalBody'; import ModalContent from 'Components/Modal/ModalContent'; import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; +import translate from 'Utilities/String/translate'; class BlocklistDetailsModal extends Component { @@ -39,19 +40,19 @@ class BlocklistDetailsModal extends Component { { !!message && } @@ -59,7 +60,7 @@ class BlocklistDetailsModal extends Component { { !!message && } diff --git a/frontend/src/Activity/Blocklist/BlocklistRow.js b/frontend/src/Activity/Blocklist/BlocklistRow.js index a4b6bde14..7b88fd913 100644 --- a/frontend/src/Activity/Blocklist/BlocklistRow.js +++ b/frontend/src/Activity/Blocklist/BlocklistRow.js @@ -8,6 +8,7 @@ import TableRowCell from 'Components/Table/Cells/TableRowCell'; import TableSelectCell from 'Components/Table/Cells/TableSelectCell'; import TableRow from 'Components/Table/TableRow'; import { icons, kinds } from 'Helpers/Props'; +import translate from 'Utilities/String/translate'; import BlocklistDetailsModal from './BlocklistDetailsModal'; import styles from './BlocklistRow.css'; @@ -141,7 +142,7 @@ class BlocklistRow extends Component { /> {formatMissing(oldValue)} {formatMissing(newValue)} +
+ {formatMissing(oldValue)} {formatMissing(newValue)} +
); } @@ -77,14 +80,14 @@ function HistoryDetails(props) { { !!indexer && } @@ -93,7 +96,7 @@ function HistoryDetails(props) { !!releaseGroup && } @@ -114,7 +117,7 @@ function HistoryDetails(props) { { !!downloadClient && } @@ -122,7 +125,7 @@ function HistoryDetails(props) { { !!downloadId && } @@ -130,7 +133,7 @@ function HistoryDetails(props) { { !!indexer && } @@ -138,7 +141,7 @@ function HistoryDetails(props) { { !!publishedDate && } @@ -155,14 +158,14 @@ function HistoryDetails(props) { { !!message && } @@ -180,7 +183,7 @@ function HistoryDetails(props) { @@ -188,7 +191,7 @@ function HistoryDetails(props) { !!droppedPath && } @@ -197,7 +200,7 @@ function HistoryDetails(props) { !!importedPath && } @@ -229,12 +232,12 @@ function HistoryDetails(props) { return ( @@ -250,12 +253,12 @@ function HistoryDetails(props) { return ( @@ -271,7 +274,7 @@ function HistoryDetails(props) { return ( { @@ -286,7 +289,7 @@ function HistoryDetails(props) { }) } : } /> @@ -301,14 +304,14 @@ function HistoryDetails(props) { return ( { !!statusMessages && } @@ -332,14 +335,14 @@ function HistoryDetails(props) { return ( { !!indexer && } @@ -347,7 +350,7 @@ function HistoryDetails(props) { { !!releaseGroup && } @@ -368,7 +371,7 @@ function HistoryDetails(props) { { !!downloadClient && } @@ -376,7 +379,7 @@ function HistoryDetails(props) { { !!downloadId && } @@ -384,7 +387,7 @@ function HistoryDetails(props) { { !!indexer && } @@ -392,7 +395,7 @@ function HistoryDetails(props) { { !!publishedDate && } @@ -409,14 +412,14 @@ function HistoryDetails(props) { { !!message && } @@ -428,7 +431,7 @@ function HistoryDetails(props) { diff --git a/frontend/src/Activity/History/History.js b/frontend/src/Activity/History/History.js index a59a7337f..dbd62ff5d 100644 --- a/frontend/src/Activity/History/History.js +++ b/frontend/src/Activity/History/History.js @@ -13,6 +13,7 @@ import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptions import TablePager from 'Components/Table/TablePager'; import { align, icons } from 'Helpers/Props'; import hasDifferentItems from 'Utilities/Object/hasDifferentItems'; +import translate from 'Utilities/String/translate'; import HistoryRowConnector from './HistoryRowConnector'; class History extends Component { @@ -66,11 +67,11 @@ class History extends Component { const hasError = error || albumsError; return ( - + @@ -106,7 +107,9 @@ class History extends Component { { !isFetchingAny && hasError && -
Unable to load history
+
+ {translate('UnableToLoadHistory')} +
} { diff --git a/frontend/src/Activity/Queue/Queue.js b/frontend/src/Activity/Queue/Queue.js index fc5c83230..65918c151 100644 --- a/frontend/src/Activity/Queue/Queue.js +++ b/frontend/src/Activity/Queue/Queue.js @@ -15,6 +15,7 @@ import TablePager from 'Components/Table/TablePager'; import { align, icons } from 'Helpers/Props'; import getRemovedItems from 'Utilities/Object/getRemovedItems'; import hasDifferentItems from 'Utilities/Object/hasDifferentItems'; +import translate from 'Utilities/String/translate'; import getSelectedIds from 'Utilities/Table/getSelectedIds'; import removeOldSelectedState from 'Utilities/Table/removeOldSelectedState'; import selectAll from 'Utilities/Table/selectAll'; @@ -168,11 +169,11 @@ class Queue extends Component { const disableSelectedActions = selectedCount === 0; return ( - + diff --git a/frontend/src/Activity/Queue/QueueDetails.js b/frontend/src/Activity/Queue/QueueDetails.js index 2dc0af9f1..473da308b 100644 --- a/frontend/src/Activity/Queue/QueueDetails.js +++ b/frontend/src/Activity/Queue/QueueDetails.js @@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import Icon from 'Components/Icon'; import { icons, kinds } from 'Helpers/Props'; +import translate from 'Utilities/String/translate'; function QueueDetails(props) { const { @@ -23,7 +24,7 @@ function QueueDetails(props) { return ( ); } @@ -34,7 +35,7 @@ function QueueDetails(props) { ); } @@ -47,7 +48,7 @@ function QueueDetails(props) { ); } @@ -57,7 +58,7 @@ function QueueDetails(props) { ); } @@ -67,7 +68,7 @@ function QueueDetails(props) { ); } @@ -76,7 +77,7 @@ function QueueDetails(props) { return ( ); } diff --git a/frontend/src/Activity/Queue/QueueOptions.js b/frontend/src/Activity/Queue/QueueOptions.js index 565912df3..fea82f1fb 100644 --- a/frontend/src/Activity/Queue/QueueOptions.js +++ b/frontend/src/Activity/Queue/QueueOptions.js @@ -4,6 +4,7 @@ import FormGroup from 'Components/Form/FormGroup'; import FormInputGroup from 'Components/Form/FormInputGroup'; import FormLabel from 'Components/Form/FormLabel'; import { inputTypes } from 'Helpers/Props'; +import translate from 'Utilities/String/translate'; class QueueOptions extends Component { @@ -54,13 +55,15 @@ class QueueOptions extends Component { return ( - Show Unknown Artist Items + + {translate('ShowUnknownArtistItems')} + diff --git a/frontend/src/Activity/Queue/QueueRow.js b/frontend/src/Activity/Queue/QueueRow.js index d471cc105..a71a507e7 100644 --- a/frontend/src/Activity/Queue/QueueRow.js +++ b/frontend/src/Activity/Queue/QueueRow.js @@ -16,6 +16,7 @@ import Popover from 'Components/Tooltip/Popover'; import { icons, kinds, tooltipPositions } from 'Helpers/Props'; import InteractiveImportModal from 'InteractiveImport/InteractiveImportModal'; import formatBytes from 'Utilities/Number/formatBytes'; +import translate from 'Utilities/String/translate'; import QueueStatusCell from './QueueStatusCell'; import RemoveQueueItemModal from './RemoveQueueItemModal'; import TimeleftCell from './TimeleftCell'; @@ -309,7 +310,7 @@ class QueueRow extends Component { kind={kinds.DANGER} /> } - title="Manual Download" + title={translate('ManualDownload')} body="This release failed parsing checks and was manually downloaded from an interactive search. Import is likely to fail." position={tooltipPositions.LEFT} /> @@ -334,7 +335,7 @@ class QueueRow extends Component { } - Remove From Download Client + + {translate('RemoveFromDownloadClient')} + - Blocklist Release + + {translate('BlocklistRelease')} + @@ -122,12 +127,14 @@ class RemoveQueueItemModal extends Component { { blocklist && - Skip Redownload + + {translate('SkipRedownload')} + diff --git a/frontend/src/Activity/Queue/RemoveQueueItemsModal.js b/frontend/src/Activity/Queue/RemoveQueueItemsModal.js index 276f33c4f..31e9bba81 100644 --- a/frontend/src/Activity/Queue/RemoveQueueItemsModal.js +++ b/frontend/src/Activity/Queue/RemoveQueueItemsModal.js @@ -10,6 +10,7 @@ import ModalContent from 'Components/Modal/ModalContent'; import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; import { inputTypes, kinds, sizes } from 'Helpers/Props'; +import translate from 'Utilities/String/translate'; import styles from './RemoveQueueItemsModal.css'; class RemoveQueueItemsModal extends Component { @@ -96,13 +97,15 @@ class RemoveQueueItemsModal extends Component { - Remove From Download Client + + {translate('RemoveFromDownloadClient')} + @@ -117,7 +120,7 @@ class RemoveQueueItemsModal extends Component { type={inputTypes.CHECK} name="blocklist" value={blocklist} - helpText="Prevents Lidarr from automatically grabbing these files again" + helpText={translate('BlocklistHelpText')} onChange={this.onBlocklistChange} /> @@ -125,12 +128,14 @@ class RemoveQueueItemsModal extends Component { { blocklist && - Skip Redownload + + {translate('SkipRedownload')} + diff --git a/frontend/src/Activity/Queue/TimeleftCell.js b/frontend/src/Activity/Queue/TimeleftCell.js index a8d9d52e8..56132671c 100644 --- a/frontend/src/Activity/Queue/TimeleftCell.js +++ b/frontend/src/Activity/Queue/TimeleftCell.js @@ -5,6 +5,7 @@ import formatTime from 'Utilities/Date/formatTime'; import formatTimeSpan from 'Utilities/Date/formatTimeSpan'; import getRelativeDate from 'Utilities/Date/getRelativeDate'; import formatBytes from 'Utilities/Number/formatBytes'; +import translate from 'Utilities/String/translate'; import styles from './TimeleftCell.css'; function TimeleftCell(props) { @@ -26,7 +27,7 @@ function TimeleftCell(props) { return ( - @@ -40,7 +41,7 @@ function TimeleftCell(props) { return ( - diff --git a/frontend/src/AddArtist/ArtistMonitoringOptionsPopoverContent.js b/frontend/src/AddArtist/ArtistMonitoringOptionsPopoverContent.js index 5b53425a4..9af0b2254 100644 --- a/frontend/src/AddArtist/ArtistMonitoringOptionsPopoverContent.js +++ b/frontend/src/AddArtist/ArtistMonitoringOptionsPopoverContent.js @@ -1,43 +1,44 @@ import React from 'react'; import DescriptionList from 'Components/DescriptionList/DescriptionList'; import DescriptionListItem from 'Components/DescriptionList/DescriptionListItem'; +import translate from 'Utilities/String/translate'; function ArtistMonitoringOptionsPopoverContent() { return ( ); diff --git a/frontend/src/Album/Delete/DeleteAlbumModalContent.js b/frontend/src/Album/Delete/DeleteAlbumModalContent.js index be099d521..4dbe21d0f 100644 --- a/frontend/src/Album/Delete/DeleteAlbumModalContent.js +++ b/frontend/src/Album/Delete/DeleteAlbumModalContent.js @@ -10,6 +10,7 @@ import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; import { inputTypes, kinds } from 'Helpers/Props'; import formatBytes from 'Utilities/Number/formatBytes'; +import translate from 'Utilities/String/translate'; import styles from './DeleteAlbumModalContent.css'; class DeleteAlbumModalContent extends Component { @@ -91,13 +92,15 @@ class DeleteAlbumModalContent extends Component { - Add List Exclusion + + {translate('AddListExclusion')} + @@ -106,14 +109,18 @@ class DeleteAlbumModalContent extends Component { { !addImportListExclusion &&
-
If you don't add an import list exclusion and the artist has a metadata profile other than 'None' then this album may be re-added during the next artist refresh.
+
+ {translate('IfYouDontAddAnImportListExclusionAndTheArtistHasAMetadataProfileOtherThanNoneThenThisAlbumMayBeReaddedDuringTheNextArtistRefresh')} +
} { deleteFiles &&
-
The album's files will be deleted.
+
+ {translate('TheAlbumsFilesWillBeDeleted')} +
{ !!trackFileCount && diff --git a/frontend/src/Album/Details/AlbumDetails.js b/frontend/src/Album/Details/AlbumDetails.js index ac4c52ab6..011ec9820 100644 --- a/frontend/src/Album/Details/AlbumDetails.js +++ b/frontend/src/Album/Details/AlbumDetails.js @@ -27,6 +27,7 @@ import RetagPreviewModalConnector from 'Retag/RetagPreviewModalConnector'; import fonts from 'Styles/Variables/fonts'; import TrackFileEditorModal from 'TrackFile/Editor/TrackFileEditorModal'; import formatBytes from 'Utilities/Number/formatBytes'; +import translate from 'Utilities/String/translate'; import selectAll from 'Utilities/Table/selectAll'; import toggleSelected from 'Utilities/Table/toggleSelected'; import AlbumDetailsLinks from './AlbumDetailsLinks'; @@ -241,14 +242,14 @@ class AlbumDetails extends Component { @@ -256,28 +257,28 @@ class AlbumDetails extends Component { @@ -285,13 +286,13 @@ class AlbumDetails extends Component { @@ -299,7 +300,7 @@ class AlbumDetails extends Component { @@ -349,7 +350,7 @@ class AlbumDetails extends Component { className={styles.albumNavigationButton} name={icons.ARROW_LEFT} size={30} - title={`Go to ${previousAlbum.title}`} + title={translate('GoToInterp', [previousAlbum.title])} to={`/album/${previousAlbum.foreignAlbumId}`} /> @@ -357,7 +358,7 @@ class AlbumDetails extends Component { className={styles.albumNavigationButton} name={icons.ARROW_UP} size={30} - title={`Go to ${artist.artistName}`} + title={translate('GoToInterp', [artist.artistName])} to={`/artist/${artist.foreignArtistId}`} /> @@ -365,7 +366,7 @@ class AlbumDetails extends Component { className={styles.albumNavigationButton} name={icons.ARROW_RIGHT} size={30} - title={`Go to ${nextAlbum.title}`} + title={translate('GoToInterp', [nextAlbum.title])} to={`/album/${nextAlbum.foreignAlbumId}`} />
@@ -439,7 +440,7 @@ class AlbumDetails extends Component { !!albumType &&