hw-gs-player

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 388142962fd04f26eab29f514fd1308efc49789d
parent 73045e76812235aeb63d929c74a8c2bd6ae1d81b
Author: Sunny <kajimalu10@gmail.com>
Date:   Sat, 29 Mar 2025 21:26:11 +0900

songs translation -2

Diffstat:
Apublic/AlbumArts/1.png | 0
Apublic/AlbumArts/2.png | 0
Apublic/AlbumArts/3.png | 0
Apublic/AlbumArts/4.png | 0
Dpublic/AlbumArts/Featured_Original_Soundtrack.png | 0
Msrc/App.vue | 51+++++++++++++++++++++++++++++++++++++++++++++++----
Msrc/assets/AlbumsList.json | 256++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
Msrc/locales/en.json | 34++++++++++++++++++++++------------
Msrc/locales/ja.json | 34++++++++++++++++++++++------------
Msrc/locales/ko.json | 3+++
Msrc/locales/zh.json | 3+++
11 files changed, 331 insertions(+), 50 deletions(-)

diff --git a/public/AlbumArts/1.png b/public/AlbumArts/1.png Binary files differ. diff --git a/public/AlbumArts/2.png b/public/AlbumArts/2.png Binary files differ. diff --git a/public/AlbumArts/3.png b/public/AlbumArts/3.png Binary files differ. diff --git a/public/AlbumArts/4.png b/public/AlbumArts/4.png Binary files differ. diff --git a/public/AlbumArts/Featured_Original_Soundtrack.png b/public/AlbumArts/Featured_Original_Soundtrack.png Binary files differ. diff --git a/src/App.vue b/src/App.vue @@ -1,7 +1,7 @@ <script setup lang="ts"> import { ref, onMounted, onBeforeUnmount, watch } from "vue"; import Player from "./components/Player.vue"; -import FlagIcon from 'vue3-flag-icons' +import FlagIcon from 'vue3-flag-icons'; import { useI18n } from 'vue-i18n'; import { screenSaver } from "./screen-saver"; import SvgIcon from '@jamescoyle/vue-icon'; @@ -9,6 +9,7 @@ import { mdiPlaylistMusic } from '@mdi/js'; const MenuButton = ref(false); const isFullscreen = ref(false); +const showReloadPopup = ref(false); const closeMenu = (event: Event) => { const target = event.target as HTMLElement; @@ -21,6 +22,11 @@ const { locale, t } = useI18n(); const changeLanguage = (lang: string) => { locale.value = lang; localStorage.setItem("selectedLanguage", lang); + showReloadPopup.value = true; + + setTimeout(() => { + showReloadPopup.value = false; + }, 3000); }; const updateBodyClass = () => { @@ -73,12 +79,48 @@ onBeforeUnmount(() => { <button class="language_btn" @click="changeLanguage('zh')"><FlagIcon code="cn" size="20" /></button> <button class="language_btn" @click="changeLanguage('ko')"><FlagIcon code="kr" size="20" /></button> </div> - </div> </nav> </header> - <div id="screenSaver" class="screen-saver"> - </div> + <div id="screenSaver" class="screen-saver"></div> <router-view /> <Player :isFullscreen="isFullscreen" @update:isFullscreen="isFullscreen = $event" /> + + <div v-if="showReloadPopup" class="reload-popup"> + <p>{{ $t('popup.reloadMessage') }}</p> + </div> </template> + +<style scoped> +.reload-popup { + position: fixed; + bottom: 20px; + right: 20px; + background-color: #333; + color: #fff; + padding: 15px; + border-radius: 5px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); + z-index: 1000; + animation: fade-in-out 3s forwards; +} + +@keyframes fade-in-out { + 0% { + opacity: 0; + transform: translateY(10px); + } + 10% { + opacity: 1; + transform: translateY(0); + } + 90% { + opacity: 1; + transform: translateY(0); + } + 100% { + opacity: 0; + transform: translateY(10px); + } +} +</style>+ \ No newline at end of file diff --git a/src/assets/AlbumsList.json b/src/assets/AlbumsList.json @@ -1,53 +1,265 @@ [ { - "albumTitleKey": "album.album1", + "albumArt": "/AlbumArts/1.png", + "albumTitleKey": "album.1", "songs": [ { - "titleKey": "song.song1", - "videoId": "QcrxntJERRs" + "titleKey": "song.1-1", + "videoId": "W9kVvPluPy4" }, { - "titleKey": "song.song2", - "videoId": "BrpIRBW4g0A" + "titleKey": "song.1-2", + "videoId": "LgbRN-Dh0Dw" + }, + { + "titleKey": "song.1-3", + "videoId": "tHWQglLvr4U" + }, + { + "titleKey": "song.1-4", + "videoId": "T8S0rpmd8As" + }, + { + "titleKey": "song.1-5", + "videoId": "Ui7L0VZqAT0" + }, + { + "titleKey": "song.1-6", + "videoId": "fFaNq--7qu4" + }, + { + "titleKey": "song.1-7", + "videoId": "R0m22kEpEis" + }, + { + "titleKey": "song.1-8", + "videoId": "P6B6Eq1-_wg" + }, + { + "titleKey": "song.1-9", + "videoId": "2lma93X4Wzk" + }, + { + "titleKey": "song.1-10", + "videoId": "u5wg0Jsg-HA" + }, + { + "titleKey": "song.1-11", + "videoId": "flWG_aJpbEA" + }, + { + "titleKey": "song.1-12", + "videoId": "IKUlZj9Jb74" + }, + { + "titleKey": "song.1-13", + "videoId": "acAhqYmGy2Q" + }, + { + "titleKey": "song.1-14", + "videoId": "orwVmkm4EGc" + }, + { + "titleKey": "song.1-15", + "videoId": "871_IRW81ME" + } + ] + }, + { + "albumArt": "/AlbumArts/2.png", + "albumTitleKey": "album.2", + "songs": [ + { + "titleKey": "song.2-1", + "videoId": "W9kVvPluPy4" + }, + { + "titleKey": "song.2-2", + "videoId": "LgbRN-Dh0Dw" + }, + { + "titleKey": "song.2-3", + "videoId": "tHWQglLvr4U" + }, + { + "titleKey": "song.2-4", + "videoId": "T8S0rpmd8As" + }, + { + "titleKey": "song.2-5", + "videoId": "Ui7L0VZqAT0" + }, + { + "titleKey": "song.2-6", + "videoId": "fFaNq--7qu4" + }, + { + "titleKey": "song.2-7", + "videoId": "R0m22kEpEis" + }, + { + "titleKey": "song.2-8", + "videoId": "P6B6Eq1-_wg" + }, + { + "titleKey": "song.2-9", + "videoId": "2lma93X4Wzk" + }, + { + "titleKey": "song.2-10", + "videoId": "u5wg0Jsg-HA" + }, + { + "titleKey": "song.2-11", + "videoId": "flWG_aJpbEA" + }, + { + "titleKey": "song.2-12", + "videoId": "IKUlZj9Jb74" + }, + { + "titleKey": "song.2-13", + "videoId": "acAhqYmGy2Q" + }, + { + "titleKey": "song.2-14", + "videoId": "orwVmkm4EGc" + }, + { + "titleKey": "song.2-15", + "videoId": "871_IRW81ME" } ] }, { - "albumTitleKey": "album.album2", + "albumArt": "/AlbumArts/3.png", + "albumTitleKey": "album.3", "songs": [ { - "titleKey": "song.songA", - "videoId": "L_jWHffIx5E" + "titleKey": "song.3-1", + "videoId": "W9kVvPluPy4" + }, + { + "titleKey": "song.3-2", + "videoId": "LgbRN-Dh0Dw" + }, + { + "titleKey": "song.3-3", + "videoId": "tHWQglLvr4U" + }, + { + "titleKey": "song.3-4", + "videoId": "T8S0rpmd8As" + }, + { + "titleKey": "song.3-5", + "videoId": "Ui7L0VZqAT0" + }, + { + "titleKey": "song.3-6", + "videoId": "fFaNq--7qu4" + }, + { + "titleKey": "song.3-7", + "videoId": "R0m22kEpEis" + }, + { + "titleKey": "song.3-8", + "videoId": "P6B6Eq1-_wg" + }, + { + "titleKey": "song.3-9", + "videoId": "2lma93X4Wzk" + }, + { + "titleKey": "song.3-10", + "videoId": "u5wg0Jsg-HA" + }, + { + "titleKey": "song.3-11", + "videoId": "flWG_aJpbEA" + }, + { + "titleKey": "song.3-12", + "videoId": "IKUlZj9Jb74" + }, + { + "titleKey": "song.3-13", + "videoId": "acAhqYmGy2Q" + }, + { + "titleKey": "song.3-14", + "videoId": "orwVmkm4EGc" + }, + { + "titleKey": "song.3-15", + "videoId": "871_IRW81ME" } ] }, { - "albumArt": "/AlbumArts/Featured_Original_Soundtrack.png", - "albumTitleKey": "album.genshinOST", + "albumArt": "/AlbumArts/4.png", + "albumTitleKey": "album.4", "songs": [ { - "titleKey": "song.specialEP", - "videoId": "QK7ZG2JXYB4" + "titleKey": "song.4-1", + "videoId": "W9kVvPluPy4" + }, + { + "titleKey": "song.4-2", + "videoId": "LgbRN-Dh0Dw" + }, + { + "titleKey": "song.4-3", + "videoId": "tHWQglLvr4U" + }, + { + "titleKey": "song.4-4", + "videoId": "T8S0rpmd8As" + }, + { + "titleKey": "song.4-5", + "videoId": "Ui7L0VZqAT0" + }, + { + "titleKey": "song.4-6", + "videoId": "fFaNq--7qu4" + }, + { + "titleKey": "song.4-7", + "videoId": "R0m22kEpEis" + }, + { + "titleKey": "song.4-8", + "videoId": "P6B6Eq1-_wg" + }, + { + "titleKey": "song.4-9", + "videoId": "2lma93X4Wzk" + }, + { + "titleKey": "song.4-10", + "videoId": "u5wg0Jsg-HA" }, { - "titleKey": "song.shiningStarsVol5", - "videoId": "rnQvbUSf1TM" + "titleKey": "song.4-11", + "videoId": "flWG_aJpbEA" }, { - "titleKey": "song.meteorMiracleVol3", - "videoId": "q6V8_s7F-1A" + "titleKey": "song.4-12", + "videoId": "IKUlZj9Jb74" }, { - "titleKey": "song.pearlSong4Light", - "videoId": "a657IulU7g0" + "titleKey": "song.4-13", + "videoId": "acAhqYmGy2Q" }, { - "titleKey": "song.pearlSong4Silent", - "videoId": "8Is8VZ7kXCc" + "titleKey": "song.4-14", + "videoId": "orwVmkm4EGc" }, { - "titleKey": "song.pearlSongSummer", - "videoId": "5Xj4cxvNxkk" + "titleKey": "song.4-15", + "videoId": "871_IRW81ME" } ] } diff --git a/src/locales/en.json b/src/locales/en.json @@ -11,21 +11,31 @@ "enquiries": "Enquiries", "info": "Operator Info" }, + "popup": { + "reloadMessage": "To fully apply the language change, reload the page." + }, "album": { "favorite": "Favorite", - "album1": "Album 1", - "album2": "Album 2", - "genshinOST": "Genshin-OST (Official)" + "1": "The Wind and The Star Traveler", + "2": "City of Winds and Idylls", + "3": "Jade Moon Upon a Sea of Clouds", + "4": "The Stellar Moments" }, "song": { - "song1": "Song 1", - "song2": "Song 2", - "songA": "Song A", - "specialEP": "Special EP 'Song of the Valley'", - "shiningStarsVol5": "Shining Stars Vol.5", - "meteorMiracleVol3": "Meteor Miracle Vol.3", - "pearlSong4Light": "Pearl Song 4: Gathering Light", - "pearlSong4Silent": "Pearl Song 4: Silent Song", - "pearlSongSummer": "Pearl Song: Summer Song" + "1-1": "Genshin Impact Main Theme", + "1-2": "Dawn Winery Theme", + "1-3": "A Sweet Smile", + "1-4": "A Storm, A Spire, and a Sanctum (Dvalin's Nest)", + "1-5": "Caelestinum Finale Termini", + "1-6": "Lone Sojourner", + "1-7": "A Day in Mondstadt", + "1-8": "Dream Aria", + "1-9": "Pure Sky", + "1-10": "The Edge of the Prairie", + "1-11": "A Tale of Two Dragons", + "1-12": "Rite of Battle", + "1-13": "Knighthood Excellence", + "1-14": "Happy Journey", + "1-15": "The Outlander Who Caught the Wind" } } \ No newline at end of file diff --git a/src/locales/ja.json b/src/locales/ja.json @@ -11,21 +11,31 @@ "enquiries": "お問い合わせ", "info": "運営者情報" }, + "popup": { + "reloadMessage": "言語変更を完全に適用するには,ページを再読み込みしてください。" + }, "album": { "favorite": "お気に入り", - "album1": "アルバム1", - "album2": "アルバム2", - "genshinOST": "原神OST (公式)" + "1": "風と異邦人", + "2": "風と牧歌の城", + "3": "皎月雲間の夢", + "4": "輝く星々" }, "song": { - "song1": "曲1", - "song2": "曲2", - "songA": "曲A", - "specialEP": "スペシャルEP「幽谷の舟唄」", - "shiningStarsVol5": "輝く星星Vol.5", - "meteorMiracleVol3": "流星の奇跡Vol.3", - "pearlSong4Light": "真珠の歌4 集う光彩", - "pearlSong4Silent": "真珠の歌4 言葉なき歌", - "pearlSongSummer": "真珠の歌 真夏の歌" + "1-1": "原神メインテーマ", + "1-2": "アカツキワイナリー", + "1-3": "甘美な微笑み", + "1-4": "嵐、尖塔と聖域", + "1-5": "終焉のフィナーレ", + "1-6": "孤独の旅路", + "1-7": "モンドの一日", + "1-8": "夢のアリア", + "1-9": "青空", + "1-10": "平原のマージン", + "1-11": "トワリンとドゥリン", + "1-12": "バトルの秘儀", + "1-13": "騎士の善意", + "1-14": "楽しい旅", + "1-15": "風を捕まえる異邦人" } } \ No newline at end of file diff --git a/src/locales/ko.json b/src/locales/ko.json @@ -11,6 +11,9 @@ "enquiries": "문의", "info": "운영자 정보" }, + "popup": { + "reloadMessage": "언어 변경을 완전히 적용하려면 페이지를 다시 불러와야 합니다." + }, "album": { "favorite": "즐겨찾기" } diff --git a/src/locales/zh.json b/src/locales/zh.json @@ -11,6 +11,9 @@ "enquiries": "查询", "info": "运营者信息" }, + "popup": { + "reloadMessage": "要完全应用语言更改,请重新加载页面。" + }, "album": { "favorite": "我的最爱" }