From 0ee896d3524d9a5684b529d9712b3e8cdac0aa76 Mon Sep 17 00:00:00 2001 From: imsyy Date: Fri, 19 May 2023 10:25:43 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20i18n=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .hintrc | 3 +- index.html | 114 +++++--- package.json | 1 + pnpm-lock.yaml | 54 ++++ src/components/Banner/index.vue | 4 +- src/components/Comment/index.vue | 7 +- src/components/DataList/ArtistLists.vue | 60 ++++- src/components/DataList/CoverLists.vue | 89 +++++-- src/components/DataList/DataLists.vue | 105 ++++---- src/components/DataList/SmallSongData.vue | 6 +- src/components/DataModal/AboutSite.vue | 2 +- src/components/DataModal/AddPlaylist.vue | 74 ++++-- src/components/DataModal/CloudMatch.vue | 28 +- src/components/DataModal/CreatePlaylist.vue | 39 +-- src/components/DataModal/DownloadSong.vue | 48 ++-- src/components/DataModal/PlayListDrawer.vue | 14 +- src/components/DataModal/PlaylistUpdate.vue | 30 ++- src/components/Nav/index.vue | 262 +++++++++++-------- src/components/Personalized/PaAlbum.vue | 6 +- src/components/Personalized/PaArtists.vue | 14 +- src/components/Personalized/PaDailySongs.vue | 4 +- src/components/Personalized/PaLikeSongs.vue | 4 +- src/components/Personalized/PaPersonalFm.vue | 6 +- src/components/Personalized/PaPlayLists.vue | 4 +- src/components/Personalized/PaRadar.vue | 4 +- src/components/SearchInp/index.vue | 42 +-- src/locale/index.js | 24 ++ src/locale/lang/en.js | 198 ++++++++++++++ src/locale/lang/zh-CN.js | 195 ++++++++++++++ src/main.js | 10 +- src/store/settingData.js | 4 +- src/utils/timeTools.js | 58 +++- src/views/Discover/artists.vue | 40 +-- src/views/Discover/index.vue | 8 +- src/views/Home/HomeView.vue | 4 +- src/views/Setting/main.vue | 33 +++ src/views/User/index.vue | 10 +- vite.config.js | 1 + 38 files changed, 1194 insertions(+), 415 deletions(-) create mode 100644 src/locale/index.js create mode 100644 src/locale/lang/en.js create mode 100644 src/locale/lang/zh-CN.js diff --git a/.hintrc b/.hintrc index c0cfdaa92..aeef5744b 100644 --- a/.hintrc +++ b/.hintrc @@ -21,6 +21,7 @@ "meta[name=theme-color]" ] } - ] + ], + "apple-touch-icons": "off" } } \ No newline at end of file diff --git a/index.html b/index.html index f1b220813..7ddc552a0 100644 --- a/index.html +++ b/index.html @@ -1,41 +1,79 @@ + + + + + + + + + <%- title %> + + + + + + + + + + <% if (tongji) { %> + + + <% } %> + + - - - - - - <%- title %> - - - - - - - - - <% if (tongji) { %> - - - <% } %> - - - -
- - - - \ No newline at end of file + +
+ + + + diff --git a/package.json b/package.json index 0668da60c..4c5414319 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "throttle-debounce": "^5.0.0", "vite-plugin-html": "^3.2.0", "vue": "^3.2.45", + "vue-i18n": "^9.2.2", "vue-router": "^4.1.6", "vue-slider-component": "4.1.0-beta.7" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1d69e98bd..6a0258617 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,6 +46,9 @@ dependencies: vue: specifier: ^3.2.45 version: 3.2.45 + vue-i18n: + specifier: ^9.2.2 + version: 9.2.2(vue@3.2.45) vue-router: specifier: ^4.1.6 version: 4.1.6(vue@3.2.45) @@ -1290,6 +1293,44 @@ packages: vue: 3.2.45 dev: false + /@intlify/core-base@9.2.2: + resolution: {integrity: sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==} + engines: {node: '>= 14'} + dependencies: + '@intlify/devtools-if': 9.2.2 + '@intlify/message-compiler': 9.2.2 + '@intlify/shared': 9.2.2 + '@intlify/vue-devtools': 9.2.2 + dev: false + + /@intlify/devtools-if@9.2.2: + resolution: {integrity: sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==} + engines: {node: '>= 14'} + dependencies: + '@intlify/shared': 9.2.2 + dev: false + + /@intlify/message-compiler@9.2.2: + resolution: {integrity: sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==} + engines: {node: '>= 14'} + dependencies: + '@intlify/shared': 9.2.2 + source-map: 0.6.1 + dev: false + + /@intlify/shared@9.2.2: + resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==} + engines: {node: '>= 14'} + dev: false + + /@intlify/vue-devtools@9.2.2: + resolution: {integrity: sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==} + engines: {node: '>= 14'} + dependencies: + '@intlify/core-base': 9.2.2 + '@intlify/shared': 9.2.2 + dev: false + /@ivanv/vue-collapse-transition@1.0.2: resolution: {integrity: sha512-eWEameFXJM/1khcoKbITvKjYYXDP1WKQ/Xf9ItJVPoEjCiOdocR3AgDAERzDrNNg4oWK28gRGi+0ft8Te27zxw==} dev: false @@ -4015,6 +4056,19 @@ packages: vue: 3.2.45 dev: false + /vue-i18n@9.2.2(vue@3.2.45): + resolution: {integrity: sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==} + engines: {node: '>= 14'} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@intlify/core-base': 9.2.2 + '@intlify/shared': 9.2.2 + '@intlify/vue-devtools': 9.2.2 + '@vue/devtools-api': 6.4.5 + vue: 3.2.45 + dev: false + /vue-router@4.1.6(vue@3.2.45): resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} peerDependencies: diff --git a/src/components/Banner/index.vue b/src/components/Banner/index.vue index 1da6ee0ed..0d9c75595 100644 --- a/src/components/Banner/index.vue +++ b/src/components/Banner/index.vue @@ -36,7 +36,9 @@ diff --git a/src/components/DataList/ArtistLists.vue b/src/components/DataList/ArtistLists.vue index e0ebeb9b7..f407408aa 100644 --- a/src/components/DataList/ArtistLists.vue +++ b/src/components/DataList/ArtistLists.vue @@ -42,7 +42,11 @@ {{ item.name }} - {{ item.size }}首 + {{ + $t("general.name.songSize", { + size: item.size, + }) + }} @@ -79,12 +83,16 @@ diff --git a/src/views/State/403.vue b/src/views/State/403.vue index d89de28bb..3be1e7a72 100644 --- a/src/views/State/403.vue +++ b/src/views/State/403.vue @@ -2,11 +2,13 @@ diff --git a/src/views/State/404.vue b/src/views/State/404.vue index db51a638b..4492d0b40 100644 --- a/src/views/State/404.vue +++ b/src/views/State/404.vue @@ -2,11 +2,13 @@ diff --git a/src/views/State/500.vue b/src/views/State/500.vue index dcb435d20..0781417f5 100644 --- a/src/views/State/500.vue +++ b/src/views/State/500.vue @@ -2,11 +2,13 @@ @@ -28,4 +30,4 @@ onMounted(() => { align-items: center; flex-direction: column; } - \ No newline at end of file + diff --git a/src/views/User/album.vue b/src/views/User/album.vue index f1663c383..ce27665ce 100644 --- a/src/views/User/album.vue +++ b/src/views/User/album.vue @@ -6,12 +6,14 @@ diff --git a/src/views/User/index.vue b/src/views/User/index.vue index 0600c976b..6bae52491 100644 --- a/src/views/User/index.vue +++ b/src/views/User/index.vue @@ -13,7 +13,7 @@ />
{{ user.getUserData.nickname }} - 的音乐库 +
- {{ $t("nav.userChildren.playlists") }} + {{ $t("nav.userChildren.playlist") }} {{ $t("nav.userChildren.like") }} {{ $t("nav.userChildren.album") }} - {{ $t("nav.userChildren.artists") }} + {{ $t("nav.userChildren.artist") }} {{ $t("nav.userChildren.cloud") }}
diff --git a/src/views/User/like.vue b/src/views/User/like.vue index 3b566b798..485fd64a9 100644 --- a/src/views/User/like.vue +++ b/src/views/User/like.vue @@ -6,12 +6,14 @@