<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US" sourcelanguage="zh_CN">
<context>
    <name></name>
    <message>
        <source>关闭</source>
        <translation type="vanished">Close</translation>
    </message>
    <message>
        <location filename="../../view/shell/mac_status_item.py" line="82"/>
        <source>仪表盘</source>
        <translation>Dashboard</translation>
    </message>
    <message>
        <location filename="../../view/shell/mac_status_item.py" line="83"/>
        <source>全部开始</source>
        <translation>Start All</translation>
    </message>
    <message>
        <location filename="../../view/shell/mac_status_item.py" line="84"/>
        <source>全部暂停</source>
        <translation>Pause All</translation>
    </message>
    <message>
        <location filename="../../view/shell/mac_status_item.py" line="85"/>
        <source>退出程序</source>
        <translation>Exit</translation>
    </message>
    <message>
        <source>自动（匹配来源）</source>
        <translation type="vanished">Auto (Match Source)</translation>
    </message>
    <message>
        <source>不模拟（原样发送）</source>
        <translation type="vanished">No Emulation (Send As-Is)</translation>
    </message>
    <message>
        <source>{0}（最新）</source>
        <translation type="vanished">{0} (Latest)</translation>
    </message>
    <message>
        <source>KeepAlive</source>
        <comment>Background task</comment>
        <translation type="vanished">KeepAlive</translation>
    </message>
    <message>
        <source>KeepAlive</source>
        <comment>Downloading</comment>
        <translation type="vanished">KeepAlive</translation>
    </message>
    <message>
        <source>KeepAlive</source>
        <comment>Browser extension connected</comment>
        <translation type="vanished">KeepAlive</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Downloads</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Download completed</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Disk space insufficient</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Remaining {0}, need {1}, task not auto-started</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Browser push</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Browser push ({count})</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment> and {count} more</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Browser extension connected</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Open file</comment>
        <translation type="vanished">Notifications</translation>
    </message>
    <message>
        <source>Notifications</source>
        <comment>Open folder</comment>
        <translation type="vanished">Notifications</translation>
    </message>
</context>
<context>
    <name>AddTaskDialog</name>
    <message>
        <source>添加任务</source>
        <translation type="vanished">Add Task</translation>
    </message>
    <message>
        <source>选择下载路径</source>
        <translation type="vanished">Select Download Location</translation>
    </message>
    <message>
        <source>预分配线程数</source>
        <translation type="vanished">Pre-allocated Threads</translation>
    </message>
    <message>
        <source>导入文件</source>
        <translation type="vanished">Import File(s)</translation>
    </message>
    <message>
        <source>添加多个下载链接时，请确保每行只有一个下载链接</source>
        <translation type="vanished">When adding multiple download links, make sure each line contains only one link</translation>
    </message>
    <message>
        <source>所有可导入文件 ({0})</source>
        <translation type="vanished">All Supported Formats ({0})</translation>
    </message>
    <message>
        <source>{0}
{1}</source>
        <translation type="vanished">{0}
{1}</translation>
    </message>
    <message>
        <source>链接解析失败</source>
        <translation type="vanished">Link Parsing Failed</translation>
    </message>
</context>
<context>
    <name>AddTaskParseSession</name>
    <message>
        <source>解析失败</source>
        <translation type="vanished">Parsing Failed</translation>
    </message>
</context>
<context>
    <name>AdvancedOptionsPage</name>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="648"/>
        <source>更多选项</source>
        <translation>More Options</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="649"/>
        <source>按需开启以下功能，也可以稍后在设置中修改</source>
        <translation>Enable the following features as needed; you can change them later in Settings</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="662"/>
        <source>自动分类保存</source>
        <translation>Download Categorization</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="663"/>
        <source>按文件类型自动保存到 视频、音频、文档 等子文件夹</source>
        <translation>Automatically save files to subfolders (Videos, Audio, Documents, etc.) based on file type</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="668"/>
        <source>关联文件类型</source>
        <translation>Associate File Types</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="669"/>
        <source>双击 .torrent 等文件时用 Ghost Downloader 打开</source>
        <translation>Open .torrent and other supported files with Ghost Downloader</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="673"/>
        <source>处理协议链接</source>
        <translation>Associate Special Protocol URLs</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="674"/>
        <source>点击 Magnet/eD2k/FTP 链接时唤起 Ghost Downloader</source>
        <translation>Open Magnet/eD2k/FTP links with Ghost Downloader</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="678"/>
        <source>允许浏览器扩展唤醒</source>
        <translation>Allow Launching From Browser Extension</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="679"/>
        <source>浏览器扩展可通过 ghostdownloader:// 协议启动桌面端</source>
        <translation>The browser extension may launch the app via ghostdownloader:// URL scheme</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="687"/>
        <source>Aria2 RPC 兼容</source>
        <translation>Aria2 RPC Support</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="688"/>
        <source>让支持 Aria2 的工具和网站把下载任务发给 Ghost Downloader</source>
        <translation>Allow Aria2-compatible tools and websites send download tasks to Ghost Downloader</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="652"/>
        <source>开机自启</source>
        <translation>Start on Boot</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="653"/>
        <source>登录系统时自动在后台启动，随时接管下载</source>
        <translation>Run automatically at system startup to take over downloads anytime</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="657"/>
        <source>剪贴板监听</source>
        <translation>Monitor Clipboard</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="658"/>
        <source>复制下载链接时自动弹出新任务提示</source>
        <translation>Automatically show new task prompt when a download link is copied</translation>
    </message>
</context>
<context>
    <name>BTDraftCard</name>
    <message>
        <source>选择文件</source>
        <translation type="vanished">Select Files</translation>
    </message>
    <message>
        <source>{0}/{1} 个文件 · {2}</source>
        <translation type="vanished">{0}/{1} Files · {2}</translation>
    </message>
</context>
<context>
    <name>BTTaskCard</name>
    <message>
        <source>分享率 {0:.2f}%</source>
        <translation type="vanished">Seed Ratio: {0:.2f}%</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="102"/>
        <location filename="../../../features/bittorrent_pack/cards.py" line="118"/>
        <source>做种 {0}</source>
        <translation>Seeded for {0}</translation>
    </message>
    <message>
        <source>Peers {0} / Seeds {1}</source>
        <translation type="vanished">Peers {0}/Seeds {1}</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="100"/>
        <location filename="../../../features/bittorrent_pack/cards.py" line="116"/>
        <source>分享率 {0}</source>
        <translation>Seed Ratio: {0}</translation>
    </message>
    <message>
        <source>{0} peers</source>
        <translation type="vanished">{0} Peers</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="59"/>
        <location filename="../../../features/bittorrent_pack/cards.py" line="103"/>
        <source>做种中</source>
        <translation>Seeding</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="54"/>
        <source>校验已有文件</source>
        <translation>Checking Existing Files</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="55"/>
        <source>检查续传状态</source>
        <translation>Checking Resume Data</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="56"/>
        <source>获取元数据</source>
        <translation>Downloading Metadata</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="57"/>
        <source>下载中</source>
        <translation>Downloading</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="58"/>
        <source>下载完成</source>
        <translation>Download Complete</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="60"/>
        <source>分配文件中</source>
        <translation>Allocating Files</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="61"/>
        <source>等待校验</source>
        <translation>Queued for Checks</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="62"/>
        <source>已暂停做种</source>
        <translation>Seeding Paused</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="63"/>
        <source>已暂停下载</source>
        <translation>Download Paused</translation>
    </message>
</context>
<context>
    <name>BasicSettingsPage</name>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="313"/>
        <source>基本设置</source>
        <translation>Basic Settings</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="314"/>
        <source>选择你喜欢的外观，设置下载文件的保存位置</source>
        <translation>Choose your preferred appearance and set the download location</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="318"/>
        <source>浅色</source>
        <translation>Light</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="319"/>
        <source>深色</source>
        <translation>Dark</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="320"/>
        <source>跟随系统</source>
        <translation>Follow System</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="324"/>
        <source>偏好</source>
        <translation>Preferences</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="329"/>
        <source>使用系统设置</source>
        <translation>Use System Settings</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="332"/>
        <source>浏览...</source>
        <translation>Browse...</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="349"/>
        <source>界面语言</source>
        <translation>Interface Language</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="350"/>
        <source>更改立即生效</source>
        <translation>Changes take effect immediately</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="353"/>
        <source>下载保存位置</source>
        <translation>Download Location</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="384"/>
        <source>选择下载目录</source>
        <translation>Choose Download Directory</translation>
    </message>
</context>
<context>
    <name>BatchUrlDialog</name>
    <message>
        <location filename="../../view/dialogs/batch_url.py" line="98"/>
        <source>批量添加</source>
        <translation>Batch Add</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/batch_url.py" line="112"/>
        <source>http://example.com/img/[001-100].jpg
http://example.com/{mp4,mkv}/video</source>
        <translation>http://example.com/img/[001-100].jpg
http://example.com/{mp4,mkv}/video</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/batch_url.py" line="116"/>
        <source>输入模板后在此预览</source>
        <translation>Preview Here After Entering Template</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/batch_url.py" line="147"/>
        <source>语法说明</source>
        <translation>Syntax Help</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/batch_url.py" line="149"/>
        <source>[1-100] → 1, 2, 3, …, 100
[001-050] → 001, 002, …, 050 (自动补零)
[1-10:2] → 1, 3, 5, 7, 9 (步长)
[a-z] → a, b, …, z (字母范围)
{mp4,mkv,avi} → mp4, mkv, avi (枚举)</source>
        <translation>[1-100] → 1, 2, 3, …, 100
[001-050] → 001, 002, …, 050 (auto zero-padding)
[1-10:2] → 1, 3, 5, 7, 9 (step)
[a-z] → a, b, …, z (letter range)
{mp4,mkv,avi} → mp4, mkv, avi (enumeration)</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/batch_url.py" line="183"/>
        <source>共 {} 个链接</source>
        <translation>{} links in total</translation>
    </message>
</context>
<context>
    <name>BilibiliConfig</name>
    <message>
        <source>哔哩哔哩视频下载</source>
        <translation type="vanished">Bilibili Video Download</translation>
    </message>
    <message>
        <source>默认清晰度</source>
        <translation type="vanished">Default Quality</translation>
    </message>
    <message>
        <source>下载视频时默认的清晰度</source>
        <translation type="vanished">Default video quality for downloads</translation>
    </message>
    <message>
        <source>备选清晰度</source>
        <translation type="vanished">Fallback Quality</translation>
    </message>
    <message>
        <source>下载视频时备选的清晰度</source>
        <translation type="vanished">Fallback video quality for downloads</translation>
    </message>
    <message>
        <source>可以下载的最高画质</source>
        <translation type="vanished">Maximum Downloadable Quality</translation>
    </message>
    <message>
        <source>可以下载的最低画质</source>
        <translation type="vanished">Minimum Downloadable Quality</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="254"/>
        <source>Bilibili 下载</source>
        <translation>Bilibili</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="258"/>
        <source>默认画质</source>
        <translation>Default Quality</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="259"/>
        <source>选择偏好的视频画质</source>
        <translation>Select preferred default video quality</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="263"/>
        <source>画质不可用时</source>
        <translation>When Quality Unavailable</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="264"/>
        <source>当选择的画质不可用时的替代策略</source>
        <translation>Fallback logic when selected quality is unavailable</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="265"/>
        <source>选择最高画质</source>
        <translation>Choose Highest Quality</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="265"/>
        <source>选择最低画质</source>
        <translation>Choose Lowest Quality</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="267"/>
        <source>HDR</source>
        <translation>HDR</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="268"/>
        <source>请求 HDR 视频流（需要大会员）</source>
        <translation>Request HDR video stream (Premium required)</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="270"/>
        <source>杜比全景声/视界</source>
        <translation>Dolby Atmos/Vision</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="271"/>
        <source>请求杜比全景声和杜比视界（需要大会员）</source>
        <translation>Request Dolby Atmos and Dolby Vision (Premium required)</translation>
    </message>
    <message>
        <source>下载 HDR 视频</source>
        <translation type="vanished">Download HDR Videos</translation>
    </message>
    <message>
        <source>杜比视界</source>
        <translation type="vanished">Dolby Vision</translation>
    </message>
    <message>
        <source>下载杜比视界视频</source>
        <translation type="vanished">Download Dolby Vision Videos</translation>
    </message>
</context>
<context>
    <name>BilibiliDraftCard</name>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="447"/>
        <source>最佳画质</source>
        <translation>Best Quality</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="448"/>
        <source>最佳音质</source>
        <translation>Best Quality</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="491"/>
        <source>截取片段</source>
        <translation>Trim Media</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="507"/>
        <source>选择分P</source>
        <translation>Select Parts</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="507"/>
        <source>选择合集</source>
        <translation>Select Episodes</translation>
    </message>
</context>
<context>
    <name>BilibiliErrors</name>
    <message>
        <location filename="../../../features/bili_pack/error_catalog.py" line="3"/>
        <source>获取二维码失败</source>
        <translation>Failed to fetch QR code</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/error_catalog.py" line="4"/>
        <source>二维码接口返回了不完整的数据</source>
        <translation>Incomplete data returned from the QR code API</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/error_catalog.py" line="5"/>
        <source>登录成功，但未能提取到有效 Cookie</source>
        <translation>Login succeeded, but no valid Cookies found</translation>
    </message>
</context>
<context>
    <name>BilibiliLoginSettingCard</name>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="170"/>
        <source>账号登录</source>
        <translation>Account Login</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="171"/>
        <location filename="../../../features/bili_pack/config.py" line="204"/>
        <source>状态：未登录</source>
        <translation>Status: Not logged in</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="173"/>
        <source>扫码登录</source>
        <translation>QR Code Login</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="174"/>
        <source>导入 Cookie</source>
        <translation>Import Cookie</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="201"/>
        <source>状态：已登录 用户名：{0} UID：{1} 会员状态：{2}</source>
        <translation>Status: Logged In, User: {0}, UID: {1}, Membership: {2}</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="233"/>
        <source>正在退出登录...</source>
        <translation>Logging out...</translation>
    </message>
    <message>
        <source>手动设置 Cookie</source>
        <translation type="vanished">Manual Cookie Setup</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="175"/>
        <source>退出登录</source>
        <translation>Logout</translation>
    </message>
</context>
<context>
    <name>BilibiliTask</name>
    <message>
        <location filename="../../../features/bili_pack/task.py" line="143"/>
        <source>{0}/{1} 集</source>
        <translation>{0}/{1} Eps</translation>
    </message>
</context>
<context>
    <name>BilibiliTaskCard</name>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="777"/>
        <source>选择分P</source>
        <translation>Select Parts</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="777"/>
        <source>选择合集</source>
        <translation>Select Episodes</translation>
    </message>
</context>
<context>
    <name>BinaryRuntime</name>
    <message>
        <source>YouTube 运行环境</source>
        <translation type="vanished">YouTube Support Runtime</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="139"/>
        <source>YouTube 下载</source>
        <translation>YouTube Download</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="140"/>
        <source>支持 YouTube、Twitter 等数百个视频网站</source>
        <translation>Support for hundreds of video sites including YouTube and Twitter</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="90"/>
        <source>eD2k / eMule</source>
        <translation>eD2k/eMule</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="91"/>
        <source>支持电驴协议，适合下载经典资源</source>
        <translation>Support for the eDonky network, enable downloading of archaic resources</translation>
    </message>
    <message>
        <location filename="../../../features/ffmpeg_pack/config.py" line="63"/>
        <source>视频合并</source>
        <translation>Video Muxing</translation>
    </message>
    <message>
        <location filename="../../../features/ffmpeg_pack/config.py" line="64"/>
        <source>哔哩哔哩、YouTube 等网站视频下载必备，合并音视频轨道为完整文件</source>
        <translation>Required for downloading videos from Bilibili, YouTube, and more sites; allow combining audio and video tracks</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="148"/>
        <source>M3U8 / 直播下载</source>
        <translation>M3U8 &amp; Live Stream Download</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="149"/>
        <source>支持 HLS、DASH 等流媒体协议，可录制直播流</source>
        <translation>Support for live streaming protocols including HLS and DASH, enable live stream recording</translation>
    </message>
</context>
<context>
    <name>BitTorrentConfig</name>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="63"/>
        <source>BitTorrent 下载</source>
        <translation>BitTorrent</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="66"/>
        <source>监听端口</source>
        <translation>Port</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="67"/>
        <source>0 表示交给系统自动分配可用端口</source>
        <translation>0 for system assigned port</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="68"/>
        <source>元数据超时</source>
        <translation>Metadata Download Timeout</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="69"/>
        <source>解析 magnet 链接时等待元数据的最长时间</source>
        <translation>Maximum loading time for metadata when parsing magnet links</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="70"/>
        <source>连接数上限</source>
        <translation>Maximum Connections</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="71"/>
        <source>单个 BT 任务对应 session 的最大连接数</source>
        <translation>Maximum connections per BT task session</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="72"/>
        <source>上传限速</source>
        <translation>Seeding Upload Speed Limit</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="73"/>
        <source>0 表示不限速，单位为 session 级别的 KB/s</source>
        <translation>0 for unlimited, in KB/s per session</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="75"/>
        <source>自动暂停做种分享率</source>
        <translation>Auto Seeding Ratio Limit</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="76"/>
        <source>0 表示不按分享率自动暂停，100% 表示分享率 1.0</source>
        <translation>0 means no seed ratio limit, 100% means a seed ratio of 1.0</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="78"/>
        <source>自动暂停做种时长</source>
        <translation>Auto Seeding Time Limit</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="79"/>
        <source>0 表示不按做种时长自动暂停</source>
        <translation>0 means no seeding time limit</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="81"/>
        <source>文件分配模式</source>
        <translation>File Allocation Method</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="82"/>
        <source>稀疏分配更省磁盘写入，预分配更容易提前暴露空间不足</source>
        <translation>Sparse allocation minimizes disk writes; Pre-allocation allocates spaces in advance</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="83"/>
        <source>稀疏分配</source>
        <translation>Sparse allocation</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="83"/>
        <source>预分配</source>
        <translation>Pre-allocation</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="84"/>
        <source>保存 Magnet 种子文件</source>
        <translation>Save Magnet Torrent File</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="85"/>
        <source>下载 magnet 链接时额外保存 .torrent 文件</source>
        <translation>Automatically save resolved magnet links as .torrent files</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="86"/>
        <source>顺序下载</source>
        <translation>Sequential Download</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="87"/>
        <source>按文件顺序下载，适合边下边看但通常会影响整体效率</source>
        <translation>Download files sequentially, suitable for watching while downloading but may reduce overall efficiency</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="97"/>
        <source>创建新的 BT 任务时先从源地址拉取最新 Tracker</source>
        <translation>Refresh trackers from tracker sources when creating new BitTorrent tasks</translation>
    </message>
    <message>
        <source>0 表示不限速,单位为 session 级别的 KB/s</source>
        <translation type="vanished">KB/s per session; 0 for unlimited</translation>
    </message>
    <message>
        <source>关联 .torrent 文件</source>
        <translation type="vanished">Associate Torrent Files</translation>
    </message>
    <message>
        <source>把 .torrent 文件的打开方式设为 Ghost Downloader</source>
        <translation type="vanished">Set Ghost Downloader as the default handler for .torrent files</translation>
    </message>
    <message>
        <source>下载完成后继续做种;0 表示不按分享率自动暂停,100% 表示分享率 1.0</source>
        <translation type="vanished">Continue seeding after task completion; 0 means no seed ratio limit, 100% means a seed ratio of 1.0</translation>
    </message>
    <message>
        <source>下载完成后继续做种;0 表示不按做种时长自动暂停</source>
        <translation type="vanished">Continue seeding after task completion; 0 means unlimited seeding time</translation>
    </message>
    <message>
        <source>稀疏分配更省磁盘写入,预分配更容易提前暴露空间不足</source>
        <translation type="vanished">Sparse allocation minimizes disk writes; Pre-allocation allocates spaces in advance</translation>
    </message>
    <message>
        <source>按文件顺序下载内容,适合边下边看但通常会影响整体效率</source>
        <translation type="vanished">Download files sequentially for watching while downloading, might reduce overall download speed</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="89"/>
        <source>启用 DHT</source>
        <translation>Enable DHT</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="90"/>
        <source>允许通过 DHT 网络发现 peers</source>
        <translation>Allow peer discovery via the Distributed Hash Table network</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="91"/>
        <source>启用 LSD</source>
        <translation>Enable LSD</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="92"/>
        <source>在局域网中广播并发现同一 torrent 的 peers</source>
        <translation>Broadcast and discover peers on local network for the same torrent</translation>
    </message>
    <message>
        <source>启用 UPnP</source>
        <translation type="vanished">Enable UPnP</translation>
    </message>
    <message>
        <source>允许自动尝试映射路由器端口</source>
        <translation type="vanished">Allow automatic router port mapping attempts</translation>
    </message>
    <message>
        <source>启用 NAT-PMP</source>
        <translation type="vanished">Enable NAT-PMP</translation>
    </message>
    <message>
        <source>允许自动尝试通过 NAT-PMP 映射端口</source>
        <translation type="vanished">Allow automatic port mapping via NAT-PMP</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="93"/>
        <source>启用 Web Tracker</source>
        <translation>Enable Web Tracker</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="94"/>
        <source>把配置好的额外 Trackers 合并到新建 BT 任务中</source>
        <translation>Merge configured extra Trackers into new BT tasks</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/config.py" line="96"/>
        <source>新建任务时刷新 Web Tracker</source>
        <translation>Refresh Web Tracker on New Task Creation</translation>
    </message>
    <message>
        <source>创建新的 BT 任务时,先从源地址拉取最新 Tracker;失败时回退到缓存</source>
        <translation type="vanished">Automatically refresh trackers from tracker sources on BitTorrent task creation; fall back to cached trackers in case of failure</translation>
    </message>
