diff --git a/src/components/common/Menu.tsx b/src/components/common/Menu.tsx index c92857639..682c7d691 100644 --- a/src/components/common/Menu.tsx +++ b/src/components/common/Menu.tsx @@ -10,7 +10,7 @@ import Text from './Text' import { scaleSizeH, scaleSizeW } from '@/utils/pixelRatio' const menuItemHeight = scaleSizeH(40) -const menuItemWidth = scaleSizeW(100) +const menuItemWidth = scaleSizeW(130) export interface Position { w: number, h: number, x: number, y: number, menuWidth?: number, menuHeight?: number } export interface MenuSize { width?: number, height?: number } diff --git a/src/lang/en_us.json b/src/lang/en_us.json index e715ceaf3..e7d498b7e 100644 --- a/src/lang/en_us.json +++ b/src/lang/en_us.json @@ -1,34 +1,34 @@ { - "add_to": "Add to...", - "agree": "Agree", - "agree_go": "To turn on", - "agree_to": "Go to settings", + "add_to": "Add to ...", + "agree": "Sure", + "agree_go": "Turn it on", + "agree_to": "Go set it", "back": "Back", - "back_home": "Back", + "back_home": "Back to Desktop", "cancel": "Cancel", - "cancel_button_text_2": "No, no, no, wrong click", - "change_position": "Change Position", - "change_position_list_title": "Change the position of the list", + "cancel_button_text_2": "No, no, wrong click", + "change_position": "Adjust Position", + "change_position_list_title": "Adjust the position of the list", "change_position_music_multi_title": "Adjust the position of the selected {num} song to", - "change_position_music_title": "Adjust the position of {name} to", + "change_position_music_title": "Adjust the position of \"{name}\" to", "change_position_tip": "Please enter a new position", "close": "Close", "collect": "Collect", - "collect_songlist": "Collection Songlist", - "collect_success": "Collection success", - "collect_toplist": "Collection Toplist", - "comment_hide_text": "Close comments", - "comment_not support": "This song does not support getting comments", - "comment_refresh": "This is already {name}'s comment", - "comment_show_image": "display image", - "comment_show_text": "Expand comment", - "comment_tab_hot": "Hot {total}", - "comment_tab_new": "New {total}", - "comment_title": "{name}-{singer}'s comment", + "collect_songlist": "Collect", + "collect_success": "Successfully collect", + "collect_toplist": "Collect Top playlist", + "comment_hide_text": "Fold", + "comment_not support": "Unable to get comments for this song.", + "comment_refresh": "This is already the comment for \"{name}\"", + "comment_show_image": "Show Picture", + "comment_show_text": "Expand", + "comment_tab_hot": "Top {total}", + "comment_tab_new": "Latest {total}", + "comment_title": "Comments for \"{name}\"", "confirm": "Confirm", "confirm_button_text": "Yes", "confirm_tip": "Just to double check, do you really want to do this?", - "copy_name": "Share song", + "copy_name": "Share Song", "copy_name_tip": "Copied", "create_new_folder": "Create new folder", "create_new_folder_error_tip": "The name entered is invalid", @@ -40,30 +40,30 @@ "delete": "Delete", "dialog_cancel": "No", "dialog_confirm": "OK", - "disagree": "Disagree", + "disagree": "Deny", "disagree_tip": "Cancelled...", "dislike": "Dislike", - "duplicate_list_tip": "You have previously favorited the list [{name}], do you want to update the songs?", - "edit_metadata": "Edit tag", - "exit_app_tip": "Are you sure you want to quit the app?", + "duplicate_list_tip": "You have collected this list \"{name}\", do you need to update the songs in it?", + "edit_metadata": "Edit Metadata", + "exit_app_tip": "Are you sure you want to exit the app?", "ignoring_battery_optimization_check_tip": "LX Music is not on the list of ignored battery optimization, which may cause the problem of being suspended by the system when playing music in the background. Do you want to add LX Music to the whitelist?", - "ignoring_battery_optimization_check_title": "Background running permission setting reminder", + "ignoring_battery_optimization_check_title": "Background Running Permission Setting Reminder", "input_error": "Don't input indiscriminately ๐Ÿ˜ก", - "list_add_btn_title": "Add the song(s) to {name}", + "list_add_btn_title": "Add the song(s) to \"{name}\"", "list_add_tip_exists": "This song already exists in the list, don't click me again~๐Ÿ˜ก", "list_add_title_first_add": "Add", "list_add_title_first_move": "Move", "list_add_title_last": "to...", - "list_create": "Create a new list", + "list_create": "Create List", "list_create_input_placeholder": "What name do you think of...", "list_duplicate_tip": "A list with the same name already exists. Do you want to continue creating it?", - "list_edit_action_tip_add_failed": "add failed", - "list_edit_action_tip_add_success": "Added successfully", + "list_edit_action_tip_add_failed": "Failed to add", + "list_edit_action_tip_add_success": "Successfully added", "list_edit_action_tip_exist": "This song already exists in this list", - "list_edit_action_tip_move_failed": "failed to move", - "list_edit_action_tip_move_success": "Moved successfully", - "list_edit_action_tip_remove_success": "Removed successfully", - "list_end": "In The End", + "list_edit_action_tip_move_failed": "Failed to move", + "list_edit_action_tip_move_success": "Successfully moved", + "list_edit_action_tip_remove_success": "Successfully removed", + "list_end": "In the end~", "list_error": "Loading failed๐Ÿ˜ฅ, click to try to reload", "list_export": "Export", "list_export_part_desc": "Choose where to save the list file", @@ -71,98 +71,99 @@ "list_import_part_button_cancel": "No", "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 overwrite the local list?", - "list_import_part_desc": "Select list file", - "list_import_tip__alldata": "This is a backup file of all data, you need to go here to import:\nSettings -> Backup & Restore -> List Data -> Import List", - "list_import_tip__failed": "Import failed", - "list_import_tip__playlist": "This is a list backup file, you need to go here to import:\nSettings -> Backup & Restore -> List Data -> Import List", - "list_import_tip__playlist_part": "This is a single list file, you need to go here to import:\nMy Lists -> Click the menu button to the right of any list name -> Select Import from the pop-up menu", - "list_import_tip__setting": "This is a settings backup file, the mobile terminal does not support importing such files", - "list_import_tip__unknown": "Unknown file type, please try upgrading to the latest version and try again", + "list_import_part_desc": "Choose list file", + "list_import_tip__alldata": "This is an \"All Data\" backup file. You need to go here to import:\n\n\"Settings -> Backup & Restore -> List Data -> Import lists\"", + "list_import_tip__failed": "Failed to import", + "list_import_tip__playlist": "This is a \"List\" backup file. You need to go here to import:\n\n\"Settings -> Backup & Restore -> List Data -> Import lists\"", + "list_import_tip__playlist_part": "This is a \"List-only\" backup file. You need to go here to import:\n\n\"Your Library -> Click the button to the right of any list name -> Click \"Import\" in the menu\"", + "list_import_tip__setting": "This is a \"Settings\" backup file. the mobile terminal does not support importing such files", + "list_import_tip__unknown": "Unknown file type. Please try to upgrade the app to the latest version and try again.", "list_loading": "Loading...", - "list_multi_add_title_first_add": "Add selected", - "list_multi_add_title_first_move": "Move the selected one", - "list_multi_add_title_last": "First song to...", + "list_multi_add_title_first_add": "Add the selected", + "list_multi_add_title_first_move": "Move the selected", + "list_multi_add_title_last": "songs to ...", "list_remove": "Remove", "list_remove_music_multi_tip": "Do you really want to remove the selected {num} songs?", - "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_rename_title": "Rename List", "list_select_all": "Select All", "list_select_cancel": "Cancel", - "list_select_local_file": "add local songs", - "list_select_local_file_desc": "Select local song folder", + "list_select_local_file": "Add Local Songs", + "list_select_local_file_desc": "Choose local song directory", "list_select_local_file_empty_tip": "No songs found in current directory", - "list_select_local_file_result_failed_tip": "A total of {total} songs were found, {success} were added successfully, and {failed} were added. You can go to the error log to view the songs that failed to be added.", - "list_select_local_file_result_tip": "{Total} songs found, all added!", - "list_select_local_file_temp_add_tip": "A total of {total} files that meet the requirements have been found and have been quickly added to the current list. Now we will enter the file tag reading process. Please do not exit the application!", - "list_select_range": "range", - "list_select_single": "Single Select", - "list_select_unall": "Reverse Selection", - "list_sort": "Sort songs", - "list_sort_modal_by_album": "Album name", - "list_sort_modal_by_down": "Descending order", - "list_sort_modal_by_field": "Sort field", - "list_sort_modal_by_name": "Song name", - "list_sort_modal_by_random": "Randomly shuffle", - "list_sort_modal_by_singer": "Singer name", + "list_select_local_file_result_failed_tip": "Found {total} song(s), successfully added {success} song(s), failed to add {failed} song(s). View the error log for details.", + + "list_select_local_file_result_tip": "Found {Total} song(s), all added!", + "list_select_local_file_temp_add_tip": "Found {total} matching files, quickly added to the current list, will now start the file metadata reading process. Please do not exit the app!", + "list_select_range": "Range", + "list_select_single": "Single", + "list_select_unall": "Select none", + "list_sort": "Sort Songs", + "list_sort_modal_by_album": "Album", + "list_sort_modal_by_down": "Descending", + "list_sort_modal_by_field": "Sort Field", + "list_sort_modal_by_name": "Title", + "list_sort_modal_by_random": "Randomization", + "list_sort_modal_by_singer": "Artist", "list_sort_modal_by_source": "Song source", - "list_sort_modal_by_time": "Duration", - "list_sort_modal_by_type": "Sort category", - "list_sort_modal_by_up": "Ascending order", + "list_sort_modal_by_time": "Length", + "list_sort_modal_by_type": "Sort Category", + "list_sort_modal_by_up": "Ascending", "list_sync": "Update", "list_sync_confirm_tip": "This will replace the songs in {name} with the songs in the online list, are you sure you want to update?", - "list_temp": "Temp list", - "list_update_error": "{name} failed to update", - "list_update_success": "{name} updated successfully", - "list_updating": "updating", - "lists__duplicate": "repeat song", + "list_temp": "Temp List", + "list_update_error": "Failed to update {name}", + "list_update_success": "Successfully updated {name}", + "list_updating": "Updating", + "lists__duplicate": "Duplicate Songs", "lists_dislike_music_add_tip": "Added", - "lists_dislike_music_singer_tip": "Do you really not like {singer}'s {name}?", - "lists_dislike_music_tip": "Do you really dislike {name}?", - "load_failed": "Ah, loading failed ๐Ÿ˜ฅ", + "lists_dislike_music_singer_tip": "Do you really dislike {singer}'s \"{name}\"?", + "lists_dislike_music_tip": "Do you really dislike \"{name}\"?", + "load_failed": "Ah, the loading failed ๐Ÿ˜ฅ", "loading": "Loading...", "location": "From {location}", "lyric__load_error": "Failed to get lyrics", "metadata_edit_modal_confirm": "Save", - "metadata_edit_modal_failed": "Saving failed, please view the error log for details.", - "metadata_edit_modal_file_name": "File name", - "metadata_edit_modal_file_path": "File path", - "metadata_edit_modal_form_album_name": "Album name", - "metadata_edit_modal_form_lyric": "LRC Lyrics", - "metadata_edit_modal_form_match_lyric": "Online matching", - "metadata_edit_modal_form_match_lyric_failed": "Online lyrics matching failed", - "metadata_edit_modal_form_match_lyric_success": "Lyrics matched successfully๐ŸŽ‰", - "metadata_edit_modal_form_match_pic": "Online matching", + "metadata_edit_modal_failed": "Failed to save. Please view the error log for details.", + "metadata_edit_modal_file_name": "File Name", + "metadata_edit_modal_file_path": "File Path", + "metadata_edit_modal_form_album_name": "Album", + "metadata_edit_modal_form_lyric": "LRC Lyric", + "metadata_edit_modal_form_match_lyric": "Matching online", + "metadata_edit_modal_form_match_lyric_failed": "Failed to match lyrics online", + "metadata_edit_modal_form_match_lyric_success": "Successfully matched lyric๐ŸŽ‰", + "metadata_edit_modal_form_match_pic": "Matching online", "metadata_edit_modal_form_match_pic_failed": "Failed to match cover online", - "metadata_edit_modal_form_match_pic_success": "Cover match successful๐ŸŽ‰", - "metadata_edit_modal_form_name": "Song name", - "metadata_edit_modal_form_parse_name": "Parse song name and artist from file name", - "metadata_edit_modal_form_parse_name_singer": "Name - Artist", - "metadata_edit_modal_form_parse_singer_name": "Artist - Name", - "metadata_edit_modal_form_pic": "Song cover", + "metadata_edit_modal_form_match_pic_success": "Successfully matched cover๐ŸŽ‰", + "metadata_edit_modal_form_name": "Title", + "metadata_edit_modal_form_parse_name": "Parse song title and artist from file name", + "metadata_edit_modal_form_parse_name_singer": "Title - Artist", + "metadata_edit_modal_form_parse_singer_name": "Artist - Title", + "metadata_edit_modal_form_pic": "Album Cover", "metadata_edit_modal_form_remove_lyric": "Clear", "metadata_edit_modal_form_remove_pic": "Remove image", - "metadata_edit_modal_form_select_pic": "Select Image", - "metadata_edit_modal_form_select_pic_title": "Select song cover image", + "metadata_edit_modal_form_select_pic": "Choose image", + "metadata_edit_modal_form_select_pic_title": "Choose album cover image", "metadata_edit_modal_form_singer": "Artist", "metadata_edit_modal_processing": "Writing...", - "metadata_edit_modal_success": "Saved successfully", - "metadata_edit_modal_tip": "Song name cannot be empty", - "metadata_edit_modal_title": "Edit song tags", + "metadata_edit_modal_success": "Successfully saved", + "metadata_edit_modal_tip": "Song title cannot be empty", + "metadata_edit_modal_title": "Edit Song Metadata", "move_to": "Move to...", - "music_source_detail": "Song page", - "name": "Name: {name}", - "nav_exit": "Exit application", - "nav_love": "Collection", + "music_source_detail": "Song Page", + "name": "Title: {name}", + "nav_exit": "Exit App", + "nav_love": "Your Library", "nav_search": "Search", - "nav_setting": "Setting", - "nav_songlist": "Song list", - "nav_top": "Leaderboard", + "nav_setting": "Settings", + "nav_songlist": "Playlists", + "nav_top": "Charts", "never_show": "Never show again", "no_item": "The list is empty...", "notifications_check_tip": "You have not allowed LX Music to display notifications, or the Music Service in the LX Music notification settings has been disabled, which will prevent you from using the notification bar to pause, switch songs, etc. Do you want to enable it?", - "notifications_check_title": "Notification permission reminder", + "notifications_check_title": "Notification Permission Reminder", "ok": "OK", "open_storage_error_tip": "The entered path is illegal", "open_storage_not_found_title": "External memory card not found, please manually enter the path below to specify the external memory", @@ -179,184 +180,184 @@ "play_detail_setting_lrc_align_center": "Center", "play_detail_setting_lrc_align_left": "Left", "play_detail_setting_lrc_align_right": "Right", - "play_detail_setting_lrc_font_size": "Lyric font size", - "play_detail_setting_playback_rate": "Playback rate", - "play_detail_setting_playback_rate_reset": "reset", - "play_detail_setting_show_lyric_progress_setting": "Allows to adjust playback progress by lyrics", - "play_detail_setting_title": "Player settings", + "play_detail_setting_lrc_font_size": "Lyric Font Size", + "play_detail_setting_playback_rate": "Playback Rate", + "play_detail_setting_playback_rate_reset": "Reset", + "play_detail_setting_show_lyric_progress_setting": "Allow to adjust playback progress by drag-and-drop lyrics", + "play_detail_setting_title": "Player Options", "play_detail_setting_volume": "Volume", - "play_detail_todo_tip": "What do you want? No, this function has not been implemented yet ๐Ÿ˜›, But you can try to locate the currently playing song by long pressing (only valid for playing songs in \"My List\")", - "play_later": "Play later", - "play_list_loop": "List loop playback", - "play_list_order": "Play in order", - "play_list_random": "Shuffle Playback", - "play_next": "Next song", - "play_prev": "Previous song", - "play_single": "Disable song switching", - "play_single_loop": "Single loop playback", - "player__buffering": "buffering...", - "player__end": "finished playing", - "player__error": "Audio loading error, switch to next track after 5 seconds", - "player__getting_url": "Acquiring the song link...", - "player__getting_url_delay_retry": "The server is busy, try again in {time} seconds...", + "play_detail_todo_tip": "What do you want? No, this function has not been implemented yet ๐Ÿ˜›, But you can try to locate the currently playing song by long pressing (Only valid for playing songs in \"Your Library\")", + "play_later": "Play Later", + "play_list_loop": "Repeat Playlist", + "play_list_order": "In order", + "play_list_random": "Shuffle", + "play_next": "Next Song", + "play_prev": "Prev Song", + "play_single": "Disable", + "play_single_loop": "Repeat", + "player__buffering": "Buffering...", + "player__end": "Finished", + "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__loading": "Music loading...", - "player__refresh_url": "The URL has expired, refreshing the URL...", + "player__refresh_url": "Music URL expired, refreshing...", "player_cache_migrating": "Song cache is being migrated, please wait โŒ›๏ธ", "quality_high_quality": "HQ", "quality_lossless": "SQ", - "quality_lossless_24bit": "Hires", + "quality_lossless_24bit": "24bit", "search__welcome": "Search what I want~~๐Ÿ˜‰", - "search_history_search": "History search", - "search_hot_search": "popular searches", - "search_type_music": "Music", - "search_type_songlist": "Song list", - "setting__other_dislike_list": "Dislike song rule", + "search_history_search": "Search History", + "search_hot_search": "Top Searches", + "search_type_music": "Song", + "search_type_songlist": "Playlist", + "setting__other_dislike_list": "Dislike Song Rule", "setting__other_dislike_list_label": "Number of rules: {num}", "setting__other_dislike_list_saved_tip": "Saved", - "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_meta_cache": "Other cache management", - "setting__other_music_url_clear_btn": "Clear song URL cache", + "setting__other_meta_cache": "Other Cache Management", + "setting__other_music_url_clear_btn": "Clear Song URL Cache", "setting__other_music_url_label": "Number of song URLs:", - "setting__other_other_source_clear_btn": "Clear the source song cache", - "setting__other_other_source_label": "Change source song information quantity:", + "setting__other_other_source_clear_btn": "Clear source song cache", + "setting__other_other_source_label": "Number of songs information that changed source: ", "setting__other_resource_cache": "Resource Cache Management", "setting_about": "About LX Music", - "setting_backup": "Backup and Recovery", - "setting_backup_all": "All data (list data and setting data)", + "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": "Save the backup to...", "setting_backup_all_import": "Import", - "setting_backup_all_import_desc": "Select a backup file", - "setting_backup_part": "List data (common with PC-side list backup files)", - "setting_backup_part_export_list": "Export list", - "setting_backup_part_export_list_desc": "Select the save location of the playlist backup file", - "setting_backup_part_export_list_tip_failed": "Playlist export failed", - "setting_backup_part_export_list_tip_success": "Export successful", + "setting_backup_all_import_desc": "Choose a backup file", + "setting_backup_part": "List Data (Compatible with the desktop edition of list backup files)", + "setting_backup_part_export_list": "Export lists", + "setting_backup_part_export_list_desc": "Save the lists to ...", + "setting_backup_part_export_list_tip_failed": "Failed to export playlists", + "setting_backup_part_export_list_tip_success": "Successfully exported", "setting_backup_part_export_list_tip_zip": "๐Ÿ“ฆThe file is being packaged...\nIf the file is too large, it may take some timeโณ", "setting_backup_part_export_setting": "Export settings", - "setting_backup_part_export_setting_desc": "Save the list to...", - "setting_backup_part_import_list": "Import List", - "setting_backup_part_import_list_desc": "Select the list of backup files", - "setting_backup_part_import_list_tip_error": "List import failed ๐Ÿ˜•", + "setting_backup_part_export_setting_desc": "Save the settings to ...", + "setting_backup_part_import_list": "Import lists", + "setting_backup_part_import_list_desc": "Choose a list backup file", + "setting_backup_part_import_list_tip_error": "Failed to import list ๐Ÿ˜•", "setting_backup_part_import_list_tip_running": "๐Ÿš€I am trying to import...\nIf the list is too big, it may take some timeโณ", - "setting_backup_part_import_list_tip_success": "Import successful ๐ŸŽ‰", + "setting_backup_part_import_list_tip_success": "Successfully imported ๐ŸŽ‰", "setting_backup_part_import_list_tip_unzip": "๐Ÿ“ฆFile parsing...\nIf the file is too large, it may take some timeโณ", "setting_backup_part_import_setting": "Import settings", - "setting_backup_part_import_setting_desc": "Select the Settings file", + "setting_backup_part_import_setting_desc": "Choose a setting backup file", "setting_basic": "General", "setting_basic_always_keep_statusbar_height": "Always preserve status bar height", - "setting_basic_always_keep_statusbar_height_tip": "By default, the program will dynamically determine whether space needs to be reserved for the system status bar, but if there is a situation where software interactive content overlaps with the status bar content on your device, you can enable this setting to always reserve space for the system status bar. \n.", + "setting_basic_always_keep_statusbar_height_tip": "By default, the app will dynamically determine whether space needs to be reserved for the system status bar, but if there is a situation where software interactive content overlaps with the status bar content on your device, you can enable this setting to always reserve space for the system status bar.", "setting_basic_animation": "Random pop-up animation", - "setting_basic_auto_hide_play_bar": "Auto hide playbar when keyboard pops up", - "setting_basic_drawer_layout_position": "Navigation, favorite list pop-up direction", - "setting_basic_drawer_layout_position_left": "Left side", - "setting_basic_drawer_layout_position_right": "Right side", - "setting_basic_font_size": "Font size setting [effective after restart]", - "setting_basic_font_size_100": "standard", + "setting_basic_auto_hide_play_bar": "Hide playbar when keyboard pops up", + "setting_basic_drawer_layout_position": "Direction of Navigation & List Popup", + "setting_basic_drawer_layout_position_left": "Left Side", + "setting_basic_drawer_layout_position_right": "Right Side", + "setting_basic_font_size": "Font Size (Effective After Restart)", + "setting_basic_font_size_100": "Standard", "setting_basic_font_size_110": "Big", - "setting_basic_font_size_120": "bigger", - "setting_basic_font_size_130": "Very big", - "setting_basic_font_size_80": "smaller", + "setting_basic_font_size_120": "Larger", + "setting_basic_font_size_130": "Oversize", + "setting_basic_font_size_80": "Smaller", "setting_basic_font_size_90": "Small", "setting_basic_font_size_preview": "LX Music Font Size Preview", "setting_basic_home_page_scroll": "Enable horizontal scrolling on the vertical home page", "setting_basic_lang": "Language", "setting_basic_share_type": "Share", - "setting_basic_share_type_clipboard": "copy to clipboard", - "setting_basic_share_type_system": "Share using the system", + "setting_basic_share_type_clipboard": "Copy to clipboard", + "setting_basic_share_type_system": "Use system share", "setting_basic_show_animation": "Show switching animation", - "setting_basic_show_back_btn": "Show back to desktop button", - "setting_basic_show_exit_btn": "Show exit app button", - "setting_basic_source": "Music source", - "setting_basic_source_direct": "Direct API", - "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_title": "Choose a music source", - "setting_basic_source_user_api_btn": "Custom source management", - "setting_basic_sourcename": "Source name", - "setting_basic_sourcename_alias": "Aliases", + "setting_basic_show_back_btn": "Show \"Back to Desktop\" button", + "setting_basic_show_exit_btn": "Show \"Exit App\" button", + "setting_basic_source": "Music API", + "setting_basic_source_direct": "Trial 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_title": "Choose a music API", + "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_startup_auto_play": "Play music automatically after startup", - "setting_basic_startup_push_play_detail_screen": "Open the playback details interface after startup", + "setting_basic_startup_auto_play": "Automatically play music on startup", + "setting_basic_startup_push_play_detail_screen": "Open the play detail page on startup", "setting_basic_theme": "Theme", "setting_basic_theme_auto_theme": "Follow the system light and dark mode to switch themes", "setting_basic_theme_dynamic_bg": "Use dynamic backgrounds", "setting_basic_theme_font_shadow": "Enable font shadow", - "setting_basic_theme_hide_bg_dark": "Hide black theme", - "setting_basic_theme_more_btn_show": "Expand themes", + "setting_basic_theme_hide_bg_dark": "Hide the background of the black theme", + "setting_basic_theme_more_btn_show": "More themes", "setting_basic_use_system_file_selector": "Use the system file selector", "setting_basic_use_system_file_selector_tip": "After enabling this option, operations such as importing backup files, custom sources, etc. will not require application for storage permissions, but it may not be available on some systems.\nIf you cannot import files after enabling this setting, you can turn off this setting and fall back to the software's built-in file selector.", "setting_dislike_list_input_tip": "song name@artist name\nSong name\n@ singer name", "setting_dislike_list_tips": "1. If there is a \"@\" symbol in the song or singer's name, you need to replace it with \"#\"\n2. Specify a song of a singer: Name@Singer\n3. Specify a song: Name\n4. Specify a certain singer: @Singer", - "setting_list": "List settings", + "setting_list": "List", "setting_list_add_music_location_type": "Position when the song was added to the list", "setting_list_add_music_location_type_bottom": "Bottom", "setting_list_add_music_location_type_top": "Top", - "setting_list_click_action": "When you click a song in the list, it will automatically switch to the current list for playback (only valid for playlists and leaderboards)", - "setting_list_show interval": "Show song duration", + "setting_list_click_action": "Automatically switch to current list when clicking a song in the list (Only valid for \"Playlists\" and \"Charts\" page)", + "setting_list_show interval": "Show song length", "setting_list_show_album_name": "Show song album name", "setting_lyric_desktop_permission_tip": "The desktop lyrics function needs to be granted the permission of LX Music to display the floating window in the system permission setting before it can be used. Do you go to the relevant interface to grant this permission?", - "setting_lyric_desktop": "Desktop lyrics", - "setting_lyric_desktop_enable": "Show desktop lyrics", - "setting_lyric_desktop_lock": "Lock lyrics", - "setting_lyric_desktop_maxlineNum": "maximum number of lines", - "setting_lyric_desktop_single_line": "Use single line lyrics", - "setting_lyric_desktop_text_opacity": "Lyric font transparency", - "setting_lyric_desktop_text_size": "Lyric font size", - "setting_lyric_desktop_text_x": "Lyrics Horizontal Alignment", + "setting_lyric_desktop": "Desktop Lyric", + "setting_lyric_desktop_enable": "Show lyric window", + "setting_lyric_desktop_lock": "Lock lyric window", + "setting_lyric_desktop_maxlineNum": "Maximum Number of Lines", + "setting_lyric_desktop_single_line": "Do not wrap lyrics", + "setting_lyric_desktop_text_opacity": "Lyric Font Transparency", + "setting_lyric_desktop_text_size": "Lyric Font Size", + "setting_lyric_desktop_text_x": "Lyric Horizontal Alignment", "setting_lyric_desktop_text_x_center": "Center", "setting_lyric_desktop_text_x_left": "Left", "setting_lyric_desktop_text_x_right": "Right", - "setting_lyric_desktop_text_y": "Lyrics vertical alignment", + "setting_lyric_desktop_text_y": "Lyric Vertical Alignment", "setting_lyric_desktop_text_y_bottom": "Bottom", "setting_lyric_desktop_text_y_center": "Center", "setting_lyric_desktop_text_y_top": "Top", - "setting_lyric_desktop_theme": "Lyrics theme color", - "setting_lyric_desktop_toggle_anima": "Show lyrics switching animation", - "setting_lyric_desktop_view_width": "window percentage width", - "setting_other": "Other", - "setting_other_cache": "Cache management (including the cache of songs, lyrics, error logs, etc., it is not recommended to clean up if there is no problem related to song playback)", + "setting_lyric_desktop_theme": "Lyric Theme Color", + "setting_lyric_desktop_toggle_anima": "Show lyric switching animation", + "setting_lyric_desktop_view_width": "Percentage of Window Width", + "setting_other": "Extras", + "setting_other_cache": "Cache Management (including the cache of songs, lyrics, error logs, etc., it is not recommended to clean up if there is no problem related to song playback)", "setting_other_cache_clear_btn": "Clear Cache", "setting_other_cache_clear_success_tip": "Cache clearing completed", "setting_other_cache_getting": "Statistics cached...", "setting_other_cache_size": "Currently used cache size: ", - "setting_other_dislike_list_show_btn": "Edit dislike song rules", - "setting_other_log": "Error log (log when abnormal operation occurs)", + "setting_other_dislike_list_show_btn": "Edit Rules", + "setting_other_log": "Error log (When abnormal operation occurs)", "setting_other_log_btn_clean": "Clear", "setting_other_log_btn_hide": "Close", "setting_other_log_btn_show": "View log", - "setting_other_log_sync_log": "Record synchronization log", + "setting_other_log_sync_log": "Logging sync log", "setting_other_log_tip_clean_success": "Log cleaning completed", "setting_other_log_tip_null": "The log is empty~", - "setting_other_log_user_api_log": "Logging custom source logs", + "setting_other_log_user_api_log": "Logging music API log", "setting_play_audio_offload": "Enable audio offload", "setting_play_audio_offload_tip": "Enabling audio offloading can save power consumption, but on some devices, all songs may prompt \"Audio loading error\" or \"The whole song cannot be played completely\". This is caused by a bug in the current system.\nFor People who encounter this problem can turn off this option and restart the application completely to try again.", "setting_play_auto_clean_played_list": "Automatically clear the played list", "setting_play_auto_clean_played_list_tip": "In random play mode, when switching songs by clicking the same list as the playlist, if automatic clearing of the already played list is enabled, the played songs will re-participate in random play.", - "setting_play_cache_size": "Maximum cache size (MB)", + "setting_play_cache_size": "Maximum Cache Size (MB)", "setting_play_cache_size_no_cache": "Disabled cache", "setting_play_cache_size_save_tip": "The cache setting is completed, it will take effect after restarting the application", - "setting_play_handle_audio_focus": "When other apps play sound, automatically pause the playback", - "setting_play_handle_audio_focus_tip": "Take effect after restarting the application", - "setting_play_lyric_transition": "Show lyrics translation", - "setting_play_play_quality": "Prioritize playback sound quality (if supported)", - "setting_play_s2t": "Convert the played lyrics to Traditional Chinese", + "setting_play_handle_audio_focus": "Automatically pause the playback when other apps playing sound", + "setting_play_handle_audio_focus_tip": "Take effect after restarting the app", + "setting_play_lyric_transition": "Show translated lyrics", + "setting_play_play_quality": "Prioritize Sound Quality for Playback If Available", + "setting_play_s2t": "Convert Chinese lyrics that are playing to traditional", "setting_play_save_play_time": "Remember playback progress", - "setting_play_show_bluetooth_lyric": "Show bluetooth lyrics", - "setting_play_show_notification_image": "Show song picture in notification bar", - "setting_play_show_roma": "Show lyrics roman (if available)", - "setting_play_show_translation": "Show lyrics translation (if available)", + "setting_play_show_bluetooth_lyric": "Show lyrics from bluetooth", + "setting_play_show_notification_image": "Show album cover in notification bar", + "setting_play_show_roma": "Show romanized lyrics if available", + "setting_play_show_translation": "Show translated lyrics if available", "setting_player": "Play", "setting_player_save_play_time": "Remember playback progress", - "setting_search": "Search settings", - "setting_search_show_history_search": "show search history", - "setting_search_show_hot_search": "show popular searches", - "setting_sync": "Synchronize", + "setting_search": "Search", + "setting_search_show_history_search": "Enable Search History", + "setting_search_show_hot_search": "Enable Top Searches", + "setting_sync": "Sync", "setting_sync_address": "Local IP address: {address}", "setting_sync_code_blocked_ip": "The IP of the current device has been blocked by the server!", "setting_sync_code_fail": "Invalid connection code", @@ -372,24 +373,24 @@ "setting_sync_port_label": "Synchronization service port number", "setting_sync_port_tip": "Please enter the synchronization service port number", "setting_sync_status": "Status: {status}", - "setting_sync_status_enabled": "Connected", - "setting_theme": "theme settings", - "setting_version": "Software Update", - "setting_version_show_ver_modal": "Open the update window ๐Ÿš€", - "share_card_title_music": "Share {name} to...", - "share_title_music": "Song sharing", + "setting_sync_status_enabled": "connected", + "setting_theme": "Theme", + "setting_version": "Update", + "setting_version_show_ver_modal": "Open Update Window ๐Ÿš€", + "share_card_title_music": "Share \"{name}\" to...", + "share_title_music": "Song Sharing", "singer": "Artist: {name}", - "songlist_hot": "Hot", - "songlist_hot_collect": "Hot Collect", - "songlist_new": "New", + "songlist_hot": "Top", + "songlist_hot_collect": "Top Collect", + "songlist_new": "Latest", "songlist_open": "Import", - "songlist_open_input_placeholder": "Enter the playlist link or playlist ID", - "songlist_open_input_tip": "1. Cross-source opening of the playlist is not supported. Please confirm whether the playlist to be opened corresponds to the current playlist source\n2. If you encounter a playlist link that cannot be opened, feedback is welcome\n3, Kugou source Open with playlist ID is not supported, but Kugou code is supported", + "songlist_open_input_placeholder": "Enter a playlist link/ID", + "songlist_open_input_tip": "1. Cross-source playlists are not supported. Please confirm whether the playlist to be opened corresponds to the current chosen source\n2. If you encounter a playlist link that cannot be opened. Please send us your feedback\n3, Kugou source does not support opening with playlist ID but supports opening with Kugou code", "songlist_recommend": "Recommend", "songlist_rise": "Rise", "songlist_tag_default": "Default", - "songlist_tag_hot": "Hot", - "songlist_tags": "Playlist category", + "songlist_tag_hot": "Top", + "songlist_tags": "Playlist Category", "source_alias_all": "Aggregated", "source_alias_bd": "BD Music", "source_alias_kg": "KG Music", @@ -403,7 +404,7 @@ "source_real_kw": "Kuwo", "source_real_mg": "Migu", "source_real_tx": "Tencent", - "source_real_wy": "Netease", + "source_real_wy": "NetEase", "stop": "Stop", "stopped": "Stopped", "storage_file_no_match": "The selected file does not meet the requirements!", @@ -430,7 +431,7 @@ "sync__mode_overwrite_btn_remote_local": "Remote List Override Local List", "sync__mode_overwrite_label": "Cover", "sync__mode_overwrite_tip": "Over: ", - "sync_status_disabled": "Not connected", + "sync_status_disabled": "not connected", "theme_black": "Black", "theme_blue": "Blue", "theme_blue2": "Purple Blue", @@ -458,23 +459,23 @@ "timeout_exit_tip_max": "You can only set up to {num} minutes", "timeout_exit_tip_off": "Set timer to stop playing", "timeout_exit_tip_on": "Stop playing after {time}", - "toggle_source": "Source change", + "toggle_source": "Change Source", "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...", "understand": "Already understood ๐Ÿ‘Œ", - "user_api__init_failed_alert": "Custom source [{name}] failed to initialize:", - "user_api_add_failed_tip": "Invalid custom source file", + "user_api__init_failed_alert": "Failed to initialize music API \"{name}\":", + "user_api_add_failed_tip": "Invalid music API file", "user_api_allow_show_update_alert": "Allow update popups to be displayed", "user_api_btn_import": "Import", - "user_api_btn_import_local": "Local import", - "user_api_btn_import_online": "Online import", + "user_api_btn_import_local": "Import from Local", + "user_api_btn_import_online": "Import from Network", "user_api_btn_import_online_input_confirm": "Import", "user_api_btn_import_online_input_loading": "Importing...", - "user_api_btn_import_online_input_tip": "Please enter HTTP link", - "user_api_empty": "Itโ€™s actually empty here ๐Ÿ˜ฒ", - "user_api_import_desc": "Select custom source file", - "user_api_import_failed_tip": "Custom source import failed: \n{message}", - "user_api_import_success_tip": "Import successful ๐ŸŽ‰", + "user_api_btn_import_online_input_tip": "Please enter an HTTP link", + "user_api_empty": "It's actually empty here ๐Ÿ˜ฒ", + "user_api_import_desc": "Select music API file", + "user_api_import_failed_tip": "Failed to import music API: \n{message}", + "user_api_import_success_tip": "Successfully imported ๐ŸŽ‰", "user_api_max_tip": "A maximum of 20 sources can exist at the same time๐Ÿคช\n\nIf you want to continue importing, please remove some old sources to make room.", "user_api_note": "Tip: Although we have isolated the running environment of the script as much as possible, importing scripts containing malicious behaviors may still affect your system, so please import with caution.", "user_api_readme": "Source writing instructions: ", @@ -483,7 +484,7 @@ "user_api_update_alert": "Custom source [{name}] found new version", "user_api_update_alert_open_url": "Open update address", "version_btn_close": "Close", - "version_btn_downloading": "I am trying to download...{current}/{total} ({progress}%)", + "version_btn_downloading": "I am trying to download... {current}/{total} ({progress}%)", "version_btn_failed": "Retry", "version_btn_ignore": "Ignore", "version_btn_ignore_cancel": "Cancel ignore", @@ -498,7 +499,7 @@ "version_tip_checking": "Checking for updates...โณ", "version_tip_downloaded": "The installation package has been downloaded.", "version_tip_failed": "The download of the installation package failed. You can try again or go to the project address to manually download the new version update.", - "version_tip_latest": "The software is up to date, please enjoy it~๐Ÿฅ‚", + "version_tip_latest": "The app is up to date, please enjoy it~๐Ÿฅ‚", "version_tip_min": "It has been switched to background download, you can go to Settings-Software Update and reopen this pop-up window", "version_tip_unknown": "Failed to obtain the latest version information, it is recommended to manually go to the project address to check if there is a new version", "version_title_checking": "โณ Checking for updates โณ", @@ -506,5 +507,5 @@ "version_title_latest": "๐ŸŽ‰ The current version is already the latest ๐ŸŽŠ", "version_title_new": "๐ŸŒŸ New version found ๐ŸŒŸ", "version_title_unknown": "โ“ Failed to get the latest version information โ“", - "version_title_update": "๐Ÿš€ Program update ๐Ÿš€" + "version_title_update": "๐Ÿš€ App update ๐Ÿš€" } diff --git a/src/screens/Home/Views/Mylist/MyList/ListMenu.tsx b/src/screens/Home/Views/Mylist/MyList/ListMenu.tsx index afbf30909..ebe7163dd 100644 --- a/src/screens/Home/Views/Mylist/MyList/ListMenu.tsx +++ b/src/screens/Home/Views/Mylist/MyList/ListMenu.tsx @@ -15,7 +15,7 @@ export interface SelectInfo { } const initSelectInfo = {} -const menuItemWidth = scaleSizeW(110) +const menuItemWidth = scaleSizeW(130) export interface ListMenuProps {