# Chinese translations for PROJECT.
# Copyright (C) 2026 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
#
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 1970-01-01 00:00+0000\n"
"PO-Revision-Date: 2026-01-18 21:31+0800\n"
"Last-Translator: 吾爱分享 <admin@wuaishare.cn>\n"
"Language: zh\n"
"Language-Team: zh <LL@li.org>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
msgid "Add a new web page change detection watch"
msgstr "新增网页变更监控"

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
#: changedetectionio/blueprint/ui/templates/preview.html
msgid "Go"
msgstr "前往"

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
msgid "Enter a URL to get started!"
msgstr ""

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
msgid "Enter a URL in the input box above to get started."
msgstr ""

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
msgid "Fetching screenshot and element information…"
msgstr ""

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Currently:"
msgstr "当前："

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Select by element"
msgstr "按元素选择"

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
msgid "Hover & click the preview to watch just one part of the page."
msgstr ""

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html changedetectionio/blueprint/ui/templates/edit.html
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Clear selection"
msgstr "清除选择"

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "What matters — when to notify me"
msgstr ""

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid ""
"e.g. Notify me when products go in/out of stock, lead times change by more than a week, or new product variants "
"appear. Skip review additions."
msgstr ""

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "Watch group / tag"
msgstr "分组 / 标签"

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
msgid "Watch this URL!"
msgstr "监控此 URL！"

#: changedetectionio/blueprint/add_watch_ui/templates/add-watch-ui.html
msgid "Edit first then Watch"
msgstr "先编辑，再监控"

#: changedetectionio/blueprint/backups/__init__.py
msgid "A backup is already running, check back in a few minutes"
msgstr "备份正在进行中，请几分钟后再查看"

#: changedetectionio/blueprint/backups/__init__.py
msgid "Maximum number of backups reached, please remove some"
msgstr "备份数量已达上限，请先删除部分备份"

#: changedetectionio/blueprint/backups/__init__.py
msgid "Backup building in background, check back in a few minutes."
msgstr "备份正在后台生成，请几分钟后再查看。"

#: changedetectionio/blueprint/backups/__init__.py
msgid "Backups were deleted."
msgstr "备份已删除。"

#: changedetectionio/blueprint/backups/restore.py
msgid "Backup zip file"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "Must be a .zip backup file!"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "Include groups"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "Replace existing groups of the same UUID"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "Include watches"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "Replace existing watches of the same UUID"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Restore backup"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "A restore is already running, check back in a few minutes"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "No file uploaded"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "File must be a .zip backup file"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
#, python-format
msgid "Backup file is too large (max %(mb)s MB)"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "Invalid or corrupted zip file"
msgstr ""

#: changedetectionio/blueprint/backups/restore.py
msgid "Restore started in background, check back in a few minutes."
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_create.html
#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Create"
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_create.html
#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Restore"
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_create.html
msgid "A backup is running!"
msgstr "备份正在运行！"

#: changedetectionio/blueprint/backups/templates/backup_create.html
msgid "Here you can download and request a new backup, when a backup is completed you will see it listed below."
msgstr "在此可下载并请求新的备份，备份完成后会在下方列表中显示。"

#: changedetectionio/blueprint/backups/templates/backup_create.html
msgid "Mb"
msgstr "MB"

#: changedetectionio/blueprint/backups/templates/backup_create.html
msgid "No backups found."
msgstr "未找到备份。"

#: changedetectionio/blueprint/backups/templates/backup_create.html
msgid "Create backup"
msgstr "创建备份"

#: changedetectionio/blueprint/backups/templates/backup_create.html
msgid "Remove backups"
msgstr "删除备份"

#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "A restore is running!"
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Restore a backup. Must be a .zip backup file created on/after v0.53.1 (new database layout)."
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Note: This does not override the main application settings, only watches and groups."
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_restore.html
#, python-format
msgid "Max upload size: %(upload)s MB, Max decompressed size: %(decomp)s MB"
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Include all groups found in backup?"
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Replace any existing groups of the same UUID?"
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Include all watches found in backup?"
msgstr ""

#: changedetectionio/blueprint/backups/templates/backup_restore.html
msgid "Replace any existing watches of the same UUID?"
msgstr ""

#: changedetectionio/blueprint/imports/importer.py
msgid "Importing 5,000 of the first URLs from your list, the rest can be imported again."
msgstr "仅导入列表前 5,000 个 URL，其余可稍后继续导入。"

#: changedetectionio/blueprint/imports/importer.py
#, python-brace-format
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
msgstr "从列表导入 {count} 条，用时 {duration} 秒，跳过 {skipped_count} 条。"

#: changedetectionio/blueprint/imports/importer.py
msgid "Unable to read JSON file, was it broken?"
msgstr "无法读取 JSON 文件，文件是否损坏？"

#: changedetectionio/blueprint/imports/importer.py
msgid "JSON structure looks invalid, was it broken?"
msgstr "JSON 结构无效，文件是否损坏？"

#: changedetectionio/blueprint/imports/importer.py
#, python-brace-format
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
msgstr "从 Distill.io 导入 {count} 条，用时 {duration} 秒，跳过 {skipped_count} 条。"

#: changedetectionio/blueprint/imports/importer.py
msgid "Unable to read export XLSX file, something wrong with the file?"
msgstr "无法读取导出的 XLSX 文件，文件是否有问题？"

#: changedetectionio/blueprint/imports/importer.py
#, python-brace-format
msgid "Error processing row number {}, URL value was incorrect, row was skipped."
msgstr "处理第 {} 行时出错，URL 值不正确，已跳过该行。"

#: changedetectionio/blueprint/imports/importer.py
#, python-brace-format
msgid "Error processing row number {}, check all cell data types are correct, row was skipped."
msgstr "处理第 {} 行时出错，请检查单元格数据类型是否正确，已跳过该行。"

#: changedetectionio/blueprint/imports/importer.py
#, python-brace-format
msgid "{count} imported from Wachete .xlsx in {duration}s"
msgstr "从 Wachete .xlsx 导入 {count} 条，用时 {duration} 秒"

#: changedetectionio/blueprint/imports/importer.py
#, python-brace-format
msgid "{count} imported from custom .xlsx in {duration}s"
msgstr "从自定义 .xlsx 导入 {count} 条，用时 {duration} 秒"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "URL List"
msgstr "URL 列表"

#: changedetectionio/blueprint/imports/templates/import.html
msgid ".XLSX & Wachete"
msgstr ".XLSX 与 Wachete"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Backup Restore"
msgstr ""

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Restoring changedetection.io backups is in the"
msgstr ""

#: changedetectionio/blueprint/imports/templates/import.html
msgid "backups section"
msgstr ""

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Enter one URL per line, and optionally add tags for each URL after a space, delineated by comma (,):"
msgstr "每行输入一个 URL，可在 URL 后用空格追加标签，标签以逗号 (,) 分隔："

#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/templates/edit/include_subtract.html
#: changedetectionio/templates/edit/text-options.html
msgid "Example"
msgstr "示例"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "URLs which do not pass validation will stay in the textarea."
msgstr "未通过验证的 URL 会保留在文本框中。"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
msgstr "复制并粘贴 Distill.io 监控的“导出”文件（JSON）。"

# TN: CJK scripts degrade when italicized; emphasis is rendered with <strong>
# instead.
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
#: changedetectionio/blueprint/imports/templates/import.html
msgid ""
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
"<code>config:selections</code>, the rest (including <code>schedule</code>) are ignored."
msgstr ""
"这项功能为<strong>实验性</strong>，支持的字段有 "
"<code>name</code>、<code>uri</code>、<code>tags</code>、<code>config:selections</code>，其余字段（包括 "
"<code>schedule</code>）将被忽略。"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "How to export?"
msgstr "如何导出？"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Be sure to set your default fetcher to Chrome if required."
msgstr "如有需要，请将默认抓取器设置为 Chrome。"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Table of custom column and data types mapping for the"
msgstr "用于以下内容的自定义列与数据类型映射表"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Custom mapping"
msgstr "自定义映射"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "File mapping type."
msgstr "文件映射类型。"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Column #"
msgstr "列 #"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Type"
msgstr "类型"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "none"
msgstr "无"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "CSS/xPath filter"
msgstr "CSS/XPath 过滤器"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Group / Tag name(s)"
msgstr "分组/标签名称"

#: changedetectionio/blueprint/imports/templates/import.html
msgid "Recheck time (minutes)"
msgstr "复检间隔（分钟）"

#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/templates/sidebar-nav.html
msgid "Import"
msgstr "导入"

#: changedetectionio/blueprint/rss/single_watch.py
#, python-format
msgid "Watch with UUID %(uuid)s not found"
msgstr ""

#: changedetectionio/blueprint/rss/single_watch.py
#, python-format
msgid "Watch %(uuid)s does not have enough history snapshots to show changes (need at least 2)"
msgstr ""

#: changedetectionio/blueprint/settings/__init__.py
msgid "Password protection removed."
msgstr "已移除密码保护。"

#: changedetectionio/blueprint/settings/__init__.py
#, python-brace-format
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
msgstr "警告：工作线程数（{worker_count}）接近或超过可用CPU核心数（{cpu_count}）"

#: changedetectionio/blueprint/settings/__init__.py
#, python-brace-format
msgid "Worker count adjusted: {}"
msgstr "工作线程数已调整：{}"

#: changedetectionio/blueprint/settings/__init__.py
msgid "Dynamic worker adjustment not supported for sync workers"
msgstr "同步工作线程不支持动态调整"

#: changedetectionio/blueprint/settings/__init__.py
#, python-brace-format
msgid "Error adjusting workers: {}"
msgstr "调整工作线程时出错：{}"

#: changedetectionio/blueprint/settings/__init__.py
msgid "Password protection enabled."
msgstr "已启用密码保护。"

#: changedetectionio/blueprint/settings/__init__.py changedetectionio/blueprint/settings/notifications/__init__.py
msgid "Settings updated."
msgstr "设置已更新。"

#: changedetectionio/blueprint/settings/__init__.py changedetectionio/blueprint/settings/notifications/__init__.py
#: changedetectionio/blueprint/ui/edit.py changedetectionio/processors/extract.py
msgid "An error occurred, please see below."
msgstr "发生错误，请查看下方详情。"

#: changedetectionio/blueprint/settings/__init__.py
msgid "API Key was regenerated."
msgstr "API Key 已重新生成。"

#: changedetectionio/blueprint/settings/__init__.py
msgid "Automatic scheduling paused - checks will not be queued."
msgstr "自动调度已暂停 - 检查任务不会入队。"

#: changedetectionio/blueprint/settings/__init__.py
msgid "Automatic scheduling resumed - checks will be queued normally."
msgstr "自动调度已恢复 - 检查任务将正常入队。"

#: changedetectionio/blueprint/settings/__init__.py
msgid "All notifications muted."
msgstr "所有通知已静音。"

#: changedetectionio/blueprint/settings/__init__.py
msgid "All notifications unmuted."
msgstr "所有通知已取消静音。"

#: changedetectionio/blueprint/settings/llm.py
msgid ""
"api_key is required when api_base differs from the saved configuration. Refusing to send the stored API key to a "
"different endpoint."
msgstr ""

#: changedetectionio/blueprint/settings/llm.py
msgid "AI / LLM configuration removed."
msgstr ""

#: changedetectionio/blueprint/settings/llm.py
#, python-brace-format
msgid "AI summary cache cleared ({} file(s) removed)."
msgstr ""

#: changedetectionio/blueprint/settings/notifications/templates/apprise.html
msgid "Default Notifications"
msgstr ""

#: changedetectionio/blueprint/settings/notifications/templates/apprise.html
msgid "These notifications apply to all web page watches, or you can configure them per group or per watch separately."
msgstr ""

#: changedetectionio/blueprint/settings/notifications/templates/apprise.html
msgid "Base URL used for the"
msgstr "用于通知链接中的"

#: changedetectionio/blueprint/settings/notifications/templates/apprise.html
msgid "token in notification links."
msgstr "通知链接中的令牌。"

#: changedetectionio/blueprint/settings/notifications/templates/apprise.html
msgid "Default value is the system environment variable"
msgstr "默认值为系统环境变量"

#: changedetectionio/blueprint/settings/notifications/templates/apprise.html
#: changedetectionio/templates/_common_fields.html
msgid "read more here"
msgstr "在此阅读更多"

#: changedetectionio/blueprint/settings/notifications/templates/apprise.html
msgid "Back to settings"
msgstr ""

#: changedetectionio/blueprint/settings/templates/notification-log.html
msgid "Notification debug log"
msgstr "通知调试日志"