</context>
<context>
    <name>BitTorrentPack</name>
    <message>
        <source>种子文件</source>
        <translation type="vanished">Torrent File</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/pack.py" line="117"/>
        <source>BitTorrent 种子文件</source>
        <translation>BitTorrent Torrent File</translation>
    </message>
</context>
<context>
    <name>BitTorrentResultCard</name>
    <message>
        <source>选择文件</source>
        <translation type="vanished">Select Files</translation>
    </message>
    <message>
        <source>{0} · {1} 个 Tracker</source>
        <translation type="vanished">{0} · {1} Trackers</translation>
    </message>
    <message>
        <source>{0}/{1} 个文件 · {2}</source>
        <translation type="vanished">{0}/{1} Files · {2}</translation>
    </message>
</context>
<context>
    <name>BrowserExtensionPage</name>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="405"/>
        <source>安装浏览器扩展</source>
        <translation>Install Browser Extension</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="406"/>
        <source>让浏览器中的下载自动接管到 Ghost Downloader</source>
        <translation>Automatically take over downloads from your browser to Ghost Downloader</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="418"/>
        <source>安装教程动图</source>
        <translation>Installation Tutorial (GIF)</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="428"/>
        <source>手动安装</source>
        <translation>Manual Install</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="429"/>
        <source>随桌面端自动更新，适用于所有 Chromium 浏览器</source>
        <translation>Updates automatically with the desktop client; works with all Chromium-based browsers</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="434"/>
        <source>Chrome 商店</source>
        <translation>Chrome Store</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="435"/>
        <source>Edge 商店</source>
        <translation>Edge Store</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="436"/>
        <source>Firefox 商店</source>
        <translation>Firefox Store</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="440"/>
        <source>商店版更新需等待审核，可能滞后于桌面端</source>
        <translation>Store versions need to pass review before updates;
may lag behind the desktop client</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="502"/>
        <source>正在端口 {} 上等待扩展连接</source>
        <translation>Waiting for extension connection on port {}</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="507"/>
        <source>浏览器扩展未启用，可稍后在设置中开启</source>
        <translation>Browser extension is not enabled; you can turn it on later in Settings</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="512"/>
        <source>端口 {} 被占用，请在设置中更换端口</source>
        <translation>Port {} is in use; please change the port in Settings</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="519"/>
        <source>已连接扩展 v{}，最新版本为 v{}</source>
        <translation>Extension v{} connected; latest version is v{}</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="523"/>
        <source>已连接扩展，最新版本为 v{}</source>
        <translation>Extension connected; latest version is v{}</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="550"/>
        <source>请手动打开浏览器</source>
        <translation>Please manually open your browser</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="551"/>
        <source>chrome://extensions 已复制到剪贴板</source>
        <translation>chrome://extensions has been copied to clipboard</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="557"/>
        <source>解包失败</source>
        <translation>Unpack failed</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="569"/>
        <source>协议版本不匹配，商店版可能滞后，请尝试手动安装</source>
        <translation>Protocol version mismatch; the store version may be outdated, please try manual installation</translation>
    </message>
</context>
<context>
    <name>BrowserService</name>
    <message>
        <source>无法解析该链接</source>
        <translation type="vanished">Unable to parse specified link</translation>
    </message>
    <message>
        <source>创建任务失败</source>
        <translation type="vanished">Failed to create download task</translation>
    </message>
    <message>
        <source>缺少 requestId</source>
        <translation type="vanished">Missing requestId</translation>
    </message>
    <message>
        <source>无效的任务负载</source>
        <translation type="vanished">Invalid task payload</translation>
    </message>
    <message>
        <source>在线合并暂时只支持 2 个资源</source>
        <translation type="vanished">Merging of at most 2 resources is supported at this time</translation>
    </message>
    <message>
        <source>缺少下载链接</source>
        <translation type="vanished">Missing download link</translation>
    </message>
    <message>
        <source>不支持的任务操作</source>
        <translation type="vanished">Task operation not supported</translation>
    </message>
    <message>
        <source>任务不存在</source>
        <translation type="vanished">Specified task does not exist</translation>
    </message>
    <message>
        <source>当前任务不支持暂停</source>
        <translation type="vanished">Specified task does not support pausing</translation>
    </message>
    <message>
        <source>任务已完成</source>
        <translation type="vanished">Task completed</translation>
    </message>
    <message>
        <source>文件尚未生成</source>
        <translation type="vanished">File not created</translation>
    </message>
    <message>
        <source>目录不存在</source>
        <translation type="vanished">Specified directory does not exist</translation>
    </message>
    <message>
        <source>无效的消息格式</source>
        <translation type="vanished">Invalid message format</translation>
    </message>
    <message>
        <source>无效的消息结构</source>
        <translation type="vanished">Invalid message type</translation>
    </message>
    <message>
        <source>未知的消息类型</source>
        <translation type="vanished">Unknown message type</translation>
    </message>
    <message>
        <source>协议版本不匹配</source>
        <translation type="vanished">Protocol version mismatch</translation>
    </message>
    <message>
        <source>未知</source>
        <translation type="vanished">Unknown</translation>
    </message>
    <message>
        <source>浏览器扩展</source>
        <translation type="vanished">Browser Extension</translation>
    </message>
    <message>
        <source>浏览器扩展正在请求连接到 Ghost Downloader。

来源: {0}
客户端: {1}
扩展版本: {2}

仅在你刚刚点击扩展里的“自动配对”时允许。</source>
        <translation type="vanished">A browser extension is requesting to pair with Ghost Downloader.

From: {0}
Client: {1}
Extension Version: {2}

Only allow this request if you have requested &quot;Automatic Pair&quot; from the extension.</translation>
    </message>
    <message>
        <source>浏览器扩展配对请求</source>
        <translation type="vanished">Browser Extension Pairing Request</translation>
    </message>
    <message>
        <source>允许配对</source>
        <translation type="vanished">Allow</translation>
    </message>
    <message>
        <source>拒绝</source>
        <translation type="vanished">Decline</translation>
    </message>
    <message>
        <source>配对失败</source>
        <translation type="vanished">Pairing Failed</translation>
    </message>
    <message>
        <source>浏览器扩展配对请求已超时，请重新在扩展中发起配对</source>
        <translation type="vanished">Extension pairing request expired. Please start a new request.</translation>
    </message>
    <message>
        <source>已拒绝配对请求</source>
        <translation type="vanished">Pairing request declined</translation>
    </message>
    <message>
        <source>配对成功</source>
        <translation type="vanished">Pairing successful</translation>
    </message>
    <message>
        <source>配对令牌无效</source>
        <translation type="vanished">Invalid pairing token</translation>
    </message>
    <message>
        <source>请先完成握手认证</source>
        <translation type="vanished">Authentication required</translation>
    </message>
</context>
<context>
    <name>CatalogCard</name>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="181"/>
        <source>下载</source>
        <translation>Download</translation>
    </message>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="185"/>
        <source>观看视频</source>
        <translation>Watch Video</translation>
    </message>
</context>
<context>
    <name>CatalogDownloadDialog</name>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="225"/>
        <location filename="../../../features/jack_yao/pack.py" line="227"/>
        <source>选择版本</source>
        <translation>Select Version</translation>
    </message>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="227"/>
        <source>选择你想下载的版本</source>
        <translation>Choose the version you want to download</translation>
    </message>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="232"/>
        <source>更新日志</source>
        <translation>Changelog</translation>
    </message>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="242"/>
        <source>开始下载</source>
        <translation>Start Download</translation>
    </message>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="243"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="265"/>
        <source>下载失败</source>
        <translation>Download Failed</translation>
    </message>
</context>
<context>
    <name>CatalogPage</name>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="52"/>
        <source>资源下载</source>
        <translation>Resources</translation>
    </message>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="111"/>
        <source>加载失败，请检查网络后重试
</source>
        <translation>Failed to load, please check your network and try again
</translation>
    </message>
</context>
<context>
    <name>CategoryEditDialog</name>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="28"/>
        <source>编辑分类</source>
        <translation>Edit Category</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="28"/>
        <source>添加分类</source>
        <translation>Add Category</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="48"/>
        <source>输入扩展名后按回车添加</source>
        <translation>Enter extension and press Enter to add</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="49"/>
        <source>留空则使用默认下载路径；可用 {default} 代表默认下载文件夹</source>
        <translation>Leave empty to use default download path; use {default} to represent the default download folder</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="65"/>
        <source>名称</source>
        <translation>Name</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="67"/>
        <source>图标</source>
        <translation>Icon</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="69"/>
        <source>扩展名</source>
        <translation>File Extension(s)</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="71"/>
        <source>下载文件夹</source>
        <translation>Download Folder</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="45"/>
        <source>确定</source>
        <translation>Save</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="46"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="47"/>
        <source>分类名称</source>
        <translation>Category name</translation>
    </message>
    <message>
        <source>添加扩展名...</source>
        <translation type="vanished">Add Extensions...</translation>
    </message>
    <message>
        <source>可选，留空则使用默认下载路径；可用 {default} 代表默认下载文件夹</source>
        <translation type="vanished">Optional, leave empty for the default path. Use {default} to reference the default download path</translation>
    </message>
    <message>
        <source>使用默认下载文件夹</source>
        <translation type="vanished">Use Default Download Location</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="50"/>
        <source>选择文件夹</source>
        <translation>Browse Folder</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="88"/>
        <source>选择下载文件夹</source>
        <translation>Choose Download Folder</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/category_edit.py" line="93"/>
        <source>未命名分类</source>
        <translation>Unnamed Category</translation>
    </message>
</context>
<context>
    <name>CategoryRowWidget</name>
    <message>
        <location filename="../../view/components/category_settings.py" line="35"/>
        <source>编辑</source>
        <translation>Edit</translation>
    </message>
    <message>
        <location filename="../../view/components/category_settings.py" line="37"/>
        <source>删除</source>
        <translation>Remove</translation>
    </message>
    <message>
        <location filename="../../view/components/category_settings.py" line="58"/>
        <source>无扩展名</source>
        <translation>None</translation>
    </message>
    <message>
        <location filename="../../view/components/category_settings.py" line="61"/>
        <source>{0} 等 {1} 项</source>
        <translation>{0} &amp; more totaling {1} items</translation>
    </message>
</context>
<context>
    <name>CategoryRulesCard</name>
    <message>
        <location filename="../../view/components/category_settings.py" line="70"/>
        <source>下载分类规则</source>
        <translation>Categorization Rules</translation>
    </message>
    <message>
        <location filename="../../view/components/category_settings.py" line="71"/>
        <source>根据扩展名自动归类，可为分类指定下载文件夹</source>
        <translation>Automatically categorize downloads by file extensions and specify download location for each category</translation>
    </message>
    <message>
        <location filename="../../view/components/category_settings.py" line="78"/>
        <source>恢复默认</source>
        <translation>Restore Defaults</translation>
    </message>
    <message>
        <location filename="../../view/components/category_settings.py" line="79"/>
        <source>添加分类</source>
        <translation>Add</translation>
    </message>
    <message>
        <location filename="../../view/components/category_settings.py" line="113"/>
        <source>已配置 {0} 个分类</source>
        <translation>{0} categories configured</translation>
    </message>
</context>
<context>
    <name>CategoryService</name>
    <message>
        <location filename="../../services/category_service.py" line="132"/>
        <source>视频</source>
        <translation>Video</translation>
    </message>
    <message>
        <location filename="../../services/category_service.py" line="133"/>
        <source>音频</source>
        <translation>Audio</translation>
    </message>
    <message>
        <location filename="../../services/category_service.py" line="134"/>
        <source>图片</source>
        <translation>Images</translation>
    </message>
    <message>
        <location filename="../../services/category_service.py" line="135"/>
        <source>字幕</source>
        <translation>Subtitles</translation>
    </message>
    <message>
        <location filename="../../services/category_service.py" line="136"/>
        <source>文档</source>
        <translation>Documents</translation>
    </message>
    <message>
        <location filename="../../services/category_service.py" line="137"/>
        <source>压缩包</source>
        <translation>Archives</translation>
    </message>
    <message>
        <location filename="../../services/category_service.py" line="138"/>
        <source>程序</source>
        <translation>Programs</translation>
    </message>
    <message>
        <location filename="../../services/category_service.py" line="139"/>
        <source>其他</source>
        <translation>Other</translation>
    </message>
</context>
<context>
    <name>ClientProfileCard</name>
    <message>
        <location filename="../../view/components/option_cards.py" line="25"/>
        <source>自动（匹配来源）</source>
        <translation>Auto (Match Source)</translation>
    </message>
    <message>
        <location filename="../../view/components/option_cards.py" line="27"/>
        <source>不模拟（原样发送）</source>
        <translation>No Emulation (Send As-Is)</translation>
    </message>
    <message>
        <location filename="../../view/components/option_cards.py" line="29"/>
        <source>{0}（最新）</source>
        <translation>{0} (Latest)</translation>
    </message>
    <message>
        <location filename="../../view/components/option_cards.py" line="177"/>
        <source>模拟身份</source>
        <translation>Client Profile</translation>
    </message>
</context>
<context>
    <name>ClientProfileSettingCard</name>
    <message>
        <source>模拟身份</source>
        <translation type="vanished">Client Profile</translation>
    </message>
    <message>
        <source>浏览器 TLS 指纹与 User-Agent</source>
        <translation type="vanished">Browser TLS Fingerprint &amp; User-Agent</translation>
    </message>
</context>
<context>
    <name>CompletePage</name>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="750"/>
        <source>一切就绪</source>
        <translation>All Set</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="754"/>
        <source>Ghost Downloader 已准备好为你工作。
你可以随时在设置中调整所有选项。</source>
        <translation>Ghost Downloader is now ready!
You can adjust options in Settings at any time.</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="760"/>
        <source>开始使用</source>
        <translation>Get Started</translation>
    </message>
</context>
<context>
    <name>CoreService</name>
    <message>
        <source>打开文件</source>
        <translation type="vanished">Open File</translation>
    </message>
    <message>
        <source>打开目录</source>
        <translation type="vanished">Open Folder</translation>
    </message>
    <message>
        <source>下载完成</source>
        <translation type="vanished">Download Complete</translation>
    </message>
</context>
<context>
    <name>DecryptionKeyCard</name>
    <message>
        <location filename="../../../features/m3u8_pack/cards.py" line="177"/>
        <source>解密密钥</source>
        <translation>Decryption Key</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/cards.py" line="187"/>
        <location filename="../../../features/m3u8_pack/cards.py" line="211"/>
        <source>选择 KEY 文本文件</source>
        <translation>Select KEY Text File</translation>
    </message>
</context>
<context>
    <name>DefaultHeadersSettingCard</name>
    <message>
        <source>编辑</source>
        <translation type="vanished">Edit</translation>
    </message>
    <message>
        <source>编辑默认请求头</source>
        <translation type="vanished">Edit Default Request Headers</translation>
    </message>
    <message>
        <source>恢复默认</source>
        <translation type="vanished">Restore Defaults</translation>
    </message>
</context>
<context>
    <name>DeleteTaskDialog</name>
    <message>
        <source>删除任务</source>
        <translation type="vanished">Delete Task</translation>
    </message>
    <message>
        <source>确定要删除此任务吗？</source>
        <translation type="vanished">Are you sure you want to delete this task?</translation>
    </message>
    <message>
        <source>删除文件</source>
        <translation type="vanished">Delete Files</translation>
    </message>
</context>
<context>
    <name>DownloadOptionDialog</name>
    <message>
        <source>下载失败</source>
        <translation type="vanished">Download Failed</translation>
    </message>
    <message>
        <source>下载任务已添加</source>
        <translation type="vanished">Download Task Added</translation>
    </message>
</context>
<context>
    <name>DraftCard</name>
    <message>
        <location filename="../../view/cards/draft_cards.py" line="57"/>
        <source>编辑任务参数</source>
        <translation>Edit Task Options</translation>
    </message>
    <message>
        <location filename="../../view/cards/draft_cards.py" line="110"/>
        <location filename="../../view/cards/draft_cards.py" line="115"/>
        <source>未分类</source>
        <translation>Uncategorized</translation>
    </message>
</context>
<context>
    <name>DraftCardGroup</name>
    <message>
        <location filename="../../view/components/card_groups.py" line="82"/>
        <source>解析结果</source>
        <translation>Parse Results</translation>
    </message>
    <message>
        <location filename="../../view/components/card_groups.py" line="103"/>
        <source>{0} 个任务</source>
        <translation>{0} Tasks</translation>
    </message>
