Skip to content

Commit 3062156

Browse files
committed
feat: 添加日语和韩语国际化,并且优化语言相关代码
1 parent b7a58a0 commit 3062156

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1953
-178
lines changed

electron.vite.config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ export default defineConfig({
1818
resolve: {
1919
alias: {
2020
'@': resolve('src/renderer'),
21-
'@renderer': resolve('src/renderer')
21+
'@renderer': resolve('src/renderer'),
22+
'@i18n': resolve('src/i18n')
2223
}
2324
},
2425
plugins: [

src/i18n/lang/en-US/index.ts

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/i18n/lang/ja-JP/README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# 日本語翻訳 (Japanese Translation)
2+
3+
このディレクトリには、AlgerMusicPlayerの日本語翻訳ファイルが含まれています。
4+
5+
## ファイル構成
6+
7+
- `artist.ts` - アーティスト関連の翻訳
8+
- `common.ts` - 共通の翻訳(ボタン、メッセージなど)
9+
- `comp.ts` - コンポーネント関連の翻訳
10+
- `donation.ts` - 寄付関連の翻訳
11+
- `download.ts` - ダウンロード管理の翻訳
12+
- `favorite.ts` - お気に入り機能の翻訳
13+
- `history.ts` - 履歴機能の翻訳
14+
- `login.ts` - ログイン関連の翻訳
15+
- `player.ts` - プレイヤー機能の翻訳
16+
- `search.ts` - 検索機能の翻訳
17+
- `settings.ts` - 設定画面の翻訳
18+
- `songItem.ts` - 楽曲アイテムの翻訳
19+
- `user.ts` - ユーザー関連の翻訳
20+
- `index.ts` - すべての翻訳をエクスポートするメインファイル
21+
22+
## 使用方法
23+
24+
アプリケーション内で言語を日本語に切り替えるには:
25+
26+
1. 設定画面を開く
27+
2. 「言語設定」セクションを見つける
28+
3. ドロップダウンメニューから「日本語」を選択
29+
30+
## 翻訳の改善
31+
32+
翻訳の改善や修正がある場合は、該当するファイルを編集してプルリクエストを送信してください。
33+
34+
## 注意事項
35+
36+
- すべての翻訳キーは中国語版と英語版に対応しています
37+
- 新しい機能が追加された場合は、対応する日本語翻訳も追加する必要があります
38+
- 文字化けを避けるため、ファイルはUTF-8エンコーディングで保存してください

src/i18n/lang/ja-JP/artist.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export default {
2+
hotSongs: '人気楽曲',
3+
albums: 'アルバム',
4+
description: 'アーティスト紹介'
5+
};

src/i18n/lang/ja-JP/common.ts

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
export default {
2+
play: '再生',
3+
next: '次の曲',
4+
previous: '前の曲',
5+
volume: '音量',
6+
settings: '設定',
7+
search: '検索',
8+
loading: '読み込み中...',
9+
loadingMore: 'さらに読み込み中...',
10+
alipay: 'Alipay',
11+
wechat: 'WeChat Pay',
12+
on: 'オン',
13+
off: 'オフ',
14+
show: '表示',
15+
hide: '非表示',
16+
confirm: '確認',
17+
cancel: 'キャンセル',
18+
configure: '設定',
19+
open: '開く',
20+
modify: '変更',
21+
success: '操作成功',
22+
error: '操作失敗',
23+
warning: '警告',
24+
info: 'お知らせ',
25+
save: '保存',
26+
delete: '削除',
27+
refresh: '更新',
28+
retry: '再試行',
29+
reset: 'リセット',
30+
back: '戻る',
31+
copySuccess: 'クリップボードにコピーしました',
32+
copyFailed: 'コピーに失敗しました',
33+
validation: {
34+
required: 'この項目は必須です',
35+
invalidInput: '無効な入力です',
36+
selectRequired: 'オプションを選択してください',
37+
numberRange: '{min}から{max}の間の数値を入力してください'
38+
},
39+
viewMore: 'もっと見る',
40+
noMore: 'これ以上ありません',
41+
selectAll: '全選択',
42+
expand: '展開',
43+
collapse: '折りたたみ',
44+
songCount: '{count}曲',
45+
language: '言語',
46+
tray: {
47+
show: '表示',
48+
quit: '終了',
49+
playPause: '再生/一時停止',
50+
prev: '前の曲',
51+
next: '次の曲',
52+
pause: '一時停止',
53+
play: '再生',
54+
favorite: 'お気に入り'
55+
}
56+
};

src/i18n/lang/ja-JP/comp.ts

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
export default {
2+
installApp: {
3+
description: 'アプリをインストールして、より良い体験を',
4+
noPrompt: '今後表示しない',
5+
install: '今すぐインストール',
6+
cancel: '後でインストール',
7+
download: 'ダウンロード',
8+
downloadFailed: 'ダウンロード失敗',
9+
downloadComplete: 'ダウンロード完了',
10+
downloadProblem: 'ダウンロードに問題がありますか?',
11+
downloadProblemLinkText: '最新版をダウンロード'
12+
},
13+
playlistDrawer: {
14+
title: 'プレイリストに追加',
15+
createPlaylist: '新しいプレイリストを作成',
16+
cancelCreate: '作成をキャンセル',
17+
create: '作成',
18+
playlistName: 'プレイリスト名',
19+
privatePlaylist: 'プライベートプレイリスト',
20+
publicPlaylist: 'パブリックプレイリスト',
21+
createSuccess: 'プレイリストの作成に成功しました',
22+
createFailed: 'プレイリストの作成に失敗しました',
23+
addSuccess: '楽曲の追加に成功しました',
24+
addFailed: '楽曲の追加に失敗しました',
25+
private: 'プライベート',
26+
public: 'パブリック',
27+
count: '曲',
28+
loginFirst: 'まずログインしてください',
29+
getPlaylistFailed: 'プレイリストの取得に失敗しました',
30+
inputPlaylistName: 'プレイリスト名を入力してください'
31+
},
32+
update: {
33+
title: '新しいバージョンが見つかりました',
34+
currentVersion: '現在のバージョン',
35+
cancel: '後で更新',
36+
prepareDownload: 'ダウンロード準備中...',
37+
downloading: 'ダウンロード中...',
38+
nowUpdate: '今すぐ更新',
39+
downloadFailed: 'ダウンロードに失敗しました。再試行するか手動でダウンロードしてください',
40+
startFailed: 'ダウンロードの開始に失敗しました。再試行するか手動でダウンロードしてください',
41+
noDownloadUrl: '現在のシステムに適したインストールパッケージが見つかりません。手動でダウンロードしてください',
42+
installConfirmTitle: '更新をインストール',
43+
installConfirmContent: 'アプリを閉じて更新をインストールしますか?',
44+
manualInstallTip: 'アプリを閉じた後にインストーラーが正常に起動しない場合は、ダウンロードフォルダでファイルを見つけて手動で開いてください。',
45+
yesInstall: '今すぐインストール',
46+
noThanks: '後でインストール',
47+
fileLocation: 'ファイルの場所',
48+
copy: 'パスをコピー',
49+
copySuccess: 'パスをクリップボードにコピーしました',
50+
copyFailed: 'コピーに失敗しました',
51+
backgroundDownload: 'バックグラウンドダウンロード'
52+
},
53+
coffee: {
54+
title: 'コーヒーをおごる',
55+
alipay: 'Alipay',
56+
wechat: 'WeChat Pay',
57+
alipayQR: 'Alipay QRコード',
58+
wechatQR: 'WeChat QRコード',
59+
coffeeDesc: '一杯のコーヒー、一つのサポート',
60+
coffeeDescLinkText: 'もっと見る',
61+
qqGroup: 'QQチャンネル:algermusic',
62+
messages: {
63+
copySuccess: 'クリップボードにコピーしました'
64+
},
65+
donateList: 'コーヒーをおごる'
66+
},
67+
playlistType: {
68+
title: 'プレイリストカテゴリ',
69+
showAll: 'すべて表示',
70+
hide: '一部を非表示'
71+
},
72+
recommendAlbum: {
73+
title: '最新アルバム'
74+
},
75+
recommendSinger: {
76+
title: '毎日のおすすめ',
77+
songlist: '毎日のおすすめリスト'
78+
},
79+
recommendSonglist: {
80+
title: '今週の人気音楽'
81+
},
82+
searchBar: {
83+
login: 'ログイン',
84+
toLogin: 'ログインへ',
85+
logout: 'ログアウト',
86+
set: '設定',
87+
theme: 'テーマ',
88+
restart: '再起動',
89+
refresh: '更新',
90+
currentVersion: '現在のバージョン',
91+
searchPlaceholder: '何かを検索してみましょう...',
92+
zoom: 'ページズーム',
93+
zoom100: '標準ズーム100%',
94+
resetZoom: 'クリックしてズームをリセット',
95+
zoomDefault: '標準ズーム'
96+
},
97+
titleBar: {
98+
closeTitle: '閉じる方法を選択してください',
99+
minimizeToTray: 'トレイに最小化',
100+
exitApp: 'アプリを終了',
101+
rememberChoice: '選択を記憶する',
102+
closeApp: 'アプリを閉じる'
103+
},
104+
userPlayList: {
105+
title: '{name}のよく聞く音楽'
106+
},
107+
musicList: {
108+
searchSongs: '楽曲を検索',
109+
noSearchResults: '関連する楽曲が見つかりませんでした',
110+
switchToNormal: 'デフォルトレイアウトに切り替え',
111+
switchToCompact: 'コンパクトレイアウトに切り替え',
112+
playAll: 'すべて再生',
113+
collect: 'お気に入り',
114+
collectSuccess: 'お気に入りに追加しました',
115+
cancelCollectSuccess: 'お気に入りから削除しました',
116+
operationFailed: '操作に失敗しました',
117+
cancelCollect: 'お気に入りから削除',
118+
addToPlaylist: 'プレイリストに追加',
119+
addToPlaylistSuccess: 'プレイリストに追加しました',
120+
songsAlreadyInPlaylist: '楽曲は既にプレイリストに存在します'
121+
},
122+
playlist: {
123+
import: {
124+
button: 'プレイリストインポート',
125+
title: 'プレイリストインポート',
126+
description: 'メタデータ/テキスト/リンクの3つの方法でプレイリストをインポートできます',
127+
linkTab: 'リンクインポート',
128+
textTab: 'テキストインポート',
129+
localTab: 'メタデータインポート',
130+
linkPlaceholder: 'プレイリストのリンクを入力してください(1行に1つ)',
131+
textPlaceholder: '楽曲情報を入力してください。形式:楽曲名 アーティスト名',
132+
localPlaceholder: 'JSON形式の楽曲メタデータを入力してください',
133+
linkTips: 'サポートされているリンクソース:',
134+
linkTip1: 'プレイリストをWeChat/Weibo/QQでシェアした後、リンクをコピー',
135+
linkTip2: 'プレイリスト/個人ページのリンクを直接コピー',
136+
linkTip3: '記事のリンクを直接コピー',
137+
textTips: '楽曲情報を入力してください(1行に1曲)',
138+
textFormat: '形式:楽曲名 アーティスト名',
139+
localTips: '楽曲メタデータを追加してください',
140+
localFormat: '形式例:',
141+
songNamePlaceholder: '楽曲名',
142+
artistNamePlaceholder: 'アーティスト名',
143+
albumNamePlaceholder: 'アルバム名',
144+
addSongButton: '楽曲を追加',
145+
addLinkButton: 'リンクを追加',
146+
importToStarPlaylist: 'お気に入りの音楽にインポート',
147+
playlistNamePlaceholder: 'プレイリスト名を入力してください',
148+
importButton: 'インポート開始',
149+
emptyLinkWarning: 'プレイリストのリンクを入力してください',
150+
emptyTextWarning: '楽曲情報を入力してください',
151+
emptyLocalWarning: '楽曲メタデータを入力してください',
152+
invalidJsonFormat: 'JSON形式が正しくありません',
153+
importSuccess: 'インポートタスクの作成に成功しました',
154+
importFailed: 'インポートに失敗しました',
155+
importStatus: 'インポート状況',
156+
refresh: '更新',
157+
taskId: 'タスクID',
158+
status: 'ステータス',
159+
successCount: '成功数',
160+
failReason: '失敗理由',
161+
unknownError: '不明なエラー',
162+
statusPending: '処理待ち',
163+
statusProcessing: '処理中',
164+
statusSuccess: 'インポート成功',
165+
statusFailed: 'インポート失敗',
166+
statusUnknown: '不明なステータス',
167+
taskList: 'タスクリスト',
168+
taskListTitle: 'インポートタスクリスト',
169+
action: '操作',
170+
select: '選択',
171+
fetchTaskListFailed: 'タスクリストの取得に失敗しました',
172+
noTasks: 'インポートタスクがありません',
173+
clearTasks: 'タスクをクリア',
174+
clearTasksConfirmTitle: 'クリア確認',
175+
clearTasksConfirmContent: 'すべてのインポートタスク記録をクリアしますか?この操作は元に戻せません。',
176+
confirm: '確認',
177+
cancel: 'キャンセル',
178+
clearTasksSuccess: 'タスクリストをクリアしました',
179+
clearTasksFailed: 'タスクリストのクリアに失敗しました'
180+
}
181+
},
182+
settings: '設定',
183+
user: 'ユーザー',
184+
toplist: 'ランキング',
185+
history: 'お気に入り履歴',
186+
list: 'プレイリスト',
187+
mv: 'MV',
188+
home: 'ホーム',
189+
search: '検索'
190+
};

src/i18n/lang/ja-JP/donation.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export default {
2+
description: 'あなたの寄付は開発・保守作業をサポートするために使用され、サーバー保守、ドメイン更新などが含まれます。',
3+
message: 'メッセージを残す際は、メールアドレスやGitHubユーザー名を記載してください。',
4+
refresh: 'リストを更新',
5+
toDonateList: 'コーヒーをおごる',
6+
noMessage: 'メッセージがありません',
7+
title: '寄付リスト'
8+
};

0 commit comments

Comments
 (0)