#: changedetectionio/blueprint/settings/templates/notification-log.html
msgid "For security this log is emptied on restart."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/blueprint/tags/templates/edit-tag.html
#: changedetectionio/blueprint/ui/templates/edit.html
msgid "General"
msgstr "通用"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Fetching"
msgstr "抓取"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Global Filters"
msgstr "全局过滤器"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "UI Options"
msgstr "界面选项"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Backups"
msgstr "备份"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Time & Date"
msgstr "时间与日期"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "CAPTCHA & Proxies"
msgstr "验证码与代理"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/blueprint/tags/templates/edit-tag.html
#: changedetectionio/blueprint/ui/templates/edit.html
msgid "AI / LLM"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Info"
msgstr "信息"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Default recheck time for all watches, current system minimum is"
msgstr "所有监控项的默认复检间隔，当前系统最小值为"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "more info"
msgstr "更多信息"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "After this many consecutive times that the CSS/xPath filter is missing, send a notification"
msgstr "CSS/xPath 过滤器连续缺失此次数后发送通知"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Set to <strong>0</strong> to disable"
msgstr "设置为 <strong>0</strong> 以禁用"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Limit collection of history snapshots for each watch to this number of history items."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Set to empty to disable / no limit"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Password protection for your changedetection.io application."
msgstr "为你的 changedetection.io 应用启用密码保护。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Password is locked."
msgstr "密码已锁定。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Clear Snapshot History"
msgstr "清除快照历史"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Allow access to the watch change history page when password is enabled (Good for sharing the diff page)"
msgstr "启用密码时允许访问监视器更改历史页面(便于共享差异页面)"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "When a request returns no content, or the HTML does not contain any text, is this considered a change?"
msgstr "当请求无内容返回，或 HTML 不包含任何文本时，是否视为变更？"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Choose a default proxy for all watches"
msgstr "为所有监视器选择默认代理"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Use the <strong>Basic</strong> method (default) where your watched sites don't need Javascript to render."
msgstr "使用 <strong>基础</strong> 方式（默认），适用于您要监控的无需 JavaScript 渲染的网站。"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/blueprint/ui/templates/edit.html
msgid ""
"The <strong>Chrome/Javascript</strong> method requires a network connection to a running WebDriver+Chrome server, set"
" by the ENV var 'WEBDRIVER_URL'."
msgstr "<strong>Chrome/JavaScript</strong> 方式需要连接到运行中的 WebDriver+Chrome 服务器，其地址通过环境变量 'WEBDRIVER_URL' 设置。"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/blueprint/ui/templates/edit.html
msgid ""
"If you're having trouble waiting for the page to be fully rendered (text missing etc), try increasing the 'wait' time"
" here."
msgstr "如果页面渲染未完成（缺文本等），可尝试增加这里的等待时间。"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/blueprint/ui/templates/edit.html
msgid "This will wait <i>n</i> seconds before extracting the text."
msgstr "这将等待 <i>n</i> 秒后再提取文本。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Number of concurrent workers to process watches. More workers = faster processing but higher memory usage."
msgstr "用于处理监控项的并发工作线程数。线程越多=处理更快但内存占用更高。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Currently running:"
msgstr "当前运行:"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "operational"
msgstr "运行中"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "workers"
msgstr "工作进程"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "actively processing"
msgstr "活跃处理中"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Example - 3 seconds random jitter could trigger up to 3 seconds earlier or up to 3 seconds later"
msgstr "示例 - 3 秒随机抖动可能导致提前最多 3 秒或延后最多 3 秒触发"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "For regular plain requests (not chrome based), maximum number of seconds until timeout, 1-999."
msgstr "对于普通明文请求（非 Chrome），超时时间上限为 1-999 秒。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Applied to all requests."
msgstr "适用于所有请求。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Note: Simply changing the User-Agent often does not defeat anti-robot technologies, it's important to consider"
msgstr "注意：仅更换 User-Agent 往往无法绕过反爬虫技术，务必考虑"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "all of the ways that the browser is detected"
msgstr "浏览器被识别的各种方式"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Connect using Bright Data proxies, find out more here."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/blueprint/ui/templates/diff.html
#: changedetectionio/blueprint/ui/templates/edit.html changedetectionio/templates/_common_fields.html
msgid "Tip:"
msgstr "提示："

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Ignore whitespace, tabs and new-lines/line-feeds when considering if a change was detected."
msgstr "判断是否变更时忽略空格、制表符和换行。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Note:"
msgstr "注意:"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Changing this will change the status of your existing watches, possibly trigger alerts etc."
msgstr "更改此项会改变现有监控项状态，可能触发警报等。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Render anchor tag content, default disabled, when enabled renders links as"
msgstr "渲染 a 标签内容，默认关闭，开启后链接会呈现为"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
msgstr "更改此项可能影响现有监控项内容，可能触发警报等。"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
msgstr "在文本转换前通过 CSS 和 XPath 选择器移除 HTML 元素。"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
msgid "Don't paste HTML here, use only CSS and XPath selectors"
msgstr "不要在此粘贴 HTML，仅使用 CSS 和 XPath 选择器"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
msgstr "每行添加多个元素、CSS 或 XPath 选择器，用于忽略 HTML 的多个部分。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Note: This is applied globally in addition to the per-watch rules."
msgstr "注意：除每个监控项规则外，此项还会全局应用。"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/text-options.html
msgid "Matching text will be ignored in the text snapshot (you can still see it but it wont trigger a change)"
msgstr "匹配的文本会在文本快照中被忽略（仍可见但不会触发变更）"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/text-options.html
msgid "Each line processed separately, any line matching will be ignored (removed before creating the checksum)"
msgstr "每行单独处理，匹配的行会被忽略（在生成校验和前移除）"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/text-options.html
msgid "Regular Expression support, wrap the entire line in forward slash"
msgstr "支持正则表达式，整行用斜杠 / 包裹"

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/text-options.html
msgid "Changing this will affect the comparison checksum which may trigger an alert"
msgstr "更改此项会影响对比校验和，可能触发警报"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Remove any text that appears in the \"Ignore text\" from the output (otherwise its just ignored for change-detection)"
msgstr "从输出中移除“忽略文本”中的内容（否则仅在变更检测时忽略）"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "API Access"
msgstr "API 访问"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Drive your changedetection.io via API, More about"
msgstr "通过 API 控制 changedetection.io，更多信息"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "API access and examples here"
msgstr "API访问和示例"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Restrict API access limit by using"
msgstr "通过以下方式限制 API 访问"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "header - required for the Chrome Extension to work"
msgstr "请求头 - Chrome 扩展正常工作所需"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "copy"
msgstr "复制"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Regenerate API key"
msgstr "重新生成 API Key"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Chrome Extension"
msgstr "Chrome 扩展程序"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Easily add any web-page to your changedetection.io installation from within Chrome."
msgstr "可在 Chrome 中轻松将任意网页添加到你的 changedetection.io。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Step 1"
msgstr "步骤 1"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Install the extension,"
msgstr "安装扩展，"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Step 2"
msgstr "步骤 2"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Navigate to this page,"
msgstr "访问此页面，"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Step 3"
msgstr "步骤 3"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Open the extension from the toolbar and click"
msgstr "从工具栏打开扩展并点击"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Sync API Access"
msgstr "同步 API 访问"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Try our new Chrome Extension!"
msgstr "试试我们新的 Chrome 扩展！"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Chrome store icon"
msgstr "Chrome 商店图标"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Chrome Webstore"
msgstr "Chrome网上应用店"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Maximum number of history snapshots to include in the watch specific RSS feed."
msgstr "监控项 RSS 中包含的历史快照最大数量。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "For watching other RSS feeds - When watching RSS/Atom feeds, convert them into clean text for better change detection."
msgstr "用于监控其他 RSS 源 - 监控 RSS/Atom 源时，将其转换为纯净文本以更好地检测变更。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Does your reader support HTML? Set it here"
msgstr "你的阅读器支持 HTML 吗？在此设置"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "'System default' for the same template for all items, or re-use your \"Notification Body\" as the template."
msgstr "“系统默认”用于所有条目使用相同模板，或复用“通知正文”作为模板。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Ensure the settings below are correct, they are used to manage the time schedule for checking your web page watches."
msgstr "请确认以下设置正确，它们用于管理网页监控的时间调度。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "UTC Time & Date from Server:"
msgstr "服务器 UTC 时间与日期："

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Local Time & Date in Browser:"
msgstr "浏览器本地时间与日期："

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Enable this setting to open the diff page in a new tab. If disabled, the diff page will open in the current tab."
msgstr "启用此设置可在新标签页打开差异页面；若禁用，将在当前标签页打开。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Realtime UI Updates Enabled - (Restart required if this is changed)"
msgstr "启用实时界面更新（更改后需重启）"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Enable or Disable Favicons next to the watch list"
msgstr "在监控列表中启用或禁用站点图标"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Number of items per page in the watch overview list, 0 to disable."
msgstr "监控概览列表每页数量，0 为禁用。"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "How \"Checked\" and \"Changed\" times are shown in the watch overview list."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html
msgid ""
"\"Collapsed icon rail\" keeps the left navigation slim and reveals labels on mouse-over; \"Always expanded\" keeps "
"labels visible."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Tip"
msgstr "提示"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "\"Residential\" and \"Mobile\" proxy type can be more successful than \"Data Center\" for blocked websites."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "\"Name\" will be used for selecting the proxy in the Watch Edit settings"
msgstr "“名称”将用于在监控项编辑设置中选择代理"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid ""
"SOCKS5 proxies with authentication are only supported with 'plain requests' fetcher, for other fetchers you should "
"whitelist the IP access instead"
msgstr "带认证的 SOCKS5 代理仅支持“明文请求”抓取器，其他抓取器请改为白名单 IP"

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Uptime:"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Python version:"
msgstr "Python 版本："

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "Plugins active:"
msgstr "已启用插件："

#: changedetectionio/blueprint/settings/templates/settings.html
msgid "No plugins active"
msgstr "未启用任何插件"

#. 'Usage' here means token consumption/cost stats for the AI provider, not a how-to guide
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgctxt "AI usage stats"
msgid "Usage"
msgstr "使用量"

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Overview"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Provider"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Prompts"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Behaviour"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "AI-powered change monitoring"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Connect an LLM to move from \"something changed\" to \"only the thing you care about changed\"."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Intent filtering"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid ""
"Each watch or tag can carry a plain-text intent — %(ex1)s or %(ex2)s. On every detected change the AI evaluates the "
"diff against it and suppresses irrelevant noise."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid ""
"Tip: intent evaluation benefits from a capable model — recommended %(local)s locally, or %(gpt)s / %(gemini)s. Very "
"small models (≤3B) may misjudge numeric comparisons."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid ""
"Instead of raw diffs, receive plain-language summaries in notifications — %(ex1)s or %(ex2)s. Set a global default "
"prompt here, or override per watch or tag."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Minimal cost"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid ""
"The AI sees only a unified diff of what changed — never full page HTML. Low-cost models like %(gpt)s or %(gemini)s "
"handle this well, typically fractions of a cent per check."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "AI / LLM configured:"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Configure AI Provider"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "AI Provider"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Master switch — when off, all AI lookups are skipped even if a provider is configured below."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Third-party data transfer — please read"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"When AI features are active, change data from the websites you monitor — including page diffs and extracted text — is"
" sent to an external AI provider of your choice."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "You are solely responsible for ensuring this complies with the terms of service of each website you monitor."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"You are solely responsible for compliance with applicable data-protection laws (e.g. GDPR) regarding any personal "
"data that may appear in monitored content."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"API costs charged by your chosen provider are your own responsibility; this software has no visibility into or "
"control over those charges."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"AI / LLM models are known to hallucinate — producing plausible-sounding but factually incorrect or entirely "
"fabricated output with apparent confidence — and by design may omit or truncate relevant data during summarisation. "
"AI output must never be relied upon as complete or accurate. This software is provided as-is with no warranty of any "
"kind."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"By enabling AI features you personally indemnify and hold harmless the creator(s) and contributor(s) of this software"
" from any claims, damages, or liability arising from this data transfer or your use of AI features."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "I have read and understood the above. I accept full responsibility and indemnify the creator(s) of this software."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html changedetectionio/templates/_common_fields.html
msgid "Note"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid ""
"AI / LLM is configured via environment variables (<code>LLM_MODEL=%(model)s</code>%(api_base)s). Remove the "
"<code>LLM_MODEL</code> environment variable to configure via this form instead."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "select a provider"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "OpenAI-compatible (vLLM, LM Studio, llama.cpp)"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Only needed for Ollama or custom/self-hosted endpoints. Leave blank for cloud providers."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid ""
"Reasoning models (Qwen3, DeepSeek-R1, Gemma 3, etc.) emit chain-of-thought before the final answer. This multiplier "
"scales every <code>max_tokens</code> cap for this endpoint to leave reasoning room. Defaults to %(default)s; raise it"
" if responses come back truncated or empty, lower it (down to 1x) if you want tighter limits on a paid endpoint. "
"Applied to Ollama and OpenAI-compatible endpoints — other cloud providers (OpenAI, Anthropic, Gemini) keep their "
"original tight caps."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Load available models"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Available models"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "choose a model"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Enter API key and click 'Load available models'"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Remove AI / LLM configuration?"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "This will remove your saved AI provider, model, and API key."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Remove"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#: changedetectionio/blueprint/ui/templates/clear_all_history.html changedetectionio/templates/base.html
msgid "Cancel"
msgstr "取消"

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Test connection"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"Your API key is stored locally and sent only to your chosen provider. On each detected change, the watch's diff and "
"extracted text are sent to the LLM — no full page HTML."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Cache"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Clear all summary cache?"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "This will remove all cached AI change summaries across all watches."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "They will be regenerated on the next check."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Clear cache"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Clear all summary cache"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Removes all cached AI change summaries across all watches. They will be regenerated on the next check."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"Enables litellm verbose output (routed through loguru). Useful when diagnosing provider errors or empty responses. "
"Leave off in production — generates a lot of log volume."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Default AI Change Summary"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Used for all watches unless overridden by the watch or its tag/group."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Modify default prompt"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid ""
"When enabled, the <code>%(diff)s</code> notification token shows the AI summary instead of the raw diff. Use "
"<code>%(raw_diff)s</code> to always get the original."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"When enabled, the AI will be used as a last resort to extract price and stock status from product pages where no "
"structured metadata (JSON-LD, microdata, OpenGraph) is found."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"For Gemini 2.5+ models only. Thinking tokens improve reasoning quality but count against the output budget. Set to "
"Off if summaries are being cut short."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"Upper limit on tokens the AI may use when writing a change summary. Higher values allow longer summaries but cost "
"more."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Which baseline the watchlist “Summary” link compares the latest version against by default."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Configure a provider first to unlock behaviour settings."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Token & Cost Tracking"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "This month"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "tokens"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid "%(percent)s%% of %(budget)s"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "All-time total"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Monthly token budget reached. AI summarisation is paused until next month."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Token budget this period"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "(set via <code>LLM_TOKEN_BUDGET_MONTH</code>)"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "0 = unlimited"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "tokens (0 = unlimited)"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Current billing period"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "(set via <code>LLM_MAX_INPUT_CHARS</code>)"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
#, python-format
msgid "characters — currently enforcing: %(limit)s"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid ""
"tokens — skips AI evaluation on a watch once its usage within the current period (monthly) hits this cap (0 = "
"unlimited)"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "No AI usage recorded yet."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Token budget"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "tokens per month (0 = unlimited)"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "platform.openai.com → API keys"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "console.anthropic.com → API keys"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "aistudio.google.com → Get API key"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "No API key needed for local Ollama"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Bearer token for your self-hosted server (vLLM, LM Studio, etc.)"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "openrouter.ai → Keys"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Select a provider first."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Loading…"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "No models returned by the provider."
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "— choose a model —"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "models available with your key"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Request failed"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Testing…"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Connected"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
msgid "Failed"
msgstr ""