</context>
<context>
    <name>DropOverlay</name>
    <message>
        <location filename="../../view/windows/main_window.py" line="50"/>
        <source>松开以添加任务</source>
        <translation>Drop to add task</translation>
    </message>
</context>
<context>
    <name>ED2kConfig</name>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="37"/>
        <source>eD2k 下载</source>
        <translation>eD2k</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="40"/>
        <source>goed2kd 安装目录</source>
        <translation>goed2kd Install Location</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="50"/>
        <source>服务器列表源</source>
        <translation>Server List Source</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="51"/>
        <source>eD2k server.met 文件的 URL，留空则不引导</source>
        <translation>URL of the eD2k server.met file; leave empty to skip bootstrapping</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="55"/>
        <source>DHT 节点源</source>
        <translation>DHT Nodes Source</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="56"/>
        <source>KAD nodes.dat 文件的 URL，留空则不引导</source>
        <translation>URL of the KAD nodes.dat file; leave empty to skip bootstrapping</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="60"/>
        <source>启用 DHT</source>
        <translation>Enable DHT</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="61"/>
        <source>通过分布式哈希表查找节点，关闭后仅使用 eD2k 服务器</source>
        <translation>Discover peers via DHT network; when disabled, only eD2k servers are used</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="65"/>
        <source>启用 UPnP</source>
        <translation>Enable UPnP</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="66"/>
        <source>自动配置路由器端口转发</source>
        <translation>Automatically configure router port forwarding</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="70"/>
        <source>监听端口</source>
        <translation>Port</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="71"/>
        <source>0 表示交给系统自动分配可用端口</source>
        <translation>0 for system assigned port</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="75"/>
        <source>自动暂停共享时长</source>
        <translation>Auto Sharing Time Limit</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/config.py" line="76"/>
        <source>0 表示不按共享时长自动暂停</source>
        <translation>0 means no sharing time limit</translation>
    </message>
</context>
<context>
    <name>ED2kTaskCard</name>
    <message>
        <location filename="../../../features/ed2k_pack/cards.py" line="50"/>
        <location filename="../../../features/ed2k_pack/cards.py" line="55"/>
        <source>已共享 {0}</source>
        <translation>Shared for {0}</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/cards.py" line="52"/>
        <source>共享中</source>
        <translation>Sharing</translation>
    </message>
</context>
<context>
    <name>EditCookieDialog</name>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="150"/>
        <source>保存</source>
        <translation>Save</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="151"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="153"/>
        <source>手动导入 Cookie</source>
        <translation>Import Cookie Manually</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="155"/>
        <source>请粘贴浏览器导出的完整 Cookie，留空后保存可清空当前 Cookie</source>
        <translation>Paste the full Cookie exported from the browser. Save with it empty to clear the current Cookie.</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="158"/>
        <source>请在此输入用户 Cookie</source>
        <translation>Enter user Cookie here</translation>
    </message>
</context>
<context>
    <name>EditTaskDialog</name>
    <message>
        <location filename="../../view/dialogs/edit_task.py" line="26"/>
        <source>编辑任务参数</source>
        <translation>Edit Task Options</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/edit_task.py" line="32"/>
        <source>应用</source>
        <translation>Apply</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/edit_task.py" line="33"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <source>链接解析失败</source>
        <translation type="vanished">Link Parsing Failed</translation>
    </message>
    <message>
        <source>解析新链接时发生错误</source>
        <translation type="vanished">Error parsing the new URL</translation>
    </message>
    <message>
        <source>确认更换链接</source>
        <translation type="vanished">Confirm URL Update</translation>
    </message>
    <message>
        <source>新链接与原链接的内容不一致，将清除已下载的 {0} 数据，是否继续？</source>
        <translation type="vanished">The new URL differs from the original; {0} of existing data will be cleared. Continue?</translation>
    </message>
</context>
<context>
    <name>ExtensionInstallDialog</name>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="24"/>
        <source>扩展已解包，按以下步骤安装</source>
        <translation>Extension unpacked, install as follows:</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="38"/>
        <source>打开扩展页面并定位目录</source>
        <translation>Open Extensions page and navigate to directory</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="39"/>
        <source>关闭</source>
        <translation>Close</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="54"/>
        <source>演示动画即将上线</source>
        <translation>Demo animation coming soon</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="71"/>
        <source>在浏览器中打开 {}</source>
        <translation>Open {} in Browser</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="72"/>
        <source>开启 {}</source>
        <translation>Enable {}</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="72"/>
        <source>开发者模式</source>
        <translation>Developer Mode</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="73"/>
        <source>将 {} 拖入浏览器窗口</source>
        <translation>Drag {} into browser window</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="73"/>
        <source>扩展文件夹</source>
        <translation>Extension Folder</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="74"/>
        <source>启用扩展</source>
        <translation>Enable Extension</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="75"/>
        <source>打开 {}，点击 {}</source>
        <translation>Open {}, click {}</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="75"/>
        <source>扩展弹窗</source>
        <translation>Extension Popup</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="75"/>
        <source>自动配对</source>
        <translation>Auto Pair</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="130"/>
        <source>请手动打开浏览器</source>
        <translation>Please manually open your browser</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/extension_install.py" line="131"/>
        <source>chrome://extensions 已复制到剪贴板，请粘贴到地址栏</source>
        <translation>chrome://extensions copied to clipboard, please paste into address bar</translation>
    </message>
</context>
<context>
    <name>FFmpegConfig</name>
    <message>
        <location filename="../../../features/ffmpeg_pack/config.py" line="43"/>
        <source>FFmpeg</source>
        <translation>FFmpeg</translation>
    </message>
    <message>
        <location filename="../../../features/ffmpeg_pack/config.py" line="46"/>
        <source>FFmpeg 安装目录</source>
        <translation>FFmpeg Install Location</translation>
    </message>
    <message>
        <source>选择 FFmpeg 安装目录</source>
        <translation type="vanished">Select FFmpeg Install Location</translation>
    </message>
</context>
<context>
    <name>FFmpegRuntimeCard</name>
    <message>
        <source>当前 FFmpeg</source>
        <translation type="vanished">Current FFmpeg</translation>
    </message>
    <message>
        <source>正在检测 FFmpeg 运行时...</source>
        <translation type="vanished">Detecting FFmpeg runtime...</translation>
    </message>
    <message>
        <source>一键安装</source>
        <translation type="vanished">Install</translation>
    </message>
    <message>
        <source>打开 brew.sh</source>
        <translation type="vanished">Open brew.sh</translation>
    </message>
    <message>
        <source>复制安装命令</source>
        <translation type="vanished">Copy Installation Command</translation>
    </message>
    <message>
        <source>检测 FFmpeg 运行时失败</source>
        <translation type="vanished">Failed to detect FFmpeg runtime</translation>
    </message>
    <message>
        <source>版本: {0}
安装路径: {1}</source>
        <translation type="vanished">Version: {0}
Install Location: {1}</translation>
    </message>
    <message>
        <source>未知</source>
        <translation type="vanished">Unknown</translation>
    </message>
    <message>
        <source>未检测到可用的 ffmpeg 和 ffprobe</source>
        <translation type="vanished">No available ffmpeg or ffprobe binaries detected</translation>
    </message>
    <message>
        <source>准备中...</source>
        <translation type="vanished">Preparing...</translation>
    </message>
    <message>
        <source>已复制安装命令</source>
        <translation type="vanished">Installation Command Copied</translation>
    </message>
    <message>
        <source>安装 FFmpeg 失败</source>
        <translation type="vanished">Failed to install FFmpeg</translation>
    </message>
    <message>
        <source>无法创建安装任务</source>
        <translation type="vanished">Failed to create installation task</translation>
    </message>
</context>
<context>
    <name>FileHashDialog</name>
    <message>
        <location filename="../../view/dialogs/file_hash.py" line="46"/>
        <source>校验下载文件</source>
        <translation>Verify Downloaded File</translation>
    </message>
    <message>
        <source>请选择要使用的校验算法</source>
        <translation type="vanished">Select verification algorithm</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_hash.py" line="48"/>
        <source>等待开始</source>
        <translation>Waiting to Start</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_hash.py" line="52"/>
        <source>开始校验</source>
        <translation>Start Verification</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_hash.py" line="53"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_hash.py" line="62"/>
        <source>选择校验算法</source>
        <translation>Select Verification Algorithm</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_hash.py" line="82"/>
        <source>正在校验...</source>
        <translation>Verifying...</translation>
    </message>
    <message>
        <source>正在校验 {0}</source>
        <translation type="vanished">Verifying {0}</translation>
    </message>
    <message>
        <source>正在校验 {0}%</source>
        <translation type="vanished">Verifying {0}%</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_hash.py" line="96"/>
        <source>校验完成</source>
        <translation>Verification Complete</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_hash.py" line="102"/>
        <source>校验失败：{0}</source>
        <translation>Verification Failed: {0}</translation>
    </message>
    <message>
        <source>重新校验</source>
        <translation type="vanished">Verify Again</translation>
    </message>
</context>
<context>
    <name>FileSelectDialog</name>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="30"/>
        <source>选择下载文件</source>
        <translation>Select Download Files</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="35"/>
        <source>全选</source>
        <translation>Select All</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="36"/>
        <source>全不选</source>
        <translation>Select None</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="37"/>
        <source>反选</source>
        <translation>Invert Selection</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="38"/>
        <source>按类型选择</source>
        <translation>Select by Type</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="53"/>
        <source>应用</source>
        <translation>Apply</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="54"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="56"/>
        <source>文件</source>
        <translation>File</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="56"/>
        <source>大小</source>
        <translation>Size</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="154"/>
        <source>其他</source>
        <translation>Other</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="141"/>
        <location filename="../../view/dialogs/file_select.py" line="154"/>
        <source>仅选{0} ({1})</source>
        <translation>Only {0} ({1})</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="237"/>
        <source>已选择 {0}/{1} 个文件，共 {2}</source>
        <translation>Selected {0}/{1} files, totaling {2} in size</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="247"/>
        <source>至少选择一个文件</source>
        <translation>At least one file is required</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/file_select.py" line="248"/>
        <source>当前没有任何文件被勾选</source>
        <translation>No files are currently selected</translation>
    </message>
</context>
<context>
    <name>FolderPicker</name>
    <message>
        <location filename="../../view/components/editors.py" line="73"/>
        <source>浏览文件夹</source>
        <translation>Browse Folder</translation>
    </message>
    <message>
        <location filename="../../view/components/editors.py" line="120"/>
        <source>选择文件夹</source>
        <translation>Select Folder</translation>
    </message>
</context>
<context>
    <name>FtpDraftCard</name>
    <message>
        <source>选择文件</source>
        <translation type="vanished">Select Files</translation>
    </message>
    <message>
        <source>{0}/{1} 个文件 · {2}</source>
        <translation type="vanished">{0}/{1} Files · {2}</translation>
    </message>
</context>
<context>
    <name>FtpResultCard</name>
    <message>
        <source>选择文件</source>
        <translation type="vanished">Select Files</translation>
    </message>
    <message>
        <source>FTP 目录</source>
        <translation type="vanished">FTP Directory</translation>
    </message>
    <message>
        <source>FTP 文件</source>
        <translation type="vanished">FTP File</translation>
    </message>
    <message>
        <source>{0} · {1}</source>
        <translation type="vanished">{0} · {1}</translation>
    </message>
    <message>
        <source>{0}/{1} 个文件 · {2}</source>
        <translation type="vanished">{0}/{1} File(s) · {2}</translation>
    </message>
</context>
<context>
    <name>FtpTaskCard</name>
    <message>
        <source>{0}/{1} 个文件</source>
        <translation type="vanished">{0}/{1} File(s) </translation>
    </message>
</context>
<context>
    <name>GitHubConfig</name>
    <message>
        <location filename="../../../features/github_pack/config.py" line="207"/>
        <source>GitHub 加速</source>
        <translation>GitHub</translation>
    </message>
    <message>
        <location filename="../../../features/github_pack/config.py" line="209"/>
        <source>启用 GitHub 加速</source>
        <translation>Enable GitHub Acceleration</translation>
    </message>
    <message>
        <location filename="../../../features/github_pack/config.py" line="210"/>
        <source>优先使用所选代理站，不可用时自动切换其他站点或直连</source>
        <translation>Priortize selected proxy site; switch to other sites or access directly if unavailable</translation>
    </message>
    <message>
        <source>查看协议</source>
        <translation type="vanished">View Agreement</translation>
    </message>
</context>
<context>
    <name>GitHubProxySiteCard</name>
    <message>
        <location filename="../../../features/github_pack/config.py" line="90"/>
        <source>代理站</source>
        <translation>Proxy Site</translation>
    </message>
    <message>
        <location filename="../../../features/github_pack/config.py" line="91"/>
        <source>选择 GitHub 反向代理站，延迟仅供参考</source>
        <translation>Select GitHub reverse proxy site; latency is for reference only</translation>
    </message>
    <message>
        <location filename="../../../features/github_pack/config.py" line="108"/>
        <source>刷新延迟</source>
        <translation>Re-test Latency</translation>
    </message>
    <message>
        <location filename="../../../features/github_pack/config.py" line="113"/>
        <location filename="../../../features/github_pack/config.py" line="157"/>
        <source>自定义</source>
        <translation>Custom</translation>
    </message>
    <message>
        <location filename="../../../features/github_pack/config.py" line="142"/>
        <source>不可用</source>
        <translation>Unavailable</translation>
    </message>
    <message>
        <location filename="../../../features/github_pack/config.py" line="144"/>
        <source>超时</source>
        <translation>Timeout</translation>
    </message>
</context>
<context>
    <name>HeaderRow</name>
    <message>
        <location filename="../../view/components/headers_editor.py" line="162"/>
        <source>名称</source>
        <translation>Name</translation>
    </message>
    <message>
        <location filename="../../view/components/headers_editor.py" line="165"/>
        <source>值</source>
        <translation>Value</translation>
    </message>
</context>
<context>
    <name>HeadersEditCard</name>
    <message>
        <source>插入 User-Agent 预设</source>
        <translation type="vanished">Insert User Agent Preset</translation>
    </message>
    <message>
        <location filename="../../view/components/option_cards.py" line="270"/>
        <source>请求标头</source>
        <translation>Request Headers</translation>
    </message>
    <message>
        <source>恢复默认请求标头</source>
        <translation type="vanished">Restore Default Request Headers</translation>
    </message>
    <message>
        <source>每行一个 Name: Value</source>
        <translation type="vanished">One Name: Value pair per line</translation>
    </message>
</context>
<context>
    <name>HeadersEditor</name>
    <message>
        <source>名称</source>
        <translation type="vanished">Name</translation>
    </message>
    <message>
        <source>值</source>
        <translation type="vanished">Value</translation>
    </message>
    <message>
        <location filename="../../view/components/headers_editor.py" line="238"/>
        <source>每行一个 名称: 值，或直接粘贴 cURL 命令</source>
        <translation>One Name: Value pair per line, or paste a cURL command</translation>
    </message>
    <message>
        <location filename="../../view/components/headers_editor.py" line="239"/>
        <location filename="../../view/components/headers_editor.py" line="331"/>
        <source>使用帮助</source>
        <translation>Help</translation>
    </message>
    <message>
        <location filename="../../view/components/headers_editor.py" line="240"/>
        <location filename="../../view/components/headers_editor.py" line="323"/>
        <source>切换到文本视图</source>
        <translation>Text View</translation>
    </message>
    <message>
        <location filename="../../view/components/headers_editor.py" line="241"/>
        <source>恢复默认请求标头</source>
        <translation>Restore Default Request Headers</translation>
    </message>
    <message>
        <location filename="../../view/components/headers_editor.py" line="323"/>
        <source>切换到表格视图</source>
        <translation>Table View</translation>
    </message>
    <message>
        <location filename="../../view/components/headers_editor.py" line="333"/>
        <source>粘贴即可识别 cURL 或 名称: 值（每行一个）
多条 cURL 只取第一条

模拟身份开启时 User-Agent 和 sec-ch-ua 不生效，
设为不模拟可原样发送</source>
        <translation>Auto-detect cURL or Name: Value (one per line)
Only the first cURL command is imported

User-Agent and sec-ch-ua are ignored when client profile is enabled;
select &quot;No Emulation&quot; to send as-is</translation>
    </message>
</context>
<context>
    <name>HeadersPresetEditDialog</name>
    <message>
        <location filename="../../view/dialogs/headers_preset_edit.py" line="26"/>
        <source>确定</source>
        <translation>Save</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/headers_preset_edit.py" line="27"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/headers_preset_edit.py" line="28"/>
        <source>预设名称</source>
        <translation>Preset Name</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/headers_preset_edit.py" line="48"/>
        <source>请输入预设名称</source>
        <translation>Enter preset name</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/headers_preset_edit.py" line="49"/>
        <source>预设名称不能为空</source>
        <translation>Preset name cannot be empty</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/headers_preset_edit.py" line="60"/>
        <source>未命名预设</source>
        <translation>Unnamed Preset</translation>
    </message>
</context>
<context>
    <name>HeadersPresetRow</name>
    <message>
        <location filename="../../view/components/setting_cards.py" line="626"/>
        <source>{0} 条标头</source>
        <translation>{0} header(s)</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="636"/>
        <source>编辑</source>
        <translation>Edit</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="638"/>
        <source>删除</source>
        <translation>Delete</translation>
    </message>
</context>
<context>
    <name>HeadersPresetSettingCard</name>
    <message>
        <location filename="../../view/components/setting_cards.py" line="661"/>
        <source>请求标头预设</source>
        <translation>Request Header Presets</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="662"/>
        <source>新建任务的标头起点</source>
        <translation>Starting headers for new tasks</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="669"/>
        <source>添加预设</source>
        <translation>Add Preset</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="736"/>
        <source>未命名预设</source>
        <translation>Unnamed Preset</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="738"/>
        <source>删除预设</source>
        <translation>Delete Preset</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="739"/>
        <source>确定要删除 {0} 吗？</source>
        <translation>Are you sure you want to delete {0}?</translation>
    </message>
</context>
<context>
    <name>HuggingFaceConfig</name>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="233"/>
        <source>HuggingFace</source>
        <translation>HuggingFace</translation>
    </message>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="236"/>
        <source>启用 HuggingFace 加速</source>
        <translation>Enable HuggingFace Acceleration</translation>
    </message>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="237"/>
        <source>命中 HuggingFace 链接时，自动改写为所选镜像站</source>
        <translation>Automatically rewrite HuggingFace links to download through selected mirror site</translation>
    </message>
</context>
<context>
    <name>HuggingFaceDraftCard</name>
    <message>
        <source>选择文件</source>
        <translation type="vanished">Select Files</translation>
    </message>
    <message>
        <source>{0}/{1} 个文件 · {2}</source>
        <translation type="vanished">{0}/{1} Files · {2}</translation>
    </message>
</context>
<context>
    <name>HuggingFaceProxySiteCard</name>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="89"/>
        <source>镜像站</source>
        <translation>Mirror Site</translation>
    </message>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="90"/>
        <source>选择 HuggingFace 镜像站，延迟仅供参考</source>
        <translation>Select HuggingFace mirror site; latency is for reference only</translation>
    </message>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="107"/>
        <source>刷新延迟</source>
        <translation>Re-test Latency</translation>
    </message>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="112"/>
        <location filename="../../../features/huggingface_pack/config.py" line="152"/>
        <source>自定义</source>
        <translation>Custom</translation>
    </message>
