From edad84b0b6877c7315e31a8e05abb910f6b1801c Mon Sep 17 00:00:00 2001 From: ArneBo Date: Sat, 7 Dec 2024 16:23:33 +0100 Subject: [PATCH] consistent use of i18n for translations, replace , and global variables with local definitions --- docs/developer/contribute/copy.md | 8 +- front/src/LegacyLayout.vue | 6 +- front/src/components/About.vue | 44 +++--- front/src/components/AboutPod.vue | 76 +++++----- front/src/components/Home.vue | 58 ++++---- front/src/components/PageNotFound.vue | 6 +- front/src/components/Queue.vue | 53 +++---- front/src/components/QueueItem.vue | 9 +- front/src/components/RemoteSearchForm.vue | 14 +- front/src/components/ServiceMessages.vue | 8 +- front/src/components/ShortcutsModal.vue | 4 +- front/src/components/Sidebar.vue | 56 +++---- front/src/components/admin/SettingsGroup.vue | 13 +- .../components/admin/SignupFormBuilder.vue | 30 ++-- front/src/components/album/Card.vue | 8 +- front/src/components/album/Widget.vue | 6 +- front/src/components/artist/Card.vue | 8 +- front/src/components/artist/Widget.vue | 6 +- .../components/audio/ArtistCreditLabel.vue | 5 +- front/src/components/audio/ArtistLabel.vue | 5 +- front/src/components/audio/ChannelCard.vue | 8 +- front/src/components/audio/ChannelEntries.vue | 4 +- .../src/components/audio/ChannelEntryCard.vue | 22 ++- front/src/components/audio/ChannelForm.vue | 30 ++-- .../src/components/audio/ChannelSerieCard.vue | 21 ++- front/src/components/audio/ChannelSeries.vue | 7 +- front/src/components/audio/ChannelsWidget.vue | 5 +- front/src/components/audio/EmbedWizard.vue | 23 +-- .../components/audio/LibraryFollowButton.vue | 8 +- front/src/components/audio/PlayButton.vue | 21 ++- front/src/components/audio/Player.vue | 26 ++-- front/src/components/audio/Search.vue | 10 +- front/src/components/audio/artist/Card.vue | 7 +- .../components/audio/podcast/MobileRow.vue | 10 +- front/src/components/audio/podcast/Modal.vue | 23 +-- front/src/components/audio/podcast/Row.vue | 7 +- .../src/components/audio/track/MobileRow.vue | 10 +- front/src/components/audio/track/Modal.vue | 21 +-- front/src/components/audio/track/Row.vue | 12 +- front/src/components/audio/track/Table.vue | 6 +- front/src/components/audio/track/Widget.vue | 10 +- front/src/components/auth/ApplicationEdit.vue | 20 +-- front/src/components/auth/ApplicationForm.vue | 16 +- front/src/components/auth/ApplicationNew.vue | 2 +- front/src/components/auth/Authorize.vue | 22 +-- front/src/components/auth/LoginForm.vue | 18 +-- front/src/components/auth/Logout.vue | 17 ++- front/src/components/auth/Plugin.vue | 17 ++- front/src/components/auth/Settings.vue | 138 +++++++++--------- front/src/components/auth/SignupForm.vue | 22 +-- .../src/components/auth/SubsonicTokenForm.vue | 30 ++-- front/src/components/channels/AlbumForm.vue | 7 +- front/src/components/channels/AlbumModal.vue | 11 +- front/src/components/channels/AlbumSelect.vue | 11 +- .../src/components/channels/LicenseSelect.vue | 9 +- .../components/channels/SubscribeButton.vue | 7 +- front/src/components/channels/UploadForm.vue | 30 ++-- .../channels/UploadMetadataForm.vue | 13 +- front/src/components/channels/UploadModal.vue | 28 ++-- front/src/components/common/ActionTable.vue | 26 ++-- .../src/components/common/AttachmentInput.vue | 13 +- front/src/components/common/CollapseLink.vue | 7 +- front/src/components/common/ContentForm.vue | 8 +- front/src/components/common/CopyInput.vue | 7 +- .../src/components/common/DangerousButton.vue | 11 +- front/src/components/common/Duration.vue | 7 +- front/src/components/common/EmptyState.vue | 9 +- front/src/components/common/ExpandableDiv.vue | 7 +- .../src/components/common/InlineSearchBar.vue | 2 +- front/src/components/common/LoginModal.vue | 5 +- .../components/common/RenderedDescription.vue | 17 ++- front/src/components/common/UserLink.vue | 9 +- front/src/components/common/UserMenu.vue | 28 ++-- front/src/components/common/UserModal.vue | 23 +-- front/src/components/favorites/List.vue | 18 +-- .../favorites/TrackFavoriteIcon.vue | 4 +- .../src/components/federation/FetchButton.vue | 52 ++++--- .../components/federation/LibraryWidget.vue | 11 +- front/src/components/library/AlbumBase.vue | 33 +++-- front/src/components/library/AlbumDetail.vue | 12 +- .../src/components/library/AlbumDropdown.vue | 32 ++-- front/src/components/library/AlbumEdit.vue | 8 +- front/src/components/library/Albums.vue | 20 +-- front/src/components/library/ArtistBase.vue | 41 +++--- front/src/components/library/ArtistDetail.vue | 22 +-- front/src/components/library/ArtistEdit.vue | 10 +- front/src/components/library/Artists.vue | 24 +-- front/src/components/library/EditCard.vue | 42 +++--- front/src/components/library/EditForm.vue | 34 ++--- front/src/components/library/FileUpload.vue | 56 +++---- front/src/components/library/FsBrowser.vue | 6 +- front/src/components/library/FsLogs.vue | 6 +- front/src/components/library/Home.vue | 14 +- .../components/library/ImportStatusModal.vue | 24 +-- front/src/components/library/Podcasts.vue | 28 ++-- front/src/components/library/Radios.vue | 24 +-- front/src/components/library/TagDetail.vue | 17 ++- front/src/components/library/TagsSelector.vue | 6 +- front/src/components/library/TrackBase.vue | 53 ++++--- front/src/components/library/TrackDetail.vue | 63 ++++---- front/src/components/library/TrackEdit.vue | 10 +- .../src/components/library/radios/Builder.vue | 34 ++--- .../src/components/library/radios/Filter.vue | 13 +- front/src/components/manage/ChannelsTable.vue | 30 ++-- .../components/manage/library/AlbumsTable.vue | 28 ++-- .../manage/library/ArtistsTable.vue | 28 ++-- .../manage/library/EditsCardList.vue | 22 +-- .../manage/library/LibrariesTable.vue | 32 ++-- .../components/manage/library/TagsTable.vue | 22 +-- .../components/manage/library/TracksTable.vue | 28 ++-- .../manage/library/UploadsTable.vue | 52 +++---- .../manage/moderation/AccountsTable.vue | 28 ++-- .../manage/moderation/DomainsTable.vue | 34 ++--- .../manage/moderation/InstancePolicyCard.vue | 21 +-- .../manage/moderation/InstancePolicyForm.vue | 30 ++-- .../manage/moderation/InstancePolicyModal.vue | 11 +- .../components/manage/moderation/NoteForm.vue | 4 +- .../manage/moderation/NotesThread.vue | 12 +- .../manage/moderation/ReportCard.vue | 56 +++---- .../manage/moderation/UserRequestCard.vue | 42 +++--- .../manage/users/InvitationForm.vue | 12 +- .../manage/users/InvitationsTable.vue | 32 ++-- .../components/manage/users/UsersTable.vue | 38 ++--- .../src/components/moderation/FilterModal.vue | 20 +-- .../moderation/ReportCategoryDropdown.vue | 2 +- .../src/components/moderation/ReportModal.vue | 24 +-- front/src/components/playlists/Card.vue | 8 +- front/src/components/playlists/Editor.vue | 24 +-- front/src/components/playlists/Form.vue | 16 +- .../components/playlists/PlaylistModal.vue | 34 ++--- .../playlists/TrackPlaylistIcon.vue | 8 +- front/src/components/playlists/Widget.vue | 14 +- front/src/components/radios/Card.vue | 7 +- front/src/components/tags/List.vue | 4 +- front/src/components/ui/alert.scss | 23 +-- front/src/ui/components/Sidebar.vue | 17 ++- front/src/views/Notifications.vue | 46 +++--- front/src/views/Search.vue | 2 +- front/src/views/admin/ChannelDetail.vue | 68 ++++----- front/src/views/admin/Settings.vue | 2 +- front/src/views/admin/library/AlbumDetail.vue | 66 +++++---- .../src/views/admin/library/ArtistDetail.vue | 68 ++++----- front/src/views/admin/library/Base.vue | 16 +- front/src/views/admin/library/EditsList.vue | 2 +- .../src/views/admin/library/LibraryDetail.vue | 62 ++++---- front/src/views/admin/library/TagDetail.vue | 37 +++-- front/src/views/admin/library/TrackDetail.vue | 77 +++++----- .../src/views/admin/library/UploadDetail.vue | 81 +++++----- .../views/admin/moderation/AccountsDetail.vue | 98 +++++++------ front/src/views/admin/moderation/Base.vue | 22 +-- .../views/admin/moderation/DomainsDetail.vue | 78 +++++----- .../views/admin/moderation/DomainsList.vue | 10 +- .../views/admin/moderation/ReportsList.vue | 20 +-- .../views/admin/moderation/RequestsList.vue | 22 +-- front/src/views/admin/users/Base.vue | 4 +- front/src/views/auth/Callback.vue | 2 +- front/src/views/auth/EmailConfirm.vue | 12 +- front/src/views/auth/Login.vue | 2 +- front/src/views/auth/PasswordReset.vue | 12 +- front/src/views/auth/PasswordResetConfirm.vue | 16 +- front/src/views/auth/ProfileActivity.vue | 6 +- front/src/views/auth/ProfileBase.vue | 10 +- front/src/views/auth/ProfileOverview.vue | 43 +++--- front/src/views/auth/Signup.vue | 2 +- front/src/views/channels/DetailBase.vue | 62 ++++---- front/src/views/channels/DetailOverview.vue | 32 ++-- .../src/views/channels/SubscriptionsList.vue | 8 +- front/src/views/content/Base.vue | 4 +- front/src/views/content/Home.vue | 20 +-- .../src/views/content/channels/CardUpload.vue | 2 +- front/src/views/content/libraries/Card.vue | 6 +- .../views/content/libraries/CardUpload.vue | 4 +- .../views/content/libraries/FilesTable.vue | 46 +++--- front/src/views/content/libraries/Form.vue | 24 +-- front/src/views/content/libraries/Home.vue | 12 +- front/src/views/content/libraries/Quota.vue | 47 +++--- front/src/views/content/remote/Card.vue | 36 ++--- front/src/views/content/remote/Home.vue | 14 +- front/src/views/content/remote/ScanForm.vue | 4 +- front/src/views/content/upload/Home.vue | 4 +- front/src/views/library/DetailAlbums.vue | 8 +- front/src/views/library/DetailOverview.vue | 12 +- front/src/views/library/DetailTracks.vue | 4 +- front/src/views/library/Edit.vue | 36 +++-- front/src/views/library/LibraryBase.vue | 22 +-- front/src/views/playlists/Detail.vue | 28 ++-- front/src/views/playlists/List.vue | 31 ++-- front/src/views/radios/Detail.vue | 25 ++-- 188 files changed, 2252 insertions(+), 1916 deletions(-) diff --git a/docs/developer/contribute/copy.md b/docs/developer/contribute/copy.md index 407ecb21d..c2acba76d 100644 --- a/docs/developer/contribute/copy.md +++ b/docs/developer/contribute/copy.md @@ -47,8 +47,8 @@ const labels = computed(() => ({ :::{tab-item} Template ```html -

{{ $t('components.About.header.funkwhale') }}

- +

{{ t('components.About.header.funkwhale') }}

+ ``` ::: @@ -84,11 +84,11 @@ Some strings change depending on whether they are plural or not. You can create v-if="object.artist?.content_category === 'podcast'" class="meta ellipsis" > - {{ $t('components.audio.ChannelCard.meta.episodes', {episode_count: + {{ t('components.audio.ChannelCard.meta.episodes', {episode_count: object.artist.tracks_count}) }} - {{ $t('components.audio.ChannelCard.meta.tracks', {tracks_count: + {{ t('components.audio.ChannelCard.meta.tracks', {tracks_count: object.artist?.tracks_count}) }} import('~/components/channels/UploadModal.vue')) const PlaylistModal = defineAsyncComponent(() => import('~/components/playlists/PlaylistModal.vue')) const FilterModal = defineAsyncComponent(() => import('~/components/moderation/FilterModal.vue')) @@ -85,7 +89,7 @@ const showSetInstanceModal = ref(false) diff --git a/front/src/components/About.vue b/front/src/components/About.vue index a40cf6da2..216099ecf 100644 --- a/front/src/components/About.vue +++ b/front/src/components/About.vue @@ -67,10 +67,10 @@ const headerStyle = computed(() => {

- {{ $t('components.About.header.funkwhale') }} + {{ t('components.About.header.funkwhale') }}

- {{ $t('components.About.description.funkwhale') }} + {{ t('components.About.description.funkwhale') }}

@@ -84,14 +84,14 @@ const headerStyle = computed(() => { class="signup-form content" >

- {{ $t('components.About.header.signup') }} + {{ t('components.About.header.signup') }}

- {{ $t('components.About.help.closedRegistrations') }} + {{ t('components.About.help.closedRegistrations') }}

{ rel="noopener" href="https://funkwhale.audio/#get-started" > - {{ $t('components.About.link.findOtherPod') }} + {{ t('components.About.link.findOtherPod') }}  
@@ -118,13 +118,13 @@ const headerStyle = computed(() => { class="signup-form content" >

- {{ $t('components.About.header.signup') }} + {{ t('components.About.header.signup') }}
- {{ $t('components.About.message.loggedIn') }} + {{ t('components.About.message.loggedIn') }}

- {{ $t('components.About.message.greeting', {username: $store.state.auth.username}) }} + {{ t('components.About.message.greeting', {username: $store.state.auth.username}) }}

@@ -145,7 +145,7 @@ const headerStyle = computed(() => { id="description" class="ui header" > - {{ $t('components.About.header.aboutPod') }} + {{ t('components.About.header.aboutPod') }}
{ {{ shortDescription }}

- {{ $t('components.About.placeholder.noDescription') }} + {{ t('components.About.placeholder.noDescription') }}

@@ -420,7 +420,7 @@ const headerStyle = computed(() => { class="ui left floated basic secondary button" > - {{ $t('components.AboutPod.link.introduction') }} + {{ t('components.AboutPod.link.introduction') }} diff --git a/front/src/components/Home.vue b/front/src/components/Home.vue index ec7bfe705..e5e5efec3 100644 --- a/front/src/components/Home.vue +++ b/front/src/components/Home.vue @@ -73,7 +73,7 @@ whenever(() => store.state.auth.authenticated, () => {

- {{ $t('components.Home.header.welcome', {podName: podName}) }} + {{ t('components.Home.header.welcome', {podName: podName}) }}
store.state.auth.authenticated, () => {

- {{ $t('components.Home.header.about') }} + {{ t('components.Home.header.about') }}

store.state.auth.authenticated, () => {

- {{ $t('components.Home.placeholder.noDescription') }} + {{ t('components.Home.placeholder.noDescription') }}

@@ -307,7 +310,7 @@ if (!isWebGLSupported) { class="discrete link album" :to="{name: 'library.albums.detail', params: {id: currentTrack.albumId }}" > - {{ currentTrack.albumTitle ?? $t('components.Queue.meta.unknownAlbum') }} + {{ currentTrack.albumTitle ?? t('components.Queue.meta.unknownAlbum') }}
@@ -318,14 +321,14 @@ if (!isWebGLSupported) { class="ui small warning message" >

- {{ $t('components.Queue.header.failure') }} + {{ t('components.Queue.header.failure') }}

- {{ $t('components.Queue.message.automaticPlay') }} + {{ t('components.Queue.message.automaticPlay') }}

- {{ $t('components.Queue.warning.connectivity') }} + {{ t('components.Queue.warning.connectivity') }}

- {{ $t('components.Queue.header.noSources') }} + {{ t('components.Queue.header.noSources') }}

- {{ $t('components.Queue.message.automaticPlay') }} + {{ t('components.Queue.message.automaticPlay') }}

@@ -401,7 +404,7 @@ if (!isWebGLSupported) {
diff --git a/front/src/components/auth/ApplicationEdit.vue b/front/src/components/auth/ApplicationEdit.vue index 4c2303042..c58852768 100644 --- a/front/src/components/auth/ApplicationEdit.vue +++ b/front/src/components/auth/ApplicationEdit.vue @@ -72,17 +72,17 @@ store.state.auth.applicationSecret = undefined
diff --git a/front/src/components/auth/Logout.vue b/front/src/components/auth/Logout.vue index 9bb2cdddd..6f9fade54 100644 --- a/front/src/components/auth/Logout.vue +++ b/front/src/components/auth/Logout.vue @@ -1,8 +1,11 @@ -