diff --git a/src/lang/en-us.json b/src/lang/en-us.json index 8cae4571..d0f287e4 100644 --- a/src/lang/en-us.json +++ b/src/lang/en-us.json @@ -1,151 +1,151 @@ { - "action": "Manage", + "action": "Actions", "agree": "Accept", "alert_button_text": "All right", - "audio_visualization": "Audio visualization (experimental)", + "audio_visualization": "Audio Visualization (Experimental)", "back": "Back", "btn_cancel": "Cancel", "btn_close": "Close", "btn_confirm": "Confirm", "btn_save": "Save", "cancel_button_text": "Cancel", - "cancel_button_text_2": "No, no, no, wrong click", + "cancel_button_text_2": "No, no, wrong click", "close": "Close", - "comment__hot_load_error": "Hot comments failed to load, click to try to reload", - "comment__hot_loading": "Hot comments are loading", - "comment__hot_title": "Hot Comment", + "comment__hot_load_error": "Failed to load top comments. Click to try to reload.", + "comment__hot_loading": "Top comments are loading...", + "comment__hot_title": "Top comments", "comment__location": "From {location}", - "comment__new_load_error": "The latest comment failed to load, click to try to reload", - "comment__new_loading": "Latest comments are loading", - "comment__new_title": "Latest comment", + "comment__new_load_error": "Failed to load latest comments. Click to try to reload.", + "comment__new_loading": "Latest comments are loading...", + "comment__new_title": "Latest comments", "comment__no_content": "No comments yet", "comment__refresh": "Refresh comments", "comment__show": "Song comments", - "comment__title": "{name} comment", - "comment__unavailable": "This song does not support getting comments", + "comment__title": "Comments for \"{name}\"", + "comment__unavailable": "Unable to get comments for this song.", "confirm_button_text": "Yes", "copy_tip": " (Click to copy)", "date_format_hour": "{num} hours ago", "date_format_minute": "{num} minutes ago", "date_format_second": "{num} seconds ago", - "deep_link__handle_error_tip": "Call failed: {message}", + "deep_link__handle_error_tip": "Failed to call: {message}", "default": "Default", "default_list": "Recently Played", "desktop_lyric__back": "Back", "desktop_lyric__close": "Close", - "desktop_lyric__font_decrease": "Reduce font size", + "desktop_lyric__font_decrease": "Decrease font size", "desktop_lyric__font_increase": "Increase font size", - "desktop_lyric__lock": "Lock Lyrics", - "desktop_lyric__lrc_active_zoom_off": "Unzoom the currently playing lyrics", - "desktop_lyric__lrc_active_zoom_on": "Zoom the currently playing lyrics", - "desktop_lyric__opacity_decrease": "Increase Transparency (Right click to fine-tune)", - "desktop_lyric__opacity_increase": "Decrease Transparency (Right click to fine-tune)", + "desktop_lyric__lock": "Lock", + "desktop_lyric__lrc_active_zoom_off": "Unzoom currently playing lyrics", + "desktop_lyric__lrc_active_zoom_on": "Zoom currently playing lyrics", + "desktop_lyric__opacity_decrease": "Increase transparency\n(Right-click to fine-tune)", + "desktop_lyric__opacity_increase": "Decrease transparency\n(Right-click to fine-tune)", "desktop_lyric__theme": "Theme Color", - "desktop_lyric__unlock": "Unlock Lyrics", - "desktop_lyric__win_top_off": "Cancel the top lyrics interface", - "desktop_lyric__win_top_on": "Top lyrics interface", + "desktop_lyric__unlock": "Unlock", + "desktop_lyric__win_top_off": "Stay always-on-top", + "desktop_lyric__win_top_on": "Un-top", "download": "Downloads", - "download___status_completed": "Download completed", - "download___status_error": "task error", - "download___status_paused": "Pause downloads", - "download___status_running": "downloading", - "download___status_waiting": "waiting to download", + "download___status_completed": "Download is complete", + "download___status_error": "Error", + "download___status_paused": "Paused", + "download___status_running": "Downloading", + "download___status_waiting": "Waiting to download", "download__all": "All Tasks", "download__error": "Error", - "download__finished": "Download complete", + "download__finished": "Completed", "download__high_quality": "High Quality", "download__lossless": "Lossless", - "download__multiple_tip": "{len} song selected", - "download__multiple_tip2": "Select preferred download quality", + "download__multiple_tip": "{len} song(s) selected", + "download__multiple_tip2": "Choose preferred download quality", "download__normal": "Normal", - "download__not_available_tip": "The audio quality is not available", + "download__not_available_tip": "The audio quality is not available.", "download__paused": "Paused", "download__progress": "Progress", "download__quality": "Quality", "download__running": "Downloading", "download__status": "Status", - "download_status_error_check_path": "There is an error in checking the download path, please check whether the set download directory is normal", - "download_status_error_check_path_exist": "A file with the same name exists, skip download", - "download_status_error_refresh_url": "Link is dead, link is being refreshed", - "download_status_error_response": "download failed: ", - "download_status_error_url_failed": "Failed to get music link", - "download_status_error_write": "The song save location is occupied or does not have write permission, please try to change the song save directory or restart the software or restart the computer, the error details: ", - "download_status_start": "start download", - "download_status_url_getting": "Getting music link...", - "download_status_write_queue": "Data is being written ({num})", - "duplicate_list_tip": "You have favorited this list [{name}] before, do you need to update the songs in it?", + "download_status_error_check_path": "There is an error in checking the download path. Please check whether the set download directory is normal", + "download_status_error_check_path_exist": "A file with the same name exists. The download has been skipped", + "download_status_error_refresh_url": "The link is dead, refreshing...", + "download_status_error_response": "Failed to download: ", + "download_status_error_url_failed": "Failed to get song link", + "download_status_error_write": "The download location is occupied or does not have write permission. Please try to change the download directory or restart the app/computer. Error details: ", + "download_status_start": "Start download", + "download_status_url_getting": "Getting song link...", + "download_status_write_queue": "Writing data in progress ({num})", + "duplicate_list_tip": "You have collected this list \"{name}\" before. Do you need to update the songs in it?", "export": "Export", - "fullscreen_exit": "Exit Full Screen", - "history_clear": "Clear History", - "history_remove": "Right click to remove this entry", - "history_search": "History Searches", + "fullscreen_exit": "Exit fullscreen", + "history_clear": "Clear history", + "history_remove": "Right-click to remove this entry", + "history_search": "Search History", "import": "Import", "leaderboard": "Charts", "list__add_to": "Add to ...", "list__collect": "Collect", - "list__copy_name": "Copy name", + "list__copy_name": "Copy Name", "list__dislike": "Dislike", "list__download": "Download", "list__export_part_desc": "Choose where to save the list file", - "list__file": "Locate the file", + "list__file": "Reveal File", "list__import_part_button_cancel": "Don't", "list__import_part_button_confirm": "Overwrite", "list__import_part_confirm": "The imported list ({importName}) has the same ID as the local list ({localName}). Do you want to overwrite the local list?", - "list__import_part_desc": "Select List File", + "list__import_part_desc": "Choose list file", "list__load_failed": "Ah, the loading failed 😭", "list__loading": "List loading...⏳", "list__move_to": "Move to ...", - "list__movedown": "Movedown", + "list__movedown": "Move down", "list__moveup": "Move up", - "list__name_default": "Default", - "list__name_love": "Love", + "list__name_default": "Recently Played", + "list__name_love": "Loved", "list__new_list_btn": "New List", "list__new_list_input": "New list...", - "list__pause": "Pause Task", + "list__pause": "Stop", "list__play": "Play", - "list__play_later": "Play later", + "list__play_later": "Play Later", "list__remove": "Remove", - "list__remove_tip": "Do you really want to remove {name}?", + "list__remove_tip": "Do you really want to remove \"{name}\"?", "list__remove_tip_button": "Yes, that's right", "list__rename": "Rename", "list__search": "Search", - "list__sort": "Adjust position", + "list__sort": "Adjust Position", "list__source_detail": "Song Page", - "list__start": "Start Task", + "list__start": "Resume", "list__sync": "Update", - "list__toggle_source": "Change source", + "list__toggle_source": "Change Source", "list_add__btn_title": "Add the song(s) to {name}", "list_add__multiple_btn_title": "Add these song(s) to {name}", - "list_add__multiple_title_add": "Add the selected {num} song(s) to ...", - "list_add__multiple_title_move": "Move the selected {num} song(s) to ...", + "list_add__multiple_title_add": "Add the selected {num} songs to ...", + "list_add__multiple_title_move": "Move the selected {num} songs to ...", "list_add__title_first_add": "Add", "list_add__title_first_move": "Move", - "list_add__title_last": "to...", + "list_add__title_last": "to ...", "list_duplicate_tip": "A list with the same name already exists. Do you want to continue creating it?", - "list_import_tip__alldata": "Import failed, this is an all data backup file, you need to go here to import: \nSettings -> Backup and Restore -> All Data -> Import", - "list_import_tip__playlist": "Import failed, this is a list backup file, you need to go here to import: \nSettings -> Backup and Restore -> Import List", - "list_import_tip__playlist_part": "The import failed, this is a single-list file, you need to go here to import: \nMy List -> Right-click on any list name -> Select Import in the pop-up menu", - "list_import_tip__setting": "Import failed, this is a settings backup file, you need to go here to import: \nSettings -> Backup and Restore -> Partial Data -> Settings Import", - "list_import_tip__unknown": "Import failed, unknown file type, please try to upgrade to the latest version and try again", + "list_import_tip__alldata": "Failed to import. This is an \"All Data\" backup file. You need to go here to import: \n\n\"Settings → Backup & Restore → All Data → Import\"", + "list_import_tip__playlist": "Failed to import. This is a \"List\" backup file. You need to go here to import: \n\n\"Settings → Backup & Restore → Partial Data → Import lists\"", + "list_import_tip__playlist_part": "Failed to import. This is a \"Single-list\" file. You need to go here to import: \n\n\"Your Library → Right-click on any list name → Select 'Import' in the menu\"", + "list_import_tip__setting": "Failed to import. This is a \"Settings\" backup file. You need to go here to import: \n\n\"Settings → Backup & Restore → Partial Data → Import settings\"", + "list_import_tip__unknown": "Failed to import. Unknown file type. Please try to upgrade the app to the latest version and try again.", "list_sort_modal_by_album": "Album name", "list_sort_modal_by_down": "Descending", "list_sort_modal_by_field": "Sort field", "list_sort_modal_by_name": "Song name", - "list_sort_modal_by_random": "Random", - "list_sort_modal_by_singer": "Singer name", + "list_sort_modal_by_random": "Randomization", + "list_sort_modal_by_singer": "Artist name", "list_sort_modal_by_source": "Song source", "list_sort_modal_by_time": "Duration", "list_sort_modal_by_type": "Sort categories", "list_sort_modal_by_up": "Ascending", "list_sort_modal_tip_confirm": "Are you sure you want to do this?", - "list_update_modal__auto_update": "Auto update", - "list_update_modal__tips": "💡 The list with \"Automatic Updates\" checked will be automatically updated each time the software is launched", - "list_update_modal__title": "List update management", + "list_update_modal__auto_update": "Auto Update", + "list_update_modal__tips": "💡 The list with \"Auto Update\" checked will be automatically updated each time the app is started.", + "list_update_modal__title": "List Update Management", "list_update_modal__update": "Sync", - "lists__add_local_file_desc": "Select song file", - "lists__dislike_music_singer_tip": "Do you really not like {singer}'s {name}?", - "lists__dislike_music_tip": "Do you really dislike {name}?", - "lists__duplicate": "Duplicate song", + "lists__add_local_file_desc": "Choose song file", + "lists__dislike_music_singer_tip": "Do you really dislike {singer}'s \"{name}\"?", + "lists__dislike_music_tip": "Do you really dislike \"{name}\"?", + "lists__duplicate": "Duplicate Songs", "lists__export": "Export", "lists__export_part_desc": "Choose where to save the list file", "lists__import": "Import", @@ -160,87 +160,87 @@ "lists__remove_tip": "Do you really want to remove {name}?", "lists__remove_tip_button": "Yes, that's right", "lists__rename": "Rename", - "lists__select_local_file": "Add local songs", - "lists__sort_list": "Sort songs", + "lists__select_local_file": "Add Local Songs", + "lists__sort_list": "Sort Songs", "lists__source_detail": "Playlist Page", "lists__sync": "Update", - "lists__sync_confirm_tip": "This will replace the songs in {name} with the songs in the online list, are you sure you want to update?", - "load_list_file_error_detail": "We have helped you back up the old list file to {path}\nIt is stored in JSON format, you can try to repair and restore it manually\n\nError details: {detail}", + "lists__sync_confirm_tip": "This will replace the songs in {name} with the songs in the online list. Are you sure you want to update?", + "load_list_file_error_detail": "We have helped you back up the old list file to {path}\nIt is stored in JSON format. You can try to repair and restore it manually.\n\nError details: {detail}", "load_list_file_error_title": "Error loading playlist data", "loading": "Loading...", "love_list": "Favorites", "lyric__load_error": "Failed to get lyrics", - "lyric__select": "Lyric text selection", - "lyric_menu__align": "Lyric Alignment", - "lyric_menu__align_center": "Centered", + "lyric__select": "Allow selection of lyrics text", + "lyric_menu__align": "Lyric alignment", + "lyric_menu__align_center": "Center", "lyric_menu__align_left": "Left", - "lyric_menu__lrc_size": "Font size [{size}]", - "lyric_menu__offset": "Offset [ {offset}ms ]", - "lyric_menu__offset_add_10": "10ms faster", - "lyric_menu__offset_add_100": "100ms faster", - "lyric_menu__offset_dec_10": "10ms slow down (right click slows down 5ms)", - "lyric_menu__offset_dec_100": "slow down by 100ms", + "lyric_menu__lrc_size": "Font Size [{size}]", + "lyric_menu__offset": "Offset [{offset}ms]", + "lyric_menu__offset_add_10": "Increase 10ms", + "lyric_menu__offset_add_100": "Increase 100ms", + "lyric_menu__offset_dec_10": "Decrease 10ms", + "lyric_menu__offset_dec_100": "Decrease 100ms", "lyric_menu__offset_reset": "Reset", - "lyric_menu__size_add": "Increase font size (right click to fine-tune)", - "lyric_menu__size_dec": "Decrease font (right click to fine tune)", + "lyric_menu__size_add": "Increase font size (Right-click to fine-tune)", + "lyric_menu__size_dec": "Decrease font size (Right-click to fine-tune)", "lyric_menu__size_reset": "Reset", - "media_device__empty_device_tip": "The audio output device is empty. If it cannot be played, please check whether the sound card driver has been installed or reinstall the sound card driver!", + "media_device__empty_device_tip": "The audio output device is empty. If it cannot be played, please check whether the sound card driver has been installed or reinstall it!", "min": "Minimize", "music_album": "Album", "music_duplicate": "Duplicate song", - "music_name": "Name", + "music_name": "Title", "music_singer": "Artist", "music_sort__input_tip": "Please input which position you want to adjust to", - "music_sort__title": "Adjust the position of {name} to: ", + "music_sort__title": "Adjust the position of \"{name}\" to: ", "music_sort__title_multiple": "Adjust the position of the selected {num} songs to: ", "music_time": "Length", - "music_toggle_clean": "Cancel source change", + "music_toggle_clean": "Cancel Source Change", "my_list": "Your Library", "no_item": "Nothing's here...", - "not_agree": "Not accept", + "not_agree": "Decline", "ok": "OK", "pagination__next": "Next page", "pagination__page": "Page {num}", "pagination__prev": "Previous page", - "play_timeout": "Timed pause", + "play_timeout": "Timed Pause", "play_timeout_close": "Close", "play_timeout_confirm": "Confirm", "play_timeout_end": "Wait for the song to finish before pausing", "play_timeout_stop": "Cancel timer", "play_timeout_tip": "Pause after {time}", - "play_timeout_unit": "Minute", + "play_timeout_unit": "Minute(s)", "play_timeout_update": "Update timing", - "player__add_music_to": "Add the current song to...", + "player__add_music_to": "Add the current song to ...", "player__buffering": "Buffering...", - "player__desktop_lyric_lock": "Right click to lock lyrics", - "player__desktop_lyric_off": "Close Desktop Lyrics", - "player__desktop_lyric_on": "Open Desktop Lyrics", - "player__desktop_lyric_unlock": "Right click to unlock lyrics", + "player__desktop_lyric_lock": "Right-click to lock lyric window", + "player__desktop_lyric_off": "Hide lyric window", + "player__desktop_lyric_on": "Show lyric window", + "player__desktop_lyric_unlock": "Right-click to unlock lyric window", "player__end": "Stopped", - "player__error": "Error loading music. Switch to next song after 5 seconds", + "player__error": "Error loading music. Switch to the next song after 5 seconds", "player__getting_url": "Getting music link...", - "player__getting_url_delay_retry": "The service is busy, try again in {time} seconds...", - "player__hide_detail_tip": "Hide detail page (Right-click in the view to quickly hide the details page)", + "player__getting_url_delay_retry": "The service is busy. Try again in {time} seconds...", + "player__hide_detail_tip": "Hide detail page\n(Right-click in the app window to quickly hide the detail page)", "player__loading": "Music loading...", "player__music_album": "Album: ", - "player__music_name": "Name: ", + "player__music_name": "Title: ", "player__music_singer": "Artist: ", "player__next": "Next", "player__pause": "Pause", - "player__pic_tip": "Play details page (right-click to locate the currently playing song in \"My List\")", + "player__pic_tip": "Play detail page\n(Right-click to locate the currently playing song in \"Your Library\")", "player__play": "Play", - "player__play_toggle_mode_list": "Play in order", - "player__play_toggle_mode_list_loop": "List Loop", + "player__play_toggle_mode_list": "In Order", + "player__play_toggle_mode_list_loop": "Repeat Playlist", "player__play_toggle_mode_off": "Disable", - "player__play_toggle_mode_random": "List Random", - "player__play_toggle_mode_single_loop": "Single Loop", + "player__play_toggle_mode_random": "Shuffle", + "player__play_toggle_mode_single_loop": "Repeat", "player__playback_preserves_pitch": "Pitch compensation", "player__playback_rate": "Current playback rate: ", "player__playback_rate_reset_btn": "Reset", "player__playing": "Now playing...", "player__prev": "Prev", "player__refresh_url": "Music URL expired, refreshing...", - "player__sound_effect": "Sound settings (experimental)", + "player__sound_effect": "Sound options (EXPERIMENTAL)", "player__sound_effect_biquad_filter": "Equalizer", "player__sound_effect_biquad_filter_preset_classical": "Classical", "player__sound_effect_biquad_filter_preset_dance": "Dance", @@ -252,33 +252,33 @@ "player__sound_effect_biquad_filter_preset_subwoofer": "Subwoofer", "player__sound_effect_biquad_filter_preset_vocal": "Vocal", "player__sound_effect_biquad_filter_reset_btn": "Reset", - "player__sound_effect_biquad_filter_save_btn": "Save preset as", + "player__sound_effect_biquad_filter_save_btn": "Save Preset As", "player__sound_effect_biquad_filter_save_input": "New presets...", - "player__sound_effect_convolution": "Ambient reverb sound effect", + "player__sound_effect_convolution": "Ambient Reverb Sound Effect", "player__sound_effect_convolution_file_bright_hall": "Hall", - "player__sound_effect_convolution_file_cardiod_35_10_spread": "Rock", + "player__sound_effect_convolution_file_cardiod_35_10_spread": "Heart-shaped Diffusion", "player__sound_effect_convolution_file_cinema_diningroom": "Cinema", "player__sound_effect_convolution_file_dining_living_true_stereo": "Dining Room", "player__sound_effect_convolution_file_feedback_spring": "Feedback Spring", "player__sound_effect_convolution_file_living_bedroom_leveled": "Bathroom", - "player__sound_effect_convolution_file_matrix_1": "Matrix", - "player__sound_effect_convolution_file_matrix_2": "Matrix 2", + "player__sound_effect_convolution_file_matrix_1": "Matrix (1)", + "player__sound_effect_convolution_file_matrix_2": "Matrix (2)", "player__sound_effect_convolution_file_s2_r4_bd": "Church", "player__sound_effect_convolution_file_s3_r1_bd": "Stereo", "player__sound_effect_convolution_file_spreader50_65ms": "Indoor", "player__sound_effect_convolution_file_telephone": "Telephone", - "player__sound_effect_convolution_file_tim_omni_35_10_magnetic": "Rock 2", + "player__sound_effect_convolution_file_tim_omni_35_10_magnetic": "Magnetic Stereo", "player__sound_effect_convolution_main_gain": "Original Audio Gain", "player__sound_effect_convolution_send_gain": "Ambient Sound Effect Gain", - "player__sound_effect_features_tip": "Tip: The sound effect settings conflicts with the the custom audio output device. After enabling the sound effect settings, the audio output device will be reset to the default output device. This problem cannot be solved at present.", - "player__sound_effect_panner": "3D stereo surround (need to use headphones)", - "player__sound_effect_panner_enabled": "enable", - "player__sound_effect_panner_sound_r": "Sound distance", - "player__sound_effect_panner_sound_speed": "Surround speed", - "player__sound_effect_pitch_shifter": "Pitch adjustment", + "player__sound_effect_features_tip": "Tip: The sound effect options conflict with the custom audio output device. After enabling the sound effect options, the audio output device will be reset to the default output device. This problem cannot be resolved at present.", + "player__sound_effect_panner": "3D Stereo Surround (Need to use headphones)", + "player__sound_effect_panner_enabled": "Enabled", + "player__sound_effect_panner_sound_r": "Sound Distance", + "player__sound_effect_panner_sound_speed": "Surround Speed", + "player__sound_effect_pitch_shifter": "Pitch Adjustment", "player__sound_effect_pitch_shifter_preset_semitones": "{num} semitones", "player__sound_effect_pitch_shifter_reset_btn": "Reset", - "player__sound_effect_pitch_shifter_tip": "Since ups and downs need to process audio data in real time, this will cause additional CPU usage\n\nKnown issues:\nIf the CPU resources are not enough, the processing will cause the task to accumulate and the sound will be abnormal. At this time, it is necessary to pause the playback for a period of time and wait for the accumulated tasks to be processed before playing.", + "player__sound_effect_pitch_shifter_tip": "This results in additional CPU usage, as raising/lowering the pitch requires real-time processing of audio data.\n\nKnown issues:\nInsufficient CPU resources will cause processing tasks to pile up, and a sound exception will occur.\nAt this time, it is necessary to pause the playback for a period of time and wait for the accumulated tasks to be processed before playing.", "player__stop": "Paused", "player__volume": "Volume: ", "player__volume_mute_label": "Mute", @@ -289,274 +289,274 @@ "search__type_songlist": "Song List", "search__welcome": "Search what I want to 😉", "setting": "Settings", - "setting__about": "About lx-music-desktop", - "setting__backup": "Backup and restore", - "setting__backup_all": "All data (list data and setting data)", + "setting__about": "About LX Music", + "setting__backup": "Backup & Restore", + "setting__backup_all": "All Data (\"List\" data and \"Setting\" data)", "setting__backup_all_export": "Export", - "setting__backup_all_export_desc": "Select the backup to...", + "setting__backup_all_export_desc": "Choose the backup to ...", "setting__backup_all_import": "Import", - "setting__backup_all_import_desc": "Select a backup file", - "setting__backup_other": "Other backup formats (recovery of such backup files is not currently supported)", + "setting__backup_all_import_desc": "Choose a backup file", + "setting__backup_other": "Other Backup Formats (Recovery of such backup files is not currently supported)", "setting__backup_other_export_dir": "Choose where to save the file", - "setting__backup_other_export_list_csv": "Export list in CSV format", - "setting__backup_other_export_list_text": "Export list in TXT format", + "setting__backup_other_export_list_csv": "Export lists in CSV format", + "setting__backup_other_export_list_text": "Export lists in TXT format", "setting__backup_other_export_list_text_confirm": "Do you want to merge all the lists into one file?", - "setting__backup_part": "Partial data (list data includes audition list, favorite list, user-defined list, setting data does not include shortcut key settings)", + "setting__backup_part": "Partial Data (\"List\" data includes \"Recently Played\", \"Loved\", and user-created lists. \"Setting\" data does not include shortcut key settings)", "setting__backup_part_export_list": "Export lists", - "setting__backup_part_export_list_desc": "Save the list to...", + "setting__backup_part_export_list_desc": "Save the lists to ...", "setting__backup_part_export_setting": "Export settings", - "setting__backup_part_export_setting_desc": "Save the list to...", + "setting__backup_part_export_setting_desc": "Save the lists to ...", "setting__backup_part_import_list": "Import lists", "setting__backup_part_import_list_confirm": "If the list in the backup file has the same ID as the existing list, the songs in the existing list will be overwritten. Do you want to continue?", - "setting__backup_part_import_list_desc": "Select a list backup", + "setting__backup_part_import_list_desc": "Choose a list backup", "setting__backup_part_import_setting": "Import settings", - "setting__backup_part_import_setting_desc": "Select the Settings file", + "setting__backup_part_import_setting_desc": "Choose the settings file", "setting__basic": "General", "setting__basic_animation": "Random pop-up animation", "setting__basic_control_btn_position": "Control Button Position", "setting__basic_control_btn_position_left": "Left", "setting__basic_control_btn_position_right": "Right", "setting__basic_font": "Font", - "setting__basic_font_size": "Font size", + "setting__basic_font_size": "Font Size", "setting__basic_font_size_14px": "Smaller", "setting__basic_font_size_15px": "Small", "setting__basic_font_size_16px": "Standard", "setting__basic_font_size_17px": "Big", "setting__basic_font_size_18px": "Larger", - "setting__basic_font_size_19px": "Very big", + "setting__basic_font_size_19px": "Oversize", "setting__basic_lang": "Language", - "setting__basic_lang_title": "The language displayed in the software", - "setting__basic_playbar_progress_style": "Play bar progress bar style", - "setting__basic_playbar_progress_style_full": "Full width", + "setting__basic_lang_title": "The language displayed in the app", + "setting__basic_playbar_progress_style": "Playbar Progress Bar Style", + "setting__basic_playbar_progress_style_full": "Full-width", "setting__basic_playbar_progress_style_middle": "Medium", "setting__basic_playbar_progress_style_mini": "Mini", "setting__basic_show_animation": "Show switching animation", - "setting__basic_source": "Music source", - "setting__basic_source_status_failed": "Initialization failed", - "setting__basic_source_status_initing": "Initializing", - "setting__basic_source_status_success": "Initialization successful", - "setting__basic_source_temp": "Temporary API (some features not available; workaround if Test API unavailable)", - "setting__basic_source_test": "Test API (Available for most software features)", - "setting__basic_source_user_api_btn": "Custom Source Management", - "setting__basic_sourcename": "Source name", - "setting__basic_sourcename_alias": "Aliases", + "setting__basic_source": "Music API", + "setting__basic_source_status_failed": "Failed to initialize", + "setting__basic_source_status_initing": "Initializing...", + "setting__basic_source_status_success": "Successfully initialized", + "setting__basic_source_temp": "Temporary API (Some features not available. Workaround if Test API is unavailable)", + "setting__basic_source_test": "Test API (Available for most app features)", + "setting__basic_source_user_api_btn": "Music API Management", + "setting__basic_sourcename": "Song Source Name", + "setting__basic_sourcename_alias": "Alias", "setting__basic_sourcename_real": "Original", - "setting__basic_sourcename_title": "Select the name of music source", + "setting__basic_sourcename_title": "Choose the song source name", "setting__basic_start_in_fullscreen": "Start in fullscreen mode", "setting__basic_theme": "Theme", - "setting__basic_theme_auto_tip": "This is a dynamic theme, you can preset a light theme and a dark theme, and then it will automatically switch to the corresponding theme you preset according to the system's light and dark theme colors.\nNote: Right-click this theme item to open the light and dark theme setting window.", - "setting__basic_to_tray": "Do not exit the software when closing the software and minimize it to the system tray", - "setting__basic_window_size": "Window size", - "setting__basic_window_size_big": "Large", + "setting__basic_theme_auto_tip": "This is a dynamic theme. You can preset a light theme and a dark theme, and then it will automatically switch to the corresponding theme you preset according to the system's light and dark theme colors.\n\nNOTE: Right-click this theme item to open the light and dark theme setting window.", + "setting__basic_to_tray": "Minimize the app window to the system tray when closing it", + "setting__basic_window_size": "Window Size", + "setting__basic_window_size_big": "Big", "setting__basic_window_size_huge": "Huge", "setting__basic_window_size_larger": "Larger", "setting__basic_window_size_medium": "Medium", - "setting__basic_window_size_oversized": "Oversized", + "setting__basic_window_size_oversized": "Oversize", "setting__basic_window_size_small": "Small", "setting__basic_window_size_smaller": "Smaller", "setting__basic_window_size_title": "Set the window size", "setting__click_copy": "Click to copy", "setting__click_open": "Click to open", - "setting__desktop_lyric": "Desktop Lyric Settings", + "setting__desktop_lyric": "Desktop Lyric", "setting__desktop_lyric_align": "Lyric Alignment", - "setting__desktop_lyric_align_center": "Centered", + "setting__desktop_lyric_align_center": "Center", "setting__desktop_lyric_align_left": "Left", "setting__desktop_lyric_align_right": "Right", - "setting__desktop_lyric_always_on_top": "Make the lyrics always above other windows", - "setting__desktop_lyric_always_on_top_loop": "Automatically refresh the top of the lyrics (try to enable this setting when the lyrics are still blocked by some programs)", - "setting__desktop_lyric_audio_visualization": "Audio Visualization (Experimental)", - "setting__desktop_lyric_color": "Lyric font color", + "setting__desktop_lyric_always_on_top": "Stay always-on-top", + "setting__desktop_lyric_always_on_top_loop": "Refresh lyric window repeatedly when \"Stay always-on-top\" is enabled (Try to enable this option when the window are still blocked by some programs)", + "setting__desktop_lyric_audio_visualization": "Enable audio visualization (EXPERIMENTAL)", + "setting__desktop_lyric_color": "Lyric Font Color", "setting__desktop_lyric_color_reset": "Reset color", - "setting__desktop_lyric_delay_scroll": "Delayed lyrics scroll", - "setting__desktop_lyric_direction": "Lyrics Display Direction", - "setting__desktop_lyric_direction_horizontal": "Horizontal direction", - "setting__desktop_lyric_direction_vertical": "Vertical direction", - "setting__desktop_lyric_ellipsis": "Lyrics are not allowed to wrap", - "setting__desktop_lyric_enable": "Display lyrics", - "setting__desktop_lyric_font": "Lyric font", + "setting__desktop_lyric_delay_scroll": "Delay scrolling lyrics", + "setting__desktop_lyric_direction": "Lyric Display Direction", + "setting__desktop_lyric_direction_horizontal": "Horizontal", + "setting__desktop_lyric_direction_vertical": "Vertical", + "setting__desktop_lyric_ellipsis": "Do not warp lyrics", + "setting__desktop_lyric_enable": "Show lyric window", + "setting__desktop_lyric_font": "Lyric Font", "setting__desktop_lyric_font_default": "Default", - "setting__desktop_lyric_font_weight": "Bold font", - "setting__desktop_lyric_fullscreen_hide": "Automatically close lyrics when full screen", - "setting__desktop_lyric_hover_hide": "Reduce the transparency of lyrics when the mouse moves into the lyrics area (this feature has platform compatibility issues)", - "setting__desktop_lyric_line_gap": "Lyric spacing ({num})", + "setting__desktop_lyric_font_weight": "Bold Font", + "setting__desktop_lyric_fullscreen_hide": "Hide lyric window when in fullscreen", + "setting__desktop_lyric_hover_hide": "Decrease lyric window transparency when the mouse moves into the lyric window (This feature has platform compatibility issues)", + "setting__desktop_lyric_line_gap": "Lyric Spacing ({num})", "setting__desktop_lyric_line_gap_add": "Increase spacing", - "setting__desktop_lyric_line_gap_dec": "Reduce spacing", - "setting__desktop_lyric_lock": "Lock lyrics", - "setting__desktop_lyric_lock_screen": "It is not allowed to drag the lyrics window out of the main screen", - "setting__desktop_lyric_played_color": "color played", + "setting__desktop_lyric_line_gap_dec": "Decrease spacing", + "setting__desktop_lyric_lock": "Lock lyric window", + "setting__desktop_lyric_lock_screen": "Do not allow lyric window to be dragged out of main screen", + "setting__desktop_lyric_played_color": "Played", "setting__desktop_lyric_reset": "Reset", - "setting__desktop_lyric_reset_window": "Reset window settings", - "setting__desktop_lyric_scroll_align": "Now playing lyrics scroll position", + "setting__desktop_lyric_reset_window": "Reset Desktop Lyric Options", + "setting__desktop_lyric_scroll_align": "Position of Lyrics Scrolling While Playing", "setting__desktop_lyric_scroll_align_center": "Center", "setting__desktop_lyric_scroll_align_top": "Top", - "setting__desktop_lyric_shadow_color": "Shadow color", - "setting__desktop_lyric_show_taskbar": "Display lyrics progress on the taskbar (this setting is used as a workaround when the screen recording software cannot capture the lyrics window)", - "setting__desktop_lyric_unplay_color": "Color not playing", - "setting__dislike_list_input_tip": "song name@artist name\nSong name\n@ singer name", + "setting__desktop_lyric_shadow_color": "Shadow", + "setting__desktop_lyric_show_taskbar": "Show lyric window process on the taskbar (This option is used as a workaround when the screen recording program cannot capture the lyric window)", + "setting__desktop_lyric_unplay_color": "Not Played", + "setting__dislike_list_input_tip": "song_name@artist_name\nsong_name\n@artist_name", "setting__dislike_list_save_btn": "Save", - "setting__dislike_list_tips": "1. One line per entry. If there is an \"@\" symbol in the name of the song or singer, it needs to be replaced with \"#\"\n2. Specify a song by a certain singer: song name@singer name\n3. Specify a song: song name\n4. Specify a singer: @singername", - "setting__dislike_list_title": "List of Disliked Song Rules", + "setting__dislike_list_tips": "1. One line per entry. If there is an \"@\" symbol in the name of the song or artist, it needs to be replaced with \"#\"\n2. Specify a song by a certain artist: song_name@artist_name\n3. Specify a song: song_name\n4. Specify an artist: @artist_name", + "setting__dislike_list_title": "Disliked Song Rule List", "setting__download": "Download", - "setting__download_data_embed": "Whether to embed the following content in the audio file", - "setting__download_embed_lyric": "Embedding lyric", - "setting__download_embed_pic": "Embedding cover", - "setting__download_embed_rlyric": "Also embed Roman accent lyrics (if available)", - "setting__download_embed_tlyric": "Also embed translated lyrics (if available)", - "setting__download_enable": "Whether to enable download function", - "setting__download_lyric": "Lyrics download", - "setting__download_lyric_format": "Downloaded lyrics file encoding format", + "setting__download_data_embed": "Embed the Following into Audio File", + "setting__download_embed_lyric": "Embed lyrics", + "setting__download_embed_pic": "Embed cover", + "setting__download_embed_rlyric": "Also embed romanized lyrics if available", + "setting__download_embed_tlyric": "Also embed translated lyrics if available", + "setting__download_enable": "Enable Download", + "setting__download_lyric": "Lyric Download", + "setting__download_lyric_format": "Encoding Format of Downloaded Lyric Files", "setting__download_lyric_format_gbk": "GBK (Try to select this format when Chinese garbled characters appear on some devices)", "setting__download_lyric_format_utf8": "UTF-8", "setting__download_lyric_title": "Select whether to download the lyrics file", - "setting__download_max_num": "Number of simultaneous download tasks (setting too high may result in IP being blocked, depending on the audio source)", - "setting__download_max_num_tip": "Excessively large number of simultaneous downloads may cause your IP to be blocked by the audio source. Do you confirm the modification?", - "setting__download_name": "Music file naming", - "setting__download_name1": "Title - Artist", - "setting__download_name2": "Artist - Title", + "setting__download_max_num": "Number of Simultaneous Downloads (Set too high may result in IP being blocked, depending on the music API)", + "setting__download_max_num_tip": "An excessively large number of simultaneous downloads may cause your IP to be blocked by the music API. Do you confirm the modification?", + "setting__download_name": "Music File Naming", + "setting__download_name1": "\"Title - Artist\"", + "setting__download_name2": "\"Artist - Title\"", "setting__download_name3": "Title only", "setting__download_name_title": "Select the music naming method for downloading", - "setting__download_path": "Download path", + "setting__download_path": "Download Path", "setting__download_path_change_btn": "Change", "setting__download_path_label": "Current: ", "setting__download_path_open_label": "Click to open this path", - "setting__download_path_title": "Define the path to downloading", - "setting__download_rlyric": "Also write Roman lyrics to the lyrics file (if any)", + "setting__download_path_title": "Choose the path to downloading", + "setting__download_rlyric": "Also write romanized lyrics to the lyric file if available", "setting__download_select_save_path": "Select the save path", - "setting__download_skip_exist_file": "Skip downloading this task when there is a file with the same name in the download directory", - "setting__download_tlyric": "Also write the translated lyrics to the lyrics file (if any)", - "setting__download_use_other_source": "Auto source download", - "setting__download_use_other_source_tip": "When the song cannot be downloaded from the original source, try to switch to another source to download. Note: This function does not 100% guarantee that the version of the song after changing the source is consistent with the original version", - "setting__hot_key": "Shortcut Key Settings", + "setting__download_skip_exist_file": "Skip the download task if a file with the same name exists in the download directory", + "setting__download_tlyric": "Also write translated lyrics to the lyric file if available", + "setting__download_use_other_source": "Automatic Source Download", + "setting__download_use_other_source_tip": "When the song cannot be downloaded from the original source, try to switch to another source to download.\nNOTE: This does not 100% guarantee that the version of the song after changing the source is consistent with the original version.", + "setting__hot_key": "Shortcuts", "setting__hot_key_common_focus_search_input": "Focus Search Box", - "setting__hot_key_common_min": "Minimize the program", - "setting__hot_key_common_toggle_close": "Quit Program", - "setting__hot_key_common_toggle_hide": "Show/Hide Program", - "setting__hot_key_common_toggle_min": "Minimize/Restore Program", - "setting__hot_key_desktop_lyric_toggle_always_top": "Top Desktop Lyrics Switch", - "setting__hot_key_desktop_lyric_toggle_lock": "Desktop Lyric Lock Switch", - "setting__hot_key_desktop_lyric_toggle_visible": "Turn on/off desktop lyrics", - "setting__hot_key_global_title": "Global Shortcut Key", - "setting__hot_key_local_title": "Shortcut Keys in Software", - "setting__hot_key_player_music_dislike": "Dislike the song", - "setting__hot_key_player_music_love": "Favorites Song", - "setting__hot_key_player_music_unlove": "Cancel collection", + "setting__hot_key_common_min": "Minimize App", + "setting__hot_key_common_toggle_close": "Exit App", + "setting__hot_key_common_toggle_hide": "Show/Hide App", + "setting__hot_key_common_toggle_min": "Minimize/Restore App", + "setting__hot_key_desktop_lyric_toggle_always_top": "Top/Un-top Desktop Lyric", + "setting__hot_key_desktop_lyric_toggle_lock": "Lock/Unlock Desktop Lyric", + "setting__hot_key_desktop_lyric_toggle_visible": "Show/Hide Desktop Lyric", + "setting__hot_key_global_title": "Global Keyboard Shortcuts", + "setting__hot_key_local_title": "In-app Keyboard Shortcuts", + "setting__hot_key_player_music_dislike": "Dislike Song", + "setting__hot_key_player_music_love": "Love Song", + "setting__hot_key_player_music_unlove": "Unlove Song", "setting__hot_key_player_next": "Next Song", "setting__hot_key_player_prev": "Previous Song", "setting__hot_key_player_toggle_play": "Play/Pause Control", - "setting__hot_key_player_volume_down": "Reduce Volume", - "setting__hot_key_player_volume_mute": "Mute Switch", + "setting__hot_key_player_volume_down": "Decrease Volume", + "setting__hot_key_player_volume_mute": "Toggle Mute", "setting__hot_key_player_volume_up": "Increase Volume", "setting__hot_key_tip_input": "Please enter a new key", - "setting__hot_key_unset_input": "Not Set", - "setting__is_enable": "Enabled", - "setting__is_show": "Showed", + "setting__hot_key_unset_input": "Not set", + "setting__is_enable": "Enable", + "setting__is_show": "Show", "setting__list": "List", "setting__list_action_btn": "Show list action buttons", - "setting__list_add_music_location_type": "Position when adding a song to the list", + "setting__list_add_music_location_type": "Position When Adding a Song to the List", "setting__list_add_music_location_type_bottom": "Bottom", "setting__list_add_music_location_type_top": "Top", - "setting__list_click_action": "Automatically switch to the current list when double-clicking a song in the list (only valid for playlists and rankings)", - "setting__list_scroll": "Remember the position of the scroll bar of the playlist (only valid for my music classification)", - "setting__list_source": "Show song source (only valid for my music category)", + "setting__list_click_action": "Automatically switch to current list when double-clicking a song in the list (Only valid for \"Playlists\" and \"Charts\" page)", + "setting__list_scroll": "Remember position of scroll bar of playlist (Only valid for \"Your Library\" page)", + "setting__list_source": "Show source for songs (Only valid for \"Your Library\" page)", "setting__network": "Network", "setting__network_proxy_host": "Host", "setting__network_proxy_password": "Password", "setting__network_proxy_port": "Port", - "setting__network_proxy_title": "HTTP Proxy (False setting would block Internet connections)", + "setting__network_proxy_title": "HTTP Proxy (Incorrect settings will prevent the app from being networked)", "setting__network_proxy_username": "Username", - "setting__odc": "Auto clear", - "setting__odc_clear_search_input": "Clear the search box when you are not searching", - "setting__odc_clear_search_list": "Clear the search list when you are not searching", + "setting__odc": "Auto Empty", + "setting__odc_clear_search_input": "Empty search box when you are not searching", + "setting__odc_clear_search_list": "Empty search list when you are not searching", "setting__open_api": "Open API", - "setting__open_api_address": "Service address: ", + "setting__open_api_address": "Service Address: ", "setting__open_api_bind_lan": "Allow access from LAN", "setting__open_api_enable": "Enable open API service", - "setting__open_api_port": "Service port", + "setting__open_api_port": "Service Port", "setting__open_api_port_tip": "Please enter the open API service port", - "setting__open_api_tip": "This function is used to provide third-party software with the ability to call LX Music. You can see the currently available functions: ", - "setting__open_api_tip_link": "Access document", + "setting__open_api_tip": "This feature is used to provide third-party programs with the ability to call LX Music. You can see the currently available features: ", + "setting__open_api_tip_link": "Visit Documents", "setting__other": "Extras", - "setting__other_dislike_list": "dislike song rule", + "setting__other_dislike_list": "Dislike Song Rules", "setting__other_dislike_list_label": "Number of rules: ", - "setting__other_dislike_list_show_btn": "Edit dislike song rules", + "setting__other_dislike_list_show_btn": "Edit Rules", "setting__other_listdata": "List Data Cleanup", - "setting__other_listdata_clear_btn": "Clear my list data", - "setting__other_listdata_clear_tip_confirm": "This will clear all lists you have created and all songs in your favourites, do you really want to continue?", - "setting__other_lyric_edited_cache": "Lyric management with adjusted offset time", - "setting__other_lyric_edited_clear_btn": "Clean up time-adjusted lyrics", - "setting__other_lyric_edited_clear_tip_confirm": "This will clear all the lyrics that you have adjusted the offset time before, confirm to clear? \n(Hand shaking to confirm 🤪)", + "setting__other_listdata_clear_btn": "Clear \"Your Library\" Data", + "setting__other_listdata_clear_tip_confirm": "This will clear all lists you have created and all songs your have loved. Do you really want to continue?", + "setting__other_lyric_edited_cache": "Lyric Management with Adjusted Offset", + "setting__other_lyric_edited_clear_btn": "Clear Time-adjusted Lyrics", + "setting__other_lyric_edited_clear_tip_confirm": "This will clear all the lyrics that you have adjusted the offset time before. Confirm to clear? \n(Hand shaking to confirm 🤪)", "setting__other_lyric_edited_label": "Number of lyrics: ", - "setting__other_lyric_raw_clear_btn": "Clear Lyrics Cache", + "setting__other_lyric_raw_clear_btn": "Clear Lyric Cache", "setting__other_lyric_raw_label": "Number of lyrics: ", - "setting__other_music_url_clear_btn": "Clean up song URL cache", + "setting__other_music_url_clear_btn": "Clear Song URL Cache", "setting__other_music_url_label": "Number of song URLs: ", - "setting__other_other_cache": "Other cache management", - "setting__other_other_source_clear_btn": "Clear the cache of swapped songs", - "setting__other_other_source_label": "Change the number of source song information: ", - "setting__other_resource_cache": "Resource cache management", - "setting__other_resource_cache_clear_btn": "Clear resource cache", + "setting__other_other_cache": "Other Cache Management", + "setting__other_other_source_clear_btn": "Clear Song Cache that Changed Source", + "setting__other_other_source_label": "Number of songs information that changed source: ", + "setting__other_resource_cache": "Resource Cache Management", + "setting__other_resource_cache_clear_btn": "Clear Resource Cache", "setting__other_resource_cache_confirm": "I want to clear", - "setting__other_resource_cache_label": "The software has used cache size: ", - "setting__other_resource_cache_tip": "Picture, audio, and other caches. After cleaning, resources such as pictures will need to be downloaded again. It is not recommended to clean up. The software will dynamically manage the cache size according to the disk space.", - "setting__other_resource_cache_tip_confirm": "Involving the cache of pictures, audios, etc., the pictures and other resources will need to be downloaded again after cleaning. It is not recommended to clean up. The software will dynamically manage the cache size according to the disk space. Do you still need to clean up?", + "setting__other_resource_cache_label": "The app has used cache size: ", + "setting__other_resource_cache_tip": "Picture, audio, and other caches. After cleaning, resources such as pictures will need to be downloaded again. It is not recommended to clean up. The app will dynamically manage the cache size according to the disk space.", + "setting__other_resource_cache_tip_confirm": "Involving the cache of pictures, audios, etc., the pictures and other resources will need to be downloaded again after cleaning. It is not recommended to clean up. The app will dynamically manage the cache size according to the disk space. Do you still need to clean up?", "setting__other_tray_theme": "Tray Icon Style", - "setting__other_tray_theme_auto": "Follow the system light and dark themes", - "setting__other_tray_theme_black": "Black Color", + "setting__other_tray_theme_auto": "Follow System", + "setting__other_tray_theme_black": "Black", "setting__other_tray_theme_native": "White", - "setting__other_tray_theme_origin": "Primary Color", + "setting__other_tray_theme_origin": "Default", "setting__play": "Play", - "setting__play_advanced_audio_features_tip": "A custom audio output device conflicts with this function. After enabling this function, the audio output device will be reset to the default output device. This problem cannot be solved at the moment. Do you still want to enable it?", - "setting__play_auto_clean_played_list": "Whether to clear the existing playlist when clicking the same list as the playlist to switch songs (all songs in the list in random mode will participate in the random again)", - "setting__play_auto_skip_on_error": "Automatically switch songs on playback error", - "setting__play_detail": "Play details page settings", + "setting__play_advanced_audio_features_tip": "A custom audio output device conflicts with this feature. After enabling this feature, the audio output device will be reset to the default output device. This problem cannot be solved at the moment. Do you still want to enable it?", + "setting__play_auto_clean_played_list": "Empty played list when playing the same list as the current playlist (All songs in the list in shuffle mode will participate in the random again)", + "setting__play_auto_skip_on_error": "Automatically switch songs when playback error occurs", + "setting__play_detail": "Play Detail Page", "setting__play_detail_align": "Lyric Alignment", - "setting__play_detail_align_center": "Centered", + "setting__play_detail_align_center": "Center", "setting__play_detail_align_left": "Left", "setting__play_detail_align_right": "Right", - "setting__play_detail_font_size": "Lyrics font size (you can use the keyboard + - adjust the font size on the playback details page)", + "setting__play_detail_font_size": "Lyrics font size (you can use the keyboard \"+\" & \"-\" to adjust the font size on the playback detail page)", "setting__play_detail_font_size_current": "Current font size: {size}", "setting__play_detail_font_size_reset": "Reset", - "setting__play_detail_font_zoom": "Zoom the currently playing lyrics", - "setting__play_detail_lyric_delay_scroll": "Delayed lyrics scrolling", - "setting__play_detail_lyric_progress": "Allows to adjust playback progress by lyrics", - "setting__play_lyric_lxlrc": "Use karaoke-style lyrics to play (if available, this function consumes more performance, and it is not recommended to enable it on computers with low configuration)", - "setting__play_lyric_roma": "Show lyrics roman", - "setting__play_lyric_s2t": "Convert the playing and downloading lyrics to Traditional Chinese", - "setting__play_lyric_transition": "Show lyrics translation", + "setting__play_detail_font_zoom": "Zoom currently playing lyrics", + "setting__play_detail_lyric_delay_scroll": "Delay scrolling lyrics", + "setting__play_detail_lyric_progress": "Allow to adjust playback progress by drag-and-drop lyrics", + "setting__play_lyric_lxlrc": "Playback with karaoke-style lyrics if available (This feature consumes more performance, and it is not recommended to enable it on computers with low configuration)", + "setting__play_lyric_roma": "Show romanized lyrics", + "setting__play_lyric_s2t": "Convert Chinese lyrics that are playing and downloading to traditional", + "setting__play_lyric_transition": "Show translated lyrics", "setting__play_max_output_channel_count": "Output audio using the maximum number of channels the device can handle", - "setting__play_mediaDevice": "Audio output", - "setting__play_mediaDevice_remove_stop_play": "Pause the song when the current sound output device is changed", + "setting__play_mediaDevice": "Audio Output", + "setting__play_mediaDevice_remove_stop_play": "Pause song when current sound output device is changed", "setting__play_mediaDevice_title": "Select a media device for audio output", - "setting__play_media_device_error_tip": "This feature conflicts with advanced audio features (audio visualization, sound effect settings, audio output using the maximum number of channels that the device can handle). You have enabled these features when you started the software this time. This setting is temporarily unavailable. Please turn off these features and After restarting the software, modify this setting again.", - "setting__play_media_device_tip": "This feature conflicts with the audio visualization feature and cannot be enabled at the same time. Do you want to turn audio visualization off and apply the selected audio output settings?", - "setting__play_playQuality": "Prioritize sound quality for playback (if available)", - "setting__play_power_save_blocker": "Prevent computer from sleeping while playing songs", + "setting__play_media_device_error_tip": "This feature conflicts with advanced audio features (audio visualization, sound effect options, audio output using the maximum number of channels that the device can handle). You have enabled these features when you started the app this time. This option is temporarily unavailable. Please turn off these features and change this option again after restarting the app.", + "setting__play_media_device_tip": "This feature conflicts with the audio visualization feature and cannot be enabled at the same time. Do you want to turn audio visualization off and apply the selected audio output options?", + "setting__play_playQuality": "Prioritize Sound Quality for Playback If Available", + "setting__play_power_save_blocker": "Prevent computer from hibernating while playing songs", "setting__play_save_play_time": "Remember playback progress", - "setting__play_startup_auto_play": "Play music automatically after launching the software", - "setting__play_statusbar_lyric": "Show lyrics in status bar (needs tray enabled)", + "setting__play_startup_auto_play": "Automatically play music on startup", + "setting__play_statusbar_lyric": "Show lyrics in status bar (Needs tray enabled)", "setting__play_task_bar": "Show playing progress on the taskbar", - "setting__play_timeout": "Timed pause", - "setting__player_audio_visualization_tip": "The custom audio output device will conflict with the audio visualization function. After the audio visualization is enabled, the audio output device will be reset to the default output device. At present, this problem cannot be solved. Do you still want to enable it?", + "setting__play_timeout": "Timed Pause", + "setting__player_audio_visualization_tip": "The custom audio output device feature conflicts with the audio visualization feature. After the audio visualization is enabled, the audio output device will be reset to the default. At present, this problem cannot be resolved. Do you still want to enable it?", "setting__search": "Search", - "setting__search_focus_search_box": "Automatically focus the search box on startup", - "setting__search_history": "Search history", - "setting__search_hot": "Top Searches", - "setting__setting__desktop_lyric_font_weight_extended": "translation, romanized lyrics", - "setting__setting__desktop_lyric_font_weight_font": "verbatim lyrics", - "setting__setting__desktop_lyric_font_weight_line": "progressive lyrics", - "setting__sync": "Data synchronization", + "setting__search_focus_search_box": "Automatically focus search box on startup", + "setting__search_history": "Enable Search History", + "setting__search_hot": "Enable Top Searches", + "setting__setting__desktop_lyric_font_weight_extended": "Translated & romanized lyrics", + "setting__setting__desktop_lyric_font_weight_font": "Verbatim lyrics", + "setting__setting__desktop_lyric_font_weight_line": "Progressive lyrics", + "setting__sync": "Data Sync", "setting__sync_client_address": "Current device address: {address}", - "setting__sync_client_host": "Synchronization service address", - "setting__sync_client_host_tip": "http://IP:Port", - "setting__sync_client_mode": "client mode", + "setting__sync_client_host": "Sync service address", + "setting__sync_client_host_tip": "http://:", + "setting__sync_client_mode": "Client Mode", "setting__sync_client_status": "Status: {status}", "setting__sync_code_blocked_ip": "The IP of the current device has been blocked by the server!", "setting__sync_code_fail": "Invalid connection code", - "setting__sync_enable": "Enable sync", - "setting__sync_mode": "Synchronous mode", - "setting__sync_mode_client": "client mode", - "setting__sync_mode_server": "server mode", - "setting__sync_server_address": "Synchronization service address: {address}", + "setting__sync_enable": "Enable Sync", + "setting__sync_mode": "Sync Mode", + "setting__sync_mode_client": "Client", + "setting__sync_mode_server": "Server", + "setting__sync_server_address": "Sync service address: {address}", "setting__sync_server_auth_code": "Connection code: {code}", "setting__sync_server_device": "Connected devices: {devices}", "setting__sync_server_device_list_btn_remove": "Remove", @@ -564,41 +564,41 @@ "setting__sync_server_device_list_time": "Last connection time: {time}", "setting__sync_server_device_list_tips": "💡 After the device is removed, you need to re-enter the connection code when reconnecting", "setting__sync_server_device_list_title": "Certified device", - "setting__sync_server_mode": "Server mode (since the data is transmitted in clear text, please use it under a trusted network)", - "setting__sync_server_port": "Sync port settings", - "setting__sync_server_port_tip": "Please enter the synchronization service port number", - "setting__sync_server_refresh_code": "Refresh the connection code", + "setting__sync_server_mode": "Server Mode (Please use it on a trusted network as data is transmitted in plaintext)", + "setting__sync_server_port": "Sync Port", + "setting__sync_server_port_tip": "Please enter a port number", + "setting__sync_server_refresh_code": "Refresh connection code", "setting__sync_server_show_device_list": "List of certified devices", - "setting__sync_tip": "For how to use it, please see the \"Sync function\" section of the FAQ", + "setting__sync_tip": "For how to use it, please see the \"Sync feature\" section of the FAQ", "setting__update": "Update", "setting__update_checking": "Checking for updates...", - "setting__update_commit_date": "Submission date: ", - "setting__update_commit_id": "Code version: ", + "setting__update_commit_date": "Commit date: ", + "setting__update_commit_id": "Commit hash: ", "setting__update_current_label": "Current version: ", "setting__update_downloading": "Update is found and being downloaded...⏳", - "setting__update_init": "Processing update...", - "setting__update_latest": "The software is up-to-date, enjoy yourself!🥂", + "setting__update_init": "Updating...", + "setting__update_latest": "The app is up-to-date. Enjoy yourself!🥂", "setting__update_latest_label": "Latest version: ", - "setting__update_new_version": "Found a new version, hurry up and update~🚀🚀", - "setting__update_open_version_modal_btn": "open update window", - "setting__update_progress": "state: ", - "setting__update_show_change_log": "Show changelog on first boot after version update", - "setting__update_try_auto_update": "Attempt to download updates automatically when a new version is found", - "setting__update_unknown": "Unknown", - "setting__update_unknown_tip": "❓ Failed to obtain the latest version information, it is recommended to go to the About interface to open the project release address to check whether the current version is the latest", + "setting__update_new_version": "Found a new version. Hurry up and update~🚀🚀", + "setting__update_open_version_modal_btn": "Open Update Window", + "setting__update_progress": "Status: ", + "setting__update_show_change_log": "Show changelog on first startup after update", + "setting__update_try_auto_update": "Automatically attempt to download updates when a new version is found", + "setting__update_unknown": "unknown", + "setting__update_unknown_tip": "❓ Failed to fetch the latest version information. it is recommended to go to the About page to open the project release address to check whether the current version is the latest", "setting_download_save_group_list_name": "Save files to a subdirectory named after the corresponding list", "setting_sync_status_enabled": "connected", "song_list": "Playlists", "songlist__import_input_btn_confirm": "Open", "songlist__import_input_show_btn": "Open Playlist", - "songlist__import_input_tip": "Enter songlist link or songlist ID", - "songlist__import_input_tip_1": "Cross-source playlists are not supported, please confirm whether the playlist to be opened corresponds to the current playlist source", - "songlist__import_input_tip_2": "If you encounter a link to a playlist that cannot be opened, welcome feedback", - "songlist__import_input_tip_3": "Kugou source does not support opening with playlist ID, but supports Kugou code opening", - "songlist__import_input_tip_4": "Netease source's \"I like\" playlist requires Token to open, see for details", + "songlist__import_input_tip": "Enter a songlist link/ID", + "songlist__import_input_tip_1": "Cross-source playlists are not supported. Please confirm whether the playlist to be opened corresponds to the current chosen source", + "songlist__import_input_tip_2": "If you encounter a song list link that cannot be opened. Please send us your feedback", + "songlist__import_input_tip_3": "Kugou source does not support opening with playlist ID but supports opening with Kugou code", + "songlist__import_input_tip_4": "NetEase source's \"I Like\" playlist requires a token to open. For details, see ", "songlist__import_input_title": "Open shared playlist", "songlist__open_list": "Open {name} playlist", - "songlist__tag_info_hot_tag": "Hot tags", + "songlist__tag_info_hot_tag": "Top Tags", "source_alias_all": "Aggregated", "source_alias_bd": "BD Music", "source_alias_kg": "KG Music", @@ -613,77 +613,77 @@ "source_kw": "Kuwo", "source_mg": "Migu", "source_tx": "Tencent", - "source_wy": "Netease", + "source_wy": "NetEase", "source_xm": "Xiami", "sync__auth_code_input_tip": "Please enter the connection code", "sync__auth_code_title": "Need to enter the connection code", - "sync__dislike_merge_tip_desc": "Merge the content of the two lists and remove the duplicates", - "sync__dislike_other_tip_desc": "\"Cancel sync\" will not use the dislike list sync feature", - "sync__dislike_overwrite_tip_desc": "The list of overriddens will be replaced with the list of overriders", - "sync__dislike_title": "Choose how to sync with {name}'s dislike list", - "sync__list_merge_tip_desc": "Merge the two lists together, the same song will be removed (the song of the merged person is removed), and different songs will be added.", - "sync__list_other_tip_desc": "\"Cancel Sync\" will not use list sync.", - "sync__list_overwrite_tip_desc": "Lists with the same ID as the overwritten list and the overwritten list will be deleted and replaced with the overrider's list (lists with different list IDs will be merged together). If full coverage is checked, all lists of the covered one will be moved. Remove and replace with a list of overrides.", + "sync__dislike_merge_tip_desc": "Merge the content of the two lists and remove the duplicates.", + "sync__dislike_other_tip_desc": "\"Cancel Sync\" will not sync the dislike song list.", + "sync__dislike_overwrite_tip_desc": "The list of overwritten parties will be replaced with the list of overwriting parties.", + "sync__dislike_title": "Choose how to sync with {name}'s dislike song list", + "sync__list_merge_tip_desc": "Merge the two lists together. The same song will be removed (the song of the merged person is removed), and different songs will be added.", + "sync__list_other_tip_desc": "\"Cancel Sync\" will not sync the list.", + "sync__list_overwrite_tip_desc": "Lists with the same ID as the overwritten list and the overwritten list will be deleted and replaced with the overrider's list (lists with different list IDs will be merged together). If \"Full Overwrite\" is checked, all lists of the covered one will be moved. Remove and replace with a list of overrides.", "sync__list_title": "Choose how to synchronize the list with {name}", - "sync__merge_btn_local_remote": "Local list merge remote list", - "sync__merge_btn_remote_local": "Remote list merge local list", + "sync__merge_btn_local_remote": "\"Local List\" Merge \"Remote List\"", + "sync__merge_btn_remote_local": "\"Remote List\" Merge \"Local List\"", "sync__merge_label": "Merge", "sync__merge_tip": "Merge: ", "sync__other_label": "Other", "sync__other_tip": "Other: ", - "sync__overwrite": "Full coverage", - "sync__overwrite_btn_cancel": "Cancel sync", - "sync__overwrite_btn_local_remote": "Local list Overwrite remote list", + "sync__overwrite": "Full Overwrite", + "sync__overwrite_btn_cancel": "Cancel Sync", + "sync__overwrite_btn_local_remote": "\"Local List\" Overwrite \"Remote List\"", "sync__overwrite_btn_none": "Only use real-time synchronization", - "sync__overwrite_btn_remote_local": "Remote list Overwrite local list", - "sync__overwrite_label": "Cover", - "sync__overwrite_tip": "Over: ", + "sync__overwrite_btn_remote_local": "\"Remote List\" Overwrite \"Local List\"", + "sync__overwrite_label": "Overwrite", + "sync__overwrite_tip": "Overwrite: ", "sync_status_disabled": "not connected", "tag__high_quality": "HQ", "tag__lossless": "SQ", "tag__lossless_24bit": "24bit", "theme_add": "Add a theme", "theme_auto": "Auto", - "theme_auto_tip": "Right-click to open the light and dark theme settings window", + "theme_auto_tip": "Right-click to open the light and dark theme options window", "theme_black": "Black", "theme_blue": "Blue", "theme_blue2": "Purple Blue", "theme_blue_plus": "Blue Plus", "theme_china_ink": "China Ink", - "theme_edit_modal__app_bg": "Apply background color", - "theme_edit_modal__aside_color": "Sidebar button color", - "theme_edit_modal__badge": "Label color", - "theme_edit_modal__badge_primary": "Main color", - "theme_edit_modal__badge_secondary": "Secondary Color", - "theme_edit_modal__badge_tertiary": "Third color", - "theme_edit_modal__bg_image": "Background picture", + "theme_edit_modal__app_bg": "App Background Color", + "theme_edit_modal__aside_color": "Sidebar Button Color", + "theme_edit_modal__badge": "Label Color", + "theme_edit_modal__badge_primary": "Main Color", + "theme_edit_modal__badge_secondary": "2nd Color", + "theme_edit_modal__badge_tertiary": "3rd Color", + "theme_edit_modal__bg_image": "Background Image", "theme_edit_modal__bg_image_add": "Add background image", "theme_edit_modal__bg_image_change": "Change background image", - "theme_edit_modal__bg_image_remove": "remove background image", + "theme_edit_modal__bg_image_remove": "Remove background image", "theme_edit_modal__close_btn": "Close", - "theme_edit_modal__control_btn": "Left control button color", - "theme_edit_modal__copy": "Copy theme", - "theme_edit_modal__dark": "Dark theme", - "theme_edit_modal__dark_font": "Dark font", - "theme_edit_modal__font": "Font color", - "theme_edit_modal__hide_btn": "Hide play details page", - "theme_edit_modal__main_bg": "Content area background color", + "theme_edit_modal__control_btn": "Left Control Button Color", + "theme_edit_modal__copy": "Copy Theme", + "theme_edit_modal__dark": "Dark Theme", + "theme_edit_modal__dark_font": "Dark Font", + "theme_edit_modal__font": "Font Color", + "theme_edit_modal__hide_btn": "Hide play detail page", + "theme_edit_modal__main_bg": "Content Area Background Color", "theme_edit_modal__min_btn": "Minimize", "theme_edit_modal__pick_cancel": "Reset", "theme_edit_modal__pick_color": "Choose color", "theme_edit_modal__pick_last_color": "Use previous color", "theme_edit_modal__pick_save": "Confirm", - "theme_edit_modal__preview": "Preview theme", - "theme_edit_modal__primary": "Theme color", - "theme_edit_modal__remove": "Delete", - "theme_edit_modal__remove_tip": "Do you really want to remove this thread?", - "theme_edit_modal__save_new": "Save new", + "theme_edit_modal__preview": "Preview Theme", + "theme_edit_modal__primary": "Theme Color", + "theme_edit_modal__remove": "Remove", + "theme_edit_modal__remove_tip": "Do you really want to remove this theme?", + "theme_edit_modal__save_new": "Save New", "theme_edit_modal__select_bg_file": "Choose a background image", - "theme_edit_modal__title": "Edit topic", + "theme_edit_modal__title": "Edit Theme", "theme_green": "Green", "theme_grey": "Grey", "theme_happy_new_year": "New Year", - "theme_max_tip": "You can only add up to 10 themes, delete some and add more 😜", + "theme_max_tip": "You can only add up to 10 themes. Remove some and add more 😜", "theme_mid_autumn": "Mid-Autumn", "theme_ming": "Ming", "theme_more_btn_show": "More theme", @@ -692,38 +692,38 @@ "theme_pink": "Pink", "theme_purple": "Purple", "theme_red": "Red", - "theme_selector_modal__dark_title": "dark theme", - "theme_selector_modal__light_title": "Bright theme", - "theme_selector_modal__theme_name": "Topic name", - "theme_selector_modal__title": "Follow system theme settings", - "theme_selector_modal__title_tip": "Note: You can set a light theme and a dark theme in advance, and then it will automatically switch to the corresponding theme you set in advance according to the light and dark theme colors of the system.", - "toggle_source_failed": "Failed to change the source, please try to manually search for the song in other sources to play", + "theme_selector_modal__dark_title": "Dark Theme", + "theme_selector_modal__light_title": "Light Theme", + "theme_selector_modal__theme_name": "Theme name", + "theme_selector_modal__title": "Follow System Theme Options", + "theme_selector_modal__title_tip": "NOTE: You can set a light theme and a dark theme in advance, and then it will automatically switch to the corresponding theme you set in advance according to the light and dark theme colors of the system.", + "toggle_source_failed": "Failed to change the source. Please try to manually search for the song in other sources to play", "toggle_source_try": "Try switching to another source...", - "update__downgrade_tip": "We found that you have downgraded the version ({ver}). If you encounter problems when using the new version, please try to read the FAQ first. If the problem you encounter is not recorded in the FAQ or cannot be solved, you can refer to \nGo to the feedback channel to give us feedback 😘!\nNote: When downgrading from the new version to the old version, it is recommended to back up the playlist first. If there is an exception, it can be solved by cleaning the data. The data directory path document has records.", - "update__error_top": "The automatic download of the new version failed, you can try to download the update again or manually download the update,\nThe address of the new version is written under the update pop-up window. Download the new version and overwrite the installation directly. If the installation fails, see FAQs.\nNote: Currently only the Windows installation version can be automatically updated (Linux AppImage, deb version seems to be also available, not tested), other versions please download and update manually!", + "update__downgrade_tip": "We found that you have downgraded the version ({ver}). If you encounter problems when using the new version, please read the FAQ first. If the problem you encounter is not documented in the FAQ or cannot be resolved, you can give us feedback through the feedback channels mentioned in the document😘!\n\nNOTE: When downgrading from the new version to the old version, it is recommended to backup the playlist first. If there is an exception, it can be resolved by cleaning the data. The data directory path can be found in the document.", + "update__error_top": "Failed to download the new version. You can try downloading it again or going to GitHub to download it.\n\nThe address of the new version is included in the update pop-up window. Download the new version and install it directly. If the installation fails, please see the FAQ.\n\nNOTE: Currently only Windows Setup variants can be updated automatically. AppImage and deb variants for Linux seem to work but have not been tested. Users installing with other variants should download and update manually.", "update__ignore_cancel": "I don't want to update 🤨", "update__ignore_confirm": "Ok, let's update it ❤️", - "update__ignore_confirm_tip": "At present, only the Windows installation version can be automatically updated (Linux AppImage, deb version seems to be also available, not tested), other versions please download and update manually,\nThe address of the new version is written under the update pop-up window. Download the new version and overwrite the installation directly. If the installation fails, see FAQ.", - "update__ignore_confirm_tip_confirm": "OK understood", - "update__ignore_tip": "The version you are using now is behind the latest version by {num} versions🤪, for a better user experience, it is recommended to update to the latest version~!\nNote: If you encounter problems when using the new version, please try to read the FAQ first. If the problem you encounter is not recorded in the FAQ or cannot be solved, you can give us feedback through the feedback channels mentioned in the document 😘!", - "update__timeout_top": "Download time is too long prompt\n\nYour current network access to GitHub is slow, and the new version has been downloaded for an hour and has not been completed yet😳, you can still choose to continue waiting, but the wall crack recommends manually updating the version!", + "update__ignore_confirm_tip": "Currently only Windows Setup variants can be updated automatically. AppImage and deb variants for Linux seem to work but have not been tested. Users installing with other variants should download and update manually.\n\nThe address of the new version is included in the update pop-up window. Download the new version and install it directly. If the installation fails, please see the FAQ.", + "update__ignore_confirm_tip_confirm": "OK, I understood", + "update__ignore_tip": "The version you are using now is behind the latest version by {num} versions🤪. For a better user experience, it is recommended to update to the latest version~!\nNOTE: If you encounter problems when using the new version, please read the FAQ first. If the problem you encounter is not documented in the FAQ or cannot be resolved, you can give us feedback through the feedback channels mentioned in the document😘!", + "update__timeout_top": "Download time is too long prompt\n\nYour current network access to GitHub is slow, and the new version has been downloaded for an hour and has not been completed yet😳. You can still choose to continue waiting, but it is highly recommended to manually update the version!", "user_api__allow_show_update_alert": "Allow update popup to show", "user_api__btn_export": "Export", - "user_api__btn_import": "Local import", - "user_api__btn_import_online": "Online import", + "user_api__btn_import": "Import from Local File", + "user_api__btn_import_online": "Import from Network", "user_api__btn_remove": "Remove", - "user_api__import_file": "Select music API script file", - "user_api__init_failed_alert": "Custom source [{name}] failed to initialize: ", - "user_api__max_tip": "There can only be a maximum of 20 sources at the same time🤪\nIf you want to continue importing, please remove some old sources to make room", + "user_api__import_file": "Choose music API script file", + "user_api__init_failed_alert": "Failed to initialize music API [{name}]: ", + "user_api__max_tip": "There can only be a maximum of 20 APIs at the same time🤪.\nIf you want to continue importing, please remove some unnecessary APIs to make room", "user_api__noitem": "There is nothing here...😲", - "user_api__note": "Tip: Although we have isolated the script's running environment as much as possible, importing scripts containing malicious behaviors may still affect your system. Please import them carefully.", - "user_api__readme": "Source writing instructions: ", - "user_api__title": "Custom Source Management", - "user_api__update_alert": "Custom source [{name}] found new version: ", + "user_api__note": "TIP: Although we have isolated the script's running environment as much as possible, importing scripts containing malicious behaviors may still affect your system. Please import them carefully.", + "user_api__readme": "API writing instructions: ", + "user_api__title": "Music API Management", + "user_api__update_alert": "Music API [{name}] found new version: ", "user_api__update_alert_open_url": "Open update address", - "user_api_import__failed": "Custom source import failed:\n{message}", + "user_api_import__failed": "Failed to import music API:\n\n{message}", "user_api_import_online__input_confirm": "Import", "user_api_import_online__input_loading": "Importing...", - "user_api_import_online__input_tip": "Please enter HTTP link", - "user_api_import_online__title": "Import custom sources online" + "user_api_import_online__input_tip": "Please enter an HTTP link", + "user_api_import_online__title": "Import music API from network." } diff --git a/src/main/modules/tray.ts b/src/main/modules/tray.ts index 8b22bc9c..103b1659 100644 --- a/src/main/modules/tray.ts +++ b/src/main/modules/tray.ts @@ -54,24 +54,24 @@ const themeList = [ const messages = { 'en-us': { - collect: 'Collection', - uncollect: 'Cancel collection', + collect: 'Love', + uncollect: 'Unlove', play: 'Play', pause: 'Pause', - next: 'Next song', - prev: 'Previous song', + next: 'Next Song', + prev: 'Prev Song', hide_win_main: 'Hide Main Window', show_win_main: 'Show Main Window', - hide_win_lyric: 'Close desktop lyrics', - show_win_lyric: 'Open desktop lyrics', - lock_win_lyric: 'Lock desktop lyrics', - unlock_win_lyric: 'Unlock desktop lyrics', - top_win_lyric: 'Set top lyrics', - untop_win_lyric: 'Cancel top lyrics', - show_statusbar_lyric: 'Show statusbar lyric', - hide_statusbar_lyric: 'Hide statusbar lyric', + hide_win_lyric: 'Hide Lyric Window', + show_win_lyric: 'Show Lyric Window', + lock_win_lyric: 'Lock Lyric Window', + unlock_win_lyric: 'Unlock Lyric Window', + top_win_lyric: 'On-top Lyric Window', + untop_win_lyric: 'Un-top Lyric Window', + show_statusbar_lyric: 'Show Lyrics on Statusbar', + hide_statusbar_lyric: 'Hide Lyrics on Statusbar', exit: 'Exit', - music_name: 'Name: ', + music_name: 'Title: ', music_singer: 'Artist: ', }, 'zh-cn': { diff --git a/src/renderer/utils/compositions/useToggleDesktopLyric.js b/src/renderer/utils/compositions/useToggleDesktopLyric.js index a4caa9fb..23656000 100644 --- a/src/renderer/utils/compositions/useToggleDesktopLyric.js +++ b/src/renderer/utils/compositions/useToggleDesktopLyric.js @@ -12,11 +12,11 @@ export default () => { appSetting['desktopLyric.enable'] ? t('player__desktop_lyric_off') : t('player__desktop_lyric_on') - }(${ + }\n(${ appSetting['desktopLyric.isLock'] ? t('player__desktop_lyric_unlock') : t('player__desktop_lyric_lock') - })` + })` }) const toggleDesktopLyric = () => {