From a75a19698d51e11dac1d187c7fd552518f7ddc0c Mon Sep 17 00:00:00 2001 From: nitsua Date: Sun, 3 Oct 2021 11:01:09 -0400 Subject: [PATCH] Initial pass for translations --- frontend/src/Activity/Blocklist/Blocklist.js | 19 +- .../Blocklist/BlocklistDetailsModal.js | 9 +- .../src/Activity/Blocklist/BlocklistRow.js | 3 +- .../History/Details/HistoryDetails.js | 65 +- frontend/src/Activity/History/History.js | 11 +- frontend/src/Activity/Queue/Queue.js | 11 +- frontend/src/Activity/Queue/QueueDetails.js | 13 +- frontend/src/Activity/Queue/QueueOptions.js | 7 +- frontend/src/Activity/Queue/QueueRow.js | 5 +- .../src/Activity/Queue/QueueStatusCell.js | 3 +- .../Activity/Queue/RemoveQueueItemModal.js | 19 +- .../Activity/Queue/RemoveQueueItemsModal.js | 15 +- frontend/src/Activity/Queue/TimeleftCell.js | 5 +- .../ArtistMonitoringOptionsPopoverContent.js | 29 +- .../Album/Delete/DeleteAlbumModalContent.js | 15 +- frontend/src/Album/Details/AlbumDetails.js | 35 +- .../src/Album/Details/AlbumDetailsMedium.js | 7 +- .../Details/AlbumDetailsPageConnector.js | 3 +- .../src/Album/Details/TrackActionsCell.js | 7 +- .../src/Album/Edit/EditAlbumModalContent.js | 19 +- frontend/src/Album/EpisodeNumber.js | 7 +- frontend/src/Album/EpisodeStatus.js | 15 +- frontend/src/Album/SceneInfo.js | 9 +- frontend/src/AlbumStudio/AlbumStudio.js | 3 +- frontend/src/AlbumStudio/AlbumStudioAlbum.js | 3 +- frontend/src/App/AppUpdatedModalContent.js | 5 +- .../Artist/Delete/DeleteArtistModalContent.js | 13 +- frontend/src/Artist/Details/AlbumRow.js | 3 +- frontend/src/Artist/Details/ArtistDetails.js | 51 +- .../Details/ArtistDetailsPageConnector.js | 3 +- .../src/Artist/Details/ArtistDetailsSeason.js | 5 +- .../src/Artist/Edit/EditArtistModalContent.js | 23 +- frontend/src/Artist/Editor/ArtistEditor.js | 5 +- .../src/Artist/Editor/ArtistEditorFooter.js | 11 +- .../Artist/Editor/Tags/TagsModalContent.js | 25 +- .../History/ArtistHistoryModalContent.js | 9 +- .../src/Artist/History/ArtistHistoryRow.js | 9 +- frontend/src/Artist/Index/ArtistIndex.js | 13 +- .../src/Artist/Index/ArtistIndexFooter.js | 33 +- .../Artist/Index/Banners/ArtistIndexBanner.js | 9 +- .../ArtistIndexBannerOptionsModalContent.js | 35 +- .../Index/Overview/ArtistIndexOverview.js | 9 +- .../ArtistIndexOverviewOptionsModalContent.js | 45 +- .../Artist/Index/Posters/ArtistIndexPoster.js | 9 +- .../ArtistIndexPosterOptionsModalContent.js | 35 +- .../ProgressBar/ArtistIndexProgressBar.js | 3 +- .../Index/Table/ArtistIndexActionsCell.js | 5 +- .../src/Artist/Index/Table/ArtistIndexRow.js | 9 +- .../Index/Table/ArtistIndexTableOptions.js | 13 +- .../Artist/Index/Table/ArtistStatusCell.js | 3 +- frontend/src/Calendar/Agenda/AgendaEvent.js | 3 +- frontend/src/Calendar/Calendar.js | 5 +- frontend/src/Calendar/CalendarPage.js | 11 +- frontend/src/Calendar/Events/CalendarEvent.js | 3 +- .../Events/CalendarEventQueueDetails.js | 3 +- .../Options/CalendarOptionsModalContent.js | 37 +- .../Calendar/iCal/CalendarLinkModalContent.js | 31 +- .../FileBrowser/FileBrowserModalContent.js | 7 +- .../Filter/CustomFilters/CustomFilter.js | 3 +- .../src/Components/Form/FormInputGroup.js | 2 +- frontend/src/Components/NotFound.js | 3 +- .../Table/TableOptions/TableOptionsModal.js | 11 +- .../Album/SelectAlbumModalContent.js | 3 +- .../InteractiveImport/Album/SelectAlbumRow.js | 3 +- .../Artist/SelectArtistModalContent.js | 3 +- .../Folder/RecentFolderRow.js | 3 +- .../Interactive/InteractiveImportRow.js | 13 +- .../Quality/SelectQualityModalContent.js | 17 +- .../InteractiveImport/Track/SelectTrackRow.js | 3 +- .../InteractiveSearch/InteractiveSearchRow.js | 9 +- .../Organize/OrganizePreviewModalContent.js | 9 +- .../src/Retag/RetagPreviewModalContent.js | 9 +- frontend/src/Search/AddNewItem.js | 5 +- .../Search/Album/AddNewAlbumSearchResult.js | 3 +- .../Search/Artist/AddNewArtistSearchResult.js | 3 +- .../src/Search/Common/AddArtistOptionsForm.js | 17 +- .../src/Settings/AdvancedSettingsButton.js | 3 +- .../DownloadClients/DownloadClientSettings.js | 5 +- .../AddDownloadClientModalContent.js | 17 +- .../DownloadClients/DownloadClient.js | 7 +- .../DownloadClients/DownloadClients.js | 5 +- .../EditDownloadClientModalContent.js | 19 +- .../Options/DownloadClientOptions.js | 33 +- .../EditRemotePathMappingModalContent.js | 23 +- .../RemotePathMappings/RemotePathMapping.js | 7 +- .../RemotePathMappings/RemotePathMappings.js | 5 +- .../src/Settings/General/AnalyticSettings.js | 11 +- .../src/Settings/General/BackupSettings.js | 21 +- .../src/Settings/General/GeneralSettings.js | 13 +- frontend/src/Settings/General/HostSettings.js | 59 +- .../src/Settings/General/LoggingSettings.js | 9 +- .../src/Settings/General/ProxySettings.js | 41 +- .../src/Settings/General/SecuritySettings.js | 35 +- .../src/Settings/General/UpdateSettings.js | 33 +- .../EditImportListExclusionModalContent.js | 17 +- .../ImportListExclusion.js | 7 +- .../ImportListExclusions.js | 5 +- .../ImportLists/ImportListSettings.js | 5 +- .../ImportLists/AddImportListModalContent.js | 13 +- .../ImportLists/EditImportListModalContent.js | 49 +- .../ImportLists/ImportLists/ImportList.js | 7 +- .../ImportLists/ImportLists/ImportLists.js | 5 +- .../src/Settings/Indexers/IndexerSettings.js | 5 +- .../Indexers/AddIndexerModalContent.js | 17 +- .../Indexers/EditIndexerModalContent.js | 37 +- .../src/Settings/Indexers/Indexers/Indexer.js | 9 +- .../Settings/Indexers/Indexers/Indexers.js | 5 +- .../Indexers/Options/IndexerOptions.js | 33 +- .../MediaManagement/MediaManagement.js | 139 ++-- .../Settings/MediaManagement/Naming/Naming.js | 31 +- .../MediaManagement/Naming/NamingModal.js | 27 +- .../RootFolder/EditRootFolderModalContent.js | 37 +- .../MediaManagement/RootFolder/RootFolder.js | 7 +- .../MediaManagement/RootFolder/RootFolders.js | 5 +- .../Metadata/EditMetadataModalContent.js | 7 +- .../Settings/Metadata/Metadata/Metadatas.js | 5 +- .../MetadataProvider/MetadataProvider.js | 27 +- .../src/Settings/Metadata/MetadataSettings.js | 3 +- .../Notifications/NotificationSettings.js | 3 +- .../AddNotificationModalContent.js | 5 +- .../EditNotificationModalContent.js | 15 +- .../Notifications/Notification.js | 7 +- .../Notifications/NotificationEventItems.js | 23 +- .../Notifications/Notifications.js | 5 +- .../Settings/Profiles/Delay/DelayProfile.js | 7 +- .../Settings/Profiles/Delay/DelayProfiles.js | 5 +- .../Delay/EditDelayProfileModalContent.js | 29 +- .../EditMetadataProfileModalContent.js | 17 +- .../Profiles/Metadata/MetadataProfile.js | 9 +- .../Profiles/Metadata/MetadataProfiles.js | 5 +- .../Profiles/Metadata/PrimaryTypeItems.js | 5 +- .../Profiles/Metadata/ReleaseStatusItems.js | 5 +- .../Profiles/Metadata/SecondaryTypeItems.js | 5 +- frontend/src/Settings/Profiles/Profiles.js | 3 +- .../Quality/EditQualityProfileModalContent.js | 11 +- .../Profiles/Quality/QualityProfile.js | 15 +- .../Profiles/Quality/QualityProfileItem.js | 5 +- .../Quality/QualityProfileItemGroup.js | 5 +- .../Profiles/Quality/QualityProfiles.js | 5 +- .../Release/EditReleaseProfileModalContent.js | 57 +- .../Profiles/Release/ReleaseProfile.js | 7 +- .../Profiles/Release/ReleaseProfiles.js | 5 +- .../Quality/Definition/QualityDefinition.js | 9 +- .../Definition/QualityDefinitionLimits.js | 13 +- .../Quality/Definition/QualityDefinitions.js | 5 +- frontend/src/Settings/Quality/Quality.js | 3 +- frontend/src/Settings/Settings.js | 3 +- frontend/src/Settings/SettingsToolbar.js | 3 +- .../Tags/Details/TagDetailsModalContent.js | 17 +- frontend/src/Settings/Tags/Tag.js | 7 +- frontend/src/Settings/Tags/TagSettings.js | 3 +- frontend/src/Settings/Tags/Tags.js | 10 +- frontend/src/Settings/UI/UISettings.js | 60 +- frontend/src/System/Backup/BackupRow.js | 11 +- frontend/src/System/Backup/Backups.js | 15 +- .../Backup/RestoreBackupModalContent.js | 13 +- frontend/src/System/Events/LogsTable.js | 9 +- .../System/Events/LogsTableDetailsModal.js | 9 +- frontend/src/System/Logs/Files/LogFiles.js | 11 +- frontend/src/System/Status/About/About.js | 21 +- .../src/System/Status/DiskSpace/DiskSpace.js | 3 +- frontend/src/System/Status/Health/Health.js | 15 +- .../src/System/Status/MoreInfo/MoreInfo.js | 3 +- frontend/src/System/Status/Status.js | 3 +- .../src/System/Tasks/Queued/QueuedTaskRow.js | 13 +- .../src/System/Tasks/Queued/QueuedTasks.js | 3 +- .../System/Tasks/Scheduled/ScheduledTasks.js | 3 +- frontend/src/System/Tasks/Tasks.js | 3 +- frontend/src/System/Updates/Updates.js | 15 +- .../Editor/TrackFileEditorModalContent.js | 7 +- .../src/TrackFile/ExpandingFileDetails.js | 3 +- frontend/src/TrackFile/FileDetails.js | 37 +- .../src/UnmappedFiles/UnmappedFilesTable.js | 7 +- .../UnmappedFiles/UnmappedFilesTableRow.js | 7 +- .../src/Wanted/CutoffUnmet/CutoffUnmet.js | 13 +- frontend/src/Wanted/Missing/Missing.js | 15 +- src/NzbDrone.Core/Localization/Core/en.json | 681 +++++++++++++++++- 177 files changed, 2213 insertions(+), 885 deletions(-) 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 &&