#: changedetectionio/blueprint/tags/__init__.py
#, python-brace-format
msgid "The tag \"{}\" already exists"
msgstr "标签“{}”已存在"

#: changedetectionio/blueprint/tags/__init__.py
msgid "Tag added"
msgstr "标签已添加"

#: changedetectionio/blueprint/tags/__init__.py
msgid "Tag deleted, removing from watches in background"
msgstr "标签已删除，正在后台从监视器中移除"

#: changedetectionio/blueprint/tags/__init__.py
msgid "Unlinking tag from watches in background"
msgstr "正在后台从监控项中解绑标签"

#: changedetectionio/blueprint/tags/__init__.py
msgid "All tags deleted, clearing from watches in background"
msgstr "已删除所有标签，正在后台从监控项中清理"

#: changedetectionio/blueprint/tags/__init__.py
msgid "Tag not found"
msgstr "未找到标签"

#: changedetectionio/blueprint/tags/__init__.py
msgid "Updated"
msgstr "已更新"

#: changedetectionio/blueprint/tags/form.py
msgid "Activate for individual watches in this tag/group?"
msgstr ""

#: changedetectionio/blueprint/tags/form.py
msgid "Auto-apply to watches with URLs matching"
msgstr ""

#: changedetectionio/blueprint/tags/form.py
msgid "e.g. *://example.com/* or github.com/myorg"
msgstr ""

#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
msgid "Tag colour"
msgstr ""

#: changedetectionio/blueprint/tags/form.py
msgid "Tag name"
msgstr ""

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Filters & Triggers"
msgstr "过滤器与触发器"

#: changedetectionio/blueprint/tags/templates/edit-tag.html
msgid ""
"Automatically applies this tag to any watch whose URL matches. Supports wildcards: <code>*example.com*</code> or "
"plain substring: <code>github.com/myorg</code>"
msgstr ""

#: changedetectionio/blueprint/tags/templates/edit-tag.html
msgid "Currently matching watches"
msgstr ""

#: changedetectionio/blueprint/tags/templates/edit-tag.html
msgid "Custom colour"
msgstr ""

#: changedetectionio/blueprint/tags/templates/edit-tag.html
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
msgstr ""

#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
#: changedetectionio/blueprint/tags/templates/edit-tag.html
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
msgstr "这些设置会<strong><i>应用</i></strong>到现有的所有监控项配置中。"

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Text filtering"
msgstr "文本过滤"

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Use with caution!"
msgstr "谨慎使用！"

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
msgid "This will easily fill up your email storage quota or flood other storages."
msgstr "这很容易占满邮件存储配额或淹没其他存储。"

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Look out!"
msgstr "注意！"

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Lookout!"
msgstr "注意！"

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
#, python-format
msgid ""
"There are <a href=\"%(url)s\">system-wide notification URLs enabled</a>, this form will override notification "
"settings for this watch only &dash; an empty Notification URL list here will still send notifications."
msgstr "当前有<a href=\"%(url)s\">系统级通知 URL 已启用</a>，此表单将仅覆盖该监控项的通知设置 &dash; 即使此处通知 URL 列表为空，仍会发送通知。"

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Use system defaults"
msgstr "使用系统默认值"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "Add a new organisational tag"
msgstr "添加新的组织标签"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "Groups allows you to manage filters and notifications for multiple watches under a single organisational tag."
msgstr "分组可让您在一个组织标签下管理多个监控项的过滤器与通知。"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "# Watches"
msgstr "监控项数量"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "Tag / Label name"
msgstr "标签/名称"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "No website organisational tags/groups configured"
msgstr "未配置分组/标签"

#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
msgid "Mute notifications"
msgstr "静音通知"

#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Edit"
msgstr "编辑"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Recheck"
msgstr "重新检查"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "Delete Group?"
msgstr "删除分组？"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
#, python-format
msgid "<p>Are you sure you want to delete group <strong>%(title)s</strong>?</p><p>This action cannot be undone.</p>"
msgstr "<p>确定要删除分组 <strong>%(title)s</strong> 吗？</p><p>此操作不可撤销。</p>"

#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/templates/edit.html
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
msgid "Delete"
msgstr "删除"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "Deletes and removes tag"
msgstr "删除并移除标签"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "Unlink Group?"
msgstr "取消分组关联？"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
#, python-format
msgid ""
"<p>Are you sure you want to unlink all watches from group <strong>%(title)s</strong>?</p><p>The tag will be kept but "
"watches will be removed from it.</p>"
msgstr "<p>确定要将分组 <strong>%(title)s</strong> 与所有监控项解绑吗？</p><p>标签会保留，但监控项将从该分组移除。</p>"

#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/base.html
msgid "Unlink"
msgstr "解绑"

#: changedetectionio/blueprint/tags/templates/groups-overview.html
msgid "Keep the tag but unlink any watches"
msgstr "保留标签但解绑所有监控项"

#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/templates/edit.html
msgid "RSS Feed for this watch"
msgstr "该监控项的 RSS 源"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches deleted"
msgstr "已删除 {} 个监控项"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches paused"
msgstr "已暂停 {} 个监控项"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches unpaused"
msgstr "已取消暂停 {} 个监控项"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches updated"
msgstr "已更新 {} 个监控项"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches muted"
msgstr "已静音 {} 个监控项"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches un-muted"
msgstr "已取消静音 {} 个监控项"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches queued for rechecking"
msgstr "已将 {} 个监控项加入重新检查队列"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches errors cleared"
msgstr "已清除 {} 个监控项的错误"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches cleared/reset."
msgstr "已清除/重置 {} 个监控项的历史记录。"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches set to use default notification settings"
msgstr "已将 {} 个监控项设置为使用默认通知"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "Browser / fetch method updated on {} watches"
msgstr ""

#: changedetectionio/blueprint/ui/__init__.py
msgid "Invalid browser / fetch method selected"
msgstr ""

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "Proxy updated on {} watches"
msgstr ""

#: changedetectionio/blueprint/ui/__init__.py
msgid "Invalid proxy selected"
msgstr ""

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "{} watches were tagged"
msgstr "已为 {} 个监控项打标签"

#: changedetectionio/blueprint/ui/__init__.py
msgid "Watch not found"
msgstr "未找到监控项"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "Cleared snapshot history for watch {}"
msgstr "已清除监控项 {} 的快照历史"

#: changedetectionio/blueprint/ui/__init__.py changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "clear"
msgstr "clear"

#: changedetectionio/blueprint/ui/__init__.py
msgid "History clearing started in background"
msgstr "历史清理已在后台开始"

#: changedetectionio/blueprint/ui/__init__.py
msgid "Incorrect confirmation text."
msgstr "确认文本不正确。"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "The watch by UUID {} does not exist."
msgstr "UUID 为 {} 的监控项不存在。"

#: changedetectionio/blueprint/ui/__init__.py
msgid "Deleted."
msgstr "已删除。"

#: changedetectionio/blueprint/ui/__init__.py
msgid "Cloned, you are editing the new watch."
msgstr "已克隆，正在编辑新的监控项。"

#: changedetectionio/blueprint/ui/__init__.py
msgid "Watch is already queued or being checked."
msgstr "监视器已在队列中或正在检查。"

#: changedetectionio/blueprint/ui/__init__.py
msgid "Queued 1 watch for rechecking."
msgstr "已将 1 个监控项加入重新检查队列。"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
msgstr "{count}个监视器已加入队列({skipped_count}个已在队列中)。"

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "Queued {} watches for rechecking."
msgstr "已将 {} 个监控项加入重新检查队列。"

#: changedetectionio/blueprint/ui/__init__.py
msgid "Queueing watches for rechecking in background..."
msgstr "后台将监视器加入重新检查队列..."

#: changedetectionio/blueprint/ui/__init__.py
#, python-brace-format
msgid "Could not share, something went wrong while communicating with the share server - {}"
msgstr "无法分享，与分享服务器通信时出错 - {}"

#: changedetectionio/blueprint/ui/__init__.py
msgid "Language set to auto-detect from browser"
msgstr "已设置为从浏览器自动检测语言"

#: changedetectionio/blueprint/ui/diff.py changedetectionio/blueprint/ui/preview.py
msgid "No history found for the specified link, bad link?"
msgstr "未找到该链接的历史记录，链接是否有误？"

#: changedetectionio/blueprint/ui/diff.py
msgid "Not enough history (2 snapshots required) to show difference page for this watch."
msgstr "历史记录不足（需要 2 个快照），无法显示该监控项的差异页。"

#: changedetectionio/blueprint/ui/diff.py
#, python-format
msgid "Monthly AI token budget of %(budget)s tokens reached (%(used)s used). Resets next month."
msgstr ""

#: changedetectionio/blueprint/ui/edit.py
msgid "No watches to edit"
msgstr "没有可编辑的监控项"

#: changedetectionio/blueprint/ui/edit.py
#, python-brace-format
msgid "No watch with the UUID {} found."
msgstr "未找到 UUID 为 {} 的监控项。"

#: changedetectionio/blueprint/ui/edit.py
#, python-brace-format
msgid "Switched to mode - {}."
msgstr "已切换到模式 - {}。"

#: changedetectionio/blueprint/ui/edit.py
#, python-brace-format
msgid "Could not load '{}' processor, processor plugin might be missing. Please select a different processor."
msgstr ""

#: changedetectionio/blueprint/ui/edit.py
#, python-brace-format
msgid "Could not load '{}' processor, processor plugin might be missing."
msgstr ""

#: changedetectionio/blueprint/ui/edit.py changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "System settings default"
msgstr ""

#: changedetectionio/blueprint/ui/edit.py changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Default"
msgstr ""

#: changedetectionio/blueprint/ui/edit.py
msgid "Updated watch - unpaused!"
msgstr "监控项已更新并取消暂停！"

#: changedetectionio/blueprint/ui/edit.py
msgid "Updated watch."
msgstr "监控项已更新。"

#: changedetectionio/blueprint/ui/preview.py
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
msgstr "无法预览 - 尚未完成抓取/检查或未满足触发条件"

#: changedetectionio/blueprint/ui/preview.py
msgid "Diff"
msgstr ""

#: changedetectionio/blueprint/ui/queue.py changedetectionio/blueprint/watchlist/__init__.py
#, python-brace-format
msgid "displaying <b>{start} - {end}</b> {record_name} in total <b>{total}</b>"
msgstr "显示第 <b>{start} - {end}</b> 条{record_name}，共 <b>{total}</b> 条"

#: changedetectionio/blueprint/ui/queue.py
msgid "queued items"
msgstr ""

#: changedetectionio/blueprint/ui/queue.py
#, python-brace-format
msgid "Queue cleared ({} items removed)."
msgstr ""

#: changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
msgstr "这将删除所有监控项的版本历史（快照），但会保留 URL 列表！"

#: changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "You may like to use the"
msgstr "你可能需要先使用"

#: changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "BACKUP"
msgstr "备份"

#: changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "link first."
msgstr "链接。"

#: changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "Confirmation text"
msgstr "确认文本"

#: changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "Type in the word"
msgstr "请输入单词"

#: changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "to confirm that you understand."
msgstr "以确认你已理解。"

#: changedetectionio/blueprint/ui/templates/clear_all_history.html
msgid "Clear History!"
msgstr "清除历史记录！"

#: changedetectionio/blueprint/ui/templates/diff-offscreen-options.html
msgid "Share diff as image"
msgstr "将差异分享为图片"

#: changedetectionio/blueprint/ui/templates/diff-offscreen-options.html
msgid "Share as Image"
msgstr "分享为图片"

#: changedetectionio/blueprint/ui/templates/diff-offscreen-options.html
msgid "Ignore any lines matching"
msgstr "忽略匹配以下内容的行"

#: changedetectionio/blueprint/ui/templates/diff-offscreen-options.html
msgid "Ignore any lines matching excluding digits"
msgstr "忽略匹配以下内容的行（排除数字）"

#. 'From' labels the older snapshot version selector on the diff page
#: changedetectionio/blueprint/ui/templates/diff.html
msgctxt "diff version"
msgid "From"
msgstr "从"

