Merge remote-tracking branch 'upstream/dev' into dev

This commit is contained in:
ikun0014 2024-12-27 23:00:51 +08:00
commit b6b7f4c0dc
No known key found for this signature in database
GPG Key ID: CB646D33779F3C89
11 changed files with 626 additions and 593 deletions

View File

@ -4,8 +4,8 @@
], ],
// "i18n-ally.fullReloadOnChanged": true, // "i18n-ally.fullReloadOnChanged": true,
"i18n-ally.keystyle": "nested", "i18n-ally.keystyle": "nested",
"i18n-ally.displayLanguage": "zh_cn", "i18n-ally.displayLanguage": "zh-cn",
"i18n-ally.sourceLanguage": "zh_cn", "i18n-ally.sourceLanguage": "zh-cn",
"i18n-ally.translate.engines": [ "i18n-ally.translate.engines": [
"google-cn", "google-cn",
"google" "google"

View File

@ -62,7 +62,7 @@
--- ---
*词语约定:本协议中的“本项目”指 LX Music洛雪音乐助手)移动版项目;“使用者”指签署本协议的使用者;“官方音乐平台”指对本项目内置的包括酷我、酷狗、咪咕等音乐源的官方平台统称;“版权数据”指包括但不限于图像、音频、名字等在内的他人拥有所属版权的数据。* *词语约定:本协议中的“本项目”指 LX Music洛雪音乐移动版项目“使用者”指签署本协议的使用者“官方音乐平台”指对本项目内置的包括酷我、酷狗、咪咕等音乐源的官方平台统称“版权数据”指包括但不限于图像、音频、名字等在内的他人拥有所属版权的数据。*
### 一、数据来源 ### 一、数据来源

View File

@ -1,29 +1,34 @@
为了防止歌曲缓存被第三方软件当做垃圾意外清理,歌曲缓存地址不再存储到缓存目录,若想清理缓存,需去 设置-其他-资源缓存管理 清理。 *为了防止歌曲缓存被第三方软件当做垃圾意外清理,歌曲缓存不再存储到缓存目录。若想清理缓存,需去「设置 → 其他 → 资源缓存管理」清理。*
更新到该版本首次播放歌曲时,会将之前的歌曲缓存迁移到新位置,需要等待的时间取决于你已缓存资源的大小。 *更新到该版本首次播放歌曲时,会将之前的歌曲缓存迁移到新位置,需要等待的时间取决于你已缓存资源的大小。*
### 新增 ### 新增
- 新增蓝牙歌词支持,可以去 设置-播放设置-显示蓝牙歌词 启用(#615 - 新增蓝牙歌词支持,可以通过「设置 → 播放设置 → 显示蓝牙歌词」启用(#615
- 新增繁体中文语言(#659, @3gf8jv4dv
### 优化 ### 优化
- 防止歌曲缓存被第三方软件当做垃圾意外清理 - 防止歌曲缓存被第三方软件当做垃圾意外清理
- 优化正常播放结束时的下一首歌曲播放衔接度,在歌曲即将播放结束时将预获取下一首歌曲的播放链接,减少自动切歌时的等待时间 - 优化正常播放结束时的下一首歌曲播放衔接度,在歌曲即将结束播放时将预获取下一首歌曲的播放链接,减少自动切歌时的等待时间
- 优化歌曲换源机制,提升换源正确率 - 优化歌曲换源机制,提升换源正确率
- 首次使用的提示窗口可以点击背景或者返回键关闭(#577 - 首次使用的提示窗口可以通过点击背景或者返回键关闭(#577
- 上移 Toast 位置避免遮挡播放模式图标(#603 @sibojia - 上移 Toast 位置避免遮挡播放模式图标(#603, @sibojia
- 优化简体中文文案编排,大幅修订英语文案编排(#658, #660 等, @3gf8jv4dv
### 修复 ### 修复
- 修复导出文件到范围存储类型的目录时,扩展名丢失的问题 - 修复导出文件到范围存储类型的目录时,扩展名丢失的问题
- 修复切换列表播放歌曲时可能会出现播放的歌曲不对应的问题 - 修复切换列表播放歌曲时可能会出现播放的歌曲不对应的问题
- 修复内置列表名称硬编码和语言切换显示的问题(#662
### 变更 ### 变更
- 歌曲缓存地址不再存储到缓存目录 - 歌曲缓存不再存储到缓存目录
- 不再长期缓存换源歌曲信息 - 不再长期缓存换源歌曲信息
### 其他 ### 其他
react-native → 0.73.11 - 更新 Readme 文档,优化文案编排(#651, Thanks @3gf8jv4dv
- 更新 Issue 模板(#652, @3gf8jv4dv
- 更新 React Native 到 v0.73.11

513
src/lang/en-us.json Normal file
View File

@ -0,0 +1,513 @@
{
"add_to": "Add to ...",
"agree": "Sure",
"agree_go": "Turn it on",
"agree_to": "Go set it",
"back": "Back",
"back_home": "Back to Desktop",
"cancel": "Cancel",
"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_tip": "Please enter a new position",
"close": "Close",
"collect": "Collect",
"collect_songlist": "Collect",
"collect_success": "Successfully collected",
"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_tip": "Copied",
"create_new_folder": "Create new directory",
"create_new_folder_error_tip": "The name entered is invalid",
"create_new_folder_tip": "Please enter a new directory name",
"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}",
"delete": "Delete",
"dialog_cancel": "No",
"dialog_confirm": "OK",
"disagree": "Deny",
"disagree_tip": "Cancelled...",
"dislike": "Dislike",
"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 \"Restricted\" or \"Optimized\" in \"App battery usage\", which may cause LX Music to be prevented by the system when playing music in the background. Do you need to set LX Music to “Unrestricted”?",
"ignoring_battery_optimization_check_title": "Background Running Permission Reminder",
"input_error": "Don't input indiscriminately 😡",
"list_name_default": "Default",
"list_name_love": "Loved",
"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 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": "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": "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",
"list_import": "Import",
"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 want to overwrite the local list?",
"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 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_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": "Choose local song directory",
"list_select_local_file_empty_tip": "No songs found in current directory",
"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": "Random",
"list_sort_modal_by_singer": "Artist",
"list_sort_modal_by_source": "Music Service",
"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_name_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 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": "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": "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": "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": "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 Detail",
"name": "Title: {name}",
"nav_exit": "Exit App",
"nav_love": "Your Library",
"nav_search": "Search",
"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 show notifications, or the “MusicService” notification category in the LX Music notification settings is disabled, which prevents you from using the notification for actions such as pausing, switching songs, and so on. Do you want to enable it?",
"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. Manually enter the path to specify external memory in the following",
"open_storage_select_managed_folder_failed_tip": "Failed to select storage path: {msg}",
"open_storage_select_path": "Open storage path",
"open_storage_select_path_tip": "TIP: For external storage, if you still cannot access it after granting storage permissions, you can click the following button to select the path to allow access.",
"open_storage_tip": "Enter storage path",
"open_storage_title": "Manually enter the path to specify external memory in the following",
"parent_dir_name": "Parent directory",
"pause": "Pause",
"play": "Play",
"play_all": "Play all",
"play_detail_setting_lrc_align": "Lyric Alignment",
"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": "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 \"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 server is busy. Try again in {time} seconds...",
"player__loading": "Music loading...",
"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": "24bit",
"search__welcome": "Search what I want~~😉",
"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 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_music_url_label": "Number of song URLs:",
"setting__other_other_source_clear_btn": "Clear Song Cache of Changed Source",
"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 & Restore",
"setting_backup_all": "All data (\"List\" data and \"Setting\" data)",
"setting_backup_all_export": "Export",
"setting_backup_all_export_desc": "Save the backup to...",
"setting_backup_all_import": "Import",
"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 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": "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": "Choose a setting backup file",
"setting_basic": "General",
"setting_basic_always_keep_statusbar_height": "Always keep status bar height",
"setting_basic_always_keep_statusbar_height_tip": "By default, the app dynamically determines whether spacing needs to be kept for the system status bar, but if there is a situation on your device where the app's interactable content overlaps with the display of the status bar content, you can enable this option to always keep space for the system status bar.",
"setting_basic_animation": "Randomize pop-up animation",
"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": "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": "Allow horizontal scrolling on vertical homepage",
"setting_basic_lang": "Language",
"setting_basic_share_type": "Share",
"setting_basic_share_type_clipboard": "Copy to clipboard",
"setting_basic_share_type_system": "Use system share",
"setting_basic_show_animation": "Show animation",
"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": "Music Streaming Service Name",
"setting_basic_sourcename_alias": "Alias",
"setting_basic_sourcename_real": "Original",
"setting_basic_sourcename_title": "Choose the music streaming service name",
"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 system light & dark modes 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 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": "When this option is enabled, operations such as importing backup files, music APIs, etc. will not need to request storage permissions, but may not be available on some systems.\n\nYou can turn off the option to fallback to the app's built-in file selector if you are unable to import files after enabling the option.",
"setting_dislike_list_input_tip": "song_name@artist_name\nsong_name\n@artist_name",
"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_list": "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 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": "To use this feature, you need to grant LX Music the permission to display hover windows in the system permission settings, do you go to the relevant page to grant this permission?",
"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": "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": "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 cleanup complete",
"setting_other_cache_getting": "Cache being counted...",
"setting_other_cache_size": "The app has used cache size: ",
"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": "Logging sync log",
"setting_other_log_tip_clean_success": "Log cleanup complete",
"setting_other_log_tip_null": "The log is empty~",
"setting_other_log_user_api_log": "Logging music API log",
"setting_play_audio_offload": "Enable audio offload",
"setting_play_audio_offload_tip": "You can enable this option to save power consumption, but on some devices there may be an issue where all songs prompt \"Error loading music\" or \"Unable to play the whole song in full\", this is due to a bug in the current system. \n\nFor those experiencing this issue you can turn off the option and restart the app completely and try again.",
"setting_play_auto_clean_played_list": "Automatically empty the played list",
"setting_play_auto_clean_played_list_tip": "In the shuffle mode, when switching between songs by clicking on a song in the \"Same list as playlist\", if \" Automatically empty played list\" is enabled, the songs in the list will participate in the random again.",
"setting_play_cache_size": "Maximum Cache Size (MB)",
"setting_play_cache_size_no_cache": "Cache Disabled",
"setting_play_cache_size_save_tip": "The cache is set and takes effect after restarting the app.",
"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 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",
"setting_search_show_history_search": "Enable Search History",
"setting_search_show_hot_search": "Enable Top Searches",
"setting_sync": "Sync",
"setting_sync_address": "Current device 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",
"setting_sync_code_input_tip": "Please enter the connection code",
"setting_sync_code_label": "Need to enter the connection code for the first connection",
"setting_sync_enable": "Enable sync",
"setting_sync_history": "History address",
"setting_sync_history_empty": "Nothing here",
"setting_sync_history_title": "Connection history",
"setting_sync_host_label": "Synch service address",
"setting_sync_host_value_error_tip": "The address needs to start with \"http://\" or \"https://\"!",
"setting_sync_host_value_tip": "http://<Host>:<Port>",
"setting_sync_port_label": "Sync service port number",
"setting_sync_port_tip": "Please enter a port number",
"setting_sync_status": "Status: {status}",
"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": "Top",
"songlist_hot_collect": "Top Collect",
"songlist_new": "Latest",
"songlist_open": "Import",
"songlist_open_input_placeholder": "Enter a playlist link/ID",
"songlist_open_input_tip": "1. Cross-service playlists are not supported. Please confirm whether the playlist to be opened corresponds to the current chosen service\n2. If you encounter a playlist link that cannot be opened. Please send us your feedback\n3. Unable to open Kugou playlist with playlist ID, but support to open it with Kugou code",
"songlist_recommend": "Recommend",
"songlist_rise": "Rise",
"songlist_tag_default": "Default",
"songlist_tag_hot": "Top",
"songlist_tags": "Playlist Category",
"source_alias_all": "Aggregated",
"source_alias_bd": "BD Music",
"source_alias_kg": "KG Music",
"source_alias_kw": "KW Music",
"source_alias_mg": "MG Music",
"source_alias_tx": "TX Music",
"source_alias_wy": "WY Music",
"source_real_all": "Aggregated",
"source_real_bd": "Baidu",
"source_real_kg": "Kugou",
"source_real_kw": "Kuwo",
"source_real_mg": "Migu",
"source_real_tx": "Tencent",
"source_real_wy": "NetEase",
"stop": "Stop",
"stopped": "Stopped",
"storage_file_no_match": "The selected file does not meet the requirements!",
"storage_file_no_select_file_failed_tip": "Failed to select a file using the system file selector. Do you want to fallback to the app's built-in file selector?",
"storage_permission_tip_disagree": "The user rejects it!",
"storage_permission_tip_disagree_ask_again": "The feature is unavailable because you have permanently denied LX Music access to the internal storage.\n\nTo continue, you need to navigate to LX Music's \"Permissions\" option in the system settings and allow LX Music to access the files.",
"storage_permission_tip_request": "To use this feature you need to allow LX Music to access the internal storage, do you agree and continue?",
"sync__dislike_mode_merge_tip_desc": "Merge the content of the two lists and remove the duplicates.",
"sync__dislike_mode_other_tip_desc": "\"Cancel Sync\" will not sync the \"dislike song\" list.",
"sync__dislike_mode_overwrite_tip_desc": "The list of overwritten parties will be replaced with the list of overwriting parties.",
"sync__dislike_mode_title": "Choose how to sync with {name}'s \"dislike song\" list",
"sync__list_mode_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_mode_other_tip_desc": "\"Cancel Sync\" will not sync the list.",
"sync__list_mode_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_mode_title": "Choose how to synchronize the list with \"{name}\"",
"sync__mode_merge_btn_local_remote": "\"Local List\" Merge \"Remote List\"",
"sync__mode_merge_btn_remote_local": "\"Remote List\" Merge \"Local List\"",
"sync__mode_merge_tip": "Merge: ",
"sync__mode_other_label": "Other",
"sync__mode_other_tip": "Other: ",
"sync__mode_overwrite": "Full Overwrite",
"sync__mode_overwrite_btn_cancel": "Cancel Sync",
"sync__mode_overwrite_btn_local_remote": "\"Local List\" Overwrite \"Remote List\"",
"sync__mode_overwrite_btn_remote_local": "\"Remote List\" Overwrite \"Local List\"",
"sync__mode_overwrite_label": "Overwrite",
"sync__mode_overwrite_tip": "Overwrite: ",
"sync_status_disabled": "not connected",
"theme_black": "Black",
"theme_blue": "Blue",
"theme_blue2": "Purple Blue",
"theme_blue_plus": "Blue Plus",
"theme_brown": "Brown",
"theme_china_ink": "China Ink",
"theme_green": "Green",
"theme_grey": "Grey",
"theme_happy_new_year": "New Year",
"theme_mid_autumn": "Mid-Autumn",
"theme_ming": "Ming",
"theme_naruto": "Naruto",
"theme_orange": "Orange",
"theme_pink": "Pink",
"theme_purple": "Purple",
"theme_red": "Red",
"timeout_exit_btn_cancel": "Cancel timing",
"timeout_exit_btn_update": "Update timing",
"timeout_exit_btn_wait_cancel": "Cancel exit",
"timeout_exit_btn_wait_tip": "Timeout expired, waiting to exit...",
"timeout_exit_input_tip": "Enter countdown minutes",
"timeout_exit_label_isPlayed": "Wait for the song to finish playing and then stop playing",
"timeout_exit_min": "Minutes",
"timeout_exit_tip_cancel": "Timeout stop playing has been cancelled",
"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": "Change Source",
"toggle_source_failed": "Failed to change the source. Please try to manually search for the song on the search page by specifying another service.",
"toggle_source_try": "Try switching to another source...",
"understand": "Already understood 👌",
"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 show update popups",
"user_api_btn_import": "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 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": "There can only be a maximum of 20 APIs at the same time🤪.\n\nIf you want to continue importing, please remove some unnecessary APIs to make room.",
"user_api_note": "TIP: Although we have isolated the API script's running environment as much as possible, importing API scripts containing malicious behaviors may still affect your system. Please import them with caution.",
"user_api_readme": "API writing instructions: ",
"user_api_remove_tip": "Do you really want to remove \"{name}\"?",
"user_api_title": "Music API Management (EXPERIMENTAL)",
"user_api_update_alert": "Music API \"{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_failed": "Retry",
"version_btn_ignore": "Ignore",
"version_btn_ignore_cancel": "Cancel ignore",
"version_btn_min": "Background download",
"version_btn_new": "Update",
"version_btn_unknown": "Project Homepage",
"version_btn_update": "Install",
"version_label_change_log": "Changelog: ",
"version_label_current_ver": "Current: ",
"version_label_history": "History: ",
"version_label_latest_ver": "Latest: ",
"version_tip_checking": "Checking for updates...⏳",
"version_tip_downloaded": "The apk has been downloaded.",
"version_tip_failed": "Failed to download the apk. You can either retry or go to the project address and download the new update manually.",
"version_tip_latest": "The app is up to date, please enjoy it~🥂",
"version_tip_min": "The download has been switched to background. You can navigate to “Settings → Update” to re-open this pop-up window.",
"version_tip_unknown": "Failed to get the latest version information. Recommended to manually go to the project address to check for a new version.",
"version_title_checking": "⏳ Checking for updates ⏳",
"version_title_failed": "❌ Failed to download ❌",
"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": "🚀 App update 🚀"
}

View File

@ -1,512 +0,0 @@
{
"add_to": "Add to...",
"agree": "Agree",
"agree_go": "To turn on",
"agree_to": "Go to settings",
"back": "Back",
"back_home": "Back",
"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",
"change_position_music_multi_title": "Adjust the position of the selected {num} song to",
"change_position_music_title": "Adjust the position of {name} to",
"download_music_title": "Adjust the download of {name}",
"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",
"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_tip": "Copied",
"create_new_folder": "Create new folder",
"create_new_folder_error_tip": "The name entered is invalid",
"create_new_folder_tip": "Please enter a new folder name",
"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}",
"delete": "Delete",
"dialog_cancel": "No",
"dialog_confirm": "OK",
"disagree": "Disagree",
"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?",
"ignoring_battery_optimization_check_tip": "LX Music Mod 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 Mod to the whitelist?",
"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_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_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_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_error": "Loading failed😥, click to try to reload",
"list_export": "Export",
"list_export_part_desc": "Choose where to save the list file",
"list_import": "Import",
"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_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_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_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_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_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_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",
"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 😥",
"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_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_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_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",
"move_to": "Move to...",
"music_source_detail": "Song page",
"name": "Name: {name}",
"nav_exit": "Exit application",
"nav_love": "Collection",
"nav_search": "Search",
"nav_setting": "Setting",
"nav_songlist": "Song list",
"nav_top": "Leaderboard",
"never_show": "Never show again",
"no_item": "The list is empty...",
"notifications_check_tip": "You have not allowed LX Music Mod to display notifications, or the Music Service in the LX Music Mod 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",
"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",
"open_storage_select_managed_folder_failed_tip": "Failed to select storage path: {msg}",
"open_storage_select_path": "Open storage path",
"open_storage_select_path_tip": "Tip: For external storage, if you still cannot access it after granting storage permissions, you can click the button below to select the path to allow access.",
"open_storage_tip": "Enter storage path",
"open_storage_title": "Please manually enter the path below to specify the external storage",
"parent_dir_name": "Parent directory",
"pause": "Pause",
"play": "Play",
"play_all": "Play all",
"play_detail_setting_lrc_align": "Lyric Alignment",
"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_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...",
"player__loading": "Music loading...",
"player__refresh_url": "The URL has expired, refreshing the URL...",
"player_cache_migrating": "Song cache is being migrated, please wait ⌛️",
"quality_high_quality": "HQ",
"quality_lossless": "SQ",
"quality_lossless_24bit": "Hires",
"quality_lossless_master": "Master",
"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",
"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_label": "Number of lyrics:",
"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_resource_cache": "Resource Cache Management",
"setting_about": "About LX Music Mod",
"setting_backup": "Backup and Recovery",
"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_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_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_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_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_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_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_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_90": "Small",
"setting_basic_font_size_preview": "LX Music Mod 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_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_ikun": "Ikum API",
"setting_basic_source_ikun_us": "Ikun API US",
"setting_basic_source_status_failed": "initialization failed",
"setting_basic_source_status_initing": "Initializing",
"setting_basic_source_status_success": "Initialization successful",
"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_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_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_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_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_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_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_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_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_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_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_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_select": "Select sound quality listening",
"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_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_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_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",
"setting_sync_code_input_tip": "Please enter the connection code",
"setting_sync_code_label": "You need to enter the connection code for the first connection",
"setting_sync_enable": "Enable sync",
"setting_sync_history": "History address",
"setting_sync_history_empty": "Nothing here",
"setting_sync_history_title": "Connection history",
"setting_sync_host_label": "Synchronization service address",
"setting_sync_host_value_error_tip": "The address needs to start with http:// or https://!",
"setting_sync_host_value_tip": "http://IP:Port",
"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",
"singer": "Artist: {name}",
"songlist_hot": "Hot",
"songlist_hot_collect": "Hot Collect",
"songlist_new": "New",
"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_recommend": "Recommend",
"songlist_rise": "Rise",
"songlist_tag_default": "Default",
"songlist_tag_hot": "Hot",
"songlist_tags": "Playlist category",
"source_alias_all": "Aggregated",
"source_alias_bd": "BD Music",
"source_alias_kg": "KG Music",
"source_alias_kw": "KW Music",
"source_alias_mg": "MG Music",
"source_alias_tx": "TX Music",
"source_alias_wy": "WY Music",
"source_real_all": "Aggregated",
"source_real_bd": "Baidu",
"source_real_kg": "Kugou",
"source_real_kw": "Kuwo",
"source_real_mg": "Migu",
"source_real_tx": "Tencent",
"source_real_wy": "Netease",
"stop": "Stop",
"stopped": "Stopped",
"storage_file_no_match": "The selected file does not meet the requirements!",
"storage_file_no_select_file_failed_tip": "Use the system file selectioner to select the file failure. Do you return to the built -in file selectioner of the software?",
"storage_permission_tip_disagree": "User Disagree",
"storage_permission_tip_disagree_ask_again": "This feature cannot be used because you have permanently denied LX access to the phone storage.\nIf you want to continue, you need to go to System Permission Management Set Luo Xues storage permission to allow.",
"storage_permission_tip_request": "To use this function, you need to allow LX to access the phone storage. Do you agree and continue?",
"sync__dislike_mode_merge_tip_desc": "Merge the content of the two lists and remove the duplicates",
"sync__dislike_mode_other_tip_desc": "\"Cancel sync\" will not use the dislike list sync feature",
"sync__dislike_mode_overwrite_tip_desc": "The list of overriddens will be replaced with the list of overriders",
"sync__dislike_mode_title": "Choose how to sync with {name}'s dislike list",
"sync__list_mode_merge_tip_desc": "Merge the lists on both sides together, the same songs will be removed (removed is the merged song), and different songs will be added.",
"sync__list_mode_other_tip_desc": "\"Cancel Sync\" will not use list sync.",
"sync__list_mode_overwrite_tip_desc": "The list with the same list ID of the covered person and the covered person will be deleted and replaced with the covered person's list (lists with different list IDs will be merged together). If you check Complete coverage, all lists of the covered person will be removed. \nand then replace with a list of overriders.",
"sync__list_mode_title": "Choose how to sync lists with {name}",
"sync__mode_merge_btn_local_remote": "Local list merge remote list",
"sync__mode_merge_btn_remote_local": "Remote List Merge Local List",
"sync__mode_merge_tip": "Merge: ",
"sync__mode_other_label": "Other",
"sync__mode_other_tip": "Other: ",
"sync__mode_overwrite": "Full coverage",
"sync__mode_overwrite_btn_cancel": "Cancel sync",
"sync__mode_overwrite_btn_local_remote": "Local list override remote list",
"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",
"theme_black": "Black",
"theme_blue": "Blue",
"theme_blue2": "Purple Blue",
"theme_blue_plus": "Blue Plus",
"theme_brown": "Brown",
"theme_china_ink": "China Ink",
"theme_green": "Green",
"theme_grey": "Grey",
"theme_happy_new_year": "New Year",
"theme_mid_autumn": "Mid-Autumn",
"theme_ming": "Ming",
"theme_naruto": "Naruto",
"theme_orange": "Orange",
"theme_pink": "Pink",
"theme_purple": "Purple",
"theme_red": "Red",
"timeout_exit_btn_cancel": "Cancel timing",
"timeout_exit_btn_update": "Update timing",
"timeout_exit_btn_wait_cancel": "Cancel exit",
"timeout_exit_btn_wait_tip": "Timeout expired, waiting to exit...",
"timeout_exit_input_tip": "Enter countdown minutes",
"timeout_exit_label_isPlayed": "Wait for the song to finish playing and then stop playing",
"timeout_exit_min": "Minutes",
"timeout_exit_tip_cancel": "Timeout stop playing has been cancelled",
"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_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_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_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": "Its 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_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: ",
"user_api_remove_tip": "Do you really want to remove {name}?",
"user_api_title": "Custom source management (experimental)",
"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_failed": "Retry",
"version_btn_ignore": "Ignore",
"version_btn_ignore_cancel": "Cancel ignore",
"version_btn_min": "Background download",
"version_btn_new": "Update",
"version_btn_unknown": "Project Homepage",
"version_btn_update": "Install",
"version_label_change_log": "Update description: ",
"version_label_current_ver": "Current version: ",
"version_label_history": "History version: ",
"version_label_latest_ver": "Latest version: ",
"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_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 ⏳",
"version_title_failed": "❌ Download failed ❌",
"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 🚀"
}

View File

@ -1,6 +1,6 @@
import zh_cn from './zh_cn.json' import zh_cn from './zh-cn.json'
import zh_tw from './zh_tw.json' import zh_tw from './zh-tw.json'
import en_us from './en_us.json' import en_us from './en-us.json'
type Message = Record<keyof typeof zh_cn, string> type Message = Record<keyof typeof zh_cn, string>
| Record<keyof typeof zh_tw, string> | Record<keyof typeof zh_tw, string>
@ -21,7 +21,6 @@ const langs = [
locale: 'zh_tw', locale: 'zh_tw',
// alternate: 'zh-hant', // alternate: 'zh-hant',
country: 'cn', country: 'cn',
fallback: true,
message: zh_tw, message: zh_tw,
}, },
{ {

View File

@ -49,6 +49,8 @@
"ignoring_battery_optimization_check_tip": "LX Music 没有在「忽略电池优化」的白名单中,这可能会导致在后台播放音乐时被系统暂停。是否将 LX Music 加入该白名单中?", "ignoring_battery_optimization_check_tip": "LX Music 没有在「忽略电池优化」的白名单中,这可能会导致在后台播放音乐时被系统暂停。是否将 LX Music 加入该白名单中?",
"ignoring_battery_optimization_check_title": "后台运行权限设置提醒", "ignoring_battery_optimization_check_title": "后台运行权限设置提醒",
"input_error": "不要乱输好吧😡", "input_error": "不要乱输好吧😡",
"list_name_default": "试听列表",
"list_name_love": "我的收藏",
"list_add_btn_title": "把该歌曲添加到「{name}」", "list_add_btn_title": "把该歌曲添加到「{name}」",
"list_add_tip_exists": "列表已经存在这首歌啦,不要再点我啦~😡", "list_add_tip_exists": "列表已经存在这首歌啦,不要再点我啦~😡",
"list_add_title_first_add": "添加", "list_add_title_first_add": "添加",
@ -106,13 +108,13 @@
"list_sort_modal_by_name": "歌曲名", "list_sort_modal_by_name": "歌曲名",
"list_sort_modal_by_random": "随机乱序", "list_sort_modal_by_random": "随机乱序",
"list_sort_modal_by_singer": "艺术家", "list_sort_modal_by_singer": "艺术家",
"list_sort_modal_by_source": "歌曲来源", "list_sort_modal_by_source": "歌曲来源平台",
"list_sort_modal_by_time": "时长", "list_sort_modal_by_time": "时长",
"list_sort_modal_by_type": "排序类别", "list_sort_modal_by_type": "排序类别",
"list_sort_modal_by_up": "升序", "list_sort_modal_by_up": "升序",
"list_sync": "更新", "list_sync": "更新",
"list_sync_confirm_tip": "这将会把「{name}」内的歌曲替换成在线列表的歌曲,你确认要更新吗?", "list_sync_confirm_tip": "这将会把「{name}」内的歌曲替换成在线列表的歌曲,你确认要更新吗?",
"list_temp": "临时列表", "list_name_temp": "临时列表",
"list_update_error": "「{name}」更新失败", "list_update_error": "「{name}」更新失败",
"list_update_success": "「{name}」更新成功", "list_update_success": "「{name}」更新成功",
"list_updating": "更新中", "list_updating": "更新中",
@ -211,7 +213,7 @@
"search_hot_search": "热门搜索", "search_hot_search": "热门搜索",
"search_type_music": "歌曲", "search_type_music": "歌曲",
"search_type_songlist": "歌单", "search_type_songlist": "歌单",
"setting__other_dislike_list": "不喜欢的歌曲规则", "setting__other_dislike_list": "不喜欢的歌曲规则",
"setting__other_dislike_list_label": "规则数量:{num}", "setting__other_dislike_list_label": "规则数量:{num}",
"setting__other_dislike_list_saved_tip": "已保存", "setting__other_dislike_list_saved_tip": "已保存",
"setting__other_lyric_raw_clear_btn": "清理歌词缓存", "setting__other_lyric_raw_clear_btn": "清理歌词缓存",
@ -266,10 +268,10 @@
"setting_basic_share_type": "分享方式", "setting_basic_share_type": "分享方式",
"setting_basic_share_type_clipboard": "复制到剪贴板", "setting_basic_share_type_clipboard": "复制到剪贴板",
"setting_basic_share_type_system": "使用系统分享", "setting_basic_share_type_system": "使用系统分享",
"setting_basic_show_animation": "显示切换动画", "setting_basic_show_animation": "显示动画效果",
"setting_basic_show_back_btn": "显示返回桌面按钮", "setting_basic_show_back_btn": "显示返回桌面按钮",
"setting_basic_show_exit_btn": "显示退出应用按钮", "setting_basic_show_exit_btn": "显示退出应用按钮",
"setting_basic_source": "音乐来源", "setting_basic_source": "自定义源",
"setting_basic_source_direct": "试听接口(这是最后的选择...", "setting_basic_source_direct": "试听接口(这是最后的选择...",
"setting_basic_source_status_failed": "初始化失败", "setting_basic_source_status_failed": "初始化失败",
"setting_basic_source_status_initing": "初始化中", "setting_basic_source_status_initing": "初始化中",
@ -303,7 +305,7 @@
"setting_list_show_album_name": "显示歌曲专辑名", "setting_list_show_album_name": "显示歌曲专辑名",
"setting_lyric_desktop_permission_tip": "桌面歌词功能需要在系统权限设置中授予 LX Music 显示悬浮窗口的权限才能使用,是否去相关界面授予该权限?", "setting_lyric_desktop_permission_tip": "桌面歌词功能需要在系统权限设置中授予 LX Music 显示悬浮窗口的权限才能使用,是否去相关界面授予该权限?",
"setting_lyric_desktop": "桌面歌词", "setting_lyric_desktop": "桌面歌词",
"setting_lyric_desktop_enable": "显示桌面歌词", "setting_lyric_desktop_enable": "显示歌词",
"setting_lyric_desktop_lock": "锁定歌词", "setting_lyric_desktop_lock": "锁定歌词",
"setting_lyric_desktop_maxlineNum": "最大行数", "setting_lyric_desktop_maxlineNum": "最大行数",
"setting_lyric_desktop_single_line": "使用单行歌词", "setting_lyric_desktop_single_line": "使用单行歌词",
@ -386,7 +388,7 @@
"songlist_new": "最新", "songlist_new": "最新",
"songlist_open": "导入", "songlist_open": "导入",
"songlist_open_input_placeholder": "输入歌单链接或歌单 ID", "songlist_open_input_placeholder": "输入歌单链接或歌单 ID",
"songlist_open_input_tip": "1、不支持跨源打开歌单,请确认要打开的歌单与当前歌单源是否对应\n2、若遇到无法打开的歌单链接欢迎反馈\n3、酷狗源不支持用歌单 ID 打开,但支持用酷狗码打开", "songlist_open_input_tip": "1. 不支持跨源打开歌单,请确认要打开的歌单与当前选择的歌单来源是否对应\n2. 若遇到无法打开的歌单链接,欢迎反馈\n3. 不支持用歌单 ID 打开酷狗源歌单,但支持用酷狗码打开",
"songlist_recommend": "推荐", "songlist_recommend": "推荐",
"songlist_rise": "飙升", "songlist_rise": "飙升",
"songlist_tag_default": "默认", "songlist_tag_default": "默认",
@ -416,7 +418,7 @@
"sync__dislike_mode_merge_tip_desc": "合并两边列表内容并去重", "sync__dislike_mode_merge_tip_desc": "合并两边列表内容并去重",
"sync__dislike_mode_other_tip_desc": "「取消同步」将不使用「不喜欢的歌曲」列表同步功能", "sync__dislike_mode_other_tip_desc": "「取消同步」将不使用「不喜欢的歌曲」列表同步功能",
"sync__dislike_mode_overwrite_tip_desc": "被覆盖者的列表将被替换成覆盖者的列表", "sync__dislike_mode_overwrite_tip_desc": "被覆盖者的列表将被替换成覆盖者的列表",
"sync__dislike_mode_title": "选择与「{name}」的不喜欢列表同步方式", "sync__dislike_mode_title": "选择与「{name}」的不喜欢的歌曲」列表同步方式",
"sync__list_mode_merge_tip_desc": "将两边的列表合并到一起,相同的歌曲将被去掉(去掉的是被合并者的歌曲),不同的歌曲将被添加。", "sync__list_mode_merge_tip_desc": "将两边的列表合并到一起,相同的歌曲将被去掉(去掉的是被合并者的歌曲),不同的歌曲将被添加。",
"sync__list_mode_other_tip_desc": "“取消同步”将不使用列表同步功能。", "sync__list_mode_other_tip_desc": "“取消同步”将不使用列表同步功能。",
"sync__list_mode_overwrite_tip_desc": "被覆盖者与覆盖者列表 ID 相同的列表将被删除后替换成覆盖者的列表(列表 ID 不同的列表将被合并到一起)。若勾选「完全覆盖」,则被覆盖者的所有列表将被移除,然后替换成覆盖者的列表。", "sync__list_mode_overwrite_tip_desc": "被覆盖者与覆盖者列表 ID 相同的列表将被删除后替换成覆盖者的列表(列表 ID 不同的列表将被合并到一起)。若勾选「完全覆盖」,则被覆盖者的所有列表将被移除,然后替换成覆盖者的列表。",
@ -461,8 +463,8 @@
"timeout_exit_tip_off": "设置定时停止播放", "timeout_exit_tip_off": "设置定时停止播放",
"timeout_exit_tip_on": "{time} 后停止播放", "timeout_exit_tip_on": "{time} 后停止播放",
"toggle_source": "歌曲换源", "toggle_source": "歌曲换源",
"toggle_source_failed": "换源失败,请尝试手动在其他源搜索该歌曲播放", "toggle_source_failed": "换源失败,请尝试手动在搜索页指定其他源搜索该歌曲播放",
"toggle_source_try": "尝试切换到其他源...", "toggle_source_try": "尝试切换到其他源...",
"understand": "已了解 👌", "understand": "已了解 👌",
"user_api__init_failed_alert": "自定义源「{name}」初始化失败:", "user_api__init_failed_alert": "自定义源「{name}」初始化失败:",
"user_api_add_failed_tip": "无效的自定义源文件", "user_api_add_failed_tip": "无效的自定义源文件",

View File

@ -66,22 +66,25 @@
"list_end": "到底啦~", "list_end": "到底啦~",
"list_error": "載入失敗😥,點擊嘗試重新載入", "list_error": "載入失敗😥,點擊嘗試重新載入",
"list_export": "匯出", "list_export": "匯出",
"list_export_part_desc": "選清單檔案儲存位置", "list_export_part_desc": "選清單檔案儲存位置",
"list_import": "匯入", "list_import": "匯入",
"list_import_part_button_cancel": "不要啊", "list_import_part_button_cancel": "不要啊",
"list_import_part_button_confirm": "覆蓋掉", "list_import_part_button_confirm": "覆蓋掉",
"list_import_part_confirm": "匯入的清單({importName})與本機清單({localName})的 ID 相同,是否覆蓋本機清單?", "list_import_part_confirm": "匯入的清單({importName})與本機清單({localName})的 ID 相同,是否覆蓋本機清單?",
"list_import_part_desc": "選清單檔案", "list_import_part_desc": "選清單檔案",
"list_import_tip__alldata": "這是一個「所有資料」備份檔案,你需要去這裡匯入:\n\n設定 → 備份與復原 → 清單資料 → 匯入清單", "list_import_tip__alldata": "這是一個「所有資料」備份檔案,你需要去這裡匯入:\n\n設定 → 備份與復原 → 清單資料 → 匯入清單",
"list_import_tip__failed": "匯入失敗", "list_import_tip__failed": "匯入失敗",
"list_import_tip__playlist": "這是一個「清單」備份檔案,你需要去這裡匯入:\n\n設定 → 備份與復原 → 清單資料 → 匯入清單", "list_import_tip__playlist": "這是一個「清單」備份檔案,你需要去這裡匯入:\n\n設定 → 備份與復原 → 清單資料 → 匯入清單",
"list_import_tip__playlist_part": "這是一個「僅清單」檔案,你需要去這裡匯入:\n\n我的清單 → 點擊任意一個清單名右側的選單按鈕 → 在彈出的選單中選「匯入」", "list_import_tip__playlist_part": "這是一個「僅清單」檔案,你需要去這裡匯入:\n\n我的清單 → 點擊任意一個清單名右側的選單按鈕 → 在彈出的選單中選「匯入」",
"list_import_tip__setting": "這是一個「設定」備份檔案,行動版不支援匯入此類檔案", "list_import_tip__setting": "這是一個「設定」備份檔案,行動版不支援匯入此類檔案",
"list_import_tip__unknown": "未知的檔案類型,請嘗試升級到最新版本後再試", "list_import_tip__unknown": "未知的檔案類型,請嘗試升級到最新版本後再試",
"list_loading": "載入中...", "list_loading": "載入中...",
"list_multi_add_title_first_add": "添加已選的", "list_multi_add_title_first_add": "添加已選的",
"list_multi_add_title_first_move": "移動已選的", "list_multi_add_title_first_move": "移動已選的",
"list_multi_add_title_last": "首歌曲到...", "list_multi_add_title_last": "首歌曲到...",
"list_name_default": "試聽清單",
"list_name_love": "我的最愛",
"list_name_temp": "臨時清單",
"list_remove": "移除", "list_remove": "移除",
"list_remove_music_multi_tip": "你真的想要移除所選的 {num} 首歌曲嗎?", "list_remove_music_multi_tip": "你真的想要移除所選的 {num} 首歌曲嗎?",
"list_remove_tip": "你真的想要移除「{name}」嗎?", "list_remove_tip": "你真的想要移除「{name}」嗎?",
@ -91,7 +94,7 @@
"list_select_all": "全選", "list_select_all": "全選",
"list_select_cancel": "取消", "list_select_cancel": "取消",
"list_select_local_file": "添加本機歌曲", "list_select_local_file": "添加本機歌曲",
"list_select_local_file_desc": "選本機歌曲資料夾", "list_select_local_file_desc": "選本機歌曲資料夾",
"list_select_local_file_empty_tip": "沒有在目前目錄中發現歌曲", "list_select_local_file_empty_tip": "沒有在目前目錄中發現歌曲",
"list_select_local_file_result_failed_tip": "共發現 {total} 首歌曲,成功添加 {success} 首,失敗 {failed} 首,可到錯誤日誌查看添加失敗的歌曲", "list_select_local_file_result_failed_tip": "共發現 {total} 首歌曲,成功添加 {success} 首,失敗 {failed} 首,可到錯誤日誌查看添加失敗的歌曲",
"list_select_local_file_result_tip": "共發現 {total} 首歌曲,已全部添加!", "list_select_local_file_result_tip": "共發現 {total} 首歌曲,已全部添加!",
@ -106,13 +109,12 @@
"list_sort_modal_by_name": "標題", "list_sort_modal_by_name": "標題",
"list_sort_modal_by_random": "隨機亂序", "list_sort_modal_by_random": "隨機亂序",
"list_sort_modal_by_singer": "演出者", "list_sort_modal_by_singer": "演出者",
"list_sort_modal_by_source": "歌曲來源", "list_sort_modal_by_source": "音樂串流平台",
"list_sort_modal_by_time": "長度", "list_sort_modal_by_time": "長度",
"list_sort_modal_by_type": "排序類別", "list_sort_modal_by_type": "排序類別",
"list_sort_modal_by_up": "升序", "list_sort_modal_by_up": "升序",
"list_sync": "更新", "list_sync": "更新",
"list_sync_confirm_tip": "這將會把「{name}」內的歌曲取代成線上清單的歌曲,你確認要更新嗎?", "list_sync_confirm_tip": "這將會把「{name}」內的歌曲取代成線上清單的歌曲,你確認要更新嗎?",
"list_temp": "臨時清單",
"list_update_error": "「{name}」更新失敗", "list_update_error": "「{name}」更新失敗",
"list_update_success": "「{name}」更新成功", "list_update_success": "「{name}」更新成功",
"list_updating": "更新中", "list_updating": "更新中",
@ -143,8 +145,8 @@
"metadata_edit_modal_form_pic": "歌曲專輯封面", "metadata_edit_modal_form_pic": "歌曲專輯封面",
"metadata_edit_modal_form_remove_lyric": "清空", "metadata_edit_modal_form_remove_lyric": "清空",
"metadata_edit_modal_form_remove_pic": "移除圖片", "metadata_edit_modal_form_remove_pic": "移除圖片",
"metadata_edit_modal_form_select_pic": "選圖片", "metadata_edit_modal_form_select_pic": "選圖片",
"metadata_edit_modal_form_select_pic_title": "選歌曲專輯封面圖片", "metadata_edit_modal_form_select_pic_title": "選歌曲專輯封面圖片",
"metadata_edit_modal_form_singer": "演出者", "metadata_edit_modal_form_singer": "演出者",
"metadata_edit_modal_processing": "寫入中...", "metadata_edit_modal_processing": "寫入中...",
"metadata_edit_modal_success": "儲存成功", "metadata_edit_modal_success": "儲存成功",
@ -166,9 +168,9 @@
"ok": "我知道了", "ok": "我知道了",
"open_storage_error_tip": "輸入的路徑不合法", "open_storage_error_tip": "輸入的路徑不合法",
"open_storage_not_found_title": "未找到外部記憶卡,請手動在下方輸入路徑以指定外部儲存器", "open_storage_not_found_title": "未找到外部記憶卡,請手動在下方輸入路徑以指定外部儲存器",
"open_storage_select_managed_folder_failed_tip": "選儲存路徑失敗:{msg}", "open_storage_select_managed_folder_failed_tip": "選儲存路徑失敗:{msg}",
"open_storage_select_path": "開啟儲存路徑", "open_storage_select_path": "開啟儲存路徑",
"open_storage_select_path_tip": "提示:對於外部儲存,在授予儲存權限後仍然無法訪問時,可以點擊下面的按鈕選允許訪問的路徑。", "open_storage_select_path_tip": "提示:對於外部儲存,在授予儲存權限後仍然無法訪問時,可以點擊下面的按鈕選允許訪問的路徑。",
"open_storage_tip": "輸入儲存路徑", "open_storage_tip": "輸入儲存路徑",
"open_storage_title": "請手動在下方輸入路徑以指定外部儲存器", "open_storage_title": "請手動在下方輸入路徑以指定外部儲存器",
"parent_dir_name": "上一級目錄", "parent_dir_name": "上一級目錄",
@ -210,7 +212,7 @@
"search_hot_search": "熱門搜尋", "search_hot_search": "熱門搜尋",
"search_type_music": "歌曲", "search_type_music": "歌曲",
"search_type_songlist": "歌單", "search_type_songlist": "歌單",
"setting__other_dislike_list": "不喜歡的歌曲規則", "setting__other_dislike_list": "不喜歡的歌曲規則",
"setting__other_dislike_list_label": "規則數量:{num}", "setting__other_dislike_list_label": "規則數量:{num}",
"setting__other_dislike_list_saved_tip": "已儲存", "setting__other_dislike_list_saved_tip": "已儲存",
"setting__other_lyric_raw_clear_btn": "清理歌詞快取", "setting__other_lyric_raw_clear_btn": "清理歌詞快取",
@ -218,32 +220,32 @@
"setting__other_meta_cache": "其他快取管理", "setting__other_meta_cache": "其他快取管理",
"setting__other_music_url_clear_btn": "清理歌曲 URL 快取", "setting__other_music_url_clear_btn": "清理歌曲 URL 快取",
"setting__other_music_url_label": "歌曲 URL 數量:", "setting__other_music_url_label": "歌曲 URL 數量:",
"setting__other_other_source_clear_btn": "清理源歌曲快取", "setting__other_other_source_clear_btn": "清理變更來源歌曲快取",
"setting__other_other_source_label": "源歌曲資訊數量:", "setting__other_other_source_label": "變更來源歌曲資訊數量:",
"setting__other_resource_cache": "資源快取管理(包括歌曲、圖片快取)", "setting__other_resource_cache": "資源快取管理(包括歌曲、圖片快取)",
"setting_about": "關於 LX Music", "setting_about": "關於 LX Music",
"setting_backup": "備份與復原", "setting_backup": "備份與復原",
"setting_backup_all": "所有資料(清單資料與設定資料)", "setting_backup_all": "所有資料(清單資料與設定資料)",
"setting_backup_all_export": "匯出", "setting_backup_all_export": "匯出",
"setting_backup_all_export_desc": "選備份儲存位置", "setting_backup_all_export_desc": "選備份儲存位置",
"setting_backup_all_import": "匯入", "setting_backup_all_import": "匯入",
"setting_backup_all_import_desc": "選備份檔案", "setting_backup_all_import_desc": "選備份檔案",
"setting_backup_part": "清單資料(與桌面版清單備檔案通用)", "setting_backup_part": "清單資料(與桌面版清單備檔案通用)",
"setting_backup_part_export_list": "匯出清單", "setting_backup_part_export_list": "匯出清單",
"setting_backup_part_export_list_desc": "選歌單備份檔案儲存位置", "setting_backup_part_export_list_desc": "選歌單備份檔案儲存位置",
"setting_backup_part_export_list_tip_failed": "歌單匯出失敗", "setting_backup_part_export_list_tip_failed": "歌單匯出失敗",
"setting_backup_part_export_list_tip_success": "匯出成功", "setting_backup_part_export_list_tip_success": "匯出成功",
"setting_backup_part_export_list_tip_zip": "📦檔案打包中...\n若檔案太大可能需要一些時間⏳", "setting_backup_part_export_list_tip_zip": "📦檔案打包中...\n若檔案太大可能需要一些時間⏳",
"setting_backup_part_export_setting": "匯出設定", "setting_backup_part_export_setting": "匯出設定",
"setting_backup_part_export_setting_desc": "選設定儲存位置", "setting_backup_part_export_setting_desc": "選設定儲存位置",
"setting_backup_part_import_list": "匯入清單", "setting_backup_part_import_list": "匯入清單",
"setting_backup_part_import_list_desc": "選清單備份檔案", "setting_backup_part_import_list_desc": "選清單備份檔案",
"setting_backup_part_import_list_tip_error": "清單匯入失敗😕", "setting_backup_part_import_list_tip_error": "清單匯入失敗😕",
"setting_backup_part_import_list_tip_running": "🚀正在努力匯入中...\n若清單太大可能需要一些時間⏳", "setting_backup_part_import_list_tip_running": "🚀正在努力匯入中...\n若清單太大可能需要一些時間⏳",
"setting_backup_part_import_list_tip_success": "匯入成功🎉", "setting_backup_part_import_list_tip_success": "匯入成功🎉",
"setting_backup_part_import_list_tip_unzip": "📦檔案解析中...\n若檔案太大可能需要一些時間⏳", "setting_backup_part_import_list_tip_unzip": "📦檔案解析中...\n若檔案太大可能需要一些時間⏳",
"setting_backup_part_import_setting": "匯入設定", "setting_backup_part_import_setting": "匯入設定",
"setting_backup_part_import_setting_desc": "選設定檔", "setting_backup_part_import_setting_desc": "選設定檔",
"setting_basic": "基本設定", "setting_basic": "基本設定",
"setting_basic_always_keep_statusbar_height": "總是保留狀態欄高度", "setting_basic_always_keep_statusbar_height": "總是保留狀態欄高度",
"setting_basic_always_keep_statusbar_height_tip": "預設情況下,軟體會動態判斷是否需要為系統狀態欄保留間距,但如果在你的裝置上出現軟體可互動內容與狀態欄內容顯示重疊的情況,可以啟用該選項以始終為系統狀態欄保留空間。", "setting_basic_always_keep_statusbar_height_tip": "預設情況下,軟體會動態判斷是否需要為系統狀態欄保留間距,但如果在你的裝置上出現軟體可互動內容與狀態欄內容顯示重疊的情況,可以啟用該選項以始終為系統狀態欄保留空間。",
@ -265,22 +267,22 @@
"setting_basic_share_type": "分享方式", "setting_basic_share_type": "分享方式",
"setting_basic_share_type_clipboard": "複製到剪貼簿", "setting_basic_share_type_clipboard": "複製到剪貼簿",
"setting_basic_share_type_system": "使用系統分享", "setting_basic_share_type_system": "使用系統分享",
"setting_basic_show_animation": "顯示切換動畫", "setting_basic_show_animation": "顯示動畫效果",
"setting_basic_show_back_btn": "顯示返回桌布按鈕", "setting_basic_show_back_btn": "顯示返回桌布按鈕",
"setting_basic_show_exit_btn": "顯示退出應用按鈕", "setting_basic_show_exit_btn": "顯示退出應用按鈕",
"setting_basic_source": "音樂 API", "setting_basic_source": "自訂來源 API",
"setting_basic_source_direct": "試聽 API這是最後的選...", "setting_basic_source_direct": "試聽 API這是最後的選...",
"setting_basic_source_status_failed": "初始化失敗", "setting_basic_source_status_failed": "初始化失敗",
"setting_basic_source_status_initing": "初始化中", "setting_basic_source_status_initing": "初始化中",
"setting_basic_source_status_success": "初始化成功", "setting_basic_source_status_success": "初始化成功",
"setting_basic_source_temp": "臨時 API軟體的某些功能不可用建議測試 API 不可用再使用本介面", "setting_basic_source_temp": "臨時 API軟體的某些功能不可用建議測試 API 不可用時再使用這個 API",
"setting_basic_source_test": "測試 API幾乎軟體的所有功能都可用", "setting_basic_source_test": "測試 API幾乎軟體的所有功能都可用",
"setting_basic_source_title": "選擇音樂 API", "setting_basic_source_title": "選取自訂來源 API",
"setting_basic_source_user_api_btn": "音樂 API 管理", "setting_basic_source_user_api_btn": "自訂來源 API 管理",
"setting_basic_sourcename": "歌曲來源名稱", "setting_basic_sourcename": "音樂串流平台名稱",
"setting_basic_sourcename_alias": "別名", "setting_basic_sourcename_alias": "別名",
"setting_basic_sourcename_real": "原名", "setting_basic_sourcename_real": "原名",
"setting_basic_sourcename_title": "選擇歌曲來源名稱類型", "setting_basic_sourcename_title": "選取音樂串流平台名稱類型",
"setting_basic_startup_auto_play": "啟動後自動播放音樂", "setting_basic_startup_auto_play": "啟動後自動播放音樂",
"setting_basic_startup_push_play_detail_screen": "啟動後自動開啟播放詳情頁", "setting_basic_startup_push_play_detail_screen": "啟動後自動開啟播放詳情頁",
"setting_basic_theme": "主題顏色", "setting_basic_theme": "主題顏色",
@ -289,8 +291,8 @@
"setting_basic_theme_font_shadow": "啟用字體陰影", "setting_basic_theme_font_shadow": "啟用字體陰影",
"setting_basic_theme_hide_bg_dark": "隱藏黑色主題背景", "setting_basic_theme_hide_bg_dark": "隱藏黑色主題背景",
"setting_basic_theme_more_btn_show": "更多主題", "setting_basic_theme_more_btn_show": "更多主題",
"setting_basic_use_system_file_selector": "使用系統檔案選器", "setting_basic_use_system_file_selector": "使用系統檔案選器",
"setting_basic_use_system_file_selector_tip": "啟用該選項後,匯入備份檔案、音樂 API 等操作將不需要申請儲存權限,但可能在某些系統上不可用。\n\n若啟用該選項後無法匯入檔案則可關閉該選項回退到軟體內建檔案選器。", "setting_basic_use_system_file_selector_tip": "啟用該選項後,匯入備份檔案、自訂來源 API 等操作將不需要申請儲存權限,但可能在某些系統上不可用。\n\n若啟用該選項後無法匯入檔案則可關閉該選項回退到軟體內建檔案選器。",
"setting_dislike_list_input_tip": "標題@演出者\n標題\n@演出者", "setting_dislike_list_input_tip": "標題@演出者\n標題\n@演出者",
"setting_dislike_list_tips": "1. 每條一行,若歌曲或者演出者名字中存在「@」符號,需要將其取代成「#」\n2. 指定某演出者的某首歌:標題@演出者\n3. 指定某首歌:演出者\n4. 指定某演出者:@演出者", "setting_dislike_list_tips": "1. 每條一行,若歌曲或者演出者名字中存在「@」符號,需要將其取代成「#」\n2. 指定某演出者的某首歌:標題@演出者\n3. 指定某首歌:演出者\n4. 指定某演出者:@演出者",
"setting_list": "清單設定", "setting_list": "清單設定",
@ -300,11 +302,11 @@
"setting_list_click_action": "點擊清單裡的歌曲時自動切換到目前清單播放(僅對歌單、排行榜有效)", "setting_list_click_action": "點擊清單裡的歌曲時自動切換到目前清單播放(僅對歌單、排行榜有效)",
"setting_list_show interval": "顯示歌曲時長", "setting_list_show interval": "顯示歌曲時長",
"setting_list_show_album_name": "顯示歌曲專輯", "setting_list_show_album_name": "顯示歌曲專輯",
"setting_lyric_desktop_permission_tip": "桌面歌詞功能需要在系統權限設定中授予 LX Music 「重疊顯示於其他應用程式上方」權限才能使用,是否去相關頁面授予該權限?",
"setting_lyric_desktop": "桌面歌詞", "setting_lyric_desktop": "桌面歌詞",
"setting_lyric_desktop_enable": "顯示桌面歌詞", "setting_lyric_desktop_enable": "顯示歌詞視窗",
"setting_lyric_desktop_lock": "鎖定歌詞", "setting_lyric_desktop_lock": "鎖定歌詞",
"setting_lyric_desktop_maxlineNum": "最大行數", "setting_lyric_desktop_maxlineNum": "最大行數",
"setting_lyric_desktop_permission_tip": "顯示歌詞視窗功能需要在系統權限設定中授予 LX Music「重疊顯示於其他應用程式上方」權限才能使用是否去相關頁面授予該權限",
"setting_lyric_desktop_single_line": "使用單行歌詞", "setting_lyric_desktop_single_line": "使用單行歌詞",
"setting_lyric_desktop_text_opacity": "歌詞字體透明度", "setting_lyric_desktop_text_opacity": "歌詞字體透明度",
"setting_lyric_desktop_text_size": "歌詞字體大小", "setting_lyric_desktop_text_size": "歌詞字體大小",
@ -333,7 +335,7 @@
"setting_other_log_sync_log": "記錄同步日誌", "setting_other_log_sync_log": "記錄同步日誌",
"setting_other_log_tip_clean_success": "日誌清理完成", "setting_other_log_tip_clean_success": "日誌清理完成",
"setting_other_log_tip_null": "日誌是空的哦~", "setting_other_log_tip_null": "日誌是空的哦~",
"setting_other_log_user_api_log": "記錄音樂 API 日誌", "setting_other_log_user_api_log": "記錄自訂來源 API 日誌",
"setting_play_audio_offload": "啟用音訊移除", "setting_play_audio_offload": "啟用音訊移除",
"setting_play_audio_offload_tip": "啟用音訊移除可以節省耗電量,但在某些裝置上可能會出現所有歌曲都提示「音訊載入出錯」或「無法完整播放整首歌」的問題,這是由於目前系統的 bug 導致的。\n\n對於遇到這個問題的人可以關閉該選項後完全重啟應用再試。", "setting_play_audio_offload_tip": "啟用音訊移除可以節省耗電量,但在某些裝置上可能會出現所有歌曲都提示「音訊載入出錯」或「無法完整播放整首歌」的問題,這是由於目前系統的 bug 導致的。\n\n對於遇到這個問題的人可以關閉該選項後完全重啟應用再試。",
"setting_play_auto_clean_played_list": "自動清空已播放清單", "setting_play_auto_clean_played_list": "自動清空已播放清單",
@ -384,7 +386,7 @@
"songlist_new": "最新", "songlist_new": "最新",
"songlist_open": "匯入", "songlist_open": "匯入",
"songlist_open_input_placeholder": "輸入歌單連結或歌單 ID", "songlist_open_input_placeholder": "輸入歌單連結或歌單 ID",
"songlist_open_input_tip": "1、不支援跨源開啟歌單,請確認要開啟的歌單與目前歌單源是否對應\n2、若遇到無法開啟的歌單連結歡迎回報\n3、酷狗源不支援用歌單 ID 開啟,但支援用酷狗碼開啟", "songlist_open_input_tip": "1. 不支援跨平台開啟歌單,請確認要開啟的歌單與目前歌單的來源平台是否對應\n2. 若遇到無法開啟的歌單連結,歡迎回報\n3. 不支援用歌單 ID 開啟酷狗音樂歌單,但支援用酷狗碼開啟",
"songlist_recommend": "推薦", "songlist_recommend": "推薦",
"songlist_rise": "飆升", "songlist_rise": "飆升",
"songlist_tag_default": "預設", "songlist_tag_default": "預設",
@ -406,19 +408,19 @@
"source_real_wy": "網易音樂", "source_real_wy": "網易音樂",
"stop": "停止", "stop": "停止",
"stopped": "已停止", "stopped": "已停止",
"storage_file_no_match": "選的檔案不符合要求!", "storage_file_no_match": "選的檔案不符合要求!",
"storage_file_no_select_file_failed_tip": "使用系統檔案選擇器選擇檔案失敗,是否回退到軟體內建檔案選擇器?", "storage_file_no_select_file_failed_tip": "使用系統檔案選取器選取檔案失敗,是否回退到軟體內建檔案選取器?",
"storage_permission_tip_disagree": "你個騙紙,剛剛問你,你都說同意的,最後又拒絕,哼 🥺", "storage_permission_tip_disagree": "你個騙紙,剛剛問你,你都說同意的,最後又拒絕,哼 🥺",
"storage_permission_tip_disagree_ask_again": "該功能無法使用,因為你已經永久拒絕洛雪訪問手機儲存😫。\n若想繼續你需要去👉系統權限管理👈將洛雪的儲存權限設定為「允許」", "storage_permission_tip_disagree_ask_again": "該功能無法使用,因為你已經永久拒絕洛雪訪問手機儲存😫。\n若想繼續你需要去👉系統權限管理👈將洛雪的儲存權限設定為「允許」",
"storage_permission_tip_request": "使用該功能需要允許洛雪訪問手機儲存,是否同意並繼續?", "storage_permission_tip_request": "使用該功能需要允許洛雪訪問手機儲存,是否同意並繼續?",
"sync__dislike_mode_merge_tip_desc": "合併兩邊清單內容並去重", "sync__dislike_mode_merge_tip_desc": "合併兩邊清單內容並去重",
"sync__dislike_mode_other_tip_desc": "「取消同步」將不使用「不喜歡的歌曲」清單同步功能", "sync__dislike_mode_other_tip_desc": "「取消同步」將不使用「不喜歡的歌曲」清單同步功能",
"sync__dislike_mode_overwrite_tip_desc": "被覆蓋者的清單將被取代成覆蓋者的清單", "sync__dislike_mode_overwrite_tip_desc": "被覆蓋者的清單將被取代成覆蓋者的清單",
"sync__dislike_mode_title": "選與「{name}」的「不喜歡的歌曲」清單同步方式", "sync__dislike_mode_title": "選與「{name}」的「不喜歡的歌曲」清單同步方式",
"sync__list_mode_merge_tip_desc": "將兩邊的清單合併到一起,相同的歌曲將被去掉(去掉的是被合併者的歌曲),不同的歌曲將被添加。", "sync__list_mode_merge_tip_desc": "將兩邊的清單合併到一起,相同的歌曲將被去掉(去掉的是被合併者的歌曲),不同的歌曲將被添加。",
"sync__list_mode_other_tip_desc": "「取消同步」將不使用清單同步功能。", "sync__list_mode_other_tip_desc": "「取消同步」將不使用清單同步功能。",
"sync__list_mode_overwrite_tip_desc": "被覆蓋者與覆蓋者清單 ID 相同的清單將被刪除後取代成覆蓋者的清單(清單 ID 不同的清單將被合併到一起)。若勾選「完全覆蓋」,則被覆蓋者的所有清單將被移除,然後取代成覆蓋者的清單。", "sync__list_mode_overwrite_tip_desc": "被覆蓋者與覆蓋者清單 ID 相同的清單將被刪除後取代成覆蓋者的清單(清單 ID 不同的清單將被合併到一起)。若勾選「完全覆蓋」,則被覆蓋者的所有清單將被移除,然後取代成覆蓋者的清單。",
"sync__list_mode_title": "選與「{name}」的清單同步方式", "sync__list_mode_title": "選與「{name}」的清單同步方式",
"sync__mode_merge_btn_local_remote": "「本機清單」合併「遠端清單」", "sync__mode_merge_btn_local_remote": "「本機清單」合併「遠端清單」",
"sync__mode_merge_btn_remote_local": "「遠端清單」合併「本機清單」", "sync__mode_merge_btn_remote_local": "「遠端清單」合併「本機清單」",
"sync__mode_merge_tip": "合併:", "sync__mode_merge_tip": "合併:",
@ -458,12 +460,12 @@
"timeout_exit_tip_max": "最多只能設定 {num} 分鐘哦", "timeout_exit_tip_max": "最多只能設定 {num} 分鐘哦",
"timeout_exit_tip_off": "設定定時停止播放", "timeout_exit_tip_off": "設定定時停止播放",
"timeout_exit_tip_on": "{time} 後停止播放", "timeout_exit_tip_on": "{time} 後停止播放",
"toggle_source": "歌曲換源", "toggle_source": "變更來源",
"toggle_source_failed": "換源失敗,請嘗試手動在其他來源搜尋該歌曲播放", "toggle_source_failed": "變更來源失敗,請嘗試手動在搜尋頁指定其他音樂串流平台搜尋該歌曲播放",
"toggle_source_try": "嘗試切換到其他源...", "toggle_source_try": "嘗試變更到其他來源...",
"understand": "已了解 👌", "understand": "已了解 👌",
"user_api__init_failed_alert": "音樂 API「{name}」初始化失敗:", "user_api__init_failed_alert": "自訂來源 API「{name}」初始化失敗:",
"user_api_add_failed_tip": "無效的音樂 API 檔案", "user_api_add_failed_tip": "無效的自訂來源 API 檔案",
"user_api_allow_show_update_alert": "允許顯示更新彈出視窗", "user_api_allow_show_update_alert": "允許顯示更新彈出視窗",
"user_api_btn_import": "匯入", "user_api_btn_import": "匯入",
"user_api_btn_import_local": "從本機匯入", "user_api_btn_import_local": "從本機匯入",
@ -472,15 +474,15 @@
"user_api_btn_import_online_input_loading": "匯入中...", "user_api_btn_import_online_input_loading": "匯入中...",
"user_api_btn_import_online_input_tip": "請輸入 HTTP 連結", "user_api_btn_import_online_input_tip": "請輸入 HTTP 連結",
"user_api_empty": "這裡竟然是空的 😲", "user_api_empty": "這裡竟然是空的 😲",
"user_api_import_desc": "選擇音樂 API 檔案", "user_api_import_desc": "選取自訂來源 API 檔案",
"user_api_import_failed_tip": "音樂 API 匯入失敗:\n{message}", "user_api_import_failed_tip": "自訂來源 API 匯入失敗:\n{message}",
"user_api_import_success_tip": "匯入成功 🎉", "user_api_import_success_tip": "匯入成功 🎉",
"user_api_max_tip": "最多只能同時存在 20 個 API 哦🤪\n想要繼續匯入的話請先移除一些舊的 API 騰出位置吧", "user_api_max_tip": "最多只能同時存在 20 個 API 哦🤪\n想要繼續匯入的話請先移除一些舊的 API 騰出位置吧",
"user_api_note": "提示:雖然我們已經盡可能地隔離了腳本的執行環境,但匯入包含惡意行為的腳本仍可能會影響你的系統,請謹慎匯入。", "user_api_note": "提示:雖然我們已經盡可能地隔離了 API 腳本的執行環境,但匯入包含惡意行為的 API 腳本仍可能會影響你的系統,請謹慎匯入。",
"user_api_readme": "API 編寫說明:", "user_api_readme": "API 編寫說明:",
"user_api_remove_tip": "你真的要移除「{name}」嗎?", "user_api_remove_tip": "你真的要移除「{name}」嗎?",
"user_api_title": "音樂 API 管理(實驗性)", "user_api_title": "自訂來源 API 管理(實驗性)",
"user_api_update_alert": "音樂 API「{name}」發現新版本", "user_api_update_alert": "自訂來源 API「{name}」發現新版本",
"user_api_update_alert_open_url": "開啟更新位址", "user_api_update_alert_open_url": "開啟更新位址",
"version_btn_close": "關閉", "version_btn_close": "關閉",
"version_btn_downloading": "正在努力下載中... {current}/{total} ({progress}%)", "version_btn_downloading": "正在努力下載中... {current}/{total} ({progress}%)",
@ -499,7 +501,7 @@
"version_tip_downloaded": "安裝包已經下載完畢。", "version_tip_downloaded": "安裝包已經下載完畢。",
"version_tip_failed": "安裝包下載失敗,你可以重試或者去項目位址手動下載新版更新。\n💡提示一般多點幾次重試即可正常更新", "version_tip_failed": "安裝包下載失敗,你可以重試或者去項目位址手動下載新版更新。\n💡提示一般多點幾次重試即可正常更新",
"version_tip_latest": "軟體已是最新,盡情地體驗吧~🥂", "version_tip_latest": "軟體已是最新,盡情地體驗吧~🥂",
"version_tip_min": "已切換到後台下載,你可以去「設定 → 軟體更新」重新開啟本彈出視窗哦", "version_tip_min": "已切換到後台下載,你可以去「設定 → 軟體更新」重新開啟本視窗哦",
"version_tip_unknown": "獲取最新版本資訊失敗,建議手動去項目位址檢查是否有新版本", "version_tip_unknown": "獲取最新版本資訊失敗,建議手動去項目位址檢查是否有新版本",
"version_title_checking": "⏳ 檢查更新中 ⏳", "version_title_checking": "⏳ 檢查更新中 ⏳",
"version_title_failed": "❌ 下載失敗 ❌", "version_title_failed": "❌ 下載失敗 ❌",

View File

@ -36,8 +36,8 @@ const Content = () => {
<Text style={styles.title} size={18} ></Text> <Text style={styles.title} size={18} ></Text>
<ScrollView style={styles.content} keyboardShouldPersistTaps={'always'}> <ScrollView style={styles.content} keyboardShouldPersistTaps={'always'}>
{!settingState.setting['common.isAgreePact'] && <Text selectable style={styles.bold} >使使使{'\n'}</Text>} {!settingState.setting['common.isAgreePact'] && <Text selectable style={styles.bold} >使使使{'\n'}</Text>}
<Text selectable style={styles.text} > <Text onPress={openLicensePage} style={textLinkStyle}>Apache License 2.0</Text> Apache License 2.0 {'\n'}</Text> <Text selectable style={styles.text} > <Text onPress={openLicensePage} style={textLinkStyle}>Apache License 2.0</Text> Apache License 2.0 {'\n'}</Text>
<Text selectable style={styles.text} > LX Music使使{'\n'}</Text> <Text selectable style={styles.text} > LX Music使使{'\n'}</Text>
<Text selectable style={styles.bold} >{'\n'}</Text> <Text selectable style={styles.bold} >{'\n'}</Text>
<Text selectable style={styles.text} >1.1 APP {'\n'}</Text> <Text selectable style={styles.text} >1.1 APP {'\n'}</Text>
<Text selectable style={styles.text} >1.2 使线线使使{'\n'}</Text> <Text selectable style={styles.text} >1.2 使线线使使{'\n'}</Text>
@ -51,8 +51,8 @@ const Content = () => {
<Text selectable style={styles.bold} >{'\n'}</Text> <Text selectable style={styles.bold} >{'\n'}</Text>
<Text selectable style={styles.text} >5.1 使使使使{'\n'}</Text> <Text selectable style={styles.text} >5.1 使使使使{'\n'}</Text>
<Text selectable style={styles.bold} >使{'\n'}</Text> <Text selectable style={styles.bold} >使{'\n'}</Text>
<Text selectable style={styles.text} >6.1 <Text onPress={openHomePage} style={textLinkStyle}>GitHub</Text> {'\n'}</Text> <Text selectable style={styles.text} >6.1 <Text onPress={openHomePage} style={textLinkStyle}>GitHub</Text> {'\n'}</Text>
<Text selectable style={styles.text} >6.2 <Text style={styles.bold}>使</Text>使使使{'\n'}</Text> <Text selectable style={styles.text} >6.2 <Text style={styles.bold}>使</Text>使使使{'\n'}</Text>
<Text selectable style={styles.bold} >{'\n'}</Text> <Text selectable style={styles.bold} >{'\n'}</Text>
<Text selectable style={styles.text} >7.1 {'\n'}</Text> <Text selectable style={styles.text} >7.1 {'\n'}</Text>
<Text selectable style={styles.bold} >{'\n'}</Text> <Text selectable style={styles.bold} >{'\n'}</Text>

View File

@ -1,4 +1,4 @@
import { forwardRef, useEffect, useImperativeHandle, useState } from 'react' import { forwardRef, useEffect, useImperativeHandle, useMemo, useState } from 'react'
import { TouchableOpacity } from 'react-native' import { TouchableOpacity } from 'react-native'
import { Icon } from '@/components/common/Icon' import { Icon } from '@/components/common/Icon'
@ -12,6 +12,7 @@ import { setActiveList } from '@/core/list'
import Text from '@/components/common/Text' import Text from '@/components/common/Text'
import { LIST_IDS } from '@/config/constant' import { LIST_IDS } from '@/config/constant'
import Loading from '@/components/common/Loading' import Loading from '@/components/common/Loading'
import { useSettingValue } from '@/store/setting/hook'
export interface ActiveListProps { export interface ActiveListProps {
onShowSearchBar: () => void onShowSearchBar: () => void
@ -25,9 +26,20 @@ export default forwardRef<ActiveListType, ActiveListProps>(({ onShowSearchBar, o
const theme = useTheme() const theme = useTheme()
const currentListId = useActiveListId() const currentListId = useActiveListId()
const fetching = useListFetching(currentListId) const fetching = useListFetching(currentListId)
let currentListName = currentListId == LIST_IDS.TEMP const langId = useSettingValue('common.langId')
? global.i18n.t(`list_${LIST_IDS.TEMP}`) const currentListName = useMemo(() => {
: listState.allList.find(l => l.id === currentListId)?.name ?? '' switch (currentListId) {
case LIST_IDS.TEMP:
return global.i18n.t('list_name_temp')
case LIST_IDS.DEFAULT:
return global.i18n.t('list_name_default')
case LIST_IDS.LOVE:
return global.i18n.t('list_name_love')
default:
return listState.allList.find(l => l.id === currentListId)?.name ?? ''
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [currentListId, langId])
const [visibleBar, setVisibleBar] = useState(true) const [visibleBar, setVisibleBar] = useState(true)
useImperativeHandle(ref, () => ({ useImperativeHandle(ref, () => ({

View File

@ -4,11 +4,23 @@ import { getListMusics } from '@/core/list'
export const useMyList = () => { export const useMyList = () => {
const [lists, setList] = useState(state.allList) const [lists, setList] = useState(state.allList)
lists[0].name = global.i18n.t('list_name_default')
lists[1].name = global.i18n.t('list_name_love')
useEffect(() => { useEffect(() => {
const handleConfigUpdate = (keys: Array<keyof LX.AppSetting>) => {
if (!keys.includes('common.langId')) return
setList((lists) => {
lists[0].name = global.i18n.t('list_name_default')
lists[1].name = global.i18n.t('list_name_love')
return [...lists]
})
}
global.state_event.on('mylistUpdated', setList) global.state_event.on('mylistUpdated', setList)
global.state_event.on('configUpdated', handleConfigUpdate)
return () => { return () => {
global.state_event.off('mylistUpdated', setList) global.state_event.off('mylistUpdated', setList)
global.state_event.off('configUpdated', handleConfigUpdate)
} }
}, []) }, [])