diff --git a/.gitignore b/.gitignore index 58b66073..39279790 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,7 @@ pnpm-debug.log* # TODO.md __pycache__ -dev-dist/* \ No newline at end of file +dev-dist/* + +# Local patches +*.patch \ No newline at end of file diff --git a/package.json b/package.json index 6054cd92..97301fd0 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "vue": "^v3.5.13", "vue-boring-avatars": "^1.4.0", "vue-debounce": "^3.0.2", + "vue-i18n": "^11.4", "vue-router": "^4.1.3", "vue-template-compiler": "^2.0.0", "vue-virtual-scroller": "^2.0.0-beta.7", diff --git a/src/assets/icons/expand.svg b/src/assets/icons/expand.svg index 1434d413..f350bb47 100644 --- a/src/assets/icons/expand.svg +++ b/src/assets/icons/expand.svg @@ -1,3 +1,3 @@ - + diff --git a/src/components/AlbumView/AlbumDiscBar.vue b/src/components/AlbumView/AlbumDiscBar.vue index 37a17698..90285c2c 100644 --- a/src/components/AlbumView/AlbumDiscBar.vue +++ b/src/components/AlbumView/AlbumDiscBar.vue @@ -1,9 +1,9 @@
- Disc {{ album_disc.album_page_disc_number }} + {{ $t('AlbumView.DiskNumber', { num: album_disc.album_page_disc_number }) }} - Play Disc {{ album_disc.album_page_disc_number }} {{ $t('AlbumView.PlayDisc') }} {{ album_disc.album_page_disc_number }}
diff --git a/src/components/AlbumView/GenreBanner.vue b/src/components/AlbumView/GenreBanner.vue index bdc42957..bad3e725 100644 --- a/src/components/AlbumView/GenreBanner.vue +++ b/src/components/AlbumView/GenreBanner.vue @@ -7,7 +7,7 @@ >
- {{ genres.length ? "Genres" : "No genres" }} + {{ genres.length ? $t('AlbumView.GenreBanner.GenreExists') : $t('AlbumView.GenreBanner.GenreDoesNotExist') }}
- {{ new Date(album.date * 1000).getUTCFullYear() }} {{ !album.is_single ? `• ${album.trackcount} Tracks` : "" }} • + {{ new Date(album.date * 1000).getFullYear() }} {{ !album.is_single ? `• ${album.trackcount} ${ $t('Common.Track', album.trackcount) }` : "" }} • {{ formatSeconds(album.duration, true) }}
@@ -18,6 +18,7 @@ diff --git a/src/components/ArtistView/AlbumsFetcher.vue b/src/components/ArtistView/AlbumsFetcher.vue index 2a102ef6..5f13f6ec 100644 --- a/src/components/ArtistView/AlbumsFetcher.vue +++ b/src/components/ArtistView/AlbumsFetcher.vue @@ -1,6 +1,6 @@ diff --git a/src/components/ArtistView/HeaderComponents/Info.vue b/src/components/ArtistView/HeaderComponents/Info.vue index 5ccdb8e7..a40d7de8 100644 --- a/src/components/ArtistView/HeaderComponents/Info.vue +++ b/src/components/ArtistView/HeaderComponents/Info.vue @@ -6,16 +6,16 @@ }" >
-
Artist
+
{{ $t('ArtistView.Title') }}
{{ artist.name }}
- {{ artist.trackcount.toLocaleString() }} Track{{ `${artist.trackcount == 1 ? '' : 's'} • ` }} + {{ artist.trackcount.toLocaleString() }} {{ `${ $t('Common.Track', artist.trackcount) } • `}} - {{ artist.albumcount.toLocaleString() }} Album{{ `${artist.albumcount == 1 ? '' : 's'} • ` }} + {{ artist.albumcount.toLocaleString() }} {{ `${ $t('Common.Album', artist.albumcount) } • ` }} {{ `${formatSeconds(artist.duration, true)}` }} diff --git a/src/components/ArtistView/TopTracks.vue b/src/components/ArtistView/TopTracks.vue index b716ac6e..cb83f320 100644 --- a/src/components/ArtistView/TopTracks.vue +++ b/src/components/ArtistView/TopTracks.vue @@ -14,7 +14,7 @@ @playThis="playHandler(index)" />
-
No tracks
+
{{ $t('ArtistView.NoTracks') }}
@@ -25,6 +25,7 @@ import { isMedium, isSmall } from '@/stores/content-width' import SeeAll from '../shared/SeeAll.vue' import SongItem from '../shared/SongItem.vue' + defineProps<{ tracks: Track[] route: string diff --git a/src/components/BottomBar/Left.vue b/src/components/BottomBar/Left.vue index baff4018..59e08f14 100644 --- a/src/components/BottomBar/Left.vue +++ b/src/components/BottomBar/Left.vue @@ -7,7 +7,7 @@ /> diff --git a/src/components/BottomBar/Right.vue b/src/components/BottomBar/Right.vue index 0adc19c6..4bb7bb5d 100644 --- a/src/components/BottomBar/Right.vue +++ b/src/components/BottomBar/Right.vue @@ -5,18 +5,18 @@ - @@ -27,6 +27,7 @@ import useQueue from '@/stores/queue' import useSettings from '@/stores/settings' + import RepeatOneSvg from '@/assets/icons/repeat-one.svg' import RepeatAllSvg from '@/assets/icons/repeat.svg' import ShuffleSvg from '@/assets/icons/shuffle.svg' diff --git a/src/components/BottomBar/Volume.vue b/src/components/BottomBar/Volume.vue index 0d8362bb..01acf45d 100644 --- a/src/components/BottomBar/Volume.vue +++ b/src/components/BottomBar/Volume.vue @@ -14,7 +14,7 @@ min="0" step="0.01" :value="settings.volume" - :aria-label="`Volume ${volume_percent} percent`" + :aria-label="$t('BottomBar.VolumeLabel', { percent: volume_percent })" :aria-valuetext="`${volume_percent}%`" :style="{ backgroundSize: `${volume_percent}% 100%`, diff --git a/src/components/CardListView/SortBanner.vue b/src/components/CardListView/SortBanner.vue index 6e72e562..bfc3d0ba 100644 --- a/src/components/CardListView/SortBanner.vue +++ b/src/components/CardListView/SortBanner.vue @@ -1,6 +1,6 @@ diff --git a/src/components/FolderView/FolderItem.vue b/src/components/FolderView/FolderItem.vue index 2a00ac83..fb90b132 100644 --- a/src/components/FolderView/FolderItem.vue +++ b/src/components/FolderView/FolderItem.vue @@ -16,8 +16,8 @@
{{ folder.name }}
-
- {{ folder.trackcount.toLocaleString() + ` File${folder.trackcount == 1 ? "" : "s"}` }} +
+ {{ folder.trackcount.toLocaleString() + ' ' + $t('FolderView.FileCount', folder.trackcount) }}
diff --git a/src/components/HomeView/Browse.vue b/src/components/HomeView/Browse.vue index 3376db56..8facc05c 100644 --- a/src/components/HomeView/Browse.vue +++ b/src/components/HomeView/Browse.vue @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/src/components/LeftSidebar/NP/Bitrate.vue b/src/components/LeftSidebar/NP/Bitrate.vue index 14d09242..178be403 100644 --- a/src/components/LeftSidebar/NP/Bitrate.vue +++ b/src/components/LeftSidebar/NP/Bitrate.vue @@ -1,5 +1,5 @@ diff --git a/src/components/LeftSidebar/NavButtons.vue b/src/components/LeftSidebar/NavButtons.vue index 0c42517a..ecbcd277 100644 --- a/src/components/LeftSidebar/NavButtons.vue +++ b/src/components/LeftSidebar/NavButtons.vue @@ -25,7 +25,8 @@