</context>
<context>
    <name>HuggingFaceTaskCard</name>
    <message>
        <source>{0}/{1} 个文件</source>
        <translation type="vanished">{0}/{1} File(s)</translation>
    </message>
</context>
<context>
    <name>HuggingFaceTokenCard</name>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="200"/>
        <source>Access Token</source>
        <translation>Access Token</translation>
    </message>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="201"/>
        <source>用于下载需要授权的模型（如 Llama、Mistral）</source>
        <translation>Used to download gated models (e.g., Llama, Mistral)</translation>
    </message>
    <message>
        <location filename="../../../features/huggingface_pack/config.py" line="208"/>
        <source>获取 Token</source>
        <translation>Get Token</translation>
    </message>
</context>
<context>
    <name>IdentitySettingCard</name>
    <message>
        <location filename="../../view/components/setting_cards.py" line="468"/>
        <source>模拟身份</source>
        <translation>Client Profile</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="469"/>
        <source>TLS 指纹与 User-Agent 预设</source>
        <translation>TLS fingerprints &amp; User-Agent presets</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="483"/>
        <source>全局默认</source>
        <translation>Global Default</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="484"/>
        <source>未被预设匹配时使用</source>
        <translation>Used when no preset matches</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="489"/>
        <source>添加预设</source>
        <translation>Add Preset</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="595"/>
        <source>未命名预设</source>
        <translation>Unnamed Preset</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="597"/>
        <source>删除预设</source>
        <translation>Delete Preset</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="598"/>
        <source>确定要删除 {0} 吗？</source>
        <translation>Are you sure you want to delete {0}?</translation>
    </message>
</context>
<context>
    <name>InstallFolderCard</name>
    <message>
        <source>浏览文件夹</source>
        <translation type="vanished">Browse for Folder</translation>
    </message>
    <message>
        <source>恢复默认路径</source>
        <translation type="vanished">Restore Default Location</translation>
    </message>
</context>
<context>
    <name>KeepAlive</name>
    <message>
        <location filename="../../platform/android_keepalive.py" line="64"/>
        <source>后台任务</source>
        <translation>Background Tasks</translation>
    </message>
    <message>
        <location filename="../../platform/android_keepalive.py" line="78"/>
        <source>下载中</source>
        <translation>Downloading</translation>
    </message>
    <message>
        <location filename="../../platform/android_keepalive.py" line="79"/>
        <source>浏览器扩展已连接</source>
        <translation>Browser Extension Connected</translation>
    </message>
</context>
<context>
    <name>LiveEditDialog</name>
    <message>
        <location filename="../../view/dialogs/edit_task.py" line="105"/>
        <source>确认更换链接</source>
        <translation>Confirm URL Update</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/edit_task.py" line="106"/>
        <source>新链接与原链接的内容不一致，将清除已下载的 {0} 数据，是否继续？</source>
        <translation>The new URL differs from the original; {0} of existing data will be cleared. Continue?</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/edit_task.py" line="126"/>
        <source>链接解析失败</source>
        <translation>Link Parsing Failed</translation>
    </message>
</context>
<context>
    <name>LoadingWidget</name>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="124"/>
        <location filename="../../../features/jack_yao/pack.py" line="148"/>
        <source>正在加载...</source>
        <translation>Loading...</translation>
    </message>
    <message>
        <location filename="../../../features/jack_yao/pack.py" line="128"/>
        <source>重试</source>
        <translation>Retry</translation>
    </message>
</context>
<context>
    <name>M3U8Config</name>
    <message>
        <source>流媒体下载</source>
        <translation type="vanished">Media Stream Download</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="74"/>
        <source>N_m3u8DL-RE 安装目录</source>
        <translation>N_m3u8DL-RE Install Location</translation>
    </message>
    <message>
        <source>选择 N_m3u8DL-RE 安装目录</source>
        <translation type="vanished">Select N_m3u8DL-RE Install Location</translation>
    </message>
    <message>
        <source>关联 M3U8/MPD 文件</source>
        <translation type="vanished">Associate M3U8/MPD Files</translation>
    </message>
    <message>
        <source>把 .m3u8/.m3u/.mpd 文件的打开方式设为 Ghost Downloader</source>
        <translation type="vanished">Set Ghost Downloader as the default handler for .m3u8/.m3u/.mpd files</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="80"/>
        <source>输出容器</source>
        <translation>Output Container</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="81"/>
        <source>点播下载完成后优先使用 ffmpeg 混流为指定容器</source>
        <translation>Prefered container format for ffmpeg to remux to after VOD download completion</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="82"/>
        <source>分片线程数</source>
        <translation>Chunk Threads</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="83"/>
        <source>传给 N_m3u8DL-RE 的下载线程数</source>
        <translation>Download threads passed to N_m3u8DL-RE</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="84"/>
        <source>分片重试次数</source>
        <translation>Chunk Retry Attempts</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="85"/>
        <source>单个分片下载失败时的最大重试次数</source>
        <translation>Maximum retries for failed chunks</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="86"/>
        <source>请求超时</source>
        <translation>Request Timeout</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="86"/>
        <source>HTTP 请求超时时间</source>
        <translation>HTTP request timeout length</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="88"/>
        <source>自动选择最佳轨道</source>
        <translation>Auto Select Best Track</translation>
    </message>
    <message>
        <source>默认选择最佳音视频轨道，避免每个链接都手动挑选</source>
        <translation type="vanished">Auto select best audio/video track and skip manual selection</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="71"/>
        <source>M3U8 下载</source>
        <translation>M3U8 Playlist</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="89"/>
        <source>默认选择最佳音视频轨道</source>
        <translation>Default to best audio/video track</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="90"/>
        <source>并发下载音视频</source>
        <translation>Simultaneous Audio/Video Download</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="91"/>
        <source>同时下载已选择的音频、视频和字幕轨道</source>
        <translation>Simultaneously download selected audio, video and subtitle tracks</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="92"/>
        <source>追加 URL 参数</source>
        <translation>Append URL Parameters</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="93"/>
        <source>把输入链接上的 Query 参数追加到分片请求</source>
        <translation>Append query parameters from input URL to chunk requests</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="94"/>
        <source>二进制合并</source>
        <translation>Binary Merge</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="95"/>
        <source>让 N_m3u8DL-RE 使用二进制方式合并分片</source>
        <translation>Let N_m3u8DL-RE merge chunks in binary mode</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="96"/>
        <source>校验分片数量</source>
        <translation>Verify Chunk Count</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="97"/>
        <source>下载完成后检查实际分片数是否与预期一致</source>
        <translation>Verify chunk count is as expected after download completion</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="98"/>
        <source>直播保留原始分片</source>
        <translation>Keep Original Live Stream Segments</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="99"/>
        <source>实时合并录制时仍保留下载的原始分片</source>
        <translation>Keep downloaded segments when merging live recordings in real time</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="101"/>
        <source>录制时通过管道交给 ffmpeg 实时混流为封装容器</source>
        <translation>Pipe to FFmpeg for real-time remuxing during recording</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="102"/>
        <source>直播校正 VTT 字幕</source>
        <translation>Correct VTT subtitles for live streams</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="103"/>
        <source>根据音频起始时间校正 VTT 字幕时间轴</source>
        <translation>Adjust VTT subtitle timeline based on audio start time</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="104"/>
        <source>直播刷新等待时间</source>
        <translation>Live Refresh Interval</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="105"/>
        <source>两次拉取直播清单之间的等待秒数，0 为自动</source>
        <translation>Seconds between live playlist fetches, 0 for auto</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="106"/>
        <source>直播每次取片数</source>
        <translation>Live Segments Per Fetch</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="107"/>
        <source>每次刷新最多取走的分片数量，0 为自动</source>
        <translation>Max segments to fetch per refresh, 0 for auto</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="108"/>
        <source>解密引擎</source>
        <translation>Decryption Engine</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="109"/>
        <source>调用的第三方解密程序</source>
        <translation>Third-party decryption program used</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="110"/>
        <source>解密引擎二进制路径</source>
        <translation>Decryption Engine Binary Location</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="111"/>
        <source>MP4Decrypt / Shaka Packager 可执行文件路径，留空则使用 FFmpeg</source>
        <translation>Path to MP4Decrypt / Shaka Packager executable; leave empty to use FFmpeg</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="130"/>
        <source>默认拉取全部音频与字幕轨道</source>
        <translation>Default to download all audio and subtitle tracks</translation>
    </message>
    <message>
        <source>选择解密引擎可执行文件</source>
        <translation type="obsolete">选择解密引擎可执行文件</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="113"/>
        <source>MP4 实时解密</source>
        <translation>MP4 Real-time Decryption</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="114"/>
        <source>下载 MP4 分片时实时解密</source>
        <translation>Decrypt MP4 segments in real time during download</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="115"/>
        <source>限速</source>
        <translation>Speed Limit</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="116"/>
        <source>最大下载速度，-1 为不限速</source>
        <translation>Maximum download speed, -1 for unlimited</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="117"/>
        <source>限速单位</source>
        <translation>Speed Limit Unit</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="118"/>
        <source>限速数值的单位</source>
        <translation>Unit for speed limit value</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="119"/>
        <source>广告过滤</source>
        <translation>Ad Filter</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="120"/>
        <source>匹配广告分片 URL 的正则表达式</source>
        <translation>Regex matching ad segment URLs</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="120"/>
        <source>正则表达式</source>
        <translation>Regular Expression</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="121"/>
        <source>字幕格式</source>
        <translation>Subtitle Format</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="122"/>
        <source>字幕输出格式</source>
        <translation>Subtitle output format</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="123"/>
        <source>不写入日期信息</source>
        <translation>Omit Date Info</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="124"/>
        <source>混流时不写入日期信息</source>
        <translation>Do not write date info during remux</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="125"/>
        <source>保留图形分片</source>
        <translation>Keep Graphical Segments</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="126"/>
        <source>把图形字幕转图片后保留原始分片</source>
        <translation>Keep original segments after converting graphical subtitles to images</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="127"/>
        <source>完成后删除临时文件</source>
        <translation>Delete Temp Files After Completion</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="128"/>
        <source>下载完成后删除分片临时目录</source>
        <translation>Delete temporary segment storage directory after download</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="129"/>
        <source>下载全部音轨与字幕</source>
        <translation>Download All Audio And Subtitles Tracks</translation>
    </message>
    <message>
        <source>默认拉取全部音频与字幕轨道，而非仅最佳</source>
        <translation type="obsolete">默认拉取全部音频与字幕轨道，而非仅最佳</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="131"/>
        <source>自定义混流参数</source>
        <translation>Custom Remux Arguments</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="132"/>
        <source>自定义 --mux-after-done，留空则按输出容器自动混流</source>
        <translation>Custom --mux-after-done; leave empty to auto-remux according to output container</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/config.py" line="100"/>
        <source>直播管道混流</source>
        <translation>Live Pipe Remux</translation>
    </message>
</context>
<context>
    <name>M3U8DecryptionEditCard</name>
    <message>
        <source>选择 KEY 文本文件</source>
        <translation type="obsolete">选择 KEY 文本文件</translation>
    </message>
</context>
<context>
    <name>M3U8LiveTaskCard</name>
    <message>
        <location filename="../../../features/m3u8_pack/cards.py" line="56"/>
        <source>等待中</source>
        <translation>Waiting</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/cards.py" line="57"/>
        <source>录制中</source>
        <translation>Recording</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/cards.py" line="86"/>
        <source>录制已结束</source>
        <translation>Recording Ended</translation>
    </message>
    <message>
        <source>等待录制</source>
        <translation type="obsolete">等待录制</translation>
    </message>
    <message>
        <source>停止并定案</source>
        <translation type="vanished">Stop &amp; Finalize</translation>
    </message>
</context>
<context>
    <name>M3U8Pack</name>
    <message>
        <location filename="../../../features/m3u8_pack/pack.py" line="310"/>
        <source>M3U8 播放列表</source>
        <translation>M3U8 Playlist</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/pack.py" line="316"/>
        <source>DASH 清单</source>
        <translation>DASH List</translation>
    </message>
</context>
<context>
    <name>M3U8ResultCard</name>
    <message>
        <source>直播</source>
        <translation type="vanished">Live</translation>
    </message>
    <message>
        <source>点播</source>
        <translation type="vanished">VOD</translation>
    </message>
</context>
<context>
    <name>M3U8RuntimeCard</name>
    <message>
        <source>当前 N_m3u8DL-RE</source>
        <translation type="vanished">Current N_m3u8DL-RE</translation>
    </message>
    <message>
        <source>正在检测运行时...</source>
        <translation type="vanished">Detecting runtime...</translation>
    </message>
    <message>
        <source>一键安装</source>
        <translation type="vanished">Install</translation>
    </message>
    <message>
        <source>检测运行时失败</source>
        <translation type="vanished">Runtime detection failed</translation>
    </message>
    <message>
        <source>未检测到，部分流可能无法自动混流</source>
        <translation type="vanished">Not detected, auto-remux may not work for some streams</translation>
    </message>
    <message>
        <source>版本: {0}
安装路径: {1}
FFmpeg: {2}</source>
        <translation type="vanished">Version: {0}
Install Location: {1}
FFmpeg: {2}</translation>
    </message>
    <message>
        <source>未知</source>
        <translation type="vanished">Unknown</translation>
    </message>
    <message>
        <source>未检测到可用的 N_m3u8DL-RE</source>
        <translation type="vanished">No N_m3u8DL-RE detected</translation>
    </message>
    <message>
        <source>准备中...</source>
        <translation type="vanished">Preparing...</translation>
    </message>
    <message>
        <source>安装 N_m3u8DL-RE 失败</source>
        <translation type="vanished">Failed to install N_m3u8DL-RE</translation>
    </message>
    <message>
        <source>无法创建安装任务</source>
        <translation type="vanished">Failed to create installation task</translation>
    </message>
</context>
<context>
    <name>M3U8TaskCard</name>
    <message>
        <source>{0} / {1:.2f}%</source>
        <translation type="vanished">{0} / {1:.2f}%</translation>
    </message>
    <message>
        <source>任务已经完成</source>
        <translation type="vanished">Task Completed</translation>
    </message>
    <message>
        <source>任务已经暂停</source>
        <translation type="vanished">Task Paused</translation>
    </message>
    <message>
        <source>任务正在等待</source>
        <translation type="vanished">Task Pending</translation>
    </message>
</context>
<context>
    <name>M3U8TrackEditCard</name>
    <message>
        <source>默认（最佳）</source>
        <translation type="obsolete">默认（最佳）</translation>
    </message>
</context>
<context>
    <name>MainWindow</name>
    <message>
        <location filename="../../view/windows/main_window.py" line="389"/>
        <source>程序发生异常</source>
        <translation>An exception occurred</translation>
    </message>
    <message>
        <source>点击“确定”后将复制错误信息并打开反馈页面。
点击“文档”图标以打开程序日志。
{0}</source>
        <translation type="vanished">After clicking “OK”, the error information will be copied and the feedback page will open.
Click the “Document” icon to open the log.
{0}</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="129"/>
        <source>下载任务</source>
        <translation>Tasks</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="133"/>
        <source>新建任务</source>
        <translation>New Task</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="139"/>
        <source>设置</source>
        <translation>Settings</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="276"/>
        <source>未知</source>
        <translation>Unknown</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="277"/>
        <source>浏览器扩展</source>
        <translation>Browser Extension</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="280"/>
        <source>浏览器扩展正在请求连接到 Ghost Downloader。

来源: {0}
客户端: {1}
扩展版本: {2}

仅在你刚刚点击扩展里的&quot;自动配对&quot;时允许。</source>
        <translation>A browser extension is requesting to pair with Ghost Downloader.

From: {0}
Client: {1}
Extension Version: {2}

Only allow this request if you have requested &quot;Auto Pair&quot; from the extension.</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="285"/>
        <source>浏览器扩展配对请求</source>
        <translation>Browser Extension Pairing Request</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="286"/>
        <source>允许配对</source>
        <translation>Allow</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="287"/>
        <source>拒绝</source>
        <translation>Decline</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="318"/>
        <source>查看详情</source>
        <translation>View Details</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="438"/>
        <source>是否完全退出程序？</source>
        <translation>Exit App Completely?</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="439"/>
        <source>后台运行时可通过系统托盘图标重新打开。</source>
        <translation>While running in background, you may reopen the app from the system tray icon.</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="442"/>
        <source>退出程序</source>
        <translation>Exit App</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="443"/>
        <source>继续在后台运行</source>
        <translation>Continue running in background</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="444"/>
        <source>记住我的选择</source>
        <translation>Remember my choice</translation>
    </message>
    <message>
        <source>请在版本详情中手动选择</source>
        <translation type="vanished">Please select manually in version details</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="390"/>
        <source>点击&quot;确定&quot;后将复制错误信息并打开反馈页面。

{0}</source>
        <translation>After clicking &quot;OK&quot;, the error info will be copied and the feedback page will open.

{0}</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="394"/>
        <source>查看日志</source>
        <translation>View Logs</translation>
    </message>
    <message>
        <source>检查更新</source>
        <translation type="vanished">Check for Updates</translation>
    </message>
    <message>
        <source>正在检查更新...</source>
        <translation type="vanished">Checking for updates...</translation>
    </message>
    <message>
        <source>检查更新失败</source>
        <translation type="vanished">Failed to check update</translation>
    </message>
    <message>
        <source>无法获取最新版本信息</source>
        <translation type="vanished">Unable to get the latest version information</translation>
    </message>
    <message>
        <source>当前已是最新版本</source>
        <translation type="vanished">You&apos;re running the latest version</translation>
    </message>
    <message>
        <source>当前版本 {0}，最新版本 {1}</source>
        <translation type="vanished">Current version {0}, latest version {1}</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="304"/>
        <source>检测到新版本</source>
        <translation>New Version Available</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="305"/>
        <source>最新版本: {0}</source>
        <translation>Latest version: {0}</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="312"/>
        <source>立即下载</source>
        <translation>Download Now</translation>
    </message>
    <message>
        <source>查看版本详细</source>
        <translation type="vanished">View Release Details</translation>
    </message>
    <message>
        <location filename="../../view/windows/main_window.py" line="321"/>
        <source>请作者喝咖啡</source>
        <translation>Buy Author A Coffee</translation>
    </message>
    <message>
        <source>未找到适配的安装包</source>
        <translation type="vanished">No compatible installer package found</translation>
    </message>
    <message>
        <source>已打开版本详情，请手动选择要下载的文件</source>
        <translation type="vanished">Release details opened, please select a file to download</translation>
    </message>
    <message>
        <source>创建下载任务失败</source>
        <translation type="vanished">Failed to create download task</translation>
    </message>
    <message>
        <source>已添加下载任务</source>
        <translation type="vanished">Download task added</translation>
    </message>
    <message>
        <location filename="../../view/notification_catalog.py" line="3"/>
        <source>功能包更新</source>
        <translation>Feature Pack Update</translation>
    </message>
    <message>
        <location filename="../../view/notification_catalog.py" line="4"/>
        <source>{0} 将在下次启动时生效</source>
        <translation>{0} will take effect on next launch</translation>
    </message>