#. 'To' labels the newer snapshot version selector on the diff page
#: changedetectionio/blueprint/ui/templates/diff.html
msgctxt "diff version"
msgid "To"
msgstr "到"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Words"
msgstr "单词"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Lines"
msgstr "行"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Ignore Whitespace"
msgstr "忽略空白"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Same/non-changed"
msgstr "未变化"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Removed"
msgstr "已删除"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Added"
msgstr "新增"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/edit.html
msgid "Replaced"
msgstr "替换"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Include all intermediate snapshots between the selected versions in the AI summary"
msgstr ""

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "AI: every change between versions"
msgstr ""

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
msgid "Keyboard:"
msgstr "快捷键："

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
msgid "Previous"
msgstr "上一项"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
msgid "Next"
msgstr "下一项"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Jump to next difference"
msgstr "跳转到下一个差异"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Jump"
msgstr "跳转"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
#: changedetectionio/processors/templates/extract.html
msgid "Error Text"
msgstr "错误文本"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
#: changedetectionio/processors/templates/extract.html
msgid "Error Screenshot"
msgstr "错误截图"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
#: changedetectionio/processors/templates/extract.html
msgid "Text"
msgstr "文本"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Current screenshot"
msgstr "当前截图"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
#: changedetectionio/processors/templates/extract.html
msgid "Extract Data"
msgstr "提取数据"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "seconds ago."
msgstr "秒前。"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
msgid "seconds ago"
msgstr "秒前"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Current error-ing screenshot from most recent request"
msgstr "最近请求的错误截图"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Pro-tip: You can enable <strong>\"share access when password is enabled\"</strong> from settings."
msgstr "提示：你可以在设置中启用 <strong>“启用密码时允许共享访问”</strong>。"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Generating change summary…"
msgstr ""

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Goto single snapshot"
msgstr "查看单个快照"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Highlight text to share or add to ignore lists."
msgstr "选中文本以分享或加入忽略列表。"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Download difference patch"
msgstr ""

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
msgid "For now, Differences are performed on text, not graphically, only the latest screenshot is available."
msgstr "目前差异仅按文本比较，非图形对比，只提供最新截图。"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Current screenshot from most recent request"
msgstr "最近请求的当前截图"

#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "No screenshot available just yet! Try rechecking the page."
msgstr "目前还没有截图！请尝试重新检查页面。"

#: changedetectionio/blueprint/ui/templates/diff.html
msgid "Screenshot requires Playwright/WebDriver enabled"
msgstr "截图需要启用 Playwright/WebDriver"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Request"
msgstr "请求"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Browser Steps"
msgstr "浏览器步骤"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Visual Filter Selector"
msgstr "可视化过滤器选择器"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Conditions"
msgstr "条件"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Stats"
msgstr "统计"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Some sites use JavaScript to create the content, for this you should"
msgstr "有些网站使用 JavaScript 生成内容，此时你应该"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "use the Chrome/WebDriver Fetcher"
msgstr "使用 Chrome/WebDriver 抓取器"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Variables are supported in the URL"
msgstr "URL 支持变量"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "help and examples here"
msgstr "帮助与示例在此"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Organisational tag/group name used in the main listing page"
msgstr "分组/标签名称"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Also automatically applied by URL pattern:"
msgstr ""

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Automatically uses the page title if found, you can also use your own title/description here"
msgstr "若检测到页面标题将自动使用，你也可以在此自定义标题/描述"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "The interval/amount of time between each check."
msgstr "每次检查之间的时间间隔。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid ""
"Sends a notification when the filter can no longer be seen on the page, good for knowing when the page changed and "
"your filter will not work anymore."
msgstr "当页面上找不到该过滤器时发送通知，便于知晓页面已变化且过滤器不再适用。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Set to empty to use system settings default"
msgstr ""

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Connect using Bright Data and Oxylabs Proxies, find out more here."
msgstr "使用 Bright Data 和 Oxylabs 代理连接，更多信息见此处。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Check/Scan all"
msgstr "检查/扫描全部"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Choose a proxy for this watch"
msgstr "为此监控项选择代理"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Using the current global default settings"
msgstr "使用当前全局默认设置"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Show advanced options"
msgstr "显示高级选项"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Run this code before performing change detection, handy for filling in fields and other actions"
msgstr "在执行变更检测前运行此代码，便于填写表单等操作"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "More help and examples here"
msgstr "更多帮助与示例请见此处"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Variables are supported in the request body"
msgstr "请求正文支持变量"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Variables are supported in the request header values"
msgstr "请求头的值支持变量"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Alert! Extra headers file found and will be added to this watch!"
msgstr "警告！发现额外的请求头文件，将添加到此监控项！"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Headers can be also read from a file in your data-directory"
msgstr "请求头也可从数据目录中的文件读取"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Read more here"
msgstr "在此了解更多"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Not supported by Selenium browser"
msgstr "Selenium 浏览器不支持"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Turn on text finder"
msgstr "开启文本查找器"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Please wait, first browser step can take a little time to load.."
msgstr "请稍候，首个浏览器步骤可能需要一些时间加载.."

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Click here to Start"
msgstr "点击此处开始"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Please allow 10-15 seconds for the browser to connect."
msgstr "请等待 10-15 秒让浏览器连接。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Press \"Play\" to start."
msgstr "点击“播放”开始。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Visual Selector data is not ready, watch needs to be checked atleast once."
msgstr "可视化选择器数据尚未就绪，监控项至少需要检查一次。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid ""
"Sorry, this functionality only works with fetchers that support interactive Javascript (so far only Playwright based "
"fetchers)"
msgstr "抱歉，此功能仅适用于支持交互式 JavaScript 的抓取器（目前仅 Playwright）。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "to one that supports interactive Javascript."
msgstr "为支持交互式 JavaScript 的方式。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "You need to"
msgstr "你需要"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Set the fetch method"
msgstr "设置抓取方式"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Use the verify (✓) button to test if a condition passes against the current snapshot."
msgstr "使用验证（✓）按钮测试条件是否符合当前快照。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Read a quick tutorial about"
msgstr "阅读快速教程"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "using conditional web page changes here"
msgstr "在此了解如何使用条件式网页变更"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Activate preview"
msgstr "启用预览"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Pro-tips:"
msgstr "小贴士："

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Use the preview page to see your filters and triggers highlighted."
msgstr "在预览页查看高亮的过滤器和触发器。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Limit trigger/ignore/block/extract to;"
msgstr "将触发/忽略/阻止/提取限定为;"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid ""
"Note: Depending on the length and similarity of the text on each line, the algorithm may consider an "
"<strong>addition</strong> instead of <strong>replacement</strong> for example."
msgstr "注意：根据每行文本长度与相似度，算法可能把 <strong>替换</strong> 视为 <strong>新增</strong>，例如。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "So it's always better to select"
msgstr "因此当你关注新增内容时，最好选择"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "when you're interested in new content."
msgstr "。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "When content is merely moved in a list, it will also trigger an"
msgstr "当内容仅在列表中移动时，也会触发"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "addition"
msgstr "新增"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "consider enabling"
msgstr "建议启用"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Only trigger when unique lines appear"
msgstr "仅当出现新的唯一行时触发"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid ""
"Good for websites that just move the content around, and you want to know when NEW content is added, compares new "
"lines against all history for this watch."
msgstr "适合仅移动内容的网站，想知道新增内容时使用，会将新行与该监控项的全部历史进行比对。"

# TN: CJK scripts degrade when italicized; reference is wrapped in “” instead.
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
msgstr "有助于减少因行顺序变化导致的变更，可结合下方的“检查唯一行”一起使用。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Remove any whitespace before and after each line of text"
msgstr "移除每行文本前后的空白"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "AI Intent preview"
msgstr ""

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Loading..."
msgstr "加载中..."

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "The Visual Selector tool lets you select the"
msgstr "可视化选择器工具可让你选择"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "text"
msgstr "文本"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid ""
"elements that will be used for the change detection. It automatically fills-in the filters in the "
"\"CSS/JSONPath/JQ/XPath Filters\" box of the"
msgstr "用于变更检测的元素，并会自动填入“CSS/JSONPath/JQ/XPath 过滤器”选项卡中的过滤器"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "tab. Use"
msgstr "选项卡中。使用"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Shift+Click"
msgstr "Shift+点击"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "to select multiple items."
msgstr "以选择多个项。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Selection Mode:"
msgstr "选择模式："

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Draw area"
msgstr "框选区域"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "One moment, fetching screenshot and element information.."
msgstr "稍等，正在获取截图和元素信息.."

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Sorry, this functionality only works with fetchers that support Javascript and screenshots (such as playwright etc)."
msgstr "抱歉，此功能仅适用于支持 JavaScript 和截图的抓取器（如 Playwright 等）。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "to one that supports Javascript and screenshots."
msgstr "为支持 JavaScript 和截图的方式。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Check count"
msgstr "检查次数"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Consecutive filter failures"
msgstr "连续过滤失败次数"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "History length"
msgstr "历史长度"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Last fetch duration"
msgstr "上次抓取耗时"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Notification alert count"
msgstr "通知告警次数"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Server type reply"
msgstr "服务器类型响应"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "AI tokens (last check)"
msgstr ""

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "AI tokens (total)"
msgstr ""

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Download latest HTML snapshot"
msgstr "下载最新的 HTML 快照"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Download watch data package"
msgstr ""

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Delete Watch?"
msgstr "删除监控项？"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Are you sure you want to delete the watch for:"
msgstr "确定要删除以下监控项吗："

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "This action cannot be undone."
msgstr "此操作不可撤销。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Clear History?"
msgstr "清除历史记录？"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Are you sure you want to clear all history for:"
msgstr "确定要清除以下监控项的全部历史记录吗："

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "This will remove all snapshots and previous versions. This action cannot be undone."
msgstr "这将删除所有快照和历史版本。此操作不可撤销。"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Clear History"
msgstr "清除历史记录"

#: changedetectionio/blueprint/ui/templates/edit.html
msgid "Clone & Edit"
msgstr "克隆并编辑"

#: changedetectionio/blueprint/ui/templates/preview.html
msgid "Select timestamp"
msgstr "选择时间戳"

#: changedetectionio/blueprint/ui/templates/preview.html
msgid "Current erroring screenshot from most recent request"
msgstr "最近请求的错误截图"

#: changedetectionio/blueprint/ui/templates/preview.html
msgid "Screenshot requires a Content Fetcher ( Sockpuppetbrowser, selenium, etc ) that supports screenshots."
msgstr "截图需要支持截图的内容抓取器（如 Sockpuppetbrowser、Selenium 等）。"

#: changedetectionio/blueprint/ui/templates/queue.html
#, python-format
msgid "Worker %(num)s"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "— idle"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "running"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "idle"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "done"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "cancel"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "No workers configured and queue is empty"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Watch no longer exists"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Nothing running"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Check queue"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Live view of what the workers are doing right now and what is waiting in line."
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Workers"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Running now"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Queued"
msgstr "队列中"

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Clear Queue?"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "<p>This will remove every pending check from the queue.</p><p>Running checks will continue.</p>"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Clear"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Clear Queue"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Workers & queue"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Elapsed"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Status"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "No workers configured (FETCH_WORKERS=0) and queue is empty"
msgstr ""

#: changedetectionio/blueprint/ui/templates/queue.html
msgid "Waiting for new pages to check…"
msgstr ""

#: changedetectionio/blueprint/ui/views.py
#, python-brace-format
msgid "Warning, URL {} already exists"
msgstr "警告：URL {} 已存在"

#: changedetectionio/blueprint/ui/views.py
msgid "Watch added in Paused state, saving will unpause."
msgstr "监控项已以暂停状态添加，保存后将取消暂停。"

#: changedetectionio/blueprint/ui/views.py
msgid "Watch added."
msgstr "监控项已添加。"

#: changedetectionio/blueprint/watchlist/__init__.py
msgid "records"
msgstr "记录"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Changedetection.io can monitor more than just web-pages! See our plugins!"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "More info"
msgstr "更多信息"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "You can also add 'shared' watches."
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Goto full history"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Loading price history…"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/difference.py
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "In stock"
msgstr "有库存"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/difference.py
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Out of stock"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "No price data available to graph yet."
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Could not load price history."
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Changes"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Average price"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Currently low"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Currently typical"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Currently high"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
#, python-format
msgid "cheaper than %s% of tracked prices"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
#, python-format
msgid "more expensive than %s% of tracked prices"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "around the usual price"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "avg"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Web page URL"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#, python-format
msgid "All %(page)s on this page are selected."
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#, python-format
msgid "Select all %(total)s matching"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#, python-format
msgid "All %(total)s matching are selected."
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#, python-format
msgid "%(count)s records selected"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Searching"
msgstr "搜索中"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "All"
msgstr "全部"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Filter watches"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Unread"
msgstr "未读"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Deals"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "With errors"
msgstr "有错误"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Filter by type"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "All types"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Mark all viewed"
msgstr "全部标记为已读"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Recheck all"
msgstr "重新检查全部"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#, python-format
msgid "in '%(title)s'"
msgstr "（“%(title)s”中）"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "RSS Feed"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Invert"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Pause"
msgstr "暂停"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "UnPause"
msgstr "取消暂停"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Mute"
msgstr "静音"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "UnMute"
msgstr "取消静音"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Tag"
msgstr "标签"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Set browser / fetch method for selected"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Browser"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Apply"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Set proxy for selected"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Mark viewed"
msgstr "标记为已读"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Use default notification"
msgstr "使用默认通知"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Clear errors"
msgstr "清除错误"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Clear Histories"
msgstr "清除历史记录"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
msgstr "<p>确定要清除所选项的历史记录吗？</p><p>此操作不可撤销。</p>"

