commit 388142962fd04f26eab29f514fd1308efc49789d
parent 73045e76812235aeb63d929c74a8c2bd6ae1d81b
Author: Sunny <kajimalu10@gmail.com>
Date: Sat, 29 Mar 2025 21:26:11 +0900
songs translation -2
Diffstat:
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": "我的最爱"
}