</context>
<context>
    <name>MarkdownViewer</name>
    <message>
        <location filename="../../view/components/markdown_viewer.py" line="98"/>
        <source>Note</source>
        <translation>Note</translation>
    </message>
    <message>
        <location filename="../../view/components/markdown_viewer.py" line="99"/>
        <source>Tip</source>
        <translation>Tip</translation>
    </message>
    <message>
        <location filename="../../view/components/markdown_viewer.py" line="100"/>
        <source>Important</source>
        <translation>Important</translation>
    </message>
    <message>
        <location filename="../../view/components/markdown_viewer.py" line="101"/>
        <source>Warning</source>
        <translation>Warning</translation>
    </message>
    <message>
        <location filename="../../view/components/markdown_viewer.py" line="102"/>
        <source>Caution</source>
        <translation>Caution</translation>
    </message>
</context>
<context>
    <name>MenuTrackButton</name>
    <message>
        <location filename="../../view/components/track_bar.py" line="62"/>
        <source>不下载</source>
        <translation>Skip</translation>
    </message>
</context>
<context>
    <name>MobileMainWindow</name>
    <message>
        <location filename="../../view/mobile/window.py" line="45"/>
        <source>未开启通知权限，下载完成后将无法提醒</source>
        <translation>Notification permission is disabled, download completion notifications will not be sent</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="74"/>
        <source>任务</source>
        <translation>Tasks</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="75"/>
        <source>设置</source>
        <translation>Settings</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="192"/>
        <source>需要存储权限</source>
        <translation>Storage Permission Required</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="193"/>
        <source>请授予存储权限后再新建任务</source>
        <translation>Grant storage permission before creating a new task</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="215"/>
        <source>检测到新版本</source>
        <translation>New Version Available</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="216"/>
        <source>最新版本: {0}</source>
        <translation>Latest version: {0}</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="223"/>
        <source>立即下载</source>
        <translation>Download Now</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="226"/>
        <source>查看详情</source>
        <translation>View Details</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="301"/>
        <source>程序发生异常</source>
        <translation>An exception occurred</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="302"/>
        <source>点击&quot;确定&quot;后将复制错误信息并打开反馈页面。

{0}</source>
        <translation>After clicking &quot;OK&quot;, the error info will be copied and the feedback page will open.

{0}</translation>
    </message>
    <message>
        <location filename="../../view/mobile/window.py" line="306"/>
        <source>查看日志</source>
        <translation>View Logs</translation>
    </message>
</context>
<context>
    <name>MobileTaskCardBase</name>
    <message>
        <location filename="../../view/mobile/cards.py" line="34"/>
        <source>打开文件</source>
        <translation>Open File</translation>
    </message>
    <message>
        <location filename="../../view/mobile/cards.py" line="38"/>
        <source>打开文件夹</source>
        <translation>Open Folder</translation>
    </message>
    <message>
        <location filename="../../view/mobile/cards.py" line="43"/>
        <source>校验哈希</source>
        <translation>Verify Hash</translation>
    </message>
    <message>
        <location filename="../../view/mobile/cards.py" line="48"/>
        <source>删除</source>
        <translation>Delete</translation>
    </message>
</context>
<context>
    <name>MobileTaskPage</name>
    <message>
        <location filename="../../view/mobile/task_page.py" line="36"/>
        <source>全部开始</source>
        <translation>Start All</translation>
    </message>
    <message>
        <location filename="../../view/mobile/task_page.py" line="37"/>
        <source>全部暂停</source>
        <translation>Pause All</translation>
    </message>
</context>
<context>
    <name>MultiFileDraftCard</name>
    <message>
        <location filename="../../view/cards/draft_cards.py" line="150"/>
        <source>选择文件</source>
        <translation>Select Files</translation>
    </message>
    <message>
        <location filename="../../view/cards/draft_cards.py" line="179"/>
        <source>{0}/{1} 个文件 · {2}</source>
        <translation>{0}/{1} Files · {2}</translation>
    </message>
</context>
<context>
    <name>MultiFileTaskCard</name>
    <message>
        <location filename="../../view/cards/task_cards.py" line="485"/>
        <source>{0}/{1} 个文件</source>
        <translation>{0}/{1} Files</translation>
    </message>
</context>
<context>
    <name>MuxImportCard</name>
    <message>
        <location filename="../../../features/m3u8_pack/cards.py" line="225"/>
        <source>导入音轨/字幕</source>
        <translation>Import Audio/Subtitles</translation>
    </message>
</context>
<context>
    <name>Notifications</name>
    <message>
        <location filename="../../platform/android_notification.py" line="41"/>
        <location filename="../../platform/android_notification.py" line="52"/>
        <location filename="../../platform/android_notification.py" line="73"/>
        <location filename="../../platform/android_notification.py" line="79"/>
        <source>下载</source>
        <translation>Download</translation>
    </message>
    <message>
        <location filename="../../platform/android_notification.py" line="43"/>
        <location filename="../../platform/desktop_notification.py" line="72"/>
        <source>下载完成</source>
        <translation>Download Complete</translation>
    </message>
    <message>
        <location filename="../../platform/android_notification.py" line="54"/>
        <location filename="../../platform/desktop_notification.py" line="42"/>
        <source>磁盘空间不足</source>
        <translation>Insufficient Disk Space</translation>
    </message>
    <message>
        <location filename="../../platform/android_notification.py" line="55"/>
        <location filename="../../platform/desktop_notification.py" line="43"/>
        <source>剩余 {0}，需要 {1}，任务未自动开始</source>
        <translation>{0} free, {1} required; task added as pending start</translation>
    </message>
    <message>
        <location filename="../../platform/android_notification.py" line="68"/>
        <source>浏览器推送</source>
        <translation>Browser Push</translation>
    </message>
    <message>
        <location filename="../../platform/android_notification.py" line="69"/>
        <source>浏览器推送（{count}）</source>
        <translation>Browser Push ({count})</translation>
    </message>
    <message>
        <location filename="../../platform/android_notification.py" line="72"/>
        <source>等 {count} 个</source>
        <translation>and {count} others</translation>
    </message>
    <message>
        <location filename="../../platform/android_notification.py" line="81"/>
        <source>浏览器扩展已连接</source>
        <translation>Browser Extension Connected</translation>
    </message>
    <message>
        <location filename="../../platform/desktop_notification.py" line="75"/>
        <source>打开文件</source>
        <translation>Open File</translation>
    </message>
    <message>
        <location filename="../../platform/desktop_notification.py" line="76"/>
        <source>打开文件夹</source>
        <translation>Open Folder</translation>
    </message>
</context>
<context>
    <name>OobeWindow</name>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="834"/>
        <source>上一步</source>
        <translation>Previous</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="835"/>
        <source>跳过全部</source>
        <translation>Skip All</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="836"/>
        <source>下一步</source>
        <translation>Next</translation>
    </message>
</context>
<context>
    <name>OptionCardGroup</name>
    <message>
        <location filename="../../view/components/card_groups.py" line="172"/>
        <source>下载设置</source>
        <translation>Download Settings</translation>
    </message>
</context>
<context>
    <name>OutputFolderCard</name>
    <message>
        <source>选择文件夹</source>
        <translation type="vanished">Select Folder</translation>
    </message>
    <message>
        <location filename="../../view/components/option_cards.py" line="94"/>
        <source>选择下载路径</source>
        <translation>Select Download Location</translation>
    </message>
</context>
<context>
    <name>PackInfoDialog</name>
    <message>
        <location filename="../../view/dialogs/pack_info.py" line="85"/>
        <source>功能包</source>
        <translation>Feature Packs</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/pack_info.py" line="89"/>
        <source>关闭</source>
        <translation>Close</translation>
    </message>
</context>
<context>
    <name>PageSelectDialog</name>
    <message>
        <source>选择分P</source>
        <translation type="vanished">Select Parts</translation>
    </message>
    <message>
        <source>全选</source>
        <translation type="vanished">Select All</translation>
    </message>
    <message>
        <source>全不选</source>
        <translation type="vanished">Select None</translation>
    </message>
    <message>
        <source>反选</source>
        <translation type="vanished">Invert Selection</translation>
    </message>
    <message>
        <source>确定</source>
        <translation type="vanished">Save</translation>
    </message>
    <message>
        <source>取消</source>
        <translation type="vanished">Cancel</translation>
    </message>
    <message>
        <source>分P</source>
        <translation type="vanished">Part</translation>
    </message>
    <message>
        <source>大小</source>
        <translation type="vanished">Size</translation>
    </message>
    <message>
        <source>开始</source>
        <translation type="vanished">Start</translation>
    </message>
    <message>
        <source>结束</source>
        <translation type="vanished">End</translation>
    </message>
    <message>
        <source>{0}/{1} 个分P</source>
        <translation type="vanished">{0}/{1} Parts</translation>
    </message>
</context>
<context>
    <name>ParseResultHeaderCardWidget</name>
    <message>
        <source>解析结果</source>
        <translation type="vanished">Parse Results</translation>
    </message>
</context>
<context>
    <name>ParseSettingHeaderCardWidget</name>
    <message>
        <source>下载设置</source>
        <translation type="vanished">Download Settings</translation>
    </message>
</context>
<context>
    <name>PermissionBanner</name>
    <message>
        <location filename="../../view/mobile/permission.py" line="17"/>
        <source>未授予存储权限，下载到公共目录将失败</source>
        <translation>Storage permission not granted, downloads to public directories may fail</translation>
    </message>
    <message>
        <location filename="../../view/mobile/permission.py" line="18"/>
        <source>去授权</source>
        <translation>Grant Permission</translation>
    </message>
</context>
<context>
    <name>PlanTaskDialog</name>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="17"/>
        <source>设置计划任务</source>
        <translation>Schedule Task</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="18"/>
        <source>所有任务完成后执行以下操作：</source>
        <translation>Perform the following after completing all tasks:</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="20"/>
        <source>关机</source>
        <translation>Shutdown</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="21"/>
        <source>重启</source>
        <translation>Restart</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="22"/>
        <source>睡眠</source>
        <translation>Sleep</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="23"/>
        <source>打开文件</source>
        <translation>Open File</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="35"/>
        <source>确认</source>
        <translation>Confirm</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="36"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="45"/>
        <source>请选择要打开的文件</source>
        <translation>Please select the file to open</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/plan_task.py" line="47"/>
        <location filename="../../view/dialogs/plan_task.py" line="81"/>
        <source>选择文件</source>
        <translation>Select Files</translation>
    </message>
</context>
<context>
    <name>PresetEditDialog</name>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="21"/>
        <source>编辑身份预设</source>
        <translation>Edit Identity Preset</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="21"/>
        <source>添加身份预设</source>
        <translation>Add Identity Preset</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="37"/>
        <source>确定</source>
        <translation>Save</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="38"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="39"/>
        <source>预设名称</source>
        <translation>Preset Name</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="40"/>
        <source>留空则跟随 TLS 指纹自动生成</source>
        <translation>Leave empty to auto-generate based on TLS fingerprint</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="50"/>
        <source>匹配 Host</source>
        <translation>Match Host</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="57"/>
        <source>名称</source>
        <translation>Name</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="61"/>
        <source>TLS 指纹</source>
        <translation>TLS Fingerprint</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="63"/>
        <source>User-Agent</source>
        <translation>User-Agent</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="80"/>
        <source>Host 匹配规则</source>
        <translation>Host Pattern</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="82"/>
        <source>输入域名后按回车添加，支持两种格式：

精确匹配: pcs.baidu.com
通配符: *.pcs.baidu.com（匹配所有子域名）</source>
        <translation>Enter domain and press Enter to add; two formats supported:

Exact match: pcs.baidu.com
Wildcard: *.pcs.baidu.com (matches all subdomains)</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="101"/>
        <source>跟随全局默认</source>
        <translation>Follow Global Default</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="107"/>
        <source>请添加匹配 Host</source>
        <translation>Please add a matching Host</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="108"/>
        <source>预设需要至少一个 Host 才能匹配请求</source>
        <translation>A preset needs at least one Host to match requests</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/preset_edit.py" line="115"/>
        <source>未命名预设</source>
        <translation>Unnamed Preset</translation>
    </message>
</context>
<context>
    <name>PresetRowWidget</name>
    <message>
        <location filename="../../view/components/setting_cards.py" line="399"/>
        <source>编辑</source>
        <translation>Edit</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="401"/>
        <source>删除</source>
        <translation>Delete</translation>
    </message>
</context>
<context>
    <name>ProgressToast</name>
    <message>
        <location filename="../../view/components/progress_toast.py" line="88"/>
        <source>正在下载更新</source>
        <translation>Downloading Update</translation>
    </message>
    <message>
        <location filename="../../view/components/progress_toast.py" line="98"/>
        <source>更新已就绪</source>
        <translation>Update Ready</translation>
    </message>
    <message>
        <location filename="../../view/components/progress_toast.py" line="99"/>
        <source>重启后生效</source>
        <translation>Applies after app restart</translation>
    </message>
    <message>
        <location filename="../../view/components/progress_toast.py" line="109"/>
        <source>下载更新失败</source>
        <translation>Update Download Failed</translation>
    </message>
    <message>
        <location filename="../../view/components/progress_toast.py" line="112"/>
        <source>未知错误</source>
        <translation>Unknown error</translation>
    </message>
</context>
<context>
    <name>ProxiesEditCard</name>
    <message>
        <source>http://host:port 或 socks5://host:port</source>
        <translation type="vanished">http://host:port or socks5://host:port</translation>
    </message>
    <message>
        <source>不使用代理</source>
        <translation type="vanished">No Proxy</translation>
    </message>
    <message>
        <source>自定义代理</source>
        <translation type="vanished">Custom Proxy</translation>
    </message>
</context>
<context>
    <name>ProxySettingCard</name>
    <message>
        <location filename="../../view/components/setting_cards.py" line="138"/>
        <source>代理</source>
        <translation>Proxy</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="139"/>
        <source>设置下载时希望使用的代理</source>
        <translation>Configure proxy for downloads</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="148"/>
        <source>不使用代理</source>
        <translation>No Proxy</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="149"/>
        <source>自动检测系统代理</source>
        <translation>Auto-detect System Proxy</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="150"/>
        <source>使用自定义代理</source>
        <translation>Use Custom Proxy</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="203"/>
        <source>编辑代理服务器: </source>
        <translation>Proxy Server:</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="294"/>
        <source>{0} 不支持当前代理协议，建议使用 SOCKS5 以兼容全部下载方式</source>
        <translation>{0} does not support this proxy protocol; it&apos;s recommended to use SOCKS5 for compatibility with all download methods.</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="157"/>
        <source>代理 IP 地址</source>
        <translation>Proxy IP Address</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="159"/>
        <source>端口</source>
        <translation>Port</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="212"/>
        <source>认证信息: </source>
        <translation>Proxy Credentials: </translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="164"/>
        <source>用户名（可选）</source>
        <translation>Username (optional)</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="166"/>
        <source>密码（可选）</source>
        <translation>Password (optional)</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="255"/>
        <location filename="../../view/components/setting_cards.py" line="263"/>
        <source>未检测到代理</source>
        <translation>No Proxy Detected</translation>
    </message>
</context>
<context>
    <name>ReleaseInfoDialog</name>
    <message>
        <source>Release</source>
        <translation type="vanished">Release</translation>
    </message>
    <message>
        <source>Unknown</source>
        <translation type="vanished">Unknown</translation>
    </message>
    <message>
        <source>发布时间: </source>
        <translation type="vanished">Published at: </translation>
    </message>
    <message>
        <location filename="../../view/dialogs/release_info.py" line="31"/>
        <source>⚠️ 预发布版本</source>
        <translation>⚠️ Prerelease</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/release_info.py" line="45"/>
        <source>下载</source>
        <translation>Download</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/release_info.py" line="48"/>
        <source>打开发布页</source>
        <translation>Open Release Page</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/release_info.py" line="50"/>
        <source>赞助作者</source>
        <translation>Support the Developer</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/release_info.py" line="53"/>
        <source>暂无更新说明</source>
        <translation>No release notes available</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/release_info.py" line="62"/>
        <source>文件名</source>
        <translation>File Name</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/release_info.py" line="62"/>
        <source>大小</source>
        <translation>Size</translation>
    </message>
    <message>
        <source>文件大小</source>
        <translation type="vanished">Size</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/release_info.py" line="62"/>
        <source>下载次数</source>
        <translation>Download Counts</translation>
    </message>
</context>
<context>
    <name>ResultCard</name>
    <message>
        <source>编辑任务参数</source>
        <translation type="vanished">Edit Task Options</translation>
    </message>
    <message>
        <source>未分类</source>
        <translation type="vanished">Uncategorized</translation>
    </message>
</context>
<context>
    <name>RuntimeCard</name>
    <message>
        <location filename="../../view/components/setting_cards.py" line="804"/>
        <location filename="../../view/components/setting_cards.py" line="872"/>
        <source>正在检测运行时...</source>
        <translation>Detecting runtime...</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="806"/>
        <location filename="../../view/components/setting_cards.py" line="903"/>
        <source>一键安装</source>
        <translation>Install</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="820"/>
        <source>取消安装</source>
        <translation>Cancel Install</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="823"/>
        <source>卸载</source>
        <translation>Uninstall</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="825"/>
        <source>刷新</source>
        <translation>Refresh</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="863"/>
        <source>正在安装... {0}%</source>
        <translation>Installing... {0}%</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="865"/>
        <source>正在安装...</source>
        <translation>Installing...</translation>
    </message>
    <message>
        <source>检测运行时失败</source>
        <translation type="vanished">Runtime detection failed</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="887"/>
        <source>版本: {0}（最新: {1}）</source>
        <translation>Version: {0} (Latest: {1})</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="889"/>
        <source>版本: {0}</source>
        <translation>Version: {0}</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="891"/>
        <source>最新版本: {0}</source>
        <translation>Latest version: {0}</translation>
    </message>
    <message>
        <source>安装任务已创建</source>
        <translation type="vanished">Installation Task Created</translation>
    </message>
    <message>
        <source>请前往任务页查看安装进度</source>
        <translation type="vanished">Check installation progress in Tasks page</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="930"/>
        <source>确认卸载</source>
        <translation>Confirm Uninstall</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="931"/>
        <source>确定要卸载 {0} 吗？</source>
        <translation>Are you sure you want to uninstall {0}?</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="940"/>
        <source>卸载失败</source>
        <translation>Uninstall Failed</translation>
    </message>
    <message>
        <source>版本: {0}
路径: {1}</source>
        <translation type="vanished">Version: {0}
Path: {1}</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="894"/>
        <source>路径: {0}</source>
        <translation>Path: {0}</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="897"/>
        <source>未检测到可用的 {0}</source>
        <translation>No available {0} detected</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="900"/>
        <source>更新到 {0}</source>
        <translation>Update to {0}</translation>
    </message>
    <message>
        <source>安装失败</source>
        <translation type="vanished">Installation Failed</translation>
    </message>