#. Universally recognized; typically left as-is. dennis-ignore: W302
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "OK"
msgstr "确定"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Clear/reset history"
msgstr "清除/重置历史记录"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Delete Watches?"
msgstr "删除监控项？"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
msgstr "<p><strong>确定要删除所选监控项吗？</strong></p><p>此操作不可撤销。</p>"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
msgid "Close"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Web page"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Restock & Price"
msgstr "补货与价格"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Checked"
msgstr "检查"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Changed"
msgstr "变更"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "No web page change detection watches configured, please add a URL in the box above, or"
msgstr "尚未配置网站监控项，请在上方输入 URL 或"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "import a list"
msgstr "导入列表"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Pause checks"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "UnPause checks"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Mute notification"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "UnMute notification"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Goto web page"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Create a link to share watch config with others"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Detecting restock and price"
msgstr "检测补货与价格"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Not in stock"
msgstr "无库存"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/restock_diff/difference.py
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Price"
msgstr "价格"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#, python-format
msgid "Price change since previous price (%(prev)s)"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "No information"
msgstr "暂无信息"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
#: changedetectionio/templates/sidebar-nav.html
msgid "Checking now"
msgstr "正在检查"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Summary"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/processors/text_json_diff/difference.py
msgid "History"
msgstr "历史"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
msgid "Preview"
msgstr "预览"

#: changedetectionio/conditions/__init__.py
msgid "Choose one - Operator"
msgstr ""

#: changedetectionio/conditions/__init__.py
msgid "Greater Than"
msgstr ""

#: changedetectionio/conditions/__init__.py
msgid "Less Than"
msgstr ""

#: changedetectionio/conditions/__init__.py
msgid "Greater Than or Equal To"
msgstr ""

#: changedetectionio/conditions/__init__.py
msgid "Less Than or Equal To"
msgstr ""

#: changedetectionio/conditions/__init__.py
msgid "Equals"
msgstr ""

#: changedetectionio/conditions/__init__.py
msgid "Not Equals"
msgstr ""

#: changedetectionio/conditions/__init__.py
msgid "Contains"
msgstr ""

#: changedetectionio/conditions/__init__.py
msgid "Choose one - Field"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Does NOT Contain"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Text Starts With"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Text Ends With"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Length minimum"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Length maximum"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Text Matches Regex"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Text Does NOT Match Regex"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Extracted number after 'Filters & Triggers'"
msgstr ""

#: changedetectionio/conditions/default_plugin.py
msgid "Page text after 'Filters & Triggers'"
msgstr ""

#: changedetectionio/conditions/form.py
msgid "Field"
msgstr ""

#: changedetectionio/conditions/form.py
msgid "Operator"
msgstr ""

#: changedetectionio/conditions/form.py
msgid "A value"
msgstr ""

#: changedetectionio/conditions/form.py
msgid "Operator is required."
msgstr ""

#: changedetectionio/conditions/form.py
msgid "Field is required."
msgstr ""

#: changedetectionio/conditions/form.py
msgid "Value is required."
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Levenshtein - Text similarity ratio"
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Levenshtein - Text change distance"
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Not enough history to calculate Levenshtein metrics"
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Snapshot too large for edit statistics, skipping."
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Unable to calculate Levenshtein metrics"
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Levenshtein Text Similarity Details"
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Raw distance (edits needed)"
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Similarity ratio"
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Percent similar"
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid ""
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
"into the other."
msgstr ""

#: changedetectionio/conditions/plugins/levenshtein_plugin.py
msgid "Error calculating Levenshtein metrics"
msgstr ""

#: changedetectionio/conditions/plugins/wordcount_plugin.py
msgid "Word count of content"
msgstr ""

#: changedetectionio/conditions/plugins/wordcount_plugin.py
msgid "Content Analysis"
msgstr ""

#: changedetectionio/conditions/plugins/wordcount_plugin.py
msgid "Word count (latest snapshot)"
msgstr ""

#: changedetectionio/conditions/plugins/wordcount_plugin.py
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
msgstr ""

#: changedetectionio/content_fetchers/requests.py
msgid "Basic fast Plaintext/HTTP Client"
msgstr ""

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
#: changedetectionio/realtime/socket_server.py
msgid "Not yet"
msgstr "尚未"

#: changedetectionio/flask_app.py
msgid "0 seconds"
msgstr ""

#: changedetectionio/flask_app.py
msgid "year"
msgstr ""

#: changedetectionio/flask_app.py
msgid "years"
msgstr ""

#: changedetectionio/flask_app.py
msgid "month"
msgstr ""

#: changedetectionio/flask_app.py
msgid "months"
msgstr ""

#: changedetectionio/flask_app.py
msgid "week"
msgstr ""

#: changedetectionio/flask_app.py
msgid "weeks"
msgstr ""

#: changedetectionio/flask_app.py
msgid "day"
msgstr ""

#: changedetectionio/flask_app.py
msgid "days"
msgstr ""

#: changedetectionio/flask_app.py
msgid "hour"
msgstr ""

#: changedetectionio/flask_app.py
msgid "hours"
msgstr ""

#: changedetectionio/flask_app.py
msgid "minute"
msgstr ""

#: changedetectionio/flask_app.py
msgid "minutes"
msgstr ""

#: changedetectionio/flask_app.py
msgid "second"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/flask_app.py
msgid "seconds"
msgstr "秒"

#: changedetectionio/flask_app.py
msgid "Already logged in"
msgstr "已登录"

#: changedetectionio/flask_app.py
msgid "You must be logged in, please log in."
msgstr "需要登录，请先登录。"

#: changedetectionio/flask_app.py
msgid "Incorrect password"
msgstr "密码错误"

#: changedetectionio/forms.py
msgid "At least one time interval (weeks, days, hours, minutes, or seconds) must be specified."
msgstr "必须指定至少一个时间间隔（周、天、小时、分钟或秒）。"

#: changedetectionio/forms.py
msgid "At least one time interval (weeks, days, hours, minutes, or seconds) must be specified when not using global settings."
msgstr "未使用全局设置时，必须指定至少一个时间间隔（周、天、小时、分钟或秒）。"

#: changedetectionio/forms.py
msgid "Invalid time format. Use HH:MM."
msgstr "时间格式无效，请使用 HH:MM。"

#: changedetectionio/forms.py
msgid "Not a valid timezone name"
msgstr "不是有效的时区名称"

#: changedetectionio/forms.py
msgid "not set"
msgstr "未设置"

#: changedetectionio/forms.py
msgid "Start At"
msgstr "开始时间"

#: changedetectionio/forms.py
msgid "Run duration"
msgstr "运行时长"

#: changedetectionio/forms.py
msgid "Use time scheduler"
msgstr "使用时间调度"

#: changedetectionio/forms.py
msgid "Optional timezone to run in"
msgstr "运行时使用的可选时区"

#: changedetectionio/forms.py
msgid "Monday"
msgstr "周一"

#: changedetectionio/forms.py
msgid "Tuesday"
msgstr "周二"

#: changedetectionio/forms.py
msgid "Wednesday"
msgstr "周三"

#: changedetectionio/forms.py
msgid "Thursday"
msgstr "周四"

#: changedetectionio/forms.py
msgid "Friday"
msgstr "周五"

#: changedetectionio/forms.py
msgid "Saturday"
msgstr "周六"

#: changedetectionio/forms.py
msgid "Sunday"
msgstr "周日"

#: changedetectionio/forms.py
msgid "Weeks"
msgstr "周"

#: changedetectionio/forms.py
msgid "Should contain zero or more seconds"
msgstr "应为 0 或更多秒"

#: changedetectionio/forms.py
msgid "Days"
msgstr "天"

#: changedetectionio/forms.py
msgid "Hours"
msgstr "小时"

#: changedetectionio/forms.py
msgid "Minutes"
msgstr "分钟"

#: changedetectionio/forms.py
msgid "Seconds"
msgstr "秒"

#: changedetectionio/forms.py
msgid "Notification Body and Title is required when a Notification URL is used"
msgstr "使用通知 URL 时，必须填写通知正文和标题"

#: changedetectionio/forms.py
#, python-format
msgid "'%s' is not a valid AppRise URL."
msgstr "“%s”不是有效的 AppRise URL。"

#: changedetectionio/forms.py
#, python-format
msgid "RegEx '%s' is not a valid regular expression."
msgstr "正则表达式“%s”无效。"

#: changedetectionio/forms.py
#, python-format
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
msgstr "“%(expression)s”不是有效的 XPath 表达式。（%(error)s）"

#: changedetectionio/forms.py
#, python-format
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
msgstr "“%(expression)s”不是有效的 JSONPath 表达式。（%(error)s）"

#: changedetectionio/forms.py
#, python-format
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
msgstr "“%(expression)s”不是有效的 jq 表达式。（%(error)s）"

#: changedetectionio/forms.py
msgid "Empty value not allowed."
msgstr "不允许为空。"

#: changedetectionio/forms.py
msgid "Invalid value."
msgstr "值无效。"

#: changedetectionio/forms.py
msgid "Group tag"
msgstr "分组 / 标签"

#: changedetectionio/blueprint/ui/templates/queue.html changedetectionio/blueprint/watchlist/templates/watch-overview.html
#: changedetectionio/forms.py
msgid "Watch"
msgstr "监控项"

#: changedetectionio/forms.py
msgid "Processor"
msgstr "处理器"

#: changedetectionio/forms.py
msgid "Edit > Watch"
msgstr "编辑 > 监控项"

#: changedetectionio/forms.py
msgid "Fetch Method"
msgstr "抓取方式"

#: changedetectionio/forms.py
msgid "Notification Body"
msgstr "通知正文"

#: changedetectionio/forms.py
msgid "Notification format"
msgstr "通知格式"

#: changedetectionio/forms.py
msgid "Notification Title"
msgstr "通知标题"

#: changedetectionio/forms.py
msgid "Notification URL List"
msgstr "通知 URL 列表"

#: changedetectionio/forms.py
msgid "Processor - What do you want to achieve?"
msgstr "处理器 - 您想实现什么？"

#: changedetectionio/forms.py
msgid "Default timezone for watch check scheduler"
msgstr "监控检查调度器的默认时区"

#: changedetectionio/forms.py
msgid "Wait seconds before extracting text"
msgstr "提取文本前等待秒数"

#: changedetectionio/forms.py
msgid "Should contain one or more seconds"
msgstr "应为 1 秒或以上"

#: changedetectionio/forms.py
msgid "Notification base URL override"
msgstr "通知基础 URL 覆盖"

#: changedetectionio/forms.py
msgid "Not set"
msgstr ""

#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
#: changedetectionio/forms.py
msgid "Save"
msgstr "保存"

#: changedetectionio/forms.py
msgid "URLs"
msgstr "URL 列表"

#: changedetectionio/forms.py
msgid "Upload .xlsx file"
msgstr "上传 .xlsx 文件"

#: changedetectionio/forms.py
msgid "Must be .xlsx file!"
msgstr "必须是 .xlsx 文件！"

#: changedetectionio/forms.py
msgid "File mapping"
msgstr "文件映射"

#: changedetectionio/forms.py
msgid "Operation"
msgstr "操作"

#: changedetectionio/forms.py
msgid "Selector"
msgstr "选择器"

#: changedetectionio/forms.py
msgid "CSS or xPath selector"
msgstr ""

#: changedetectionio/forms.py
msgid "value"
msgstr "值"

#: changedetectionio/conditions/form.py changedetectionio/forms.py
msgid "Value"
msgstr ""

#: changedetectionio/forms.py
msgid "Web Page URL"
msgstr ""

#: changedetectionio/forms.py
msgid "Group Tag"
msgstr ""

#: changedetectionio/forms.py
msgid "Time Between Check"
msgstr "检查间隔"

#: changedetectionio/forms.py
msgid "Use global settings for time between check and scheduler."
msgstr "检查间隔与调度时间使用全局设置。"

#: changedetectionio/forms.py
msgid "AI Change Intent"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html changedetectionio/blueprint/ui/templates/diff.html
#: changedetectionio/forms.py changedetectionio/templates/edit/include_llm_intent.html
msgid "AI Change Summary"
msgstr ""

#: changedetectionio/forms.py
msgid "CSS/JSONPath/JQ/XPath Filters"
msgstr "CSS/JSONPath/JQ/XPath 过滤器"

#: changedetectionio/forms.py
msgid "Remove elements"
msgstr "移除元素"

#: changedetectionio/forms.py
msgid "Extract lines containing"
msgstr ""

#: changedetectionio/forms.py
msgid "Extract text"
msgstr "提取文本"

#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
msgid "Title"
msgstr "标题"

#: changedetectionio/forms.py
msgid "Ignore lines containing"
msgstr "忽略包含以下内容的行"

#: changedetectionio/forms.py
msgid "Request body"
msgstr "请求正文"

#: changedetectionio/forms.py
msgid "Request method"
msgstr "请求方法"

#: changedetectionio/forms.py
msgid "Ignore status codes (process non-2xx status codes as normal)"
msgstr "忽略状态代码（正常处理非 2xx 状态码）"

#: changedetectionio/forms.py
msgid "Only trigger when unique lines appear in all history"
msgstr "仅当全历史中出现新的唯一行时触发"

#: changedetectionio/blueprint/ui/templates/edit.html changedetectionio/forms.py
msgid "Remove duplicate lines of text"
msgstr "删除重复的文本行"

#: changedetectionio/forms.py
msgid "Sort text alphabetically"
msgstr "按字母顺序排序文本"

#: changedetectionio/forms.py
msgid "Strip ignored lines"
msgstr "去除忽略的行"

#: changedetectionio/forms.py
msgid "Trim whitespace before and after text"
msgstr "去除文本前后空白"

#: changedetectionio/forms.py
msgid "Added lines"
msgstr "新增行"

#: changedetectionio/forms.py
msgid "Replaced/changed lines"
msgstr "替换/更改的行"

#: changedetectionio/forms.py
msgid "Removed lines"
msgstr "删除的行"

#: changedetectionio/forms.py
msgid "Keyword triggers - Trigger/wait for text"
msgstr "关键字触发器 - 触发/等待文本"

#: changedetectionio/forms.py
msgid "Block change-detection while text matches"
msgstr "文本匹配时阻止变更检测"

