diff --git a/lib/data/app_torrent_data.dart b/lib/data/app_torrent_data.dart index b2b05af..f83e4d3 100644 --- a/lib/data/app_torrent_data.dart +++ b/lib/data/app_torrent_data.dart @@ -1,27 +1,32 @@ /// name : "Data.p4k" -/// update_at : "2024-02-24 18:00" -/// url : "https://p4k.42kit.com/3.22.1-LIVE.9072370/Data.p4k.torrent" +/// update_at : "2024-09-03 15:00" +/// url : "https://p4k.42kit.com/3.24.1-LIVE.9234446/Data.p4k.torrent" +/// info : "3.24.1-LIVE.9234446" class AppTorrentData { AppTorrentData({ this.name, this.updateAt, - this.url,}); + this.url, + this.info,}); AppTorrentData.fromJson(dynamic json) { name = json['name']; updateAt = json['update_at']; url = json['url']; + info = json['info']; } String? name; String? updateAt; String? url; + String? info; Map toJson() { final map = {}; map['name'] = name; map['update_at'] = updateAt; map['url'] = url; + map['info'] = info; return map; } diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index cf5e91b..8bcad21 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -142,34 +142,37 @@ class MessageLookup extends MessageLookupByLibrary { "If you have a problem with the NVME patch, run this tool. (It may cause game installation/update to be unavailable.)\n\nCurrent patch status: ${v0}"; static String m51(v0) => - "In some cases, the LOG file of the RSI promoter will be damaged, causing the problem to be scanned, and using this tool to clean up the damaged log file.\n\nCurrent log file size: ${v0} MB"; + "The diversion download service provided by citizenwiki.cn can be used to download or fix P4K.\nVersion info:${v0}"; static String m52(v0) => + "In some cases, the LOG file of the RSI promoter will be damaged, causing the problem to be scanned, and using this tool to clean up the damaged log file.\n\nCurrent log file size: ${v0} MB"; + + static String m53(v0) => "If the game screen appears abnormal or the version is updated, you can use the tool to clean the expired color (when it is greater than 500m, it is recommended to clean it)\n\nCache size: ${v0} MB"; - static String m53(v0, v1, v2, v3, v4) => + static String m54(v0, v1, v2, v3, v4) => "System: ${v0}\n\nProcessor: ${v1}\n\nMemory size: ${v2} gb\n\nGraphics card information:\n${v3}\n\nStorage information:\n${v4}\n\n"; - static String m54(v0) => "Failure to handle! : ${v0}"; + static String m55(v0) => "Failure to handle! : ${v0}"; - static String m55(v0) => "Read the RSI Launcher information failure: ${v0}"; + static String m56(v0) => "Read the RSI Launcher information failure: ${v0}"; - static String m56(v0) => "Patch status: ${v0}"; + static String m57(v0) => "Patch status: ${v0}"; - static String m57(v0) => + static String m58(v0) => "Internal version information of the RSI Launcher: ${v0}"; - static String m58(v0) => "Open the file: ${v0}"; + static String m59(v0) => "Open the file: ${v0}"; - static String m59(v0, v1) => "After loading: ${v0} a file, time: ${v1} ms"; + static String m60(v0, v1) => "After loading: ${v0} a file, time: ${v1} ms"; - static String m60(v0) => "Read file: ${v0} ..."; + static String m61(v0) => "Read file: ${v0} ..."; - static String m61(v0, v1) => "Processing files (${v0}/${v1}) ..."; + static String m62(v0, v1) => "Processing files (${v0}/${v1}) ..."; - static String m62(v0) => "Unknown file type\n${v0}"; + static String m63(v0) => "Unknown file type\n${v0}"; - static String m63(v0) => "P4k viewer -> ${v0}"; + static String m64(v0) => "P4k viewer -> ${v0}"; final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { @@ -1023,9 +1026,7 @@ class MessageLookup extends MessageLookupByLibrary { "tools_action_info_p4k_download_in_progress": MessageLookupByLibrary.simpleMessage( "There is already a P4K download task in progress, please go to the download manager to view!"), - "tools_action_info_p4k_download_repair_tip": - MessageLookupByLibrary.simpleMessage( - "The diversion download service provided by citizenwiki.cn can be used to download or fix P4K.\nLimited resources, please do not abuse."), + "tools_action_info_p4k_download_repair_tip": m51, "tools_action_info_p4k_file_description": MessageLookupByLibrary.simpleMessage( "P4K is the core game file of interstellar citizens, as high as 100GB+. The offline download provided by the box is to help some P4K files download super slow users or to repair the P4K file that the official launch cannot be repaired.\n\nNext, you will pop up the window and ask you to save the position (you can choose the Star Citizens Folder or you can choose elsewhere). After downloading, please make sure that the P4K folder is located in the LIVE folder, and then use the RSI Launcher to check it."), @@ -1040,7 +1041,7 @@ class MessageLookup extends MessageLookupByLibrary { "tools_action_info_rsi_launcher_directory_not_found": MessageLookupByLibrary.simpleMessage( "If the RSI Launcher directory is not found, please try manually."), - "tools_action_info_rsi_launcher_log_issue": m51, + "tools_action_info_rsi_launcher_log_issue": m52, "tools_action_info_rsi_launcher_not_found": MessageLookupByLibrary.simpleMessage( "If the RSI label is not found, try to reinstall it or add it manually in the settings."), @@ -1049,11 +1050,11 @@ class MessageLookup extends MessageLookupByLibrary { "The RSI Launcher is running! Please turn off the label first and then use this feature!"), "tools_action_info_run_rsi_as_admin": MessageLookupByLibrary.simpleMessage( "Run RSI startups as an administrator may solve some problems.\n\nIf the energy efficiency core shielding parameters are set, it will also be applied here."), - "tools_action_info_shader_cache_issue": m52, + "tools_action_info_shader_cache_issue": m53, "tools_action_info_star_citizen_not_found": MessageLookupByLibrary.simpleMessage( "If the interstellar game installation location is not found, please complete the game startup operation at least once or add it manually in the settings."), - "tools_action_info_system_info_content": m53, + "tools_action_info_system_info_content": m54, "tools_action_info_system_info_title": MessageLookupByLibrary.simpleMessage("System message"), "tools_action_info_valid_game_directory_needed": @@ -1115,7 +1116,7 @@ class MessageLookup extends MessageLookupByLibrary { "tools_info_game_install_location": MessageLookupByLibrary.simpleMessage( "Game installation location: "), - "tools_info_processing_failed": m54, + "tools_info_processing_failed": m55, "tools_info_rsi_launcher_location": MessageLookupByLibrary.simpleMessage("RSI Launcher position:"), "tools_info_scanning": @@ -1140,14 +1141,14 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage( "Reading the Launcher information failed!"), "tools_rsi_launcher_enhance_msg_error_get_launcher_info_error_with_args": - m55, + m56, "tools_rsi_launcher_enhance_msg_error_launcher_notfound": MessageLookupByLibrary.simpleMessage("No RSI promoter was found"), - "tools_rsi_launcher_enhance_msg_patch_status": m56, + "tools_rsi_launcher_enhance_msg_patch_status": m57, "tools_rsi_launcher_enhance_msg_uninstall": MessageLookupByLibrary.simpleMessage( "* If you need to uninstall the enhanced patch, cover the installation RSI promoter."), - "tools_rsi_launcher_enhance_msg_version": m57, + "tools_rsi_launcher_enhance_msg_version": m58, "tools_rsi_launcher_enhance_note_msg": MessageLookupByLibrary.simpleMessage( "RSI Launcher enhancement is a community function. It will unpack \"RSI LAUNCHER\" on your computer and add additional enhancement functions. What functions are determined by you.\n\nAt present, the official (CIG) only permits us to perform multi -language operations. The launch of the booter download enhancement is an extra function we think of it. Violation of the CIG user protocol (https://robertsspaceindustries.com/eula) may cause serious consequences such as accounts. Whether or not you are determined by yourself, we are not responsible for the possible consequences (game damage, account ban, etc.).\n\nFor the modified content of the Launcher, we are open from: https://github.com/starcitizentoolbox/rsilauncherenhance. If necessary, you can check it yourself.\n\nIf you need to cancel this enhanced patch for any reason, cover the installation of the official RSI Launcher directly."), "tools_rsi_launcher_enhance_note_title": @@ -1179,16 +1180,16 @@ class MessageLookup extends MessageLookupByLibrary { "Use this function to install the .NET8 runtime, please click the button below to download and install it. After the installation is successful, reopen this page to continue to use."), "tools_unp4k_msg_init": MessageLookupByLibrary.simpleMessage("Initialization ..."), - "tools_unp4k_msg_open_file": m58, - "tools_unp4k_msg_read_completed": m59, - "tools_unp4k_msg_read_file": m60, + "tools_unp4k_msg_open_file": m59, + "tools_unp4k_msg_read_completed": m60, + "tools_unp4k_msg_read_file": m61, "tools_unp4k_msg_reading": MessageLookupByLibrary.simpleMessage("Reading P4K file ..."), "tools_unp4k_msg_reading2": MessageLookupByLibrary.simpleMessage("Treatment files ..."), - "tools_unp4k_msg_reading3": m61, - "tools_unp4k_msg_unknown_file_type": m62, - "tools_unp4k_title": m63, + "tools_unp4k_msg_reading3": m62, + "tools_unp4k_msg_unknown_file_type": m63, + "tools_unp4k_title": m64, "tools_unp4k_view_file": MessageLookupByLibrary.simpleMessage("Click the file to preview"), "webview_localization_finished_invitations": diff --git a/lib/generated/intl/messages_zh_CN.dart b/lib/generated/intl/messages_zh_CN.dart index 4397ab8..575d4eb 100644 --- a/lib/generated/intl/messages_zh_CN.dart +++ b/lib/generated/intl/messages_zh_CN.dart @@ -128,34 +128,36 @@ class MessageLookup extends MessageLookupByLibrary { static String m50(v0) => "若您使用 nvme 补丁出现问题,请运行此工具。(可能导致游戏 安装/更新 不可用。)\n\n当前补丁状态:${v0}"; - static String m51(v0) => - "在某些情况下 RSI启动器 的 log 文件会损坏,导致无法完成问题扫描,使用此工具清理损坏的 log 文件。\n\n当前日志文件大小:${v0} MB"; + static String m51(v0) => "使用星际公民中文百科提供的分流下载服务,可用于下载或修复 p4k。 \n版本信息:${v0}"; static String m52(v0) => + "在某些情况下 RSI启动器 的 log 文件会损坏,导致无法完成问题扫描,使用此工具清理损坏的 log 文件。\n\n当前日志文件大小:${v0} MB"; + + static String m53(v0) => "若游戏画面出现异常或版本更新后可使用本工具清理过期的着色器(当大于500M时,建议清理) \n\n缓存大小:${v0} MB"; - static String m53(v0, v1, v2, v3, v4) => + static String m54(v0, v1, v2, v3, v4) => "系统:${v0}\n\n处理器:${v1}\n\n内存大小:${v2}GB\n\n显卡信息:\n${v3}\n\n硬盘信息:\n${v4}\n\n"; - static String m54(v0) => "处理失败!:${v0}"; + static String m55(v0) => "处理失败!:${v0}"; - static String m55(v0) => "读取启动器信息失败:${v0}"; + static String m56(v0) => "读取启动器信息失败:${v0}"; - static String m56(v0) => "补丁状态:${v0}"; + static String m57(v0) => "补丁状态:${v0}"; - static String m57(v0) => "启动器内部版本信息:${v0}"; + static String m58(v0) => "启动器内部版本信息:${v0}"; - static String m58(v0) => "打开文件:${v0}"; + static String m59(v0) => "打开文件:${v0}"; - static String m59(v0, v1) => "加载完毕:${v0} 个文件,用时:${v1} ms"; + static String m60(v0, v1) => "加载完毕:${v0} 个文件,用时:${v1} ms"; - static String m60(v0) => "读取文件:${v0} ..."; + static String m61(v0) => "读取文件:${v0} ..."; - static String m61(v0, v1) => "正在处理文件 (${v0}/${v1}) ..."; + static String m62(v0, v1) => "正在处理文件 (${v0}/${v1}) ..."; - static String m62(v0) => "未知文件类型\n${v0}"; + static String m63(v0) => "未知文件类型\n${v0}"; - static String m63(v0) => "P4K 查看器 -> ${v0}"; + static String m64(v0) => "P4K 查看器 -> ${v0}"; final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { @@ -915,9 +917,7 @@ class MessageLookup extends MessageLookupByLibrary { "tools_action_info_p4k_download_in_progress": MessageLookupByLibrary.simpleMessage( "已经有一个p4k下载任务正在进行中,请前往下载管理器查看!"), - "tools_action_info_p4k_download_repair_tip": - MessageLookupByLibrary.simpleMessage( - "使用星际公民中文百科提供的分流下载服务,可用于下载或修复 p4k。 \n资源有限,请勿滥用。"), + "tools_action_info_p4k_download_repair_tip": m51, "tools_action_info_p4k_file_description": MessageLookupByLibrary.simpleMessage( "P4k 是星际公民的核心游戏文件,高达 100GB+,盒子提供的离线下载是为了帮助一些p4k文件下载超级慢的用户 或用于修复官方启动器无法修复的 p4k 文件。\n\n接下来会弹窗询问您保存位置(可以选择星际公民文件夹也可以选择别处),下载完成后请确保 P4K 文件夹位于 LIVE 文件夹内,之后使用星际公民启动器校验更新即可。"), @@ -930,7 +930,7 @@ class MessageLookup extends MessageLookupByLibrary { "还原镜头摇晃效果。\n\n@拉邦那 Lapernum 提供参数信息。"), "tools_action_info_rsi_launcher_directory_not_found": MessageLookupByLibrary.simpleMessage("未找到 RSI 启动器目录,请您尝试手动操作。"), - "tools_action_info_rsi_launcher_log_issue": m51, + "tools_action_info_rsi_launcher_log_issue": m52, "tools_action_info_rsi_launcher_not_found": MessageLookupByLibrary.simpleMessage( "未找到 RSI 启动器,请尝试重新安装,或在设置中手动添加。"), @@ -939,11 +939,11 @@ class MessageLookup extends MessageLookupByLibrary { "tools_action_info_run_rsi_as_admin": MessageLookupByLibrary.simpleMessage( "以管理员身份运行RSI启动器,可能会解决一些问题。\n\n若设置了能效核心屏蔽参数,也会在此应用。"), - "tools_action_info_shader_cache_issue": m52, + "tools_action_info_shader_cache_issue": m53, "tools_action_info_star_citizen_not_found": MessageLookupByLibrary.simpleMessage( "未找到星际公民游戏安装位置,请至少完成一次游戏启动操作 或在设置中手动添加。"), - "tools_action_info_system_info_content": m53, + "tools_action_info_system_info_content": m54, "tools_action_info_system_info_title": MessageLookupByLibrary.simpleMessage("系统信息"), "tools_action_info_valid_game_directory_needed": @@ -993,7 +993,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("正在写入 Hosts ..."), "tools_info_game_install_location": MessageLookupByLibrary.simpleMessage("游戏安装位置: "), - "tools_info_processing_failed": m54, + "tools_info_processing_failed": m55, "tools_info_rsi_launcher_location": MessageLookupByLibrary.simpleMessage("RSI启动器位置:"), "tools_info_scanning": MessageLookupByLibrary.simpleMessage("正在扫描..."), @@ -1012,13 +1012,13 @@ class MessageLookup extends MessageLookupByLibrary { "tools_rsi_launcher_enhance_msg_error_get_launcher_info_error": MessageLookupByLibrary.simpleMessage("读取启动器信息失败!"), "tools_rsi_launcher_enhance_msg_error_get_launcher_info_error_with_args": - m55, + m56, "tools_rsi_launcher_enhance_msg_error_launcher_notfound": MessageLookupByLibrary.simpleMessage("未找到 RSI 启动器"), - "tools_rsi_launcher_enhance_msg_patch_status": m56, + "tools_rsi_launcher_enhance_msg_patch_status": m57, "tools_rsi_launcher_enhance_msg_uninstall": MessageLookupByLibrary.simpleMessage("* 如需卸载增强补丁,请覆盖安装 RSI 启动器。"), - "tools_rsi_launcher_enhance_msg_version": m57, + "tools_rsi_launcher_enhance_msg_version": m58, "tools_rsi_launcher_enhance_note_msg": MessageLookupByLibrary.simpleMessage( "RSI 启动器增强是一项社区功能,它会在您的电脑上解包 \"RSI Launcher\" 并加入额外的增强功能,具体使用哪些功能由您决定。\n\n目前,官方(CIG)仅许可我们进行多语言操作,启动器下载增强是我们认为有用的额外功能,违反cig用户协议(https://robertsspaceindustries.com/eula)可能导致账号被封禁等严重后果,是否启用由您自己决定,我们不对可能产生的后果(游戏损坏,账号封禁等)承担任何责任。\n\n对于启动器的修改内容,我们开源于:https://github.com/StarCitizenToolBox/RSILauncherEnhance,如有需要,您可自行查阅。\n\n如果您因为任何原因需要取消此增强补丁,请直接覆盖安装官方启动器。"), "tools_rsi_launcher_enhance_note_title": @@ -1046,16 +1046,16 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage( "使用此功能需安装 .NET8 运行库,请点击下方按钮下载安装,安装成功后重新打开此页面即可继续使用。"), "tools_unp4k_msg_init": MessageLookupByLibrary.simpleMessage("初始化中..."), - "tools_unp4k_msg_open_file": m58, - "tools_unp4k_msg_read_completed": m59, - "tools_unp4k_msg_read_file": m60, + "tools_unp4k_msg_open_file": m59, + "tools_unp4k_msg_read_completed": m60, + "tools_unp4k_msg_read_file": m61, "tools_unp4k_msg_reading": MessageLookupByLibrary.simpleMessage("正在读取P4K 文件 ..."), "tools_unp4k_msg_reading2": MessageLookupByLibrary.simpleMessage("正在处理文件 ..."), - "tools_unp4k_msg_reading3": m61, - "tools_unp4k_msg_unknown_file_type": m62, - "tools_unp4k_title": m63, + "tools_unp4k_msg_reading3": m62, + "tools_unp4k_msg_unknown_file_type": m63, + "tools_unp4k_title": m64, "tools_unp4k_view_file": MessageLookupByLibrary.simpleMessage("单击文件以预览"), "webview_localization_finished_invitations": diff --git a/lib/generated/intl/messages_zh_TW.dart b/lib/generated/intl/messages_zh_TW.dart index ebb66ca..787acb3 100644 --- a/lib/generated/intl/messages_zh_TW.dart +++ b/lib/generated/intl/messages_zh_TW.dart @@ -128,34 +128,36 @@ class MessageLookup extends MessageLookupByLibrary { static String m50(v0) => "若您使用 nvme 補丁出現問題,請執行此工具。(可能導致遊戲 安裝/更新 無法使用。)\n\n目前補丁狀態:${v0}"; - static String m51(v0) => - "在某些情況下 RSI啟動器 的 log 文件會損壞,導致無法完成問題掃描,使用此工具清理損壞的 log 文件。\n\n目前日誌檔案大小:${v0} MB"; + static String m51(v0) => "使用星際公民中文百科提供的分流下載服務,可用於下載或修復 p4k。 \n版本資訊:${v0}"; static String m52(v0) => + "在某些情況下 RSI啟動器 的 log 文件會損壞,導致無法完成問題掃描,使用此工具清理損壞的 log 文件。\n\n目前日誌檔案大小:${v0} MB"; + + static String m53(v0) => "若遊戲畫面出現異常或版本更新後可使用此工具清除著色器快取 \n\n建議清理:快取大於 500 MB\n快取大小:${v0} MB"; - static String m53(v0, v1, v2, v3, v4) => + static String m54(v0, v1, v2, v3, v4) => "系統:${v0}\n\n處理器:${v1}\n\n記憶體:${v2}GB\n\n顯示卡:\n${v3}\n\n硬碟:\n${v4}\n\n"; - static String m54(v0) => "處理失敗!:${v0}"; + static String m55(v0) => "處理失敗!:${v0}"; - static String m55(v0) => "讀取啟動器資訊失敗:${v0}"; + static String m56(v0) => "讀取啟動器資訊失敗:${v0}"; - static String m56(v0) => "補丁狀態:${v0}"; + static String m57(v0) => "補丁狀態:${v0}"; - static String m57(v0) => "啟動器內部版本資訊:${v0}"; + static String m58(v0) => "啟動器內部版本資訊:${v0}"; - static String m58(v0) => "打開文件:${v0}"; + static String m59(v0) => "打開文件:${v0}"; - static String m59(v0, v1) => "載入完畢:${v0} 個文件,用時:${v1} ms"; + static String m60(v0, v1) => "載入完畢:${v0} 個文件,用時:${v1} ms"; - static String m60(v0) => "讀取文件:${v0} ..."; + static String m61(v0) => "讀取文件:${v0} ..."; - static String m61(v0, v1) => "正在處理文件 (${v0}/${v1}) ..."; + static String m62(v0, v1) => "正在處理文件 (${v0}/${v1}) ..."; - static String m62(v0) => "未知文件類型\n${v0}"; + static String m63(v0) => "未知文件類型\n${v0}"; - static String m63(v0) => "P4K 查看器 -> ${v0}"; + static String m64(v0) => "P4K 查看器 -> ${v0}"; final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { @@ -918,9 +920,7 @@ class MessageLookup extends MessageLookupByLibrary { "tools_action_info_p4k_download_in_progress": MessageLookupByLibrary.simpleMessage( "已經有一個p4k下載任務正在進行中,請前往下載管理器查看!"), - "tools_action_info_p4k_download_repair_tip": - MessageLookupByLibrary.simpleMessage( - "使用星際公民中文百科提供的分流下載服務,可用於下載或修復 p4k。 \n資源有限,請勿濫用。"), + "tools_action_info_p4k_download_repair_tip": m51, "tools_action_info_p4k_file_description": MessageLookupByLibrary.simpleMessage( "P4k 是星際公民的核心遊戲文件,高達 100GB+,工具箱提供的離線下載是為了幫助一些p4k文件下載慢到不行的使用者 或用於修復官方啟動器無法修復的 p4k 文件。\n\n接下來會跳出視窗詢問您儲存位置(可以選擇星際公民資料夾也可以選擇別處),下載完成後請確保 P4K 資料夾位於 LIVE 資料夾內,之後使用星際公民啟動器校驗更新即可。"), @@ -933,7 +933,7 @@ class MessageLookup extends MessageLookupByLibrary { "已開啟攝影模式,再次點擊來關閉並還原鏡頭晃動效果。\n\n@拉邦那 Lapernum 提供參數資訊。"), "tools_action_info_rsi_launcher_directory_not_found": MessageLookupByLibrary.simpleMessage("未找到 RSI 啟動器目錄,請您嘗試手動操作。"), - "tools_action_info_rsi_launcher_log_issue": m51, + "tools_action_info_rsi_launcher_log_issue": m52, "tools_action_info_rsi_launcher_not_found": MessageLookupByLibrary.simpleMessage( "未找到 RSI 啟動器,請嘗試重新安裝,或在設定中手動新增。"), @@ -942,11 +942,11 @@ class MessageLookup extends MessageLookupByLibrary { "tools_action_info_run_rsi_as_admin": MessageLookupByLibrary.simpleMessage( "以管理員身份執行RSI啟動器,可能會解決一些問題。\n\n若設定了 E-Core 核心忽略參數,也會在此套用。"), - "tools_action_info_shader_cache_issue": m52, + "tools_action_info_shader_cache_issue": m53, "tools_action_info_star_citizen_not_found": MessageLookupByLibrary.simpleMessage( "未找到星際公民遊戲安裝位置,請至少完成一次遊戲啟動操作 或在設定中手動新增。"), - "tools_action_info_system_info_content": m53, + "tools_action_info_system_info_content": m54, "tools_action_info_system_info_title": MessageLookupByLibrary.simpleMessage("系統資訊"), "tools_action_info_valid_game_directory_needed": @@ -996,7 +996,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("正在寫入 Hosts ..."), "tools_info_game_install_location": MessageLookupByLibrary.simpleMessage("遊戲安裝位置: "), - "tools_info_processing_failed": m54, + "tools_info_processing_failed": m55, "tools_info_rsi_launcher_location": MessageLookupByLibrary.simpleMessage("RSI啟動器位置:"), "tools_info_scanning": MessageLookupByLibrary.simpleMessage("正在掃描..."), @@ -1015,13 +1015,13 @@ class MessageLookup extends MessageLookupByLibrary { "tools_rsi_launcher_enhance_msg_error_get_launcher_info_error": MessageLookupByLibrary.simpleMessage("讀取啟動器資訊失敗!"), "tools_rsi_launcher_enhance_msg_error_get_launcher_info_error_with_args": - m55, + m56, "tools_rsi_launcher_enhance_msg_error_launcher_notfound": MessageLookupByLibrary.simpleMessage("未找到 RSI 啟動器"), - "tools_rsi_launcher_enhance_msg_patch_status": m56, + "tools_rsi_launcher_enhance_msg_patch_status": m57, "tools_rsi_launcher_enhance_msg_uninstall": MessageLookupByLibrary.simpleMessage("* 如需移除增強補丁,請覆蓋安裝 RSI 啟動器。"), - "tools_rsi_launcher_enhance_msg_version": m57, + "tools_rsi_launcher_enhance_msg_version": m58, "tools_rsi_launcher_enhance_note_msg": MessageLookupByLibrary.simpleMessage( "RSI 啟動器增強是一項社群功能,它會在您的電腦上解包 \"RSI Launcher\" 並加入額外的增強功能,具體使用哪些功能由您決定。\n\n目前,官方(CIG)僅許可我們進行多語言操作,啟動器下載增強是我們認為有用的額外功能,違反cig使用者協議(https://robertsspaceindustries.com/eula)可能導致帳號被封禁等嚴重後果,是否啟用由您自己決定,我們不對可能產生的後果(遊戲損壞,帳號封禁等)承擔任何責任。\n\n對於啟動器的修改內容,我們開源於:https://github.com/StarCitizenToolBox/RSILauncherEnhance,如有需要,您可自行查閱。\n\n如果您因為任何原因需要取消此增強補丁,請直接覆蓋安裝官方啟動器。"), "tools_rsi_launcher_enhance_note_title": @@ -1049,16 +1049,16 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage( "使用此功能需安裝 .NET8 運行庫,請點擊下方按鈕下載安裝,安裝成功後重新打開此頁面即可繼續使用。"), "tools_unp4k_msg_init": MessageLookupByLibrary.simpleMessage("初始化中..."), - "tools_unp4k_msg_open_file": m58, - "tools_unp4k_msg_read_completed": m59, - "tools_unp4k_msg_read_file": m60, + "tools_unp4k_msg_open_file": m59, + "tools_unp4k_msg_read_completed": m60, + "tools_unp4k_msg_read_file": m61, "tools_unp4k_msg_reading": MessageLookupByLibrary.simpleMessage("正在讀取P4K 文件 ..."), "tools_unp4k_msg_reading2": MessageLookupByLibrary.simpleMessage("正在處理文件 ..."), - "tools_unp4k_msg_reading3": m61, - "tools_unp4k_msg_unknown_file_type": m62, - "tools_unp4k_title": m63, + "tools_unp4k_msg_reading3": m62, + "tools_unp4k_msg_unknown_file_type": m63, + "tools_unp4k_title": m64, "tools_unp4k_view_file": MessageLookupByLibrary.simpleMessage("單擊文件以預覽"), "webview_localization_finished_invitations": diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index c0a9b18..711fa52 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -2761,13 +2761,13 @@ class S { ); } - /// `The diversion download service provided by citizenwiki.cn can be used to download or fix P4K.\nLimited resources, please do not abuse.` - String get tools_action_info_p4k_download_repair_tip { + /// `The diversion download service provided by citizenwiki.cn can be used to download or fix P4K.\nVersion info:{v0}` + String tools_action_info_p4k_download_repair_tip(Object v0) { return Intl.message( - 'The diversion download service provided by citizenwiki.cn can be used to download or fix P4K.\nLimited resources, please do not abuse.', + 'The diversion download service provided by citizenwiki.cn can be used to download or fix P4K.\nVersion info:$v0', name: 'tools_action_info_p4k_download_repair_tip', desc: '', - args: [], + args: [v0], ); } diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 02159ae..6f15d32 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -543,7 +543,7 @@ "@tools_action_info_view_critical_system_info": {}, "tools_action_p4k_download_repair": "P4k diversion download / repair", "@tools_action_p4k_download_repair": {}, - "tools_action_info_p4k_download_repair_tip": "The diversion download service provided by citizenwiki.cn can be used to download or fix P4K.\nLimited resources, please do not abuse.", + "tools_action_info_p4k_download_repair_tip": "The diversion download service provided by citizenwiki.cn can be used to download or fix P4K.\nVersion info:{v0}", "@tools_action_info_p4k_download_repair_tip": {}, "tools_action_hosts_acceleration_experimental": "Hosts acceleration (experimental)", "@tools_action_hosts_acceleration_experimental": {}, diff --git a/lib/l10n/intl_zh_CN.arb b/lib/l10n/intl_zh_CN.arb index 1ed26f3..5a36198 100644 --- a/lib/l10n/intl_zh_CN.arb +++ b/lib/l10n/intl_zh_CN.arb @@ -542,7 +542,7 @@ "@tools_action_info_view_critical_system_info": {}, "tools_action_p4k_download_repair": "P4K 分流下载 / 修复", "@tools_action_p4k_download_repair": {}, - "tools_action_info_p4k_download_repair_tip": "使用星际公民中文百科提供的分流下载服务,可用于下载或修复 p4k。 \n资源有限,请勿滥用。", + "tools_action_info_p4k_download_repair_tip": "使用星际公民中文百科提供的分流下载服务,可用于下载或修复 p4k。 \n版本信息:{v0}", "@tools_action_info_p4k_download_repair_tip": {}, "tools_action_hosts_acceleration_experimental": "Hosts 加速(实验性)", "@tools_action_hosts_acceleration_experimental": {}, diff --git a/lib/l10n/intl_zh_TW.arb b/lib/l10n/intl_zh_TW.arb index 56b4a87..31ca1b0 100644 --- a/lib/l10n/intl_zh_TW.arb +++ b/lib/l10n/intl_zh_TW.arb @@ -542,7 +542,7 @@ "@tools_action_info_view_critical_system_info": {}, "tools_action_p4k_download_repair": "P4K 分流下載 / 修復", "@tools_action_p4k_download_repair": {}, - "tools_action_info_p4k_download_repair_tip": "使用星際公民中文百科提供的分流下載服務,可用於下載或修復 p4k。 \n資源有限,請勿濫用。", + "tools_action_info_p4k_download_repair_tip": "使用星際公民中文百科提供的分流下載服務,可用於下載或修復 p4k。 \n版本資訊:{v0}", "@tools_action_info_p4k_download_repair_tip": {}, "tools_action_hosts_acceleration_experimental": "Hosts 加速(Beta)", "@tools_action_hosts_acceleration_experimental": {}, diff --git a/lib/ui/tools/tools_ui_model.dart b/lib/ui/tools/tools_ui_model.dart index fa684b4..0edf7c5 100644 --- a/lib/ui/tools/tools_ui_model.dart +++ b/lib/ui/tools/tools_ui_model.dart @@ -11,6 +11,7 @@ import 'package:go_router/go_router.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:starcitizen_doctor/api/analytics.dart'; import 'package:starcitizen_doctor/api/api.dart'; +import 'package:starcitizen_doctor/common/conf/url_conf.dart'; import 'package:starcitizen_doctor/common/helper/log_helper.dart'; import 'package:starcitizen_doctor/common/helper/system_helper.dart'; import 'package:starcitizen_doctor/common/io/rs_http.dart'; @@ -77,13 +78,11 @@ class ToolsUIModel extends _$ToolsUIModel { const Icon(FluentIcons.system, size: 24), onTap: () => _showSystemInfo(context), ), - ToolsItemData( - "p4k_downloader", - S.current.tools_action_p4k_download_repair, - S.current.tools_action_info_p4k_download_repair_tip, - const Icon(FontAwesomeIcons.download, size: 24), - onTap: () => _downloadP4k(context), - ), + ]; + + if (!context.mounted) return; + items.add(await _addP4kCard(context)); + items.addAll([ ToolsItemData( "hosts_booster", S.current.tools_action_hosts_acceleration_experimental, @@ -119,7 +118,7 @@ class ToolsUIModel extends _$ToolsUIModel { const Icon(FontAwesomeIcons.fileZipper, size: 24), onTap: () => _unp4kc(context), ), - ]; + ]); state = state.copyWith(items: items); if (!context.mounted) return; @@ -137,6 +136,30 @@ class ToolsUIModel extends _$ToolsUIModel { } } + Future _addP4kCard(BuildContext context) async { + var torrentUrl = ""; + var versionInfo = ""; + try { + final l = await Api.getAppTorrentDataList(); + for (var torrent in l) { + if (torrent.name == "Data.p4k") { + torrentUrl = torrent.url ?? ""; + versionInfo = torrent.info ?? ""; + } + } + } catch (e) { + dPrint("get torrent url failed: $e"); + } + + return ToolsItemData( + "p4k_downloader", + S.current.tools_action_p4k_download_repair, + S.current.tools_action_info_p4k_download_repair_tip(versionInfo), + const Icon(FontAwesomeIcons.download, size: 24), + onTap: () => _downloadP4k(context, torrentUrl), + ); + } + Future> _addNvmePatchCard(BuildContext context) async { final nvmePatchStatus = await SystemHelper.checkNvmePatchStatus(); return [ @@ -378,7 +401,7 @@ class ToolsUIModel extends _$ToolsUIModel { state = state.copyWith(working: false); } - Future _downloadP4k(BuildContext context) async { + Future _downloadP4k(BuildContext context, String torrentUrl) async { String savePath = state.scInstalledPath; String fileName = "Data.p4k"; @@ -392,7 +415,12 @@ class ToolsUIModel extends _$ToolsUIModel { } if (!context.mounted) return; - await showToast(context, S.current.tools_action_info_p4k_file_description); + final ok = await showConfirmDialogs( + context, + S.current.tools_action_p4k_download_repair, + Text(S.current.tools_action_info_p4k_file_description), + ); + if (!ok) return; try { state = state.copyWith(working: true); final aria2cManager = ref.read(aria2cModelProvider.notifier); @@ -415,13 +443,6 @@ class ToolsUIModel extends _$ToolsUIModel { } } - var torrentUrl = ""; - final l = await Api.getAppTorrentDataList(); - for (var torrent in l) { - if (torrent.name == "Data.p4k") { - torrentUrl = torrent.url!; - } - } if (torrentUrl == "") { state = state.copyWith(working: false); if (!context.mounted) return; @@ -469,7 +490,7 @@ class ToolsUIModel extends _$ToolsUIModel { } await Future.delayed(const Duration(seconds: 3)); launchUrlString( - "https://citizenwiki.cn/SC%E6%B1%89%E5%8C%96%E7%9B%92%E5%AD%90#%E5%88%86%E6%B5%81%E4%B8%8B%E8%BD%BD%E6%95%99%E7%A8%8B"); + "${URLConf.gitApiHome}/SCToolBox/Doc/src/branch/main/Tools/Pk4k_Downloads.md"); } Future _checkPhotographyStatus(BuildContext context,