</context>
<context>
    <name>RuntimeInstallPage</name>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="585"/>
        <source>安装推荐组件</source>
        <translation>Install Recommended Components</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="586"/>
        <source>点击下一步将自动安装勾选的组件，稍后可在设置中管理</source>
        <translation>Click Next to install the selected components; you can manage them later in Settings</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="588"/>
        <source>推荐组件</source>
        <translation>Recommended Components</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="618"/>
        <source>已安装</source>
        <translation>Installed</translation>
    </message>
</context>
<context>
    <name>ScanLoginDialog</name>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="51"/>
        <source>关闭</source>
        <translation>Close</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="53"/>
        <source>扫码登录</source>
        <translation>QR Code Login</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="55"/>
        <source>使用哔哩哔哩手机客户端扫描下方二维码，并在手机端确认登录</source>
        <translation>Use the Bilibili mobile app to scan the QR code below and confirm login on your phone.</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="63"/>
        <location filename="../../../features/bili_pack/config.py" line="109"/>
        <source>正在获取二维码...</source>
        <translation>Fetching QR code...</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="65"/>
        <source>二维码有效期约 180 秒，失效后可点击&quot;刷新二维码&quot;重新生成</source>
        <translation>Code is valid for 180 seconds; select &quot;Refresh QR Code&quot; to generate a new code</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="69"/>
        <source>刷新二维码</source>
        <translation>Refresh QR Code</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="70"/>
        <source>打开登录链接</source>
        <translation>Open Login Link</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="123"/>
        <source>请使用哔哩哔哩客户端扫码</source>
        <translation>Please use the Bilibili app to scan QR code</translation>
    </message>
    <message>
        <source>二维码获取失败：{error}</source>
        <translation type="vanished">Failed to fetch QR code: {error}</translation>
    </message>
    <message>
        <source>二维码获取失败：接口未返回有效的登录地址</source>
        <translation type="vanished">Failed to fetch QR code: the API did not return a valid login URL</translation>
    </message>
    <message>
        <source>二维码生成失败：{e}</source>
        <translation type="vanished">Failed to generate QR code: {e}</translation>
    </message>
    <message>
        <source>等待扫码并在手机端确认登录</source>
        <translation type="vanished">Waiting for scan and confirmation on your phone</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="126"/>
        <source>等待扫码</source>
        <translation>Waiting for scan</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="128"/>
        <source>二维码已扫码，请在手机端确认登录</source>
        <translation>QR code scanned. Please confirm login on your phone.</translation>
    </message>
    <message>
        <source>轮询扫码状态失败，请点击&quot;刷新二维码&quot;重试</source>
        <translation type="vanished">Failed to poll scan status, select &quot;Refresh QR Code&quot; to try again</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="130"/>
        <source>二维码已失效，请点击&quot;刷新二维码&quot;重新生成</source>
        <translation>Code expired, select &quot;Refresh QR Code&quot; to generate a new code</translation>
    </message>
    <message>
        <source>登录成功，但未能提取到有效 Cookie</source>
        <translation type="vanished">Login succeeded, but unable to extract a valid Cookie</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/config.py" line="117"/>
        <source>登录成功，正在导入 Cookie...</source>
        <translation>Login succeeded. Importing Cookie...</translation>
    </message>
</context>
<context>
    <name>SelectDialog</name>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="67"/>
        <source>选择分P</source>
        <translation>Select Parts</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="67"/>
        <source>选择合集</source>
        <translation>Select Episodes in Collection</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="71"/>
        <source>全选</source>
        <translation>Select All</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="72"/>
        <source>全不选</source>
        <translation>Select None</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="73"/>
        <source>反选</source>
        <translation>Invert Selection</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="85"/>
        <source>确定</source>
        <translation>Confirm</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="86"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="92"/>
        <source>分P</source>
        <translation>Part</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="92"/>
        <source>合集</source>
        <translation>Episodes</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="94"/>
        <source>大小</source>
        <translation>Size</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="94"/>
        <source>开始</source>
        <translation>Start</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="94"/>
        <source>结束</source>
        <translation>End</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="378"/>
        <source>{0}/{1} 集</source>
        <translation>{0}/{1} Episodes</translation>
    </message>
    <message>
        <location filename="../../../features/bili_pack/cards.py" line="380"/>
        <source>{0}/{1} 个分P</source>
        <translation>{0}/{1} Parts</translation>
    </message>
</context>
<context>
    <name>SelectFileCard</name>
    <message>
        <location filename="../../view/components/setting_cards.py" line="773"/>
        <location filename="../../view/components/setting_cards.py" line="787"/>
        <source>选择文件</source>
        <translation>Select Files</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="775"/>
        <source>清除路径</source>
        <translation>Clear Path</translation>
    </message>
</context>
<context>
    <name>SelectFolderSettingCard</name>
    <message>
        <source>下载路径</source>
        <translation type="vanished">Download Path</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="348"/>
        <source>浏览文件夹</source>
        <translation>Browse Folder</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="350"/>
        <source>恢复默认路径</source>
        <translation>Restore Default Path</translation>
    </message>
    <message>
        <location filename="../../view/components/setting_cards.py" line="362"/>
        <source>选择文件夹</source>
        <translation>Select Folder</translation>
    </message>
</context>
<context>
    <name>SettingPage</name>
    <message>
        <location filename="../../view/pages/setting_page.py" line="47"/>
        <source>综合下载设置</source>
        <translation>General</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="48"/>
        <source>下载分类</source>
        <translation>Download Categorization</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="50"/>
        <source>关联设置</source>
        <translation>Integration</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="51"/>
        <source>浏览器扩展</source>
        <translation>Browser Extension</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="53"/>
        <source>个性化</source>
        <translation>Personalization</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="54"/>
        <source>应用</source>
        <translation>Application</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="55"/>
        <location filename="../../view/pages/setting_page.py" line="367"/>
        <source>关于</source>
        <translation>About</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="99"/>
        <source>最大任务数</source>
        <translation>Maximum Concurrent Tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="100"/>
        <source>最多能同时进行的任务数量</source>
        <translation>Maximum number of simultaneous transfers</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="101"/>
        <source>预分配线程数</source>
        <translation>Pre-allocated Threads</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="102"/>
        <source>线程越多，下载越快。线程数大于 64 时，有触发反爬导致文件损坏的风险</source>
        <translation>More threads speed up downloads. Over 64 threads may trigger anti-scraping and corrupt files</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="103"/>
        <source>自动提速</source>
        <translation>Auto Boost</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="104"/>
        <source>AI 实时检测各线程效率并自动增加线程数以提高下载速度</source>
        <translation>Intelligently monitor thread efficiencies and automatically increase the number of threads to boost download speed</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="107"/>
        <source>每线程剩余量大于此值时, 有线程完成或自动提速条件满足会触发重新分配</source>
        <translation>If threads&apos; workload exceeds this value, redistribution will trigger
when a thread completes or Auto Boost is enabled</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="79"/>
        <source>下载限速</source>
        <translation>Download Speed Limit</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="80"/>
        <source>当下载任务界面限速开关开启时，所有任务将根据此值进行限速</source>
        <translation>When Speed Limit is enabled at the Tasks page, combined speed of all tasks will be limited to this value</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="113"/>
        <source>下载时验证 SSL 证书</source>
        <translation>Verify SSL Certificates</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="114"/>
        <source>文件无法下载时，可尝试关闭该选项</source>
        <translation>Try disabling if files fail to download</translation>
    </message>
    <message>
        <source>设置默认 HTTP 请求头</source>
        <translation type="vanished">Default HTTP Request Headers</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="127"/>
        <source>启用下载分类</source>
        <translation>Enable Categorization</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="128"/>
        <source>根据扩展名将下载任务归类，便于筛选与分发到指定文件夹</source>
        <translation>Categorize downloads by file extensions for easier filtering and management</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="185"/>
        <source>启用浏览器扩展</source>
        <translation>Enable Browser Extension</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="186"/>
        <source>接收来自浏览器的下载信息，请安装浏览器扩展后使用</source>
        <translation>Receive downloads from browser - extension installation required</translation>
    </message>
    <message>
        <source>收到下载信息时弹出窗口</source>
        <translation type="vanished">Popup on New Downloads</translation>
    </message>
    <message>
        <source>收到下载信息时弹出窗口，方便您调整下载参数</source>
        <translation type="vanished">Popup window for adjusting download parameters</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="134"/>
        <source>复制令牌</source>
        <translation>Copy</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="134"/>
        <source>配对令牌</source>
        <translation>Pairing Token</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="138"/>
        <source>重新生成令牌</source>
        <translation>Regenerate</translation>
    </message>
    <message>
        <source>安装浏览器扩展</source>
        <translation type="vanished">Install Browser Extension</translation>
    </message>
    <message>
        <source>请选择最适合您的浏览器扩展安装方式</source>
        <translation type="vanished">Please choose a suitable installation method for your browser extension</translation>
    </message>
    <message>
        <source>Firefox</source>
        <translation type="vanished">Firefox</translation>
    </message>
    <message>
        <source>Edge</source>
        <translation type="vanished">Edge</translation>
    </message>
    <message>
        <source>查看安装指南</source>
        <translation type="vanished">View Installation Guide</translation>
    </message>
    <message>
        <source>浏览器扩展安装指南</source>
        <translation type="vanished">Browser Extension Installation Guide</translation>
    </message>
    <message>
        <source>解决安装浏览器扩展时遇到的常见问题</source>
        <translation type="vanished">Troubleshoot common installation issues</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="262"/>
        <source>应用主题</source>
        <translation>Application Theme</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="263"/>
        <source>更改应用程序的外观</source>
        <translation>Change application appearance</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="264"/>
        <source>浅色</source>
        <translation>Light</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="264"/>
        <source>深色</source>
        <translation>Dark</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="264"/>
        <source>跟随系统设置</source>
        <translation>Follow System Settings</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="269"/>
        <location filename="../../view/pages/setting_page.py" line="276"/>
        <source>窗口背景透明材质</source>
        <translation>Window Background Transparency Mode</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="270"/>
        <location filename="../../view/pages/setting_page.py" line="277"/>
        <source>设置窗口背景透明效果和透明材质</source>
        <translation>Adjust transparency effects of windows&apos; background</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="256"/>
        <source>界面缩放</source>
        <translation>UI Scaling</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="52"/>
        <source>Aria2 RPC 兼容</source>
        <translation>Aria2 RPC Support</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="85"/>
        <source>下载路径</source>
        <translation>Download Path</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="85"/>
        <source>文件默认保存位置</source>
        <translation>Default file save location</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="88"/>
        <source>恢复默认路径</source>
        <translation>Restore Default Path</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="110"/>
        <source>保留文件修改时间</source>
        <translation>Preserve File Modification Timestamp</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="111"/>
        <source>下载完成后将文件的修改时间设为服务器提供的 Last-Modified 值</source>
        <translation>Set file modification time to server&apos;s Last-Modified value after download</translation>
    </message>
    <message>
        <source>默认请求头</source>
        <translation type="vanished">Default Request Headers</translation>
    </message>
    <message>
        <source>设置默认 HTTP 请求头，User-Agent 由模拟身份控制（选择原样发送时除外）</source>
        <translation type="vanished">Set default HTTP request headers; User-Agent is controlled by client profile (except when sending as-is)</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="151"/>
        <source>Edge 商店</source>
        <translation>Edge Store</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="147"/>
        <source>从商店安装扩展</source>
        <translation>Install Extension From Web Stores</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="148"/>
        <source>商店版扩展需等待审核后才能获得更新</source>
        <translation>Store version updates may be delayed due to the review process</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="159"/>
        <source>Chrome 商店</source>
        <translation>Chrome Store</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="146"/>
        <source>Firefox 商店</source>
        <translation>Firefox Store</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="58"/>
        <source>未找到匹配的设置项</source>
        <translation>No matching settings found</translation>
    </message>
    <message>
        <source>删除任务时默认删除本地文件</source>
        <translation type="vanished">Default to delete local files when deleting tasks</translation>
    </message>
    <message>
        <source>删除任务的确认对话框中默认勾选同时删除已下载的文件</source>
        <translation type="vanished">Default check &apos;Also delete downloaded files&apos; in confirmation dialog</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="167"/>
        <source>一键安装</source>
        <translation>Install</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="168"/>
        <source>安装到 Chromium 浏览器</source>
        <translation>Install to Chromium Browser</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="169"/>
        <source>自动解包扩展并引导加载（Chrome / Brave 等），扩展随桌面端更新自动升级</source>
        <translation>Unpack extension and display installation guide (Chrome/Brave etc.); extension updates automatically with the desktop client</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="172"/>
        <source>导出 CRX</source>
        <translation>Export CRX File</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="179"/>
        <source>服务端口</source>
        <translation>Service Port</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="180"/>
        <source>浏览器扩展连接使用的端口</source>
        <translation>Port used for browser extension connection</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="192"/>
        <source>接管下载时进入草稿模式</source>
        <translation>Create Draft When Intercepting Download</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="193"/>
        <source>自动接管浏览器下载时先进入草稿，方便您调整下载路径和文件名</source>
        <translation>Enter draft mode when automatically intercepting browser downloads to adjust download path and file name</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="204"/>
        <source>允许浏览器扩展唤醒</source>
        <translation>Allow Launching From Browser Extension</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="205"/>
        <source>浏览器扩展可通过 ghostdownloader:// 协议启动桌面端</source>
        <translation>The browser extension may launch the app via ghostdownloader:// URL scheme</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="216"/>
        <source>关联 {0} 文件</source>
        <translation>Associate {0} Files</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="217"/>
        <source>双击 {0} 文件时用 Ghost Downloader 打开</source>
        <translation>Open {0} files with Ghost Downloader automatically</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="224"/>
        <source>处理 {0} 链接</source>
        <translation>Associate {0} Links</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="225"/>
        <source>点击 {0} 链接时唤起 Ghost Downloader</source>
        <translation>Open {0} links with Ghost Downloader automatically</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="232"/>
        <source>启用 Aria2 RPC 兼容</source>
        <translation>Enable Aria2 RPC Support</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="233"/>
        <source>兼容 Aria2 JSON-RPC 协议，可接收外部工具发送的下载链接</source>
        <translation>Support for the Aria2 JSON-RPC protocol, enable receiving download links from external tools</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="237"/>
        <source>监听端口</source>
        <translation>Port</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="238"/>
        <source>Aria2 RPC 默认端口为 16800</source>
        <translation>Default Aria2 RPC port is 16800</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="242"/>
        <source>令牌</source>
        <translation>Authentication Token</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="243"/>
        <source>若设置，客户端需传入 token 才可创建任务</source>
        <translation>If set, client must provide this token to create tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="245"/>
        <source>可选</source>
        <translation>Optional</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="249"/>
        <source>模拟浏览器指纹</source>
        <translation>Spoof Browser Fingerprint</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="250"/>
        <source>为通过 Aria2 RPC 接收的任务附加浏览器 TLS 指纹与请求头</source>
        <translation>Attach Browser TLS Fingerprint and Request Headers to tasks received via Aria2 RPC</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="257"/>
        <source>改变应用程序界面的缩放比例, 0% 为自动</source>
        <translation>Adjust UI scaling (0% for auto)</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="283"/>
        <source>在 Dock 栏中显示程序</source>
        <translation>Show App Icon in Dock</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="284"/>
        <source>关闭后可通过菜单栏图标继续使用程序</source>
        <translation>If disabled, use the menu bar item to open this window</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="288"/>
        <source>在 Dock 图标上显示实时速度</source>
        <translation>Show Real-time Speed on Dock Icon</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="289"/>
        <source>下载时在程序坞图标上叠加当前速度</source>
        <translation>Overlay current download speed on Dock icon</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="296"/>
        <source>在菜单栏显示实时速度</source>
        <translation>Show Real-time Speed in Menu Bar</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="297"/>
        <source>下载时在菜单栏图标旁显示当前速度</source>
        <translation>Show current download speed next to menu bar icon</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="301"/>
        <source>语言</source>
        <translation>Language</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="302"/>
        <source>设置界面的首选语言</source>
        <translation>Set the preferred language for the interface</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="303"/>
        <source>使用系统设置</source>
        <translation>Use System Settings</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="316"/>
        <source>切换到用户模式</source>
        <translation>Switch to User Mode</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="317"/>
        <location filename="../../view/pages/setting_page.py" line="323"/>
        <source>数据存储模式</source>
        <translation>Configuration Data Storage Mode</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="318"/>
        <source>当前为 Portable 模式，数据保存在程序旁: {0}</source>
        <translation>Currently in Portable mode, configuration stored next to the app: {0}</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="322"/>
        <source>切换到 Portable 模式</source>
        <translation>Switch to Portable Mode</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="324"/>
        <source>当前为用户模式，数据保存在: {0}</source>
        <translation>Currently in User mode, configuration stored at: {0}</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="328"/>
        <source>在应用程序启动时检查更新</source>
        <translation>Check For Updates on Startup</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="329"/>
        <source>新版本将更稳定，并具有更多功能</source>
        <translation>Get more features and improved stability with new versions</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="337"/>
        <source>关闭主窗口时</source>
        <translation>Main Window Closing Behavior</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="338"/>
        <source>设置关闭主窗口后程序继续在后台运行还是退出</source>
        <translation>Choose whether to continue running in background or exit when closing the main window</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="339"/>
        <source>关闭时询问</source>
        <translation>Ask when closing</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="339"/>
        <source>继续在后台运行</source>
        <translation>Continue running in background</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="339"/>
        <source>退出程序</source>
        <translation>Exit App</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="354"/>
        <source>通过提供反馈来帮助我们改进 Ghost Downloader，也可查看日志排查问题</source>
        <translation>Help improve Ghost Downloader by providing feedback, or view logs to troubleshoot issues</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="363"/>
        <source>查看详情</source>
        <translation>Details</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="363"/>
        <source>功能包</source>
        <translation>Feature Packs</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="364"/>
        <source>管理已安装的功能包</source>
        <translation>Manage currently installed feature packs</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="497"/>
        <source>用户模式</source>
        <translation>User Mode</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="497"/>
        <source>Portable 模式</source>
        <translation>Portable Mode</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="499"/>
        <source>切换数据存储模式</source>
        <translation>Switch Data Storage Mode</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="500"/>
        <source>确定要切换到{0}吗？

数据将被复制到新位置，程序随后退出。请手动重新打开。</source>
        <translation>Are you sure you want to switch to {0}?