#: changedetectionio/forms.py
msgid "Execute JavaScript before change detection"
msgstr "在变更检测前执行 JavaScript"

#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/forms.py
msgid "Proxy"
msgstr "代理"

#: changedetectionio/forms.py
msgid "Send a notification when the filter can no longer be found on the page"
msgstr "当页面上找不到该过滤器时发送通知"

#: changedetectionio/forms.py
msgid "On"
msgstr "开启"

#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
#: changedetectionio/forms.py changedetectionio/templates/sidebar-nav.html
msgid "Notifications"
msgstr "通知"

#: changedetectionio/forms.py changedetectionio/templates/menu.html
msgid "Muted"
msgstr "静音"

#: changedetectionio/forms.py
msgid "Attach screenshot to notification (where possible)"
msgstr "（如可用）在通知中附加截图"

#: changedetectionio/forms.py
msgid "Match"
msgstr "匹配"

#: changedetectionio/forms.py
msgid "Match all of the following"
msgstr "匹配以下全部"

#: changedetectionio/forms.py
msgid "Match any of the following"
msgstr "匹配以下任意"

#: changedetectionio/forms.py
msgid "Use page <title> in list"
msgstr "列表中使用页面 <title>"

#: changedetectionio/forms.py
msgid "Number of history items per watch to keep"
msgstr ""

#: changedetectionio/forms.py
msgid "Body must be empty when Request Method is set to GET"
msgstr "当请求方法为 GET 时，请求正文必须为空"

#: changedetectionio/forms.py
#, python-format
msgid "Invalid template syntax configuration: %(error)s"
msgstr "模板语法配置无效：%(error)s"

#: changedetectionio/forms.py
#, python-format
msgid "Invalid template syntax: %(error)s"
msgstr "模板语法无效：%(error)s"

#: changedetectionio/forms.py
#, python-format
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "“%(header)s”请求头中的模板语法无效：%(error)s"

#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
msgid "Name"
msgstr "名称"

#: changedetectionio/forms.py
msgid "Proxy URL"
msgstr "代理 URL"

#: changedetectionio/forms.py
msgid "Proxy URLs must start with http://, https:// or socks5://"
msgstr "代理 URL 必须以 http://、https:// 或 socks5:// 开头"

#: changedetectionio/forms.py
msgid "Browser connection URL"
msgstr "浏览器连接 URL"

#: changedetectionio/forms.py
msgid "Browser URLs must start with wss:// or ws://"
msgstr "浏览器 URL 必须以 wss:// 或 ws:// 开头"

#: changedetectionio/forms.py
msgid "Plaintext requests"
msgstr "纯文本请求"

#: changedetectionio/forms.py
msgid "Chrome requests"
msgstr "Chrome 请求"

#: changedetectionio/forms.py
msgid "Default proxy"
msgstr "默认代理"

#: changedetectionio/forms.py
msgid "Random jitter seconds ± check"
msgstr "检查间隔随机抖动秒数 ±"

#: changedetectionio/forms.py
msgid "Number of fetch workers"
msgstr "抓取工作线程数"

#: changedetectionio/forms.py
msgid "Should be between 1 and 50"
msgstr "应介于 1 到 50 之间"

#: changedetectionio/forms.py
msgid "Requests timeout in seconds"
msgstr "请求超时（秒）"

#: changedetectionio/forms.py
msgid "Should be between 1 and 999"
msgstr "应介于 1 到 999 之间"

#: changedetectionio/forms.py
msgid "Default User-Agent overrides"
msgstr "默认 User-Agent 覆盖"

#: changedetectionio/forms.py
msgid "Both a name, and a Proxy URL is required."
msgstr "名称和代理 URL 都是必填项。"

#: changedetectionio/forms.py
msgid "Open 'History' page in a new tab"
msgstr "在新标签页中打开“历史记录”"

#: changedetectionio/forms.py
msgid "Realtime UI Updates Enabled"
msgstr "启用实时界面更新"

#: changedetectionio/forms.py
msgid "Favicons Enabled"
msgstr "启用站点图标"

#: changedetectionio/forms.py
msgid "Use page <title> in watch overview list"
msgstr "在监控概览列表中使用页面 <title>"

#: changedetectionio/forms.py
msgid "Relative time format"
msgstr ""

#: changedetectionio/forms.py
msgid "Long (1 minute ago)"
msgstr ""

#: changedetectionio/forms.py
msgid "Short (1m ago)"
msgstr ""

#: changedetectionio/forms.py
msgid "Navigation sidebar"
msgstr ""

#: changedetectionio/forms.py
msgid "Collapsed icon rail (expands on hover)"
msgstr ""

#: changedetectionio/forms.py
msgid "Always expanded"
msgstr ""

#: changedetectionio/forms.py
msgid "API access token security check enabled"
msgstr "已启用 API 访问令牌安全检查"

#: changedetectionio/forms.py
msgid "Treat empty pages as a change?"
msgstr "将空页面视为变更？"

#: changedetectionio/forms.py
msgid "Ignore Text"
msgstr "忽略文本"

#: changedetectionio/forms.py
msgid "Ignore whitespace"
msgstr "忽略空白"

#: changedetectionio/forms.py
msgid "Screenshot: Minimum Change Percentage"
msgstr ""

#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
msgid "Must be between 0 and 100"
msgstr "必须介于 0 到 100 之间"

#: changedetectionio/forms.py changedetectionio/templates/login.html
msgid "Password"
msgstr "密码"

#: changedetectionio/forms.py
msgid "Pager size"
msgstr "分页大小"

#: changedetectionio/forms.py
msgid "Should be atleast zero (disabled)"
msgstr "应至少为 0（表示禁用）"

#: changedetectionio/forms.py
msgid "RSS Content format"
msgstr "RSS 内容格式"

#: changedetectionio/forms.py
msgid "RSS <description> body built from"
msgstr "RSS <description> 内容来源"

#: changedetectionio/forms.py
msgid "RSS \"System default\" template override"
msgstr "RSS “系统默认”模板覆盖"

#: changedetectionio/forms.py
msgid "Remove password"
msgstr "移除密码"

#: changedetectionio/forms.py
msgid "Render anchor tag content"
msgstr "渲染 a 标签内容"

#: changedetectionio/forms.py
msgid "Allow anonymous access to watch history page when password is enabled"
msgstr "启用密码时允许匿名访问监控历史页面"

#: changedetectionio/forms.py
msgid "Hide muted watches from RSS feed"
msgstr "在 RSS 中隐藏静音的监控项"

#: changedetectionio/forms.py
msgid "Enable RSS reader mode "
msgstr "启用 RSS 阅读模式"

#: changedetectionio/forms.py
msgid "Number of changes to show in watch RSS feed"
msgstr "监控项 RSS 中显示的变更数量"

#: changedetectionio/forms.py
msgid "Should contain zero or more attempts"
msgstr "应为 0 或更多次"

#: changedetectionio/forms.py
msgid "Number of times the filter can be missing before sending a notification"
msgstr "过滤器缺失达到多少次后发送通知"

#: changedetectionio/forms.py
msgid "Model"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/forms.py
msgid "API Key"
msgstr "API密钥"

#: changedetectionio/forms.py
msgid "API Base URL"
msgstr ""

#: changedetectionio/forms.py
msgid "Token multiplier for local reasoning models"
msgstr ""

#: changedetectionio/forms.py
msgid "Default AI Change Summary prompt"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html changedetectionio/forms.py
msgid "Max tokens per watch per period"
msgstr ""

#: changedetectionio/forms.py
msgid "Monthly token budget"
msgstr ""

#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html changedetectionio/forms.py
msgid "Max input characters"
msgstr ""

#: changedetectionio/forms.py
msgid "Enable AI / LLM features"
msgstr ""

#: changedetectionio/forms.py
msgid "Replace {{diff}} notification token with AI summary"
msgstr ""

#: changedetectionio/forms.py
msgid "Use LLM as a fallback for extracting price and restock info"
msgstr ""

#: changedetectionio/forms.py
msgid "Enable LLM debug logging"
msgstr ""

#: changedetectionio/forms.py
msgid "AI thinking budget (tokens)"
msgstr ""

#: changedetectionio/forms.py
msgid "Off (no thinking)"
msgstr ""

#: changedetectionio/forms.py
msgid "Max AI summary length (tokens)"
msgstr ""

#: changedetectionio/forms.py
msgid "When monthly token budget is reached"
msgstr ""

#: changedetectionio/forms.py
msgid "Skip AI summarisation only (watch still checks)"
msgstr ""

#: changedetectionio/forms.py
msgid "Skip the watch check entirely"
msgstr ""

#: changedetectionio/forms.py
msgid "Watchlist \"Summary\" link compares"
msgstr ""

#: changedetectionio/forms.py
msgid "Previous version (second-last vs latest)"
msgstr ""

#: changedetectionio/forms.py
msgid "Changes since you last viewed the watch"
msgstr ""

#: changedetectionio/forms.py
msgid "RegEx to extract"
msgstr "用于提取的正则表达式"

#: changedetectionio/forms.py
msgid "Extract as CSV"
msgstr "提取为 CSV"

#: changedetectionio/languages.py
msgid "just now"
msgstr "刚刚"

#: changedetectionio/languages.py
msgid "right now"
msgstr "一会儿"

#: changedetectionio/languages.py
#, python-format
msgid "%ss ago"
msgstr "%s秒前"

#: changedetectionio/languages.py
#, python-format
msgid "in %ss"
msgstr "%s秒后"

#: changedetectionio/languages.py
msgid "1m ago"
msgstr "1分前"

#: changedetectionio/languages.py
msgid "in 1m"
msgstr "1分后"

#: changedetectionio/languages.py
#, python-format
msgid "%sm ago"
msgstr "%s分前"

#: changedetectionio/languages.py
#, python-format
msgid "in %sm"
msgstr "%s分后"

#: changedetectionio/languages.py
msgid "1h ago"
msgstr "1时前"

#: changedetectionio/languages.py
msgid "in 1h"
msgstr "1时后"

#: changedetectionio/languages.py
#, python-format
msgid "%sh ago"
msgstr "%s时前"

#: changedetectionio/languages.py
#, python-format
msgid "in %sh"
msgstr "%s时后"

#: changedetectionio/languages.py
msgid "1d ago"
msgstr "1天前"

#: changedetectionio/languages.py
msgid "in 1d"
msgstr "1天后"

#: changedetectionio/languages.py
#, python-format
msgid "%sd ago"
msgstr "%s天前"

#: changedetectionio/languages.py
#, python-format
msgid "in %sd"
msgstr "%s天后"

#: changedetectionio/languages.py
msgid "1w ago"
msgstr "1周前"

#: changedetectionio/languages.py
msgid "in 1w"
msgstr "1周后"

#: changedetectionio/languages.py
#, python-format
msgid "%sw ago"
msgstr "%s周前"

#: changedetectionio/languages.py
#, python-format
msgid "in %sw"
msgstr "%s周后"

#: changedetectionio/languages.py
msgid "1mo ago"
msgstr "1月前"

#: changedetectionio/languages.py
msgid "in 1mo"
msgstr "1月后"

#: changedetectionio/languages.py
#, python-format
msgid "%smo ago"
msgstr "%s月前"

#: changedetectionio/languages.py
#, python-format
msgid "in %smo"
msgstr "%s月后"

#: changedetectionio/languages.py
msgid "1yr ago"
msgstr "1年前"

#: changedetectionio/languages.py
msgid "in 1yr"
msgstr "1年后"

#: changedetectionio/languages.py
#, python-format
msgid "%syr ago"
msgstr "%s年前"

#: changedetectionio/languages.py
#, python-format
msgid "in %syr"
msgstr "%s年后"

#: changedetectionio/processors/extract.py
msgid "No matches found while scanning all of the watch history for that RegEx."
msgstr "扫描全部监控历史未找到匹配该正则的内容。"

#: changedetectionio/processors/image_ssim_diff/difference.py
msgid "Not enough history to compare. Need at least 2 snapshots."
msgstr "历史记录不足以比较，至少需要 2 个快照。"

#: changedetectionio/processors/image_ssim_diff/difference.py
#, python-brace-format
msgid "Failed to load screenshots: {}"
msgstr "加载截图失败：{}"

#: changedetectionio/processors/image_ssim_diff/difference.py
#, python-brace-format
msgid "Failed to calculate diff: {}"
msgstr "计算差异失败：{}"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Bounding box value is too long"
msgstr "边界框值过长"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Bounding box must be in format: x,y,width,height (integers only)"
msgstr "边界框格式必须为：x,y,width,height（仅限整数）"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Bounding box values must be non-negative"
msgstr "边界框值必须为非负数"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Bounding box values are too large"
msgstr "边界框值过大"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Selection mode must be either \"element\" or \"draw\""
msgstr "选择模式必须为 “element” 或 “draw”"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Minimum Change Percentage"
msgstr "最小变化百分比"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Pixel Difference Sensitivity"
msgstr "像素差异灵敏度"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Use global default"
msgstr "使用全局默认"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Bounding Box"
msgstr "边界框"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Selection Mode"
msgstr "选择模式"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Selection mode value is too long"
msgstr "选择模式值过长"

#: changedetectionio/processors/image_ssim_diff/forms.py
msgid "Screenshot Comparison"
msgstr "截图对比"

#: changedetectionio/processors/image_ssim_diff/preview.py
msgid "Preview unavailable - No snapshots captured yet"
msgstr "无法预览 - 仍未捕获任何快照"

#: changedetectionio/processors/image_ssim_diff/processor.py
msgid "Visual / Image screenshot change detection"
msgstr "视觉/截图变更检测"

