mirror of
https://github.com/algerkong/AlgerMusicPlayer.git
synced 2026-05-17 18:47:29 +08:00
✨ feat: 国际化 (i18n) 功能实现
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
export default {
|
||||
hotSongs: 'Hot Songs',
|
||||
albums: 'Albums',
|
||||
description: 'Artist Introduction'
|
||||
};
|
||||
@@ -0,0 +1,47 @@
|
||||
export default {
|
||||
play: 'Play',
|
||||
next: 'Next',
|
||||
previous: 'Previous',
|
||||
volume: 'Volume',
|
||||
settings: 'Settings',
|
||||
search: 'Search',
|
||||
loading: 'Loading...',
|
||||
loadingMore: 'Loading more...',
|
||||
alipay: 'Alipay',
|
||||
wechat: 'WeChat Pay',
|
||||
on: 'On',
|
||||
off: 'Off',
|
||||
show: 'Show',
|
||||
hide: 'Hide',
|
||||
confirm: 'Confirm',
|
||||
cancel: 'Cancel',
|
||||
configure: 'Configure',
|
||||
open: 'Open',
|
||||
modify: 'Modify',
|
||||
success: 'Operation Successful',
|
||||
error: 'Operation Failed',
|
||||
warning: 'Warning',
|
||||
info: 'Info',
|
||||
save: 'Save',
|
||||
delete: 'Delete',
|
||||
refresh: 'Refresh',
|
||||
retry: 'Retry',
|
||||
validation: {
|
||||
required: 'This field is required',
|
||||
invalidInput: 'Invalid input',
|
||||
selectRequired: 'Please select an option',
|
||||
numberRange: 'Please enter a number between {min} and {max}',
|
||||
ipAddress: 'Please enter a valid IP address',
|
||||
portNumber: 'Please enter a valid port number (1-65535)'
|
||||
},
|
||||
viewMore: 'View More',
|
||||
noMore: 'No more',
|
||||
expand: 'Expand',
|
||||
collapse: 'Collapse',
|
||||
songCount: '{count} songs',
|
||||
tray: {
|
||||
show: 'Show',
|
||||
quit: 'Quit'
|
||||
},
|
||||
language: 'Language'
|
||||
};
|
||||
@@ -0,0 +1,89 @@
|
||||
export default {
|
||||
installApp: {
|
||||
description: 'Install the application on the desktop for a better experience',
|
||||
noPrompt: 'Do not prompt again',
|
||||
install: 'Install now',
|
||||
cancel: 'Cancel',
|
||||
download: 'Download',
|
||||
downloadFailed: 'Download failed',
|
||||
downloadComplete: 'Download complete',
|
||||
downloadProblem: 'Download problem? Go to',
|
||||
downloadProblemLinkText: 'Download the latest version'
|
||||
},
|
||||
playlistDrawer: {
|
||||
title: 'Add to playlist',
|
||||
createPlaylist: 'Create new playlist',
|
||||
cancelCreate: 'Cancel create',
|
||||
create: 'Create',
|
||||
playlistName: 'Playlist name',
|
||||
privatePlaylist: 'Private playlist',
|
||||
publicPlaylist: 'Public playlist',
|
||||
createSuccess: 'Playlist created successfully',
|
||||
createFailed: 'Playlist creation failed',
|
||||
addSuccess: 'Song added successfully',
|
||||
addFailed: 'Song addition failed',
|
||||
private: 'Private',
|
||||
public: 'Public',
|
||||
count: 'songs',
|
||||
loginFirst: 'Please login first',
|
||||
getPlaylistFailed: 'Get playlist failed',
|
||||
inputPlaylistName: 'Please enter the playlist name'
|
||||
},
|
||||
update: {
|
||||
title: 'New version found',
|
||||
currentVersion: 'Current version',
|
||||
cancel: 'Do not update',
|
||||
prepareDownload: 'Preparing to download...',
|
||||
downloading: 'Downloading...',
|
||||
nowUpdate: 'Update now',
|
||||
downloadFailed: 'Download failed, please try again or download manually',
|
||||
startFailed: 'Start download failed, please try again or download manually',
|
||||
noDownloadUrl:
|
||||
'No suitable installation package found for the current system, please download manually'
|
||||
},
|
||||
coffee: {
|
||||
title: 'Buy me a coffee',
|
||||
alipay: 'Alipay',
|
||||
wechat: 'Wechat',
|
||||
alipayQR: 'Alipay QR code',
|
||||
wechatQR: 'Wechat QR code',
|
||||
coffeeDesc: 'A cup of coffee, a support',
|
||||
coffeeDescLinkText: 'View more',
|
||||
qqGroup: 'QQ group: 789288579',
|
||||
messages: {
|
||||
copySuccess: 'Copied to clipboard'
|
||||
}
|
||||
},
|
||||
playlistType: {
|
||||
title: 'Playlist Category',
|
||||
showAll: 'Show all',
|
||||
hide: 'Hide some'
|
||||
},
|
||||
recommendAlbum: {
|
||||
title: 'Latest Album'
|
||||
},
|
||||
recommendSinger: {
|
||||
title: 'Daily Recommendation',
|
||||
songlist: 'Daily Recommendation List'
|
||||
},
|
||||
recommendSonglist: {
|
||||
title: 'Weekly Hot Music'
|
||||
},
|
||||
searchBar: {
|
||||
login: 'Login',
|
||||
toLogin: 'To Login',
|
||||
logout: 'Logout',
|
||||
set: 'Set',
|
||||
theme: 'Theme',
|
||||
restart: 'Restart',
|
||||
refresh: 'Refresh',
|
||||
currentVersion: 'Current Version',
|
||||
searchPlaceholder: 'Search for something...'
|
||||
},
|
||||
titleBar: {
|
||||
closeTitle: 'Choose how to close',
|
||||
minimizeToTray: 'Minimize to Tray',
|
||||
exitApp: 'Exit App',
|
||||
rememberChoice: 'Remember my choice'
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,6 @@
|
||||
export default {
|
||||
description:
|
||||
'Your donation will be used to support development and maintenance work, including but not limited to server maintenance, domain name renewal, etc.',
|
||||
message: 'You can leave your email or github name when leaving a message.',
|
||||
refresh: 'Refresh List'
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
export default {
|
||||
title: 'Download Manager',
|
||||
localMusic: 'Local Music',
|
||||
tabs: {
|
||||
downloading: 'Downloading',
|
||||
downloaded: 'Downloaded'
|
||||
},
|
||||
empty: {
|
||||
noTasks: 'No download tasks',
|
||||
noDownloaded: 'No downloaded songs'
|
||||
},
|
||||
progress: {
|
||||
total: 'Total Progress: {progress}%'
|
||||
},
|
||||
status: {
|
||||
downloading: 'Downloading',
|
||||
completed: 'Completed',
|
||||
failed: 'Failed',
|
||||
unknown: 'Unknown'
|
||||
},
|
||||
artist: {
|
||||
unknown: 'Unknown Artist'
|
||||
},
|
||||
delete: {
|
||||
title: 'Delete Confirmation',
|
||||
message: 'Are you sure you want to delete "{filename}"? This action cannot be undone.',
|
||||
confirm: 'Delete',
|
||||
cancel: 'Cancel',
|
||||
success: 'Successfully deleted',
|
||||
failed: 'Failed to delete'
|
||||
},
|
||||
message: {
|
||||
downloadComplete: '{filename} download completed',
|
||||
downloadFailed: '{filename} download failed: {error}'
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,15 @@
|
||||
export default {
|
||||
title: 'Favorites',
|
||||
count: 'Total {count}',
|
||||
batchDownload: 'Batch Download',
|
||||
selectAll: 'All',
|
||||
download: 'Download ({count})',
|
||||
cancel: 'Cancel',
|
||||
emptyTip: 'No favorite songs yet',
|
||||
viewMore: 'View More',
|
||||
noMore: 'No more',
|
||||
downloadSuccess: 'Download completed',
|
||||
downloadFailed: 'Download failed',
|
||||
downloading: 'Downloading, please wait...',
|
||||
selectSongsFirst: 'Please select songs to download first'
|
||||
};
|
||||
@@ -0,0 +1,5 @@
|
||||
export default {
|
||||
title: 'Play History',
|
||||
playCount: '{count}',
|
||||
getHistoryFailed: 'Failed to get play history'
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
import artist from './artist';
|
||||
import common from './common';
|
||||
import comp from './comp';
|
||||
import donation from './donation';
|
||||
import download from './download';
|
||||
import favorite from './favorite';
|
||||
import history from './history';
|
||||
import login from './login';
|
||||
import player from './player';
|
||||
import search from './search';
|
||||
import settings from './settings';
|
||||
import songItem from './songItem';
|
||||
import user from './user';
|
||||
|
||||
export default {
|
||||
common,
|
||||
donation,
|
||||
favorite,
|
||||
history,
|
||||
login,
|
||||
player,
|
||||
search,
|
||||
settings,
|
||||
songItem,
|
||||
user,
|
||||
download,
|
||||
comp,
|
||||
artist
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
export default {
|
||||
title: {
|
||||
qr: 'QR Code Login',
|
||||
phone: 'Phone Login'
|
||||
},
|
||||
qrTip: 'Scan with NetEase Cloud Music APP',
|
||||
phoneTip: 'Login with NetEase Cloud account',
|
||||
placeholder: {
|
||||
phone: 'Phone Number',
|
||||
password: 'Password'
|
||||
},
|
||||
button: {
|
||||
login: 'Login',
|
||||
switchToQr: 'QR Code Login',
|
||||
switchToPhone: 'Phone Login'
|
||||
},
|
||||
message: {
|
||||
loginSuccess: 'Login successful',
|
||||
loadError: 'Error loading login information',
|
||||
qrCheckError: 'Error checking QR code status'
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,49 @@
|
||||
export default {
|
||||
nowPlaying: 'Now Playing',
|
||||
playlist: 'Playlist',
|
||||
lyrics: 'Lyrics',
|
||||
previous: 'Previous',
|
||||
play: 'Play',
|
||||
pause: 'Pause',
|
||||
next: 'Next',
|
||||
volumeUp: 'Volume Up',
|
||||
volumeDown: 'Volume Down',
|
||||
mute: 'Mute',
|
||||
unmute: 'Unmute',
|
||||
playMode: {
|
||||
sequence: 'Sequence',
|
||||
loop: 'Loop',
|
||||
random: 'Random'
|
||||
},
|
||||
fullscreen: {
|
||||
enter: 'Enter Fullscreen',
|
||||
exit: 'Exit Fullscreen'
|
||||
},
|
||||
close: 'Close',
|
||||
modeHint: {
|
||||
single: 'Single',
|
||||
list: 'Next'
|
||||
},
|
||||
lrc: {
|
||||
noLrc: 'No lyrics, please enjoy'
|
||||
},
|
||||
playBar: {
|
||||
expand: 'Expand Lyrics',
|
||||
collapse: 'Collapse Lyrics',
|
||||
like: 'Like',
|
||||
lyric: 'Lyric',
|
||||
playList: 'Play List',
|
||||
playMode: {
|
||||
sequence: 'Sequence',
|
||||
loop: 'Loop',
|
||||
random: 'Random'
|
||||
},
|
||||
play: 'Play',
|
||||
pause: 'Pause',
|
||||
prev: 'Previous',
|
||||
next: 'Next',
|
||||
volume: 'Volume',
|
||||
favorite: 'Favorite {name}',
|
||||
unFavorite: 'Unfavorite {name}'
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
export default {
|
||||
title: {
|
||||
hotSearch: 'Hot Search',
|
||||
searchList: 'Search Results',
|
||||
searchHistory: 'Search History'
|
||||
},
|
||||
button: {
|
||||
clear: 'Clear',
|
||||
back: 'Back'
|
||||
},
|
||||
loading: {
|
||||
more: 'Loading...',
|
||||
failed: 'Search failed'
|
||||
},
|
||||
noMore: 'No more results',
|
||||
error: {
|
||||
searchFailed: 'Search failed'
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,208 @@
|
||||
export default {
|
||||
theme: 'Theme',
|
||||
language: 'Language',
|
||||
regard: 'About',
|
||||
logout: 'Logout',
|
||||
sections: {
|
||||
basic: 'Basic Settings',
|
||||
playback: 'Playback Settings',
|
||||
application: 'Application Settings',
|
||||
network: 'Network Settings',
|
||||
system: 'System Management',
|
||||
donation: 'Donation',
|
||||
regard: 'About'
|
||||
},
|
||||
basic: {
|
||||
themeMode: 'Theme Mode',
|
||||
themeModeDesc: 'Switch between light/dark theme',
|
||||
language: 'Language Settings',
|
||||
languageDesc: 'Change display language',
|
||||
font: 'Font Settings',
|
||||
fontDesc: 'Select fonts, prioritize fonts in order',
|
||||
fontScope: {
|
||||
global: 'Global',
|
||||
lyric: 'Lyrics Only'
|
||||
},
|
||||
animation: 'Animation Speed',
|
||||
animationDesc: 'Enable/disable animations',
|
||||
animationSpeed: {
|
||||
slow: 'Very Slow',
|
||||
normal: 'Normal',
|
||||
fast: 'Very Fast'
|
||||
},
|
||||
fontPreview: {
|
||||
title: 'Font Preview',
|
||||
chinese: 'Chinese',
|
||||
english: 'English',
|
||||
japanese: 'Japanese',
|
||||
korean: 'Korean',
|
||||
chineseText: '静夜思 床前明月光 疑是地上霜',
|
||||
englishText: 'The quick brown fox jumps over the lazy dog',
|
||||
japaneseText: 'あいうえお かきくけこ さしすせそ',
|
||||
koreanText: '가나다라마 바사아자차 카타파하'
|
||||
}
|
||||
},
|
||||
playback: {
|
||||
quality: 'Audio Quality',
|
||||
qualityDesc: 'Select music playback quality (VIP)',
|
||||
qualityOptions: {
|
||||
standard: 'Standard',
|
||||
higher: 'Higher',
|
||||
exhigh: 'Extreme',
|
||||
lossless: 'Lossless',
|
||||
hires: 'Hi-Res',
|
||||
jyeffect: 'HD Surround',
|
||||
sky: 'Immersive',
|
||||
dolby: 'Dolby Atmos',
|
||||
jymaster: 'Master'
|
||||
},
|
||||
autoPlay: 'Auto Play',
|
||||
autoPlayDesc: 'Auto resume playback when reopening the app'
|
||||
},
|
||||
application: {
|
||||
closeAction: 'Close Action',
|
||||
closeActionDesc: 'Choose action when closing window',
|
||||
closeOptions: {
|
||||
ask: 'Ask Every Time',
|
||||
minimize: 'Minimize to Tray',
|
||||
close: 'Exit Directly'
|
||||
},
|
||||
shortcut: 'Shortcut Settings',
|
||||
shortcutDesc: 'Customize global shortcuts',
|
||||
download: 'Download Management',
|
||||
downloadDesc: 'Always show download list button',
|
||||
downloadPath: 'Download Directory',
|
||||
downloadPathDesc: 'Choose download location for music files'
|
||||
},
|
||||
network: {
|
||||
apiPort: 'Music API Port',
|
||||
apiPortDesc: 'Restart required after modification',
|
||||
proxy: 'Proxy Settings',
|
||||
proxyDesc: 'Enable proxy when unable to access music',
|
||||
proxyHost: 'Proxy Host',
|
||||
proxyHostPlaceholder: 'Enter proxy host',
|
||||
proxyPort: 'Proxy Port',
|
||||
proxyPortPlaceholder: 'Enter proxy port',
|
||||
realIP: 'RealIP Settings',
|
||||
realIPDesc: 'Use realIP parameter with mainland China IP to resolve access restrictions abroad',
|
||||
messages: {
|
||||
proxySuccess: 'Proxy settings saved, restart required to take effect',
|
||||
proxyError: 'Please check your input',
|
||||
realIPSuccess: 'RealIP settings saved',
|
||||
realIPError: 'Please enter a valid IP address'
|
||||
}
|
||||
},
|
||||
system: {
|
||||
cache: 'Cache Management',
|
||||
cacheDesc: 'Clear cache',
|
||||
cacheClearTitle: 'Select cache types to clear:',
|
||||
cacheTypes: {
|
||||
history: {
|
||||
label: 'Play History',
|
||||
description: 'Clear played song records'
|
||||
},
|
||||
favorite: {
|
||||
label: 'Favorites',
|
||||
description: 'Clear local favorite songs (cloud favorites not affected)'
|
||||
},
|
||||
user: {
|
||||
label: 'User Data',
|
||||
description: 'Clear login info and user-related data'
|
||||
},
|
||||
settings: {
|
||||
label: 'App Settings',
|
||||
description: 'Clear all custom app settings'
|
||||
},
|
||||
downloads: {
|
||||
label: 'Download History',
|
||||
description: 'Clear download history (downloaded files not affected)'
|
||||
},
|
||||
resources: {
|
||||
label: 'Music Resources',
|
||||
description: 'Clear cached music files, lyrics and other resources'
|
||||
},
|
||||
lyrics: {
|
||||
label: 'Lyrics Resources',
|
||||
description: 'Clear cached lyrics resources'
|
||||
}
|
||||
},
|
||||
restart: 'Restart',
|
||||
restartDesc: 'Restart application',
|
||||
messages: {
|
||||
clearSuccess: 'Cache cleared successfully, some settings will take effect after restart'
|
||||
}
|
||||
},
|
||||
about: {
|
||||
version: 'Version',
|
||||
checkUpdate: 'Check for Updates',
|
||||
checking: 'Checking...',
|
||||
latest: 'Already latest version',
|
||||
hasUpdate: 'New version available',
|
||||
gotoUpdate: 'Go to Update',
|
||||
gotoGithub: 'Go to Github',
|
||||
author: 'Author',
|
||||
authorDesc: 'algerkong Give a star🌟',
|
||||
messages: {
|
||||
checkError: 'Failed to check for updates, please try again later'
|
||||
}
|
||||
},
|
||||
validation: {
|
||||
selectProxyProtocol: 'Please select proxy protocol',
|
||||
proxyHost: 'Please enter proxy host',
|
||||
portNumber: 'Please enter a valid port number (1-65535)'
|
||||
},
|
||||
lyricSettings: {
|
||||
title: 'Lyric Settings',
|
||||
pureMode: 'Pure Mode',
|
||||
hideCover: 'Hide Cover',
|
||||
centerDisplay: 'Center Display',
|
||||
showTranslation: 'Show Translation',
|
||||
hidePlayBar: 'Hide Play Bar',
|
||||
fontSize: 'Font Size',
|
||||
letterSpacing: 'Letter Spacing',
|
||||
lineHeight: 'Line Height',
|
||||
backgroundTheme: 'Background Theme',
|
||||
fontSizeMarks: {
|
||||
small: 'Small',
|
||||
medium: 'Medium',
|
||||
large: 'Large'
|
||||
},
|
||||
letterSpacingMarks: {
|
||||
compact: 'Compact',
|
||||
default: 'Default',
|
||||
loose: 'Loose'
|
||||
},
|
||||
lineHeightMarks: {
|
||||
compact: 'Compact',
|
||||
default: 'Default',
|
||||
loose: 'Loose'
|
||||
},
|
||||
themeOptions: {
|
||||
default: 'Default',
|
||||
light: 'Light',
|
||||
dark: 'Dark'
|
||||
}
|
||||
},
|
||||
shortcutSettings: {
|
||||
title: 'Shortcut Settings',
|
||||
shortcut: 'Shortcut',
|
||||
shortcutDesc: 'Customize global shortcuts',
|
||||
shortcutConflict: 'Shortcut Conflict',
|
||||
inputPlaceholder: 'Click to input shortcut',
|
||||
resetShortcuts: 'Reset',
|
||||
togglePlay: 'Play/Pause',
|
||||
prevPlay: 'Previous',
|
||||
nextPlay: 'Next',
|
||||
volumeUp: 'Volume Up',
|
||||
volumeDown: 'Volume Down',
|
||||
toggleFavorite: 'Favorite/Unfavorite',
|
||||
toggleWindow: 'Show/Hide Window',
|
||||
messages: {
|
||||
resetSuccess: 'Shortcuts reset successfully, please save',
|
||||
conflict: 'Shortcut conflict, please reset',
|
||||
saveSuccess: 'Shortcuts saved successfully',
|
||||
saveError: 'Failed to save shortcuts',
|
||||
cancelEdit: 'Edit cancelled'
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,18 @@
|
||||
export default {
|
||||
menu: {
|
||||
play: 'Play',
|
||||
playNext: 'Play Next',
|
||||
download: 'Download',
|
||||
addToPlaylist: 'Add to Playlist',
|
||||
favorite: 'Like',
|
||||
unfavorite: 'Unlike',
|
||||
removeFromPlaylist: 'Remove from Playlist'
|
||||
},
|
||||
message: {
|
||||
downloading: 'Downloading, please wait...',
|
||||
downloadFailed: 'Download failed',
|
||||
downloadQueued: 'Added to download queue',
|
||||
addedToNextPlay: 'Added to play next',
|
||||
getUrlFailed: 'Failed to get music download URL'
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
export default {
|
||||
profile: {
|
||||
followers: 'Followers',
|
||||
following: 'Following',
|
||||
level: 'Level'
|
||||
},
|
||||
playlist: {
|
||||
created: 'Created Playlists',
|
||||
trackCount: '{count} tracks',
|
||||
playCount: 'Played {count} times'
|
||||
},
|
||||
ranking: {
|
||||
title: 'Listening History',
|
||||
playCount: '{count} times'
|
||||
},
|
||||
message: {
|
||||
loadFailed: 'Failed to load user page',
|
||||
deleteSuccess: 'Successfully deleted',
|
||||
deleteFailed: 'Failed to delete'
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user