Files
AlgerMusicPlayer/src/i18n/lang/en-US/settings.ts
2026-02-10 09:06:25 +08:00

451 lines
14 KiB
TypeScript

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',
about: 'About'
},
basic: {
themeMode: 'Theme Mode',
themeModeDesc: 'Switch between light/dark theme',
autoTheme: 'Follow System',
manualTheme: 'Manual Switch',
language: 'Language Settings',
languageDesc: 'Change display language',
tokenManagement: 'Cookie Management',
tokenManagementDesc: 'Manage NetEase Cloud Music login Cookie',
tokenStatus: 'Current Cookie Status',
tokenSet: 'Set',
tokenNotSet: 'Not Set',
setToken: 'Set Cookie',
modifyToken: 'Modify Cookie',
clearToken: 'Clear Cookie',
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: '가나다라마 바사아자차 카타파하'
},
gpuAcceleration: 'GPU Acceleration',
gpuAccelerationDesc:
'Enable or disable hardware acceleration, can improve rendering performance but may increase GPU load',
gpuAccelerationRestart:
'Changing GPU acceleration settings requires application restart to take effect',
gpuAccelerationChangeSuccess:
'GPU acceleration settings updated, restart application to take effect',
gpuAccelerationChangeError: 'Failed to update GPU acceleration settings',
tabletMode: 'Tablet Mode',
tabletModeDesc: 'Enabling tablet mode allows using PC-style interface on mobile devices'
},
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'
},
musicSources: 'Music Sources',
musicSourcesDesc: 'Select music sources for song resolution',
musicSourcesWarning: 'At least one music source must be selected',
musicUnblockEnable: 'Enable Music Unblocking',
musicUnblockEnableDesc: 'When enabled, attempts to resolve unplayable songs',
configureMusicSources: 'Configure Sources',
selectedMusicSources: 'Selected sources:',
noMusicSources: 'No sources selected',
gdmusicInfo:
'GD Music Station intelligently resolves music from multiple platforms automatically',
autoPlay: 'Auto Play',
autoPlayDesc: 'Auto resume playback when reopening the app',
audioDevice: 'Audio Output Device',
audioDeviceDesc: 'Select audio output device such as speakers, headphones or Bluetooth devices',
testAudio: 'Test',
selectAudioDevice: 'Select output device',
showStatusBar: 'Show Status Bar',
showStatusBarContent:
'You can display the music control function in your mac status bar (effective after a restart)',
fallbackParser: 'Fallback Parser (GD Music)',
fallbackParserDesc:
'When "GD Music" is checked and regular sources fail, this service will be used.',
parserGD: 'GD Music (Built-in)',
parserCustom: 'Custom API',
// Source labels
sourceLabels: {
migu: 'Migu',
kugou: 'Kugou',
kuwo: 'Kuwo',
pyncmd: 'NetEase (Built-in)',
qq: 'QQ Music',
joox: 'JOOX',
bilibili: 'Bilibili',
gdmusic: 'GD Music',
lxMusic: 'LX Music',
custom: 'Custom API'
},
customApi: {
sectionTitle: 'Custom API Settings',
importConfig: 'Import JSON Config',
currentSource: 'Current Source',
notImported: 'No custom source imported yet.',
importSuccess: 'Successfully imported source: {name}',
importFailed: 'Import failed: {message}',
enableHint: 'Import a JSON config file to enable',
status: {
imported: 'Custom Source Imported',
notImported: 'Not Imported'
}
},
lxMusic: {
tabs: {
sources: 'Source Selection',
lxMusic: 'LX Music',
customApi: 'Custom API'
},
scripts: {
title: 'Imported Scripts',
importLocal: 'Import Local',
importOnline: 'Import Online',
urlPlaceholder: 'Enter LX Music Script URL',
importBtn: 'Import',
empty: 'No imported LX Music scripts',
notConfigured: 'Not configured (Configure in LX Music Tab)',
importHint: 'Import compatible custom API plugins to extend sources',
noScriptWarning: 'Please import LX Music script first',
noSelectionWarning: 'Please select an LX Music source first',
notFound: 'Source not found',
switched: 'Switched to source: {name}',
deleted: 'Deleted source: {name}',
enterUrl: 'Please enter script URL',
invalidUrl: 'Invalid URL format',
invalidScript: 'Invalid LX Music script, globalThis.lx code not found',
nameRequired: 'Name cannot be empty',
renameSuccess: 'Rename successful'
}
}
},
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',
unlimitedDownload: 'Unlimited Download',
unlimitedDownloadDesc: 'Enable unlimited download mode for music , default limit 300 songs',
downloadPath: 'Download Directory',
downloadPathDesc: 'Choose download location for music files',
remoteControl: 'Remote Control',
remoteControlDesc: 'Set remote control function'
},
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',
tabs: {
display: 'Display',
interface: 'Interface',
typography: 'Typography',
background: 'Background',
mobile: 'Mobile'
},
pureMode: 'Pure Mode',
hideCover: 'Hide Cover',
centerDisplay: 'Center Display',
showTranslation: 'Show Translation',
hideLyrics: 'Hide Lyrics',
hidePlayBar: 'Hide Play Bar',
hideMiniPlayBar: 'Hide Mini Play Bar',
showMiniPlayBar: 'Show Mini Play Bar',
backgroundTheme: 'Background Theme',
themeOptions: {
default: 'Default',
light: 'Light',
dark: 'Dark'
},
fontSize: 'Font Size',
fontSizeMarks: {
small: 'Small',
medium: 'Medium',
large: 'Large'
},
fontWeight: 'Font Weight',
fontWeightMarks: {
thin: 'Thin',
normal: 'Normal',
bold: 'Bold'
},
letterSpacing: 'Letter Spacing',
letterSpacingMarks: {
compact: 'Compact',
default: 'Default',
loose: 'Loose'
},
lineHeight: 'Line Height',
lineHeightMarks: {
compact: 'Compact',
default: 'Default',
loose: 'Loose'
},
contentWidth: 'Content Width',
mobileLayout: 'Mobile Layout',
layoutOptions: {
default: 'Default',
ios: 'iOS Style',
android: 'Android Style'
},
mobileCoverStyle: 'Cover Style',
coverOptions: {
record: 'Record',
square: 'Square',
full: 'Full Screen'
},
lyricLines: 'Lyric Lines',
mobileUnavailable: 'This setting is only available on mobile devices',
// Background settings
background: {
useCustomBackground: 'Use Custom Background',
backgroundMode: 'Background Mode',
modeOptions: {
solid: 'Solid',
gradient: 'Gradient',
image: 'Image',
css: 'CSS'
},
solidColor: 'Select Color',
presetColors: 'Preset Colors',
customColor: 'Custom Color',
gradientEditor: 'Gradient Editor',
gradientColors: 'Gradient Colors',
gradientDirection: 'Gradient Direction',
directionOptions: {
toBottom: 'Top to Bottom',
toRight: 'Left to Right',
toBottomRight: 'Top Left to Bottom Right',
angle45: '45 Degrees',
toTop: 'Bottom to Top',
toLeft: 'Right to Left'
},
addColor: 'Add Color',
removeColor: 'Remove Color',
imageUpload: 'Upload Image',
imagePreview: 'Image Preview',
clearImage: 'Clear Image',
imageBlur: 'Blur',
imageBrightness: 'Brightness',
customCss: 'Custom CSS Style',
customCssPlaceholder: 'Enter CSS style, e.g.: background: linear-gradient(...)',
customCssHelp: 'Supports any CSS background property',
reset: 'Reset to Default',
fileSizeLimit: 'Image size limit: 20MB',
invalidImageFormat: 'Invalid image format',
imageTooLarge: 'Image too large, please select an image smaller than 20MB'
}
},
translationEngine: 'Lyric Translation Engine',
translationEngineOptions: {
none: 'Off',
opencc: 'OpenCC Traditionalize'
},
themeColor: {
title: 'Lyric Theme Color',
presetColors: 'Preset Colors',
customColor: 'Custom Color',
preview: 'Preview',
previewText: 'Lyric Effect',
colorNames: {
'spotify-green': 'Spotify Green',
'apple-blue': 'Apple Blue',
'youtube-red': 'YouTube Red',
orange: 'Vibrant Orange',
purple: 'Mystic Purple',
pink: 'Cherry Pink'
},
tooltips: {
openColorPicker: 'Open Color Picker',
closeColorPicker: 'Close Color Picker'
},
placeholder: '#1db954'
},
shortcutSettings: {
title: 'Shortcut Settings',
shortcut: 'Shortcut',
shortcutDesc: 'Customize global shortcuts',
shortcutConflict: 'Shortcut Conflict',
inputPlaceholder: 'Click to input shortcut',
resetShortcuts: 'Reset',
disableAll: 'Disable All',
enableAll: 'Enable All',
togglePlay: 'Play/Pause',
prevPlay: 'Previous',
nextPlay: 'Next',
volumeUp: 'Volume Up',
volumeDown: 'Volume Down',
toggleFavorite: 'Favorite/Unfavorite',
toggleWindow: 'Show/Hide Window',
scopeGlobal: 'Global',
scopeApp: 'App Only',
enabled: 'Enabled',
disabled: 'Disabled',
messages: {
resetSuccess: 'Shortcuts reset successfully, please save',
conflict: 'Shortcut conflict, please reset',
saveSuccess: 'Shortcuts saved successfully',
saveError: 'Failed to save shortcuts',
cancelEdit: 'Edit cancelled',
disableAll: 'All shortcuts disabled, please save to apply',
enableAll: 'All shortcuts enabled, please save to apply'
}
},
remoteControl: {
title: 'Remote Control',
enable: 'Enable Remote Control',
port: 'Port',
allowedIps: 'Allowed IPs',
addIp: 'Add IP',
emptyListHint: 'Empty list means allow all IPs',
saveSuccess: 'Remote control settings saved',
accessInfo: 'Remote control access address:'
},
cookie: {
title: 'Cookie Settings',
description: 'Please enter NetEase Cloud Music Cookie:',
placeholder: 'Please paste the complete Cookie...',
help: {
format: 'Cookie usually starts with "MUSIC_U="',
source: 'Can be obtained from browser developer tools network requests',
storage: 'Cookie will be automatically saved to local storage after setting'
},
action: {
save: 'Save Cookie',
paste: 'Paste',
clear: 'Clear'
},
validation: {
required: 'Please enter Cookie',
format: 'Cookie format may be incorrect, please check if it contains MUSIC_U'
},
message: {
saveSuccess: 'Cookie saved successfully',
saveError: 'Failed to save Cookie',
pasteSuccess: 'Pasted successfully',
pasteError: 'Paste failed, please copy manually'
},
info: {
length: 'Current length: {length} characters'
}
}
};