#: changedetectionio/processors/image_ssim_diff/processor.py
msgid "Compares screenshots using fast OpenCV algorithm, 10-100x faster than SSIM"
msgstr "使用快速的 OpenCV 算法对比截图，比 SSIM 快 10-100 倍"

#: changedetectionio/processors/restock_diff/difference.py
msgid "Date"
msgstr ""

#: changedetectionio/processors/restock_diff/difference.py
msgid "Stock status"
msgstr ""

#: changedetectionio/processors/restock_diff/difference.py
msgid "Currency"
msgstr ""

#: changedetectionio/processors/restock_diff/difference.py
#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Price history"
msgstr ""

#: changedetectionio/processors/restock_diff/forms.py
msgid "Re-stock detection"
msgstr "补货检测"

#: changedetectionio/processors/restock_diff/forms.py
msgid "In Stock only (Out Of Stock -> In Stock only)"
msgstr "仅有库存（缺货 -> 有库存）"

#: changedetectionio/processors/restock_diff/forms.py
msgid "Any availability changes"
msgstr "任何库存变化"

#: changedetectionio/processors/restock_diff/forms.py
msgid "Off, don't follow availability/restock"
msgstr "关闭，不跟踪库存/补货"

#: changedetectionio/processors/restock_diff/forms.py
msgid "Below price to trigger notification"
msgstr "低于该价格时触发通知"

#: changedetectionio/processors/restock_diff/forms.py
msgid "No limit"
msgstr "不限"

#: changedetectionio/processors/restock_diff/forms.py
msgid "Above price to trigger notification"
msgstr "高于该价格时触发通知"

#: changedetectionio/processors/restock_diff/forms.py
msgid "Threshold (%) for price changes since the previous check"
msgstr "相对上次检查的价格变动阈值（%）"

#: changedetectionio/processors/restock_diff/forms.py
msgid "Should be between 0 and 100"
msgstr "应介于 0 到 100 之间"

#: changedetectionio/processors/restock_diff/forms.py
msgid "Follow price changes"
msgstr "跟踪价格变化"

#: changedetectionio/processors/restock_diff/forms.py
msgid "Restock & Price Detection"
msgstr "补货与价格检测"

#: changedetectionio/processors/restock_diff/processor.py
msgid "Re-stock & Price detection for pages with a SINGLE product"
msgstr "适用于单一商品页面的补货与价格检测"

#: changedetectionio/processors/restock_diff/processor.py
msgid "Detects if the product goes back to in-stock"
msgstr "检测商品是否恢复有库存"

#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Price & stock history"
msgstr ""

#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Download as XLSX"
msgstr ""

#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "When"
msgstr ""

#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Stock"
msgstr ""

#: changedetectionio/processors/restock_diff/templates/restock_diff/difference.html
msgid "Not enough price data points yet to draw a graph - keep monitoring and the price history will appear here."
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "Screenshot"
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "This tool will extract text data from all of the watch history."
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "For example, to extract only the numbers from text"
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "Raw text"
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "RegEx to extract:"
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "Be sure to test your RegEx here."
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "Each RegEx group bracket"
msgstr ""

#: changedetectionio/processors/templates/extract.html
msgid "will be in its own column, the first column value is always the date."
msgstr ""

#: changedetectionio/processors/text_json_diff/processor.py
msgid "Webpage Text/HTML, JSON and PDF changes"
msgstr "网页文本/HTML、JSON 和 PDF 变更"

#: changedetectionio/processors/text_json_diff/processor.py
msgid "Detects all text changes where possible"
msgstr "尽可能检测所有文本变更"

#: changedetectionio/store/__init__.py
#, python-brace-format
msgid "Error fetching metadata for {}"
msgstr "获取 {} 的元数据失败"

#: changedetectionio/store/__init__.py
msgid "Watch protocol is not permitted or invalid URL format"
msgstr "监控协议不允许或 URL 格式无效"

#: changedetectionio/store/__init__.py
#, python-brace-format
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "Body for all notifications — You can use"
msgstr "所有通知的正文 — 您可以使用"

#: changedetectionio/templates/_common_fields.html
msgid "templating in the notification title, body and URL, and tokens from below."
msgstr "可在通知标题、正文和 URL 中使用模板，并使用下方的令牌/占位符。"

#: changedetectionio/templates/_common_fields.html
msgid "Show token/placeholders"
msgstr "显示令牌/占位符"

#: changedetectionio/templates/_common_fields.html
msgid "Token"
msgstr "令牌"

#: changedetectionio/templates/_common_fields.html
msgid "Description"
msgstr "描述"

#: changedetectionio/templates/_common_fields.html
msgid "The URL of the changedetection.io instance you are running."
msgstr "你正在运行的 changedetection.io 实例的 URL。"

#: changedetectionio/templates/_common_fields.html
msgid "The URL being watched."
msgstr "被监控的 URL。"

#: changedetectionio/templates/_common_fields.html
msgid "The UUID of the watch."
msgstr "监视器的UUID。"

#: changedetectionio/templates/_common_fields.html
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
msgstr "监控项的页面标题，未设置时使用 <title>，否则回退为 URL"

#: changedetectionio/templates/_common_fields.html
msgid "The watch group / tag"
msgstr "监视器组/标签"

#: changedetectionio/templates/_common_fields.html
msgid "The URL of the preview page generated by changedetection.io."
msgstr "changedetection.io 生成的预览页面 URL。"

#: changedetectionio/templates/_common_fields.html
#, python-format
msgid "Date/time of the change, accepts format=, %(call)s, default is '%(default)s'"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "The URL of the diff output for the watch."
msgstr "该监控项的差异输出 URL。"

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - only changes, additions, and removals"
msgstr "差异输出 - 仅包含更改、新增与删除"

#: changedetectionio/templates/_common_fields.html
msgid "All diff variants accept"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "args, e.g."
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - only changes, additions, and removals —"
msgstr "差异输出 - 仅包含更改、新增与删除 —"

#: changedetectionio/templates/_common_fields.html
msgid "Without (added) prefix or colors"
msgstr "不含（added）前缀或颜色"

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - only changes and additions"
msgstr "差异输出 - 仅包含更改与新增"

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - only changes and additions —"
msgstr "差异输出 - 仅包含更改与新增 —"

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - only changes and removals"
msgstr "差异输出 - 仅包含更改与删除"

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - only changes and removals —"
msgstr "差异输出 - 仅包含更改与删除 —"

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - full difference output"
msgstr "差异输出 - 完整差异内容"

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - full difference output —"
msgstr "差异输出 - 完整差异内容 —"

#: changedetectionio/templates/_common_fields.html
msgid "The diff output - patch in unified format"
msgstr "差异输出 - 统一格式补丁"

#: changedetectionio/templates/_common_fields.html
msgid ""
"Only the changed words/values from the previous version — e.g. the old price. Best when a single value changes per "
"line; multiple changed fragments are joined by newline."
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid ""
"Only the changed words/values from the new version — e.g. the new price. Best when a single value changes per line; "
"multiple changed fragments are joined by newline."
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "The current snapshot text contents value, useful when combined with JSON or CSS filters"
msgstr "当前快照的文本内容值，与 JSON 或 CSS 过滤器结合使用时很有用"

#: changedetectionio/templates/_common_fields.html
msgid "Text that tripped the trigger from filters"
msgstr "由过滤器触发的文本"

#: changedetectionio/templates/_common_fields.html
msgid "(upgraded)"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid ""
"When AI Change Summary is configured, contains the AI-generated description instead of the raw diff. Falls back to "
"raw diff when not configured."
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "Always the raw +/- diff, regardless of AI Change Summary setting."
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "The AI Change Summary text (same as the upgraded {{diff}} — explicit reference)."
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "The AI Change Intent that was evaluated."
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "Warning: Contents of"
msgstr "警告：以下内容"

#: changedetectionio/templates/_common_fields.html
msgid "and"
msgstr "和"

#: changedetectionio/templates/_common_fields.html
msgid "depend on how the difference algorithm perceives the change."
msgstr "取决于差异算法对变更的判断。"

#: changedetectionio/templates/_common_fields.html
msgid "For example, an addition or removal could be perceived as a change in some cases."
msgstr "例如，在某些情况下，新增或删除可能被视为变更。"

#: changedetectionio/templates/_common_fields.html
msgid "More Here"
msgstr "更多信息"

#: changedetectionio/templates/_common_fields.html
msgid "Add email notification:"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "Add to list"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "Add an email address"
msgstr "添加邮箱地址"

#: changedetectionio/templates/_common_fields.html
msgid "Send test notification"
msgstr "发送测试通知"

#: changedetectionio/templates/_common_fields.html
msgid "Notification debug logs"
msgstr "通知调试日志"

#: changedetectionio/templates/_common_fields.html
msgid "Processing.."
msgstr "处理中.."

#: changedetectionio/templates/_common_fields.html
#, python-format
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
msgstr "使用 <a target=\"newwindow\" href=\"%(url)s\">AppRise通知URL</a>，向几乎任何服务发送通知！"

# TN: CJK scripts degrade when italicized; emphasis is rendered with <strong>
# instead.
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
#: changedetectionio/templates/_common_fields.html
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
msgstr "<strong>请阅读通知服务 Wiki 以了解重要配置说明</strong>"

#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
msgid "Show advanced help and tips"
msgstr "显示高级帮助和提示"

#: changedetectionio/templates/_common_fields.html
msgid "(or"
msgstr "（或"

#: changedetectionio/templates/_common_fields.html
msgid "only supports a maximum"
msgstr "最多仅支持"

#: changedetectionio/templates/_common_fields.html
msgid "2,000 characters"
msgstr "2,000 个字符"

#: changedetectionio/templates/_common_fields.html
msgid "of notification text, including the title."
msgstr "通知文本,包括标题。"

#: changedetectionio/templates/_common_fields.html
msgid "bots can't send messages to other bots, so you should specify chat ID of non-bot user."
msgstr "机器人无法向其他机器人发送消息，因此应指定非机器人用户的聊天 ID。"

#: changedetectionio/templates/_common_fields.html
msgid "only supports very limited HTML and can fail when extra tags are sent,"
msgstr "仅支持非常有限的 HTML，发送额外标签可能失败，"

#: changedetectionio/templates/_common_fields.html
msgid "(or use plaintext/markdown format)"
msgstr "（或使用纯文本/Markdown 格式）"

#: changedetectionio/templates/_common_fields.html
msgid "for direct API calls (or omit the"
msgstr "用于直接 API 调用（或省略"

#: changedetectionio/templates/_common_fields.html
msgid "for non-SSL ie"
msgstr "用于非 SSL，例如"

#: changedetectionio/templates/_common_fields.html
msgid "more help here"
msgstr "更多帮助"

#: changedetectionio/templates/_common_fields.html
#, python-format
msgid "Accepts the <code>%(token)s</code> placeholders listed below"
msgstr "接受下方列出的 <code>%(token)s</code> 占位符"

#: changedetectionio/templates/_common_fields.html
msgid "Customise notifications"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "Title for all notifications"
msgstr "所有通知的标题"

#: changedetectionio/templates/_common_fields.html
msgid "For JSON payloads, use"
msgstr "对于 JSON 负载，使用"

#: changedetectionio/templates/_common_fields.html
msgid "without quotes for automatic escaping, for example -"
msgstr "无需引号以自动转义，例如 -"

#: changedetectionio/templates/_common_fields.html
msgid "URL encoding, use"
msgstr "URL 编码使用"

#: changedetectionio/templates/_common_fields.html
msgid "for example -"
msgstr "例如 -"

#: changedetectionio/templates/_common_fields.html
msgid "Regular-expression replace, use"
msgstr "正则替换使用"

#: changedetectionio/templates/_common_fields.html
msgid "For a complete reference of all Jinja2 built-in filters, users can refer to the"
msgstr "关于 Jinja2 内置过滤器的完整参考，请见"

#: changedetectionio/templates/_common_fields.html
msgid "Format for all notifications"
msgstr "所有通知的格式"

#: changedetectionio/templates/_common_fields.html
msgid "Discord does not render HTML — switch to"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "Plain Text"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "format to avoid"
msgstr ""

#: changedetectionio/templates/_common_fields.html
msgid "and other HTML entities appearing literally in your notifications."
msgstr ""

#: changedetectionio/templates/_helpers.html
msgid "Entry"
msgstr "条目"

#: changedetectionio/templates/_helpers.html
msgid "Actions"
msgstr "操作"

#: changedetectionio/templates/_helpers.html
msgid "Add a row/rule after"
msgstr "在后面添加一行/规则"

#: changedetectionio/templates/_helpers.html
msgid "Remove this row/rule"
msgstr "移除此行/规则"

#: changedetectionio/templates/_helpers.html
msgid "Verify this rule against current snapshot"
msgstr "使用当前快照验证此规则"

#: changedetectionio/templates/_helpers.html
msgid "Set a hourly/week day schedule"
msgstr "设置按小时/工作日计划"

#: changedetectionio/templates/_helpers.html
msgid "Schedule time limits"
msgstr "计划时间限制"

#: changedetectionio/templates/_helpers.html
msgid "Business hours"
msgstr "工作时间"

#: changedetectionio/templates/_helpers.html
msgid "Weekends"
msgstr "周末"

#: changedetectionio/templates/_helpers.html
msgid "Reset"
msgstr "重置"

#: changedetectionio/templates/_helpers.html
msgid "Warning, one or more of your 'days' has a duration that would extend into the next day."
msgstr "警告：一个或多个“天”的时长会延续到次日。"

#: changedetectionio/templates/_helpers.html
msgid "This could have unintended consequences."
msgstr "这可能导致意外结果。"

#: changedetectionio/templates/_helpers.html
msgid "More help and examples about using the scheduler"
msgstr "有关使用调度器的更多帮助"