Data will be copied to new location and the app will then exit. Please manually launch the app again.</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="517"/>
        <source>正在检查更新...</source>
        <translation>Checking for updates...</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="529"/>
        <source>当前已是最新版本</source>
        <translation>You&apos;re running the latest version</translation>
    </message>
    <message>
        <source>当前版本 {0}，最新版本 {1}</source>
        <translation type="vanished">Current version {0}, latest version {1}</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="526"/>
        <source>检查更新失败</source>
        <translation>Failed to check update</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="526"/>
        <source>无法获取最新版本信息</source>
        <translation>Unable to get the latest version information</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="542"/>
        <source>搜索设置</source>
        <translation>Search Settings</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="309"/>
        <source>开机启动</source>
        <translation>Start on Boot</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="117"/>
        <source>使用系统 DNS</source>
        <translation>Use System DNS</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="118"/>
        <source>使用操作系统的 DNS 解析，兼容 TUN、VPN 和代理等网络环境</source>
        <translation>Use the system DNS resolver for better compatibility with TUN/VPN/Proxies</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="310"/>
        <source>在系统启动时静默运行 Ghost Downloader</source>
        <translation>Start Ghost Downloader minimized on system startup</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="343"/>
        <source>剪贴板监听</source>
        <translation>Monitor Clipboard</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="344"/>
        <source>剪贴板监听器将自动检测剪贴板中的链接并添加下载任务</source>
        <translation>Automatically detect links in clipboard and add download tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="372"/>
        <source>打开作者的个人空间</source>
        <translation>Open Author&apos;s Profile</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="373"/>
        <source>了解作者</source>
        <translation>About the Author</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="373"/>
        <source>发现更多 {} 的作品</source>
        <translation>Discover more works by {}</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="352"/>
        <location filename="../../view/pages/setting_page.py" line="353"/>
        <source>提供反馈</source>
        <translation>Provide Feedback</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="106"/>
        <source>最小再分配大小</source>
        <translation>Minimum Redistribution Size</translation>
    </message>
    <message>
        <source>注册 URL 协议</source>
        <translation type="vanished">Register URL Protocol</translation>
    </message>
    <message>
        <source>注册 ghostdownloader:// 协议，允许浏览器扩展启动桌面端</source>
        <translation type="vanished">Register ghostdownloader:// protocol to allow browser extension to launch desktop client</translation>
    </message>
    <message>
        <source>通过提供反馈来帮助我们改进 Ghost Downloader</source>
        <translation type="vanished">Help improve Ghost Downloader by providing feedback</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="356"/>
        <source>查看日志</source>
        <translation>View Logs</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="367"/>
        <location filename="../../view/pages/setting_page.py" line="517"/>
        <source>检查更新</source>
        <translation>Check For Updates</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="424"/>
        <source>已配置</source>
        <translation>Configuration Saved</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="424"/>
        <source>重启软件后生效</source>
        <translation>Restart required to take effect</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="434"/>
        <source>已复制配对令牌</source>
        <translation>Token Copied</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="440"/>
        <source>已重新生成配对令牌</source>
        <translation>Token Regenerated</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="440"/>
        <source>新令牌已复制到剪贴板</source>
        <translation>Copied new token to clipboard</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="457"/>
        <source>解包失败</source>
        <translation>Unpack failed</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="464"/>
        <source>未连接</source>
        <translation>Not Connected</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="466"/>
        <source>已连接 v{} (桌面端自管理)</source>
        <translation>Connected v{} (Desktop-managed)</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="468"/>
        <source>已连接 v{} (商店安装)</source>
        <translation>Connected v{} (Store-installed)</translation>
    </message>
    <message>
        <location filename="../../view/pages/setting_page.py" line="474"/>
        <source>选择导出路径</source>
        <translation>Select Export Path</translation>
    </message>
    <message>
        <source>安装指南</source>
        <translation type="vanished">Installation Guide</translation>
    </message>
    <message>
        <source>请按照步骤安装浏览器扩展</source>
        <translation type="vanished">Follow steps to install browser extension</translation>
    </message>
    <message>
        <source>警告</source>
        <translation type="vanished">Warning</translation>
    </message>
    <message>
        <source>鬼知道你用的是什么平台？</source>
        <translation type="vanished">I don&apos;t know shit about your OS, sorry!</translation>
    </message>
</context>
<context>
    <name>StreamSelectCard</name>
    <message>
        <location filename="../../../features/m3u8_pack/cards.py" line="101"/>
        <source>默认（最佳）</source>
        <translation>Default (Best)</translation>
    </message>
</context>
<context>
    <name>SubtitleSelectDialog</name>
    <message>
        <location filename="../../view/dialogs/subtitle_select.py" line="19"/>
        <source>选择字幕语言</source>
        <translation>Select Subtitle Language</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/subtitle_select.py" line="22"/>
        <source>全选</source>
        <translation>Select All</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/subtitle_select.py" line="23"/>
        <source>全不选</source>
        <translation>Select None</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/subtitle_select.py" line="35"/>
        <source>确定</source>
        <translation>Save</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/subtitle_select.py" line="36"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/subtitle_select.py" line="81"/>
        <source>{0}/{1} 种语言</source>
        <translation>{0}/{1} Languages</translation>
    </message>
</context>
<context>
    <name>SubworkerCountCard</name>
    <message>
        <location filename="../../view/components/option_cards.py" line="131"/>
        <source>预分配线程数</source>
        <translation>Pre-allocated Threads</translation>
    </message>
</context>
<context>
    <name>SystemTrayIcon</name>
    <message>
        <location filename="../../view/shell/tray.py" line="181"/>
        <source>仪表盘</source>
        <translation>Dashboard</translation>
    </message>
    <message>
        <location filename="../../view/shell/tray.py" line="183"/>
        <source>全部开始</source>
        <translation>Start All</translation>
    </message>
    <message>
        <location filename="../../view/shell/tray.py" line="185"/>
        <source>全部暂停</source>
        <translation>Pause All</translation>
    </message>
    <message>
        <location filename="../../view/shell/tray.py" line="188"/>
        <source>退出程序</source>
        <translation>Exit</translation>
    </message>
</context>
<context>
    <name>TaskCard</name>
    <message>
        <location filename="../../view/cards/task_cards.py" line="79"/>
        <source>暂停/继续</source>
        <translation>Pause/Resume</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="84"/>
        <source>选择文件</source>
        <translation>Select Files</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="87"/>
        <source>校验文件哈希</source>
        <translation>Verify File Hash</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="94"/>
        <source>打开文件</source>
        <translation>Open File</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="99"/>
        <source>打开文件夹</source>
        <translation>Open Folder</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="100"/>
        <source>删除</source>
        <translation>Delete</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="258"/>
        <source>文件不存在</source>
        <translation>File does not exist</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="261"/>
        <source>完成于 {}</source>
        <translation>Completed at {}</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="264"/>
        <source>任务已经完成</source>
        <translation>Task Completed</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="274"/>
        <source>下载过程中发生错误，请稍后重试</source>
        <translation>An error occurred during download, please try again later</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="280"/>
        <source>任务已经暂停</source>
        <translation>Task Paused</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="282"/>
        <source>任务正在等待</source>
        <translation>Task Pending</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="328"/>
        <source>删除任务</source>
        <translation>Delete Task</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="328"/>
        <source>确定要删除这个下载任务吗？</source>
        <translation>Are you sure you want to delete this download task?</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="329"/>
        <source>同时删除已下载的文件</source>
        <translation>Also delete downloaded files</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="338"/>
        <source>文件不存在，无法校验</source>
        <translation>Cannot verify nonexistent file</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="372"/>
        <source>复制下载链接</source>
        <translation>Copy Download Link</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="377"/>
        <source>复制校验值</source>
        <translation>Copy Checksum</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="382"/>
        <source>编辑任务参数...</source>
        <translation>Edit Task Options...</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="386"/>
        <source>移到最前</source>
        <translation>Move To Top</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="390"/>
        <source>重新下载</source>
        <translation>Restart Download</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="395"/>
        <source>移动到分类</source>
        <translation>Assign Category</translation>
    </message>
    <message>
        <location filename="../../view/cards/task_cards.py" line="397"/>
        <source>未分类</source>
        <translation>Uncategorized</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/cards.py" line="44"/>
        <location filename="../../../features/ed2k_pack/cards.py" line="14"/>
        <source>{0}/{1} Peers</source>
        <translation>{0}/{1} Peers</translation>
    </message>
</context>
<context>
    <name>TaskCommandBarView</name>
    <message>
        <location filename="../../view/pages/task_page.py" line="60"/>
        <source>移到最前</source>
        <translation>Move To Top</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="61"/>
        <source>重新下载</source>
        <translation>Redownload</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="62"/>
        <source>删除</source>
        <translation>Delete</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="63"/>
        <source>复制链接</source>
        <translation>Copy Link</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="64"/>
        <source>移动到分类</source>
        <translation>Assign Category</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="65"/>
        <source>全选</source>
        <translation>Select All</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="66"/>
        <source>选择缺失</source>
        <translation>Select Missing</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="67"/>
        <source>反选</source>
        <translation>Invert Selection</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="68"/>
        <source>取消全选</source>
        <translation>Deselect All</translation>
    </message>
</context>
<context>
    <name>TaskDraftDialog</name>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="77"/>
        <source>添加任务</source>
        <translation>Add Task</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="82"/>
        <source>批量添加</source>
        <translation>Batch Add</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="83"/>
        <location filename="../../view/dialogs/task_draft.py" line="347"/>
        <source>导入文件</source>
        <translation>Import File(s)</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="97"/>
        <source>添加多个下载链接时，请确保每行只有一个下载链接</source>
        <translation>When adding multiple download links, make sure each line contains only one link</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="107"/>
        <source>下载</source>
        <translation>Download</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="109"/>
        <source>稍后下载</source>
        <translation>Download Later</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="115"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="300"/>
        <source>链接解析失败</source>
        <translation>Link Parsing Failed</translation>
    </message>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="342"/>
        <source>所有可导入文件 ({0})</source>
        <translation>All Supported Formats ({0})</translation>
    </message>