#: changedetectionio/templates/_helpers.html
msgid "Want to use a time schedule?"
msgstr "想要使用时间计划吗?"

#: changedetectionio/templates/_helpers.html
msgid "First confirm/save your Time Zone Settings"
msgstr "请先确认/保存你的时区设置"

#: changedetectionio/templates/_helpers.html
msgid "Triggered text"
msgstr "触发文本"

#: changedetectionio/templates/_helpers.html changedetectionio/templates/base.html
msgid "Triggers a change if this text appears, AND something changed in the document."
msgstr "当该文本出现且文档发生变化时触发变更。"

#: changedetectionio/templates/_helpers.html
msgid "Ignored text"
msgstr "忽略文本"

#: changedetectionio/templates/_helpers.html changedetectionio/templates/base.html
msgid "Ignored for calculating changes, but still shown."
msgstr "计算变更时忽略，但仍会显示。"

#: changedetectionio/templates/_helpers.html
msgid "Blocked text"
msgstr "阻止文本"

#: changedetectionio/templates/_helpers.html changedetectionio/templates/base.html
msgid "No change-detection will occur because this text exists."
msgstr "此文本存在时将不会进行变更检测。"

#: changedetectionio/templates/_stab.html
msgid "Settings sections"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Confirm Action"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Are you sure?"
msgstr ""

#: changedetectionio/templates/base.html
msgid "<p>Are you sure you want to proceed?</p>"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Confirm"
msgstr ""

#: changedetectionio/templates/base.html
#, python-format
msgid "Delete %(name)s?"
msgstr ""

#: changedetectionio/templates/base.html
#, python-format
msgid "<p>Are you sure you want to delete <strong>%(name)s</strong>?</p><p>This action cannot be undone.</p>"
msgstr ""

#: changedetectionio/templates/base.html
#, python-format
msgid "Unlink %(name)s?"
msgstr ""

#: changedetectionio/templates/base.html
#, python-format
msgid ""
"<p>Are you sure you want to unlink all watches from <strong>%(name)s</strong>?</p><p>The tag will be kept but watches"
" will be removed from it.</p>"
msgstr ""

#: changedetectionio/templates/base.html
msgid "There was an error communicating with the server."
msgstr ""

#: changedetectionio/templates/base.html
msgid "There was a problem processing the request, please reload the page."
msgstr ""

#: changedetectionio/templates/base.html
#, python-format
msgid "There was a problem processing the request: %(error)s"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Existing filters under the 'Filters & Triggers' tab were cleared."
msgstr ""

#: changedetectionio/templates/base.html
msgid "Fetching element data.."
msgstr ""

#: changedetectionio/templates/base.html
msgid "Rendering.."
msgstr ""

#: changedetectionio/templates/base.html
msgid "Draw mode - click and drag to select an area"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Hover over elements to select"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Image copied to clipboard!"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Failed to copy image. Your browser may not support this feature."
msgstr ""

#: changedetectionio/templates/base.html
msgid "Please select the text/lines you want to capture first by highlighting with your mouse."
msgstr ""

#: changedetectionio/templates/base.html
msgid "Please select text within the diff content."
msgstr ""

#: changedetectionio/templates/base.html
#, python-format
msgid "Failed to generate image: %(error)s"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Change Detection Diff"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Check out this change detected via changedetection.io"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Please fill in all fields (Field, Operator, and Value) before verifying."
msgstr ""

#: changedetectionio/templates/base.html
msgid "Error verifying condition."
msgstr ""

#: changedetectionio/templates/base.html
msgid "Destination email"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Content after filters"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Content raw/before filters"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Main navigation"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Share this link:"
msgstr ""

#: changedetectionio/templates/base.html
msgid "Real-time updates offline"
msgstr "实时更新离线"

#: changedetectionio/templates/base.html
msgid "Select Language"
msgstr "选择语言"

#: changedetectionio/templates/base.html
msgid "Auto-detect from browser"
msgstr "从浏览器自动检测"

#: changedetectionio/templates/base.html
msgid "Language support is in beta, please help us improve by opening a PR on GitHub with any updates."
msgstr "语言支持仍在测试阶段，欢迎在 GitHub 提交 PR 帮助改进。"

#: changedetectionio/templates/base.html
msgid "AI / LLM not configured"
msgstr ""

#: changedetectionio/templates/base.html
msgid "LLM-powered summaries are not yet enabled. Configure an AI provider in Settings to get started."
msgstr ""

#: changedetectionio/templates/base.html
msgid "Go to AI / LLM Settings"
msgstr ""

#: changedetectionio/templates/base.html changedetectionio/templates/sidebar-nav.html
msgid "Search"
msgstr "搜索"

#: changedetectionio/templates/base.html
#, python-format
msgid "URL or Title in '%(title)s'"
msgstr "'%(title)s' 中的 URL 或标题"

#: changedetectionio/templates/base.html
msgid "URL or Title"
msgstr "URL 或标题"

#: changedetectionio/templates/base.html
msgid "Enter search term..."
msgstr "输入搜索关键词..."

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "AI"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "AI — Notify when…"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid ""
"Describe what you care about. The AI evaluates every detected change against this and only notifies you when it "
"matches."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Set a change intent for all watches in this tag/group. Each watch can override with its own."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
#, python-format
msgid "From group '%(name)s': %(value)s"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "e.g. Alert me when the price drops below $300, or a new product is launched. Ignore footer and navigation changes."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "e.g. Flag price changes or new product launches across all watches in this group"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Examples:"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Only notify if the price drops below $200, or a limited-time deal is added"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Alert when a new recall, safety notice, or product withdrawal is published"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Notify when a new grant round opens or an application deadline is announced"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Only important if package versions change or a CVE is mentioned"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
#, python-format
msgid "AI pre-filter active: <code>%(filter)s</code> — narrows content scope before evaluation"
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
#, python-format
msgid ""
"When a change is detected, the AI describes it according to your instructions and replaces <code>%(diff)s</code> in "
"your notification. Use <code>%(raw_diff)s</code> if you still want the original diff."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Describe how changes should be summarised in notifications for all watches in this group."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "List each new item added with its name and price. Translate to English."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Summarise what events were added or cancelled. Two sentences maximum."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
msgid "Describe the price change: old price, new price, percentage difference."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
#, python-format
msgid ""
"Configure an AI / LLM provider in <a href=\"%(url)s\">Settings → AI / LLM</a> to enable AI Change Intent and AI "
"Change Summary."
msgstr ""

#: changedetectionio/templates/edit/include_llm_intent.html
#, python-format
msgid "Configure an AI / LLM provider in <a href=\"%(url)s\">Settings → AI / LLM</a> to enable AI features for this group."
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
msgstr ""

#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
#: changedetectionio/templates/edit/include_subtract.html
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "Limit text to this CSS rule, only text matching this CSS rule is included."
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "Prefix with <code>json:</code>, use <code>json:$</code> to force re-formatting if required,"
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "test your JSONPath here"
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "Prefix <code>jqraw:</code> outputs the results as text instead of a JSON list."
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "jq support not installed"
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid ""
"Limit text to this XPath rule, simply start with a forward-slash. To specify XPath to be used explicitly or the XPath"
" rule starts with an XPath function: Prefix with <code>xpath:</code>"
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "test your XPath here"
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "Get all titles from an RSS feed <code>//title/text()</code>"
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "To use XPath1.0: Prefix with <code>xpath1:</code>"
msgstr ""

#: changedetectionio/templates/edit/include_subtract.html
msgid "here for more CSS selector help"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid "Text to wait for before triggering a change/notification, all text and regex are tested case-insensitive."
msgstr "触发变更/通知前等待的文本，所有文本和正则均不区分大小写。"

#: changedetectionio/templates/edit/text-options.html
msgid "Trigger text is processed from the result-text that comes out of any CSS/JSON Filters for this monitor"
msgstr "触发文本来自该监控项的 CSS/JSON 过滤结果"

#: changedetectionio/templates/edit/text-options.html
msgid "Each line is processed separately (think of each line as \"OR\")"
msgstr "每行单独处理（可理解为每行都是“或”）"

#: changedetectionio/templates/edit/text-options.html
msgid "Note: Wrap in forward slash / to use regex example:"
msgstr "注意：使用正则时请用斜杠 / 包裹，例如："

#: changedetectionio/templates/edit/text-options.html
msgid "You can also use"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid "conditions"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid "\"Page text\" - with Contains, Starts With, Not Contains and many more"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid ""
"For example: Out of stock\n"
"Sold out\n"
"Not in stock\n"
"Unavailable"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid ""
"Block change-detection while this text is on the page, all text and regex are tested case-insensitive, good for "
"waiting for when a product is available again"
msgstr "当页面出现这些文本时阻止变更检测，所有文本和正则均不区分大小写，适合等待商品重新上架"

#: changedetectionio/templates/edit/text-options.html
msgid "Block text is processed from the result-text that comes out of any CSS/JSON Filters for this monitor"
msgstr "阻止文本来自该监控项的 CSS/JSON 过滤结果"

#: changedetectionio/templates/edit/text-options.html
msgid "All lines here must not exist (think of each line as \"OR\")"
msgstr "此处所有行必须不存在（每行视为“或”）"

#: changedetectionio/templates/edit/text-options.html
msgid ""
"celsius\n"
"temperature\n"
"price"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid "Keep only lines that contain any of these words or phrases (plain text, case-insensitive)"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid "One entry per line — any line in the page text that contains a match is kept"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid "Simpler alternative to regex — use this when you just want lines about a specific topic"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid "enter <code>celsius</code> to keep only lines mentioning temperature readings"
msgstr ""

#: changedetectionio/templates/edit/text-options.html
msgid "Extracts text in the final output (line by line) after other filters using regular expressions or string match:"
msgstr "在其他过滤器之后，按行从最终输出中提取文本（使用正则或字符串匹配）："

#: changedetectionio/templates/edit/text-options.html
msgid "Regular expression - example"
msgstr "正则表达式 - 示例"

#: changedetectionio/templates/edit/text-options.html
msgid "Don't forget to consider the white-space at the start of a line"
msgstr "别忘了考虑行首空白"

#: changedetectionio/templates/edit/text-options.html
#, python-format
msgid "Use <code>//(?aiLmsux))</code> type flags (more <a href=\"%(url)s\">information here</a>)"
msgstr "使用 <code>//(?aiLmsux))</code> 类型标志（更多<a href=\"%(url)s\">信息请见此处</a>）"

#: changedetectionio/templates/edit/text-options.html
msgid "Keyword example - example: <code>Out of stock</code>"
msgstr "关键字示例 - 示例: <code>缺货</code>"

#: changedetectionio/templates/edit/text-options.html
msgid "Use groups to extract just that text - example"
msgstr "使用分组仅提取该文本 - 示例"

#: changedetectionio/templates/edit/text-options.html
msgid "returns a list of years only"
msgstr "仅返回年份列表"

#: changedetectionio/templates/edit/text-options.html
msgid "Example - match lines containing a keyword"
msgstr "示例 - 匹配包含关键字的行"

#: changedetectionio/templates/edit/text-options.html
msgid "One line per regular-expression/string match"
msgstr "每行一个正则/字符串匹配规则"

#: changedetectionio/templates/login.html
msgid "Login"
msgstr "登录"

#: changedetectionio/templates/menu.html
msgid "Resume automatic scheduling"
msgstr "恢复自动调度"

#: changedetectionio/templates/menu.html
msgid "Pause auto-queue scheduling of watches"
msgstr "暂停监控项自动入队"

#: changedetectionio/templates/menu.html
msgid "Scheduling paused — click to resume"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "Scheduling active — click to pause all"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "Paused"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "Live"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "Unmute notifications"
msgstr "取消静音通知"

#: changedetectionio/templates/menu.html
msgid "Notifications are muted - click to unmute"
msgstr "通知已静音 - 点击取消静音"

#: changedetectionio/templates/menu.html
msgid "Alerts on"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "Log out"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "Settings"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "EDIT"
msgstr "编辑"

#: changedetectionio/templates/menu.html
msgid "Website Change Detection and Notification."
msgstr "网站变更检测与通知。"

#: changedetectionio/templates/menu.html
msgid "Toggle AI Mode"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "Toggle AI mode"
msgstr ""

#: changedetectionio/templates/menu.html
msgid "Toggle Light/Dark Mode"
msgstr "切换亮/暗模式"

#: changedetectionio/templates/menu.html
msgid "Toggle light/dark mode"
msgstr "切换亮/暗模式"

#: changedetectionio/templates/sidebar-nav.html
msgid "Add a page watch"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "Page Watches"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "Unread changes"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "Watch Groups"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "Import lists of web pages"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "Browsers (coming soon)"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "Browsers"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "soon"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "Search, or Use Alt+S Key"
msgstr "搜索，或使用 Alt+S 快捷键"

#: changedetectionio/templates/sidebar-nav.html
msgid "Queue"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "Live activity"
msgstr ""

#: changedetectionio/templates/sidebar-nav.html
msgid "A new version is available"
msgstr ""

#: changedetectionio/validate_url.py
msgid "API Base URL is not a valid http(s) URL."
msgstr ""

#: changedetectionio/validate_url.py
msgid ""
"API Base URL resolves to a private, loopback, link-local or reserved IP address and was blocked to prevent SSRF. To "
"allow LLM endpoints on private networks (e.g. a local Ollama server) set the environment variable "
"ALLOW_IANA_RESTRICTED_ADDRESSES=true and restart."
msgstr ""

#: changedetectionio/widgets/ternary_boolean.py
msgid "Yes"
msgstr "是"

#: changedetectionio/widgets/ternary_boolean.py
msgid "No"
msgstr "否"

#: changedetectionio/widgets/ternary_boolean.py
msgid "Main settings"
msgstr "主设置"