</context>
<context>
    <name>TaskErrors</name>
    <message>
        <location filename="../../../features/ed2k_pack/error_catalog.py" line="6"/>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="13"/>
        <source>{name} 未安装，请在设置中安装</source>
        <translation>{name} is not installed, please install it in Settings</translation>
    </message>
    <message>
        <location filename="../../../features/http_pack/error_catalog.py" line="3"/>
        <source>服务器返回了错误（{status}）</source>
        <translation>Server returned an error ({status})</translation>
    </message>
    <message>
        <location filename="../../../features/http_pack/error_catalog.py" line="4"/>
        <source>磁盘空间不足</source>
        <translation>Insufficient disk space</translation>
    </message>
    <message>
        <location filename="../../../features/ftp_pack/error_catalog.py" line="3"/>
        <source>无法建立 FTP 连接</source>
        <translation>FTP connection failed</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="9"/>
        <source>进程异常退出（{code}）：{detail}</source>
        <translation>Process terminated abnormally ({code}): {detail}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="10"/>
        <source>发生了意外错误：{detail}</source>
        <translation>Unexpected error: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/error_catalog.py" line="3"/>
        <source>该种子已在下载中</source>
        <translation>This torrent is already being downloaded</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/error_catalog.py" line="4"/>
        <source>至少需要选择一个文件</source>
        <translation>At least one file is required</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/error_catalog.py" line="5"/>
        <source>BitTorrent 错误：{detail}</source>
        <translation>BitTorrent error: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/error_catalog.py" line="6"/>
        <source>BitTorrent 会话启动失败：{detail}</source>
        <translation>BitTorrent session start failed</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="11"/>
        <source>压缩包包含不安全路径：{path}</source>
        <translation>Archive contains unsafe path: {path}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="12"/>
        <source>压缩包未找到：{path}</source>
        <translation>Archive file not found: {path}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="13"/>
        <source>不支持的压缩格式：{name}</source>
        <translation>Unsupported archive format: {name}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="14"/>
        <source>解压后未找到可执行文件：{name}</source>
        <translation>No executables found in archive: {name}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="15"/>
        <source>无法读取校验文件：{path}</source>
        <translation>Unable to read checksum file: {path}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="16"/>
        <source>SHA256 校验失败：期望 {expected}，实际 {actual}</source>
        <translation>SHA256 checksum failure: Expected {expected}, Actual {actual}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="17"/>
        <source>下载的文件未找到：{path}</source>
        <translation>Downloaded file not found: {path}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="18"/>
        <source>无法获取 {name} 的最新 release</source>
        <translation>Unable to fetch the latest release for {name}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="19"/>
        <source>无法获取 {name}/{branch}/{path}</source>
        <translation>Unable to fetch {name}/{branch}/{path}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="20"/>
        <source>无法下载 {name}/{branch}/{path}</source>
        <translation>Unable to download {name}/{branch}/{path}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="21"/>
        <source>无法下载 {name}/{tag}/{asset}</source>
        <translation>Unable to download {name}/{tag}/{asset}</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="22"/>
        <source>无法获取 PyPI 包信息: {package}</source>
        <translation>Unable to fetch PyPI package info: {package}</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/error_catalog.py" line="3"/>
        <source>ED2k 错误：{detail}</source>
        <translation>ED2k error: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/error_catalog.py" line="4"/>
        <source>该 eD2k 链接已在下载中</source>
        <translation>This eD2k link is already being downloaded</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/error_catalog.py" line="5"/>
        <source>该 eD2k 传输已存在于 daemon 中</source>
        <translation>This eD2k transfer already exists in daemon</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/error_catalog.py" line="7"/>
        <source>不是有效的 eD2k 链接</source>
        <translation>Invalid eD2k link</translation>
    </message>
    <message>
        <location filename="../../../features/ed2k_pack/error_catalog.py" line="8"/>
        <source>不支持的 eD2k 链接格式</source>
        <translation>Unsupported eD2k link format</translation>
    </message>
    <message>
        <location filename="../../../features/ffmpeg_pack/error_catalog.py" line="3"/>
        <source>FFmpeg 合并失败（{code}）：{detail}</source>
        <translation>FFmpeg muxing failed ({code}): {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/ffmpeg_pack/error_catalog.py" line="4"/>
        <source>文件不是有效的媒体格式，可能受 DRM 保护或下载不完整：{name}</source>
        <translation>File is not a valid media file, might be DRM protected or incomplete: {name}</translation>
    </message>
    <message>
        <location filename="../../../features/ffmpeg_pack/error_catalog.py" line="5"/>
        <source>当前平台暂不支持一键安装 FFmpeg: {platform}</source>
        <translation>FFmpeg auto installation not supported on this platform: {platform}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="3"/>
        <source>该视频在您所在地区不可用，请尝试配置代理（{detail}）</source>
        <translation>Video is unavailable in your region, please try using a proxy: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="4"/>
        <source>视频不可用，可能已被删除或设为私密（{detail}）</source>
        <translation>Video is unavailable, might be deleted or private: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="5"/>
        <source>私密视频，需要已授权账号的 Cookie。请通过浏览器扩展下载或在设置中手动导入 Cookie（{detail}）</source>
        <translation>Private video requires Cookies from an authorised account; download through the browser extension or import Cookies in Settings: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="6"/>
        <source>会员专属视频，需要会员账号的 Cookie。请通过浏览器扩展下载或在设置中手动导入 Cookie（{detail}）</source>
        <translation>Members only video requires Cookies from a member account; download through the browser extension or import Cookies in Setting: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="7"/>
        <source>年龄限制视频，需要登录。请通过浏览器扩展下载或在设置中手动导入 Cookie（{detail}）</source>
        <translation>Age-restricted video requires an account; download through the browser extension or import Cookies in Settings: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="8"/>
        <source>YouTube 需要人机验证。请通过浏览器扩展下载或在设置中手动导入 Cookie（{detail}）</source>
        <translation>Blocked by YouTube Captcha; download through the browser extension or import Cookies in Settings: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="9"/>
        <source>请求的格式不可用，请稍后重试（{detail}）</source>
        <translation>Requested format unavailable, please try again later: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="10"/>
        <source>下载被拒绝（403），链接可能已失效（{detail}）</source>
        <translation>Request refused (403), link might have expired: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="11"/>
        <source>视频信息提取失败：{detail}</source>
        <translation>Video metadata extraction failed: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="12"/>
        <source>未找到可用的视频格式</source>
        <translation>No available video format found</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/error_catalog.py" line="14"/>
        <source>未找到 yt-dlp nightly tarball</source>
        <translation>yt-dlp nightly tarball not found</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="3"/>
        <source>服务器拒绝了请求（403），链接可能已失效（{detail}）</source>
        <translation>Request refused (403), link might have expired: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="4"/>
        <source>资源不存在（404），链接可能已失效（{detail}）</source>
        <translation>Resource does not exist (404), link might no longer be available: {detail}</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="5"/>
        <source>服务器返回了错误（{detail}）</source>
        <translation>Server returned an error ({detail})</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="6"/>
        <source>获取到的内容不是有效的播放列表，链接可能已失效（{detail}）</source>
        <translation>Fetched content is not a valid playlist; the link may have expired ({detail})</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="7"/>
        <source>缺少依赖程序（{detail}）</source>
        <translation>Missing dependency ({detail})</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="8"/>
        <source>无法解析域名，请检查网络连接（{detail}）</source>
        <translation>Domain resolution failed, please check your connection ({detail})</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="9"/>
        <source>连接被拒绝，请检查网络连接（{detail}）</source>
        <translation>Connection refused, please check your connection ({detail})</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="10"/>
        <source>连接超时，请检查网络连接（{detail}）</source>
        <translation>Connection timed out, please check your connection ({detail})</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="11"/>
        <source>SSL 连接失败，请检查网络连接（{detail}）</source>
        <translation>SSL handshake failed, please check your connection ({detail})</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="12"/>
        <source>当前平台暂不支持一键安装 N_m3u8DL-RE: {platform}</source>
        <translation>N_m3u8DL-RE auto installation not supported on this platform: {platform}</translation>
    </message>
    <message>
        <location filename="../../../features/m3u8_pack/error_catalog.py" line="13"/>
        <source>未找到适配 {target} 的 N_m3u8DL-RE 安装包</source>
        <translation>No N_m3u8DL-RE installer package found for {target}</translation>
    </message>
</context>
<context>
    <name>TaskPage</name>
    <message>
        <location filename="../../view/pages/task_page.py" line="167"/>
        <source>全部开始</source>
        <translation>Start All</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="168"/>
        <source>全部暂停</source>
        <translation>Pause All</translation>
    </message>
    <message>
        <source>0.00KB/s</source>
        <translation type="vanished">0.00KB/s</translation>
    </message>
    <message>
        <source>按时间排序</source>
        <translation type="vanished">Sort by Time</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="182"/>
        <source>按名称排序</source>
        <translation>Sort by Name</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="183"/>
        <source>按大小排序</source>
        <translation>Sort by Size</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="184"/>
        <source>按队列顺序</source>
        <translation>Sort by Queue Order</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="185"/>
        <source>顺序</source>
        <translation>Ascending</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="186"/>
        <source>倒序</source>
        <translation>Descending</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="232"/>
        <source>全部任务</source>
        <translation>All Tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="232"/>
        <source>活动任务</source>
        <translation>Active Tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="232"/>
        <source>完成任务</source>
        <translation>Completed Tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="810"/>
        <source>文件删除受限</source>
        <translation>File Operation Restricted</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="811"/>
        <source>macOS 阻止了文件删除，请在 系统设置 &gt; 隐私与安全性 &gt; 完全磁盘访问权限 中添加 Ghost Downloader</source>
        <translation>macOS has denied file deletion; please add Ghost Downloader into System Settings &gt; Privacy &amp; Security &gt; Full Disk Access</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="816"/>
        <source>前往设置</source>
        <translation>Open Settings</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="163"/>
        <location filename="../../view/pages/task_page.py" line="622"/>
        <location filename="../../view/pages/task_page.py" line="634"/>
        <source>暂无下载任务</source>
        <translation>No download tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="246"/>
        <source>按分类筛选</source>
        <translation>Filter By Category</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="243"/>
        <source>选择任务</source>
        <translation>Select Tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="180"/>
        <source>按添加时间</source>
        <translation>Sort by Time Added</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="181"/>
        <source>按完成时间</source>
        <translation>Sort by Completion Time</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="244"/>
        <source>计划任务</source>
        <translation>Schedule Task</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="245"/>
        <source>限速</source>
        <translation>Toggle Speed Limit</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="350"/>
        <source>搜索任务</source>
        <translation>Search Tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="519"/>
        <source>删除任务</source>
        <translation>Delete Task</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="519"/>
        <source>确定要删除选中的下载任务吗？</source>
        <translation>Are you sure you want to delete the selected download task(s)?</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="520"/>
        <source>同时删除已下载的文件</source>
        <translation>Also delete downloaded files</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="624"/>
        <source>没有匹配筛选条件的任务</source>
        <translation>No tasks match the current filters</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="626"/>
        <source>没有匹配的任务</source>
        <translation>No matching tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="628"/>
        <source>该分类下暂无任务</source>
        <translation>No tasks under this category</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="630"/>
        <source>暂无活动任务</source>
        <translation>No active tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="632"/>
        <source>暂无完成任务</source>
        <translation>No completed tasks</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="468"/>
        <source>全部分类</source>
        <translation>All Categories</translation>
    </message>
    <message>
        <location filename="../../view/pages/task_page.py" line="542"/>
        <source>未分类</source>
        <translation>Uncategorized</translation>
    </message>
</context>
<context>
    <name>TokenLineEdit</name>
    <message>
        <location filename="../../view/components/token_line_edit.py" line="119"/>
        <source>添加...</source>
        <translation>Add...</translation>
    </message>
</context>
<context>
    <name>TrackBar</name>
    <message>
        <location filename="../../view/components/track_bar.py" line="96"/>
        <source>视频</source>
        <translation>Download Video</translation>
    </message>
    <message>
        <location filename="../../view/components/track_bar.py" line="98"/>
        <source>音频</source>
        <translation>Download Audio</translation>
    </message>
    <message>
        <location filename="../../view/components/track_bar.py" line="100"/>
        <source>字幕</source>
        <translation>Download Subtitles</translation>
    </message>
    <message>
        <location filename="../../view/components/track_bar.py" line="102"/>
        <source>封面</source>
        <translation>Download Thumbnail</translation>
    </message>
</context>
<context>
    <name>UniversalTaskCard</name>
    <message>
        <source>任务已经完成</source>
        <translation type="vanished">Task Completed</translation>
    </message>
    <message>
        <source>任务已经暂停</source>
        <translation type="vanished">Task Paused</translation>
    </message>
    <message>
        <source>任务正在等待</source>
        <translation type="vanished">Task Pending</translation>
    </message>
    <message>
        <source>下载过程中发生错误，请稍后重试</source>
        <translation type="vanished">An error occurred during download, please try again later</translation>
    </message>
    <message>
        <source>校验文件哈希</source>
        <translation type="vanished">Verify File Hash</translation>
    </message>
    <message>
        <source>打开文件</source>
        <translation type="vanished">Open File</translation>
    </message>
    <message>
        <source>打开文件夹</source>
        <translation type="vanished">Open Folder</translation>
    </message>
    <message>
        <source>文件不存在</source>
        <translation type="vanished">File does not exist</translation>
    </message>
    <message>
        <source>完成于 {}</source>
        <translation type="vanished">Completed at {}</translation>
    </message>
    <message>
        <source>删除任务</source>
        <translation type="vanished">Delete Task</translation>
    </message>
    <message>
        <source>确定要删除这个下载任务吗？</source>
        <translation type="vanished">Are you sure you want to delete this download task?</translation>
    </message>
    <message>
        <source>同时删除已下载的文件</source>
        <translation type="vanished">Also delete downloaded files</translation>
    </message>
    <message>
        <source>文件不存在，无法校验</source>
        <translation type="vanished">Cannot verify nonexistent file</translation>
    </message>
    <message>
        <source>复制校验值</source>
        <translation type="vanished">Copy Checksum</translation>
    </message>
    <message>
        <source>校验失败：{0}</source>
        <translation type="vanished">Verification Failed: {0}</translation>
    </message>
    <message>
        <source>重新下载失败：{0}</source>
        <translation type="vanished">Redownload Failed: {0}</translation>
    </message>
    <message>
        <source>重新下载失败，请稍后重试</source>
        <translation type="vanished">Redownload failed. Please try again later</translation>
    </message>
</context>
<context>
    <name>UpdateErrors</name>
    <message>
        <location filename="../../error_catalog.py" line="24"/>
        <source>无法获取版本信息</source>
        <translation>Unable to retrieve version information</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="25"/>
        <source>校验失败</source>
        <translation>Checksum verification failed</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="26"/>
        <source>当前平台无可用更新</source>
        <translation>No update is available for the current platform</translation>
    </message>
    <message>
        <location filename="../../error_catalog.py" line="27"/>
        <source>DMG 中未找到 .app</source>
        <translation>No .app bundle was found in the DMG</translation>
    </message>
</context>
<context>
    <name>UrlEditCard</name>
    <message>
        <location filename="../../view/components/option_cards.py" line="243"/>
        <source>下载链接</source>
        <translation>Download Link</translation>
    </message>
</context>
<context>
    <name>UserAgentPresetsDialog</name>
    <message>
        <source>管理 User-Agent 预设</source>
        <translation type="vanished">Manage User Agent Presets</translation>
    </message>
    <message>
        <source>恢复默认</source>
        <translation type="vanished">Restore Defaults</translation>
    </message>
    <message>
        <source>添加预设</source>
        <translation type="vanished">Add Preset</translation>
    </message>
    <message>
        <source>关闭</source>
        <translation type="vanished">Close</translation>
    </message>
</context>
<context>
    <name>UserAgentSettingCard</name>
    <message>
        <source>默认 User-Agent</source>
        <translation type="vanished">Default User Agent</translation>
    </message>
    <message>
        <source>新建任务时填入请求标头的 User-Agent，可通过管理预设维护常用项</source>
        <translation type="vanished">User Agent for new tasks; commonly used items can be edited in the Manage User Agents panel</translation>
    </message>
    <message>
        <source>管理 User-Agent 预设</source>
        <translation type="vanished">Manage User Agents</translation>
    </message>
</context>
<context>
    <name>VideoSelectDialog</name>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="219"/>
        <source>选择视频</source>
        <translation>Select Video</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="222"/>
        <source>全选</source>
        <translation>Select All</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="223"/>
        <source>全不选</source>
        <translation>Select None</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="224"/>
        <source>反选</source>
        <translation>Invert Selection</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="236"/>
        <source>确定</source>
        <translation>Save</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="237"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="244"/>
        <source>标题</source>
        <translation>Title</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="244"/>
        <source>时长</source>
        <translation>Duration</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="244"/>
        <source>开始</source>
        <translation>Start</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="244"/>
        <source>结束</source>
        <translation>End</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="321"/>
        <source>{0}/{1} 个视频</source>
        <translation>{0}/{1} Videos</translation>
    </message>
</context>
<context>
    <name>WebTrackerCard</name>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/card.py" line="16"/>
        <source>Web Tracker</source>
        <translation>Web Tracker</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/card.py" line="18"/>
        <source>管理</source>
        <translation>Manage</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/card.py" line="44"/>
        <source>{0} 个源 · 共 {1} 条缓存</source>
        <translation>{0} source(s), {1} trackers cached</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/card.py" line="27"/>
        <source>刷新缓存</source>
        <translation>Refresh Cache</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/card.py" line="61"/>
        <source>正在刷新 Web Tracker</source>
        <translation>Refreshing Trackers</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/card.py" line="62"/>
        <source>正在拉取 {0} 个源...</source>
        <translation>Downloading from {0} source(s)</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/card.py" line="81"/>
        <source>已刷新 {0}/{1} 个源，共 {2} 条 Tracker</source>
        <translation>Refreshed {0}/{1} sources, {2} trackers total</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/card.py" line="91"/>
        <source>刷新失败: {0}</source>
        <translation>Refresh Failed: {0}</translation>
    </message>
    <message>
        <source>已刷新 {0}/{1} 个源,共 {2} 条 Tracker</source>
        <translation type="vanished">Refreshed {0}/{1} source(s), {2} total trackers</translation>
    </message>
</context>
<context>
    <name>WebTrackerDialog</name>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="74"/>
        <source>Tracker 源</source>
        <translation>Tracker Sources</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="75"/>
        <source>添加</source>
        <translation>Add</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="77"/>
        <source>自定义 Tracker</source>
        <translation>Extra Trackers</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="89"/>
        <source>保存并刷新</source>
        <translation>Save &amp; Refresh</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="90"/>
        <source>取消</source>
        <translation>Cancel</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="96"/>
        <source>每行一个 tracker URL，不会被源刷新覆盖</source>
        <translation>One tracker URL per line, will not be overwritten by source refresh</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="125"/>
        <source>源地址无效</source>
        <translation>Invalid Source URL</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="126"/>
        <source>请输入有效的 HTTP/HTTPS 地址</source>
        <translation>Please enter a valid HTTP/HTTPS URL</translation>
    </message>
</context>
<context>
    <name>WebTrackerSourceCard</name>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="51"/>
        <source>未拉取</source>
        <translation>Waiting for Refresh</translation>
    </message>
    <message>
        <location filename="../../../features/bittorrent_pack/web_tracker/dialog.py" line="53"/>
        <source>{0} 条</source>
        <translation>{0} items</translation>
    </message>
</context>
<context>
    <name>WelcomePage</name>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="273"/>
        <source>欢迎使用 Ghost Downloader</source>
        <translation>Welcome to Ghost Downloader</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="277"/>
        <source>快速、智能的下载管理器。
接下来的几步将帮助你完成基本配置。</source>
        <translation>A fast, smart download manager.
The next steps will guide you through the basic setup.</translation>
    </message>
    <message>
        <location filename="../../view/windows/oobe_window.py" line="282"/>
        <source>开始配置</source>
        <translation>Start Setup</translation>
    </message>
</context>
<context>
    <name>YtDlpConfig</name>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="88"/>
        <source>YouTube 下载</source>
        <translation>YouTube</translation>
    </message>
    <message>
        <source>yt-dlp 安装目录</source>
        <translation type="vanished">yt-dlp Install Location</translation>
    </message>
    <message>
        <source>并行分片数</source>
        <translation type="vanished">Parallel Chunks</translation>
    </message>
    <message>
        <source>同时下载的视频分片数量，越高越快但可能被限流</source>
        <translation type="vanished">Number of video chunks to download simultaneously; higher is faster but may be rate-limited</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="96"/>
        <source>运行环境安装目录</source>
        <translation>Runtime Environment Install Location</translation>
    </message>
    <message>
        <source>登录浏览器</source>
        <translation type="vanished">Login Browser</translation>
    </message>
    <message>
        <source>从指定浏览器读取 YouTube 登录状态，用于下载需要登录的内容</source>
        <translation type="vanished">Read YouTube login state from specified browser for downloading restricted content</translation>
    </message>
    <message>
        <source>不使用</source>
        <translation type="vanished">None</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="107"/>
        <source>优先 MP4 格式</source>
        <translation>Prefer MP4 Format</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="108"/>
        <source>优先选择 H.264/MP4 编码，避免输出 WebM/MKV</source>
        <translation>Prefer H.264/MP4 codec to avoid WebM/MKV output</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="115"/>
        <source>下载完成后将标题、作者等信息嵌入文件</source>
        <translation>Embed metadata (title, author, etc.) into file after download</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="122"/>
        <source>下载完成后将章节标记嵌入文件</source>
        <translation>Embed chapter markers into file after download</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="300"/>
        <source>YouTube Cookie</source>
        <translation>YouTube Cookie</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="305"/>
        <source>导入</source>
        <translation>Import</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="310"/>
        <source>清除 Cookie</source>
        <translation>Clear Cookie</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="328"/>
        <source>已导入</source>
        <translation>Imported</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="329"/>
        <source>下载需要登录的内容时需要 Cookie，推荐通过浏览器扩展自动导入</source>
        <translation>A Cookie is required to download content that requires an account. It is recommended to automatically import it using the browser extension.</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="352"/>
        <source>安装浏览器扩展后，下载 YouTube 视频时会自动携带登录信息，无需手动操作。
如需手动导入：打开 YouTube 并登录，按 F12 打开开发者工具，在 Network 标签中找到任意请求，复制其 Cookie 请求头的值并粘贴到下方。</source>
        <translation>After installing the browser extension, login information will be automatically included when downloading YouTube videos, with no manual steps required.
For manual import: Open YouTube and log in, press F12 to open Developer Tools, go to the Network tab, find any request, copy the value of the Cookie request header and paste it below.</translation>
    </message>
    <message>
        <source>粘贴 Cookie 用于下载需要登录的内容</source>
        <translation type="vanished">Paste Cookie to download content that requires login</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="347"/>
        <source>导入 YouTube Cookie</source>
        <translation>Import YouTube Cookie</translation>
    </message>
    <message>
        <source>打开 YouTube 并登录，按 F12 打开开发者工具，在 Network 标签中找到任意请求，复制其 Cookie 请求头的值并粘贴到下方</source>
        <translation type="vanished">Open YouTube and log in, press F12 to open Developer Tools, go to the Network tab, find any request, copy the value of the Cookie request header and paste it below</translation>
    </message>
    <message>
        <source>嵌入缩略图</source>
        <translation type="vanished">Embed Thumbnail</translation>
    </message>
    <message>
        <source>下载完成后通过 FFmpeg 将封面嵌入文件</source>
        <translation type="vanished">Embed thumbnail into file via FFmpeg after download</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="121"/>
        <source>嵌入章节</source>
        <translation>Embed Chapters</translation>
    </message>
    <message>
        <source>下载完成后通过 FFmpeg 将章节标记嵌入文件</source>
        <translation type="vanished">Embed chapter markers into file via FFmpeg after download</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/config.py" line="114"/>
        <source>嵌入元数据</source>
        <translation>Embed Metadata</translation>
    </message>
    <message>
        <source>下载完成后通过 FFmpeg 将标题、作者等信息嵌入文件</source>
        <translation type="vanished">Embed metadata (title, author, etc.) into file via FFmpeg after download</translation>
    </message>
</context>
<context>
    <name>YtDlpDraftCard</name>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="356"/>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="367"/>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="521"/>
        <source>最佳画质</source>
        <translation>Best Quality</translation>
    </message>
    <message>
        <source>选择字幕</source>
        <translation type="vanished">Select Subtitles</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="357"/>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="368"/>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="522"/>
        <source>最佳音质</source>
        <translation>Best Quality</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="358"/>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="524"/>
        <source>自动</source>
        <translation>auto</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="374"/>
        <source>截取片段</source>
        <translation>Trim Media</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="392"/>
        <source>选择视频</source>
        <translation>Select Video</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="653"/>
        <source>未找到播放列表</source>
        <translation>Playlist not found</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="658"/>
        <source>加载播放列表失败</source>
        <translation>Failed to load playlist</translation>
    </message>
</context>
<context>
    <name>YtDlpTaskCard</name>
    <message>
        <source>选择视频</source>
        <translation type="vanished">Select Video</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="161"/>
        <source>{0} 个视频 · {1}</source>
        <translation>{0} Videos · {1}</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="148"/>
        <source>提取信息</source>
        <translation>Extracting metadata</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="149"/>
        <source>下载视频</source>
        <translation>Downloading video track</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="150"/>
        <source>下载音频</source>
        <translation>Downloading audio track</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="151"/>
        <source>合并</source>
        <translation>Muxing</translation>
    </message>
    <message>
        <location filename="../../../features/yt_dlp_pack/cards.py" line="152"/>
        <source>下载字幕</source>
        <translation>Downloading subtitles</translation>
    </message>
</context>
<context>
    <name>_CategoryRowWidget</name>
    <message>
        <source>编辑</source>
        <translation type="vanished">Edit</translation>
    </message>
    <message>
        <source>删除</source>
        <translation type="vanished">Remove</translation>
    </message>
    <message>
        <source>无扩展名</source>
        <translation type="vanished">None</translation>
    </message>
    <message>
        <source>{0} 等 {1} 项</source>
        <translation type="vanished">{0} &amp; more totaling {1} items</translation>
    </message>
</context>
<context>
    <name>_UserAgentEntryDialog</name>
    <message>
        <source>编辑预设</source>
        <translation type="vanished">Edit Preset</translation>
    </message>
    <message>
        <source>添加预设</source>
        <translation type="vanished">Add Preset</translation>
    </message>
    <message>
        <source>名称</source>
        <translation type="vanished">Name</translation>
    </message>
    <message>
        <source>User-Agent 字符串</source>
        <translation type="vanished">User Agent String</translation>
    </message>
    <message>
        <source>保存</source>
        <translation type="vanished">Save</translation>
    </message>
    <message>
        <source>取消</source>
        <translation type="vanished">Cancel</translation>
    </message>
    <message>
        <source>如 Chrome 桌面 / iOS Safari</source>
        <translation type="vanished">e.g. Chrome Desktop, Safari iOS</translation>
    </message>
    <message>
        <source>粘贴完整的 User-Agent 字符串</source>
        <translation type="vanished">Paste complete User Agent string</translation>
    </message>
</context>
<context>
    <name>_UserAgentRowWidget</name>
    <message>
        <source>编辑</source>
        <translation type="vanished">Edit</translation>
    </message>
    <message>
        <source>删除</source>
        <translation type="vanished">Delete</translation>
    </message>
</context>
<context>
    <name>parent</name>
    <message>
        <source>下载链接</source>
        <translation type="vanished">Download Link</translation>
    </message>
    <message>
        <source>请求标头</source>
        <translation type="vanished">Request Headers</translation>
    </message>
    <message>
        <source>代理服务器</source>
        <translation type="vanished">Proxy Server</translation>
    </message>
    <message>
        <source>下载到</source>
        <translation type="vanished">Download Location</translation>
    </message>
    <message>
        <source>视频轨道</source>
        <translation type="obsolete">视频轨道</translation>
    </message>
    <message>
        <source>录制时长上限</source>
        <translation type="obsolete">录制时长上限</translation>
    </message>
    <message>
        <source>解密密钥</source>
        <translation type="obsolete">解密密钥</translation>
    </message>
    <message>
        <source>导入音轨/字幕</source>
        <translation type="obsolete">导入音轨/字幕</translation>
    </message>
    <message>
        <source>未找到适配的安装包</source>
        <translation type="vanished">No compatible installer package found</translation>
    </message>
    <message>
        <source>请在版本详情中手动选择</source>
        <translation type="vanished">Please select manually in version details</translation>
    </message>
    <message>
        <source>创建下载任务失败</source>
        <translation type="vanished">Failed to create download task</translation>
    </message>
</context>
<context>
    <name>self._dialog</name>
    <message>
        <location filename="../../view/dialogs/task_draft.py" line="46"/>
        <source>添加任务</source>
        <translation>Add Task</translation>
    </message>
</context>
</TS>
