From 48da93b4ecbb4b78c47367034f281c6763ca57ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=BE=E7=88=B1=E5=88=86=E4=BA=AB?= <27200289+wuaishare@users.noreply.github.com> Date: Mon, 19 Jan 2026 16:35:52 +0800 Subject: [PATCH] Fix zh PO duplicates and complete new translations. (#3773) --- .../translations/zh/LC_MESSAGES/messages.mo | Bin 42487 -> 62707 bytes .../translations/zh/LC_MESSAGES/messages.po | 713 +++++++----------- 2 files changed, 286 insertions(+), 427 deletions(-) diff --git a/changedetectionio/translations/zh/LC_MESSAGES/messages.mo b/changedetectionio/translations/zh/LC_MESSAGES/messages.mo index 973f3421e5c4a5579d4b9947c11c174e84a7a4e3..38961ae06a565ce18ad49e5d073ec5ffc731ba0c 100644 GIT binary patch literal 62707 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 U3$wqyHSZ46IlK%>(<*xOfBTHp)Bpeg delta 10339 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\n" -"Language: zh\n" "Language-Team: zh \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language: zh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.17.0\n" +"X-Generator: Poedit 3.8\n" #: changedetectionio/blueprint/watchlist/templates/watch-overview.html:273 #: changedetectionio/flask_app.py:218 changedetectionio/flask_app.py:230 @@ -39,14 +40,14 @@ msgstr "密码错误" #: changedetectionio/forms.py:63 changedetectionio/forms.py:243 msgid "" -"At least one time interval (weeks, days, hours, minutes, or seconds) must" -" be specified." +"At least one time interval (weeks, days, hours, minutes, or seconds) must be " +"specified." msgstr "必须指定至少一个时间间隔(周、天、小时、分钟或秒)。" #: changedetectionio/forms.py:64 msgid "" -"At least one time interval (weeks, days, hours, minutes, or seconds) must" -" be specified when not using global settings." +"At least one time interval (weeks, days, hours, minutes, or seconds) must be " +"specified when not using global settings." msgstr "未使用全局设置时,必须指定至少一个时间间隔(周、天、小时、分钟或秒)。" #: changedetectionio/forms.py:164 @@ -608,8 +609,8 @@ msgstr "备份正在运行!" #: changedetectionio/blueprint/backups/templates/overview.html:13 msgid "" -"Here you can download and request a new backup, when a backup is " -"completed you will see it listed below." +"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/overview.html:19 @@ -630,8 +631,8 @@ msgstr "删除备份" #: changedetectionio/blueprint/imports/importer.py:45 msgid "" -"Importing 5,000 of the first URLs from your list, the rest can be " -"imported again." +"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:78 @@ -667,8 +668,8 @@ msgstr "处理第 {} 行时出错,URL 值不正确,已跳过该行。" #: changedetectionio/blueprint/imports/importer.py:297 #, python-brace-format msgid "" -"Error processing row number {}, check all cell data types are correct, " -"row was skipped." +"Error processing row number {}, check all cell data types are correct, row was " +"skipped." msgstr "处理第 {} 行时出错,请检查单元格数据类型是否正确,已跳过该行。" #: changedetectionio/blueprint/imports/importer.py:218 @@ -695,8 +696,8 @@ msgstr ".XLSX 与 Wachete" #: changedetectionio/blueprint/imports/templates/import.html:20 msgid "" -"Enter one URL per line, and optionally add tags for each URL after a " -"space, delineated by comma (,):" +"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:22 @@ -709,8 +710,7 @@ msgstr "未通过验证的 URL 会保留在文本框中。" #: changedetectionio/blueprint/imports/templates/import.html:44 msgid "" -"Copy and Paste your Distill.io watch 'export' file, this should be a JSON" -" file." +"Copy and Paste your Distill.io watch 'export' file, this should be a JSON file." msgstr "复制并粘贴 Distill.io 监控的“导出”文件(JSON)。" #: changedetectionio/blueprint/imports/templates/import.html:45 @@ -824,11 +824,11 @@ msgstr "API Key 已重新生成。" #: changedetectionio/blueprint/settings/__init__.py:204 msgid "Automatic scheduling paused - checks will not be queued." -msgstr "" +msgstr "自动调度已暂停 - 检查任务不会入队。" #: changedetectionio/blueprint/settings/__init__.py:206 msgid "Automatic scheduling resumed - checks will be queued normally." -msgstr "" +msgstr "自动调度已恢复 - 检查任务将正常入队。" #: changedetectionio/blueprint/settings/__init__.py:218 msgid "All notifications muted." @@ -894,8 +894,8 @@ msgstr "更多信息" #: changedetectionio/blueprint/settings/templates/settings.html:57 msgid "" -"After this many consecutive times that the CSS/xPath filter is missing, " -"send a notification" +"After this many consecutive times that the CSS/xPath filter is missing, send a " +"notification" msgstr "CSS/xPath 过滤器连续缺失此次数后发送通知" #: changedetectionio/blueprint/settings/templates/settings.html:59 @@ -904,31 +904,31 @@ msgstr "设置为" #: changedetectionio/blueprint/settings/templates/settings.html:59 msgid "to disable" -msgstr "" +msgstr "以禁用" #: changedetectionio/blueprint/settings/templates/settings.html:68 msgid "Password protection for your changedetection.io application." -msgstr "" +msgstr "为你的 changedetection.io 应用启用密码保护。" #: changedetectionio/blueprint/settings/templates/settings.html:71 msgid "Password is locked." -msgstr "" +msgstr "密码已锁定。" #: changedetectionio/blueprint/settings/templates/settings.html:77 msgid "" -"Allow access to the watch change history page when password is enabled " -"(Good for sharing the diff page)" +"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:81 msgid "" -"When a request returns no content, or the HTML does not contain any text," -" is this considered a change?" -msgstr "" +"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:93 msgid "Base URL used for the" -msgstr "" +msgstr "用于通知链接中的" #: changedetectionio/blueprint/settings/templates/settings.html:93 msgid "token in notification links." @@ -936,7 +936,7 @@ msgstr "通知链接中的令牌。" #: changedetectionio/blueprint/settings/templates/settings.html:94 msgid "Default value is the system environment variable" -msgstr "" +msgstr "默认值为系统环境变量" #: changedetectionio/blueprint/settings/templates/settings.html:94 #: changedetectionio/templates/_common_fields.html:132 @@ -969,8 +969,8 @@ msgstr "Chrome/JavaScript" #: changedetectionio/blueprint/settings/templates/settings.html:104 msgid "" -"method requires a network connection to a running WebDriver+Chrome " -"server, set by the ENV var" +"method requires a network connection to a running WebDriver+Chrome server, set " +"by the ENV var" msgstr "方法需要连接到运行中的 WebDriver+Chrome 服务器,通过环境变量设置" #: changedetectionio/blueprint/settings/templates/settings.html:109 @@ -994,7 +994,7 @@ msgstr "秒后再提取文本。" msgid "" "Number of concurrent workers to process watches. More workers = faster " "processing but higher memory usage." -msgstr "" +msgstr "用于处理监控项的并发工作线程数。线程越多=处理更快但内存占用更高。" #: changedetectionio/blueprint/settings/templates/settings.html:121 msgid "Currently running:" @@ -1014,29 +1014,29 @@ msgstr "活跃处理中" #: changedetectionio/blueprint/settings/templates/settings.html:125 msgid "" -"Example - 3 seconds random jitter could trigger up to 3 seconds earlier " -"or up to 3 seconds later" -msgstr "" +"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:129 msgid "" -"For regular plain requests (not chrome based), maximum number of seconds " -"until timeout, 1-999." -msgstr "" +"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:134 msgid "Applied to all requests." -msgstr "" +msgstr "适用于所有请求。" #: changedetectionio/blueprint/settings/templates/settings.html:135 msgid "" "Note: Simply changing the User-Agent often does not defeat anti-robot " "technologies, it's important to consider" -msgstr "" +msgstr "注意:仅更换 User-Agent 往往无法绕过反爬虫技术,务必考虑" #: changedetectionio/blueprint/settings/templates/settings.html:135 msgid "all of the ways that the browser is detected" -msgstr "" +msgstr "浏览器被识别的各种方式" #: changedetectionio/blueprint/settings/templates/settings.html:140 #: changedetectionio/blueprint/ui/templates/diff.html:138 @@ -1052,9 +1052,9 @@ msgstr "使用 Bright Data 和 Oxylabs 代理连接,更多信息见此处。" #: changedetectionio/blueprint/settings/templates/settings.html:149 msgid "" -"Ignore whitespace, tabs and new-lines/line-feeds when considering if a " -"change was detected." -msgstr "" +"Ignore whitespace, tabs and new-lines/line-feeds when considering if a change " +"was detected." +msgstr "判断是否变更时忽略空格、制表符和换行。" #: changedetectionio/blueprint/settings/templates/settings.html:150 #: changedetectionio/blueprint/settings/templates/settings.html:157 @@ -1065,42 +1065,42 @@ msgstr "注意:" #: changedetectionio/blueprint/settings/templates/settings.html:150 #: changedetectionio/blueprint/settings/templates/settings.html:192 msgid "" -"Changing this will change the status of your existing watches, possibly " -"trigger alerts etc." -msgstr "" +"Changing this will change the status of your existing watches, possibly trigger " +"alerts etc." +msgstr "更改此项会改变现有监控项状态,可能触发警报等。" #: changedetectionio/blueprint/settings/templates/settings.html:155 msgid "Render anchor tag content, default disabled, when enabled renders links as" -msgstr "" +msgstr "渲染 a 标签内容,默认关闭,开启后链接会呈现为" #: changedetectionio/blueprint/settings/templates/settings.html:157 msgid "" -"Changing this could affect the content of your existing watches, possibly" -" trigger alerts etc." -msgstr "" +"Changing this could affect the content of your existing watches, possibly " +"trigger alerts etc." +msgstr "更改此项可能影响现有监控项内容,可能触发警报等。" #: changedetectionio/blueprint/settings/templates/settings.html:168 msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion." -msgstr "" +msgstr "在文本转换前通过 CSS 和 XPath 选择器移除 HTML 元素。" #: changedetectionio/blueprint/settings/templates/settings.html:169 msgid "Don't paste HTML here, use only CSS and XPath selectors" -msgstr "" +msgstr "不要在此粘贴 HTML,仅使用 CSS 和 XPath 选择器" #: changedetectionio/blueprint/settings/templates/settings.html:170 msgid "" -"Add multiple elements, CSS or XPath selectors per line to ignore multiple" -" parts of the HTML." -msgstr "" +"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:178 #: changedetectionio/blueprint/settings/templates/settings.html:182 msgid "Note: This is applied globally in addition to the per-watch rules." -msgstr "" +msgstr "注意:除每个监控项规则外,此项还会全局应用。" #: changedetectionio/blueprint/settings/templates/settings.html:181 msgid "Matching text will be" -msgstr "" +msgstr "匹配的文本将会" #: changedetectionio/blueprint/settings/templates/settings.html:181 msgid "ignored" @@ -1108,40 +1108,39 @@ msgstr "已忽略" #: changedetectionio/blueprint/settings/templates/settings.html:181 msgid "in the text snapshot (you can still see it but it wont trigger a change)" -msgstr "" +msgstr "在文本快照中(仍可见但不会触发变更)" #: changedetectionio/blueprint/settings/templates/settings.html:183 #: changedetectionio/templates/edit/text-options.html:24 msgid "" -"Each line processed separately, any line matching will be ignored " -"(removed before creating the checksum)" -msgstr "" +"Each line processed separately, any line matching will be ignored (removed " +"before creating the checksum)" +msgstr "每行单独处理,匹配的行会被忽略(在生成校验和前移除)" #: changedetectionio/blueprint/settings/templates/settings.html:184 #: changedetectionio/templates/edit/text-options.html:25 msgid "Regular Expression support, wrap the entire line in forward slash" -msgstr "" +msgstr "支持正则表达式,整行用斜杠 / 包裹" #: changedetectionio/blueprint/settings/templates/settings.html:185 #: changedetectionio/templates/edit/text-options.html:26 msgid "" -"Changing this will affect the comparison checksum which may trigger an " -"alert" -msgstr "" +"Changing this will affect the comparison checksum which may trigger an alert" +msgstr "更改此项会影响对比校验和,可能触发警报" #: changedetectionio/blueprint/settings/templates/settings.html:191 msgid "" -"Remove any text that appears in the \"Ignore text\" from the output " -"(otherwise its just ignored for change-detection)" -msgstr "" +"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:198 msgid "API Access" -msgstr "" +msgstr "API 访问" #: changedetectionio/blueprint/settings/templates/settings.html:199 msgid "Drive your changedetection.io via API, More about" -msgstr "" +msgstr "通过 API 控制 changedetection.io,更多信息" #: changedetectionio/blueprint/settings/templates/settings.html:199 msgid "API access and examples here" @@ -1149,11 +1148,11 @@ msgstr "API访问和示例" #: changedetectionio/blueprint/settings/templates/settings.html:203 msgid "Restrict API access limit by using" -msgstr "" +msgstr "通过以下方式限制 API 访问" #: changedetectionio/blueprint/settings/templates/settings.html:203 msgid "header - required for the Chrome Extension to work" -msgstr "" +msgstr "请求头 - Chrome 扩展正常工作所需" #: changedetectionio/blueprint/settings/templates/settings.html:204 msgid "API Key" @@ -1161,11 +1160,11 @@ msgstr "API密钥" #: changedetectionio/blueprint/settings/templates/settings.html:205 msgid "copy" -msgstr "" +msgstr "复制" #: changedetectionio/blueprint/settings/templates/settings.html:209 msgid "Regenerate API key" -msgstr "" +msgstr "重新生成 API Key" #: changedetectionio/blueprint/settings/templates/settings.html:212 msgid "Chrome Extension" @@ -1173,45 +1172,45 @@ msgstr "Chrome 扩展程序" #: changedetectionio/blueprint/settings/templates/settings.html:213 msgid "" -"Easily add any web-page to your changedetection.io installation from " -"within Chrome." -msgstr "" +"Easily add any web-page to your changedetection.io installation from within " +"Chrome." +msgstr "可在 Chrome 中轻松将任意网页添加到你的 changedetection.io。" #: changedetectionio/blueprint/settings/templates/settings.html:214 msgid "Step 1" -msgstr "" +msgstr "步骤 1" #: changedetectionio/blueprint/settings/templates/settings.html:214 msgid "Install the extension," -msgstr "" +msgstr "安装扩展," #: changedetectionio/blueprint/settings/templates/settings.html:214 msgid "Step 2" -msgstr "" +msgstr "步骤 2" #: changedetectionio/blueprint/settings/templates/settings.html:214 msgid "Navigate to this page," -msgstr "" +msgstr "访问此页面," #: changedetectionio/blueprint/settings/templates/settings.html:215 msgid "Step 3" -msgstr "" +msgstr "步骤 3" #: changedetectionio/blueprint/settings/templates/settings.html:215 msgid "Open the extension from the toolbar and click" -msgstr "" +msgstr "从工具栏打开扩展并点击" #: changedetectionio/blueprint/settings/templates/settings.html:215 msgid "Sync API Access" -msgstr "" +msgstr "同步 API 访问" #: changedetectionio/blueprint/settings/templates/settings.html:218 msgid "Try our new Chrome Extension!" -msgstr "" +msgstr "试试我们新的 Chrome 扩展!" #: changedetectionio/blueprint/settings/templates/settings.html:220 msgid "Chrome store icon" -msgstr "" +msgstr "Chrome 商店图标" #: changedetectionio/blueprint/settings/templates/settings.html:221 msgid "Chrome Webstore" @@ -1219,57 +1218,57 @@ msgstr "Chrome网上应用店" #: changedetectionio/blueprint/settings/templates/settings.html:232 msgid "" -"Maximum number of history snapshots to include in the watch specific RSS " -"feed." -msgstr "" +"Maximum number of history snapshots to include in the watch specific RSS feed." +msgstr "监控项 RSS 中包含的历史快照最大数量。" #: changedetectionio/blueprint/settings/templates/settings.html:236 msgid "" -"For watching other RSS feeds - When watching RSS/Atom feeds, convert them" -" into clean text for better change detection." +"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:241 msgid "Does your reader support HTML? Set it here" -msgstr "" +msgstr "你的阅读器支持 HTML 吗?在此设置" #: changedetectionio/blueprint/settings/templates/settings.html:245 msgid "" "'System default' for the same template for all items, or re-use your " "\"Notification Body\" as the template." -msgstr "" +msgstr "“系统默认”用于所有条目使用相同模板,或复用“通知正文”作为模板。" #: changedetectionio/blueprint/settings/templates/settings.html:258 msgid "" "Ensure the settings below are correct, they are used to manage the time " "schedule for checking your web page watches." -msgstr "" +msgstr "请确认以下设置正确,它们用于管理网页监控的时间调度。" #: changedetectionio/blueprint/settings/templates/settings.html:261 msgid "UTC Time & Date from Server:" -msgstr "" +msgstr "服务器 UTC 时间与日期:" #: changedetectionio/blueprint/settings/templates/settings.html:262 msgid "Local Time & Date in Browser:" -msgstr "" +msgstr "浏览器本地时间与日期:" #: changedetectionio/blueprint/settings/templates/settings.html:274 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 "" +"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:278 msgid "Realtime UI Updates Enabled - (Restart required if this is changed)" -msgstr "" +msgstr "启用实时界面更新(更改后需重启)" #: changedetectionio/blueprint/settings/templates/settings.html:282 msgid "Enable or Disable Favicons next to the watch list" -msgstr "" +msgstr "在监控列表中启用或禁用站点图标" #: changedetectionio/blueprint/settings/templates/settings.html:289 msgid "Number of items per page in the watch overview list, 0 to disable." -msgstr "" +msgstr "监控概览列表每页数量,0 为禁用。" #: changedetectionio/blueprint/settings/templates/settings.html:337 msgid "Tip" @@ -1277,20 +1276,19 @@ msgstr "提示" #: changedetectionio/blueprint/settings/templates/settings.html:337 msgid "" -"\"Residential\" and \"Mobile\" proxy type can be more successfull than " -"\"Data Center\" for blocked websites." -msgstr "" +"\"Residential\" and \"Mobile\" proxy type can be more successfull than \"Data " +"Center\" for blocked websites." +msgstr "对于被封锁的网站,“住宅”和“移动”代理类型可能比“数据中心”更有效。" #: changedetectionio/blueprint/settings/templates/settings.html:341 msgid "\"Name\" will be used for selecting the proxy in the Watch Edit settings" -msgstr "" +msgstr "“名称”将用于在监控项编辑设置中选择代理" #: changedetectionio/blueprint/settings/templates/settings.html:342 msgid "" -"SOCKS5 proxies with authentication are only supported with 'plain " -"requests' fetcher, for other fetchers you should whitelist the IP access " -"instead" -msgstr "" +"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:348 msgid "Choose a default proxy for all watches" @@ -1331,11 +1329,11 @@ msgstr "标签已删除,正在后台从监视器中移除" #: changedetectionio/blueprint/tags/__init__.py:109 msgid "Unlinking tag from watches in background" -msgstr "" +msgstr "正在后台从监控项中解绑标签" #: changedetectionio/blueprint/tags/__init__.py:133 msgid "All tags deleted, clearing from watches in background" -msgstr "" +msgstr "已删除所有标签,正在后台从监控项中清理" #: changedetectionio/blueprint/tags/__init__.py:145 msgid "Tag not found" @@ -1424,8 +1422,8 @@ msgstr "分组 / 标签" #: changedetectionio/blueprint/tags/templates/groups-overview.html:21 msgid "" -"Groups allows you to manage filters and notifications for multiple " -"watches under a single organisational tag." +"Groups allows you to manage filters and notifications for multiple watches " +"under a single organisational tag." msgstr "分组可让您在一个组织标签下管理多个监控项的过滤器与通知。" #: changedetectionio/blueprint/tags/templates/groups-overview.html:31 @@ -1458,9 +1456,10 @@ msgstr "删除分组?" #: changedetectionio/blueprint/tags/templates/groups-overview.html:60 #, python-format msgid "" -"

Are you sure you want to delete group " -"%(title)s?

This action cannot be undone.

" -msgstr "

确定要删除分组 %(title)s 吗?

此操作不可撤销。

" +"

Are you sure you want to delete group %(title)s?

This " +"action cannot be undone.

" +msgstr "" +"

确定要删除分组 %(title)s 吗?

此操作不可撤销。

" #: changedetectionio/blueprint/tags/templates/groups-overview.html:61 #: changedetectionio/blueprint/tags/templates/groups-overview.html:62 @@ -1480,12 +1479,11 @@ msgstr "取消分组关联?" #: changedetectionio/blueprint/tags/templates/groups-overview.html:68 #, python-format msgid "" -"

Are you sure you want to unlink all watches from group " -"%(title)s?

The tag will be kept but watches will " -"be removed from it.

" +"

Are you sure you want to unlink all watches from group %(title)s?

The tag will be kept but watches will be removed from it.

" msgstr "" -"

确定要将分组 %(title)s " -"与所有监控项解绑吗?

标签会保留,但监控项将从该分组移除。

" +"

确定要将分组 %(title)s 与所有监控项解绑吗?

标签会保" +"留,但监控项将从该分组移除。

" #: changedetectionio/blueprint/tags/templates/groups-overview.html:69 #: changedetectionio/blueprint/tags/templates/groups-overview.html:70 @@ -1567,7 +1565,7 @@ msgstr "已清除监控项 {} 的快照历史" #: changedetectionio/blueprint/ui/__init__.py:172 msgid "History clearing started in background" -msgstr "" +msgstr "历史清理已在后台开始" #: changedetectionio/blueprint/ui/__init__.py:174 msgid "Incorrect confirmation text." @@ -1575,7 +1573,7 @@ msgstr "确认文本不正确。" #: changedetectionio/blueprint/ui/__init__.py:213 msgid "Marking watches as viewed in background..." -msgstr "" +msgstr "正在后台将监控项标记为已读..." #: changedetectionio/blueprint/ui/__init__.py:222 #, python-brace-format @@ -1615,8 +1613,8 @@ msgstr "后台将监视器加入重新检查队列..." #: changedetectionio/blueprint/ui/__init__.py:403 #, python-brace-format msgid "" -"Could not share, something went wrong while communicating with the share " -"server - {}" +"Could not share, something went wrong while communicating with the share server " +"- {}" msgstr "无法分享,与分享服务器通信时出错 - {}" #: changedetectionio/blueprint/ui/diff.py:93 @@ -1630,8 +1628,8 @@ msgstr "未找到该链接的历史记录,链接是否有误?" #: changedetectionio/blueprint/ui/diff.py:98 msgid "" -"Not enough history (2 snapshots required) to show difference page for " -"this watch." +"Not enough history (2 snapshots required) to show difference page for this " +"watch." msgstr "历史记录不足(需要 2 个快照),无法显示该监控项的差异页。" #: changedetectionio/blueprint/ui/edit.py:35 @@ -1680,8 +1678,8 @@ msgstr "监控项已添加。" #: changedetectionio/blueprint/ui/templates/clear_all_history.html:12 msgid "" -"This will remove version history (snapshots) for ALL watches, but keep " -"your list of URLs!" +"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:13 @@ -1860,8 +1858,8 @@ msgstr "选中文本以分享或加入忽略列表。" #: changedetectionio/blueprint/ui/templates/diff.html:144 #: changedetectionio/blueprint/ui/templates/preview.html:80 msgid "" -"For now, Differences are performed on text, not graphically, only the " -"latest screenshot is available." +"For now, Differences are performed on text, not graphically, only the latest " +"screenshot is available." msgstr "目前差异仅按文本比较,非图形对比,只提供最新截图。" #: changedetectionio/blueprint/ui/templates/diff.html:149 @@ -1924,8 +1922,8 @@ msgstr "分组/标签名称" #: changedetectionio/blueprint/ui/templates/edit.html:85 msgid "" -"Automatically uses the page title if found, you can also use your own " -"title/description here" +"Automatically uses the page title if found, you can also use your own title/" +"description here" msgstr "若检测到页面标题将自动使用,你也可以在此自定义标题/描述" #: changedetectionio/blueprint/ui/templates/edit.html:95 @@ -1934,22 +1932,22 @@ msgstr "每次检查之间的时间间隔。" #: changedetectionio/blueprint/ui/templates/edit.html:110 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." +"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:123 msgid "" -"method (default) where your watched site doesn't need Javascript to " -"render." +"method (default) where your watched site doesn't need Javascript to render." msgstr "方式(默认),适用于无需 JavaScript 渲染的网站。" #: changedetectionio/blueprint/ui/templates/edit.html:124 msgid "" -"method requires a network connection to a running WebDriver+Chrome " -"server, set by the ENV var 'WEBDRIVER_URL'." -msgstr "方式需要连接正在运行的 WebDriver+Chrome 服务器,通过环境变量 'WEBDRIVER_URL' 设置。" +"method requires a network connection to a running WebDriver+Chrome server, set " +"by the ENV var 'WEBDRIVER_URL'." +msgstr "" +"方式需要连接正在运行的 WebDriver+Chrome 服务器,通过环境变量 'WEBDRIVER_URL' 设" +"置。" #: changedetectionio/blueprint/ui/templates/edit.html:130 msgid "Check/Scan all" @@ -1970,8 +1968,8 @@ msgstr "显示高级选项" #: changedetectionio/blueprint/ui/templates/edit.html:157 msgid "" -"Run this code before performing change detection, handy for filling in " -"fields and other actions" +"Run this code before performing change detection, handy for filling in fields " +"and other actions" msgstr "在执行变更检测前运行此代码,便于填写表单等操作" #: changedetectionio/blueprint/ui/templates/edit.html:158 @@ -2029,8 +2027,8 @@ msgstr "可视化选择器数据尚未就绪,监控项至少需要检查一次 #: changedetectionio/blueprint/ui/templates/edit.html:253 msgid "" -"Sorry, this functionality only works with fetchers that support " -"interactive Javascript (so far only Playwright based fetchers)" +"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:254 @@ -2049,8 +2047,8 @@ msgstr "为支持交互式 JavaScript 的方式。" #: changedetectionio/blueprint/ui/templates/edit.html:297 msgid "" -"Use the verify (✓) button to test if a condition passes against the " -"current snapshot." +"Use the verify (✓) button to test if a condition passes against the current " +"snapshot." msgstr "使用验证(✓)按钮测试条件是否符合当前快照。" #: changedetectionio/blueprint/ui/templates/edit.html:298 @@ -2079,8 +2077,8 @@ msgstr "将触发/忽略/阻止/提取限定为;" #: changedetectionio/blueprint/ui/templates/edit.html:326 msgid "" -"Note: Depending on the length and similarity of the text on each line, " -"the algorithm may consider an" +"Note: Depending on the length and similarity of the text on each line, the " +"algorithm may consider an" msgstr "注意:根据每行文本长度与相似度,算法可能把" #: changedetectionio/blueprint/ui/templates/edit.html:326 @@ -2122,15 +2120,16 @@ msgstr "仅当出现新的唯一行时触发" #: changedetectionio/blueprint/ui/templates/edit.html:332 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 "适合仅移动内容的网站,想知道新增内容时使用,会将新行与该监控项的全部历史进行比对。" +"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 "" +"适合仅移动内容的网站,想知道新增内容时使用,会将新行与该监控项的全部历史进行比" +"对。" #: changedetectionio/blueprint/ui/templates/edit.html:340 msgid "" -"Helps reduce changes detected caused by sites shuffling lines around, " -"combine with" +"Helps reduce changes detected caused by sites shuffling lines around, combine " +"with" msgstr "有助于减少因行顺序变化导致的变更,可结合" #: changedetectionio/blueprint/ui/templates/edit.html:340 @@ -2161,9 +2160,10 @@ msgstr "文本" #: changedetectionio/blueprint/ui/templates/edit.html:386 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 过滤器”选项卡中的过滤器" +"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:386 msgid "tab. Use" @@ -2203,8 +2203,8 @@ msgstr "当前:" #: changedetectionio/blueprint/ui/templates/edit.html:423 msgid "" -"Sorry, this functionality only works with fetchers that support " -"Javascript and screenshots (such as playwright etc)." +"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:424 @@ -2261,8 +2261,8 @@ msgstr "确定要清除以下监控项的全部历史记录吗:" #: changedetectionio/blueprint/ui/templates/edit.html:496 msgid "" -"This will remove all snapshots and previous versions. This action cannot " -"be undone." +"This will remove all snapshots and previous versions. This action cannot be " +"undone." msgstr "这将删除所有快照和历史版本。此操作不可撤销。" #: changedetectionio/blueprint/ui/templates/edit.html:497 @@ -2287,8 +2287,8 @@ msgstr "最近请求的错误截图" #: changedetectionio/blueprint/ui/templates/preview.html:91 msgid "" -"Screenshot requires a Content Fetcher ( Sockpuppetbrowser, selenium, etc " -") that supports screenshots." +"Screenshot requires a Content Fetcher ( Sockpuppetbrowser, selenium, etc ) that " +"supports screenshots." msgstr "截图需要支持截图的内容抓取器(如 Sockpuppetbrowser、Selenium 等)。" #: changedetectionio/blueprint/watchlist/__init__.py:79 @@ -2362,8 +2362,8 @@ msgstr "清除历史记录" #: changedetectionio/blueprint/watchlist/templates/watch-overview.html:93 msgid "" -"

Are you sure you want to clear history for the selected " -"items?

This action cannot be undone.

" +"

Are you sure you want to clear history for the selected items?

This " +"action cannot be undone.

" msgstr "

确定要清除所选项的历史记录吗?

此操作不可撤销。

" #: changedetectionio/blueprint/watchlist/templates/watch-overview.html:94 @@ -2380,8 +2380,8 @@ msgstr "删除监控项?" #: changedetectionio/blueprint/watchlist/templates/watch-overview.html:99 msgid "" -"

Are you sure you want to delete the selected " -"watches?

This action cannot be undone.

" +"

Are you sure you want to delete the selected watches?

This " +"action cannot be undone.

" msgstr "

确定要删除所选监控项吗?

此操作不可撤销。

" #: changedetectionio/blueprint/watchlist/templates/watch-overview.html:105 @@ -2419,8 +2419,8 @@ msgstr "变更" #: changedetectionio/blueprint/watchlist/templates/watch-overview.html:162 msgid "" -"No web page change detection watches configured, please add a URL in the " -"box above, or" +"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:162 @@ -2637,15 +2637,15 @@ msgstr "所有通知的正文 — 您可以使用" #: changedetectionio/templates/_common_fields.html:9 msgid "templating in the notification title, body and URL, and tokens from below." -msgstr "" +msgstr "可在通知标题、正文和 URL 中使用模板,并使用下方的令牌/占位符。" #: changedetectionio/templates/_common_fields.html:11 msgid "Show token/placeholders" -msgstr "" +msgstr "显示令牌/占位符" #: changedetectionio/templates/_common_fields.html:18 msgid "Token" -msgstr "" +msgstr "令牌" #: changedetectionio/templates/_common_fields.html:19 msgid "Description" @@ -2653,11 +2653,11 @@ msgstr "描述" #: changedetectionio/templates/_common_fields.html:25 msgid "The URL of the changedetection.io instance you are running." -msgstr "" +msgstr "你正在运行的 changedetection.io 实例的 URL。" #: changedetectionio/templates/_common_fields.html:29 msgid "The URL being watched." -msgstr "" +msgstr "被监控的 URL。" #: changedetectionio/templates/_common_fields.html:33 msgid "The UUID of the watch." @@ -2665,7 +2665,7 @@ msgstr "监视器的UUID。" #: changedetectionio/templates/_common_fields.html:37 msgid "The page title of the watch, uses if not set, falls back to URL" -msgstr "" +msgstr "监控项的页面标题,未设置时使用 <title>,否则回退为 URL" #: changedetectionio/templates/_common_fields.html:41 msgid "The watch group / tag" @@ -2673,68 +2673,68 @@ msgstr "监视器组/标签" #: changedetectionio/templates/_common_fields.html:45 msgid "The URL of the preview page generated by changedetection.io." -msgstr "" +msgstr "changedetection.io 生成的预览页面 URL。" #: changedetectionio/templates/_common_fields.html:49 msgid "The URL of the diff output for the watch." -msgstr "" +msgstr "该监控项的差异输出 URL。" #: changedetectionio/templates/_common_fields.html:53 msgid "The diff output - only changes, additions, and removals" -msgstr "" +msgstr "差异输出 - 仅包含更改、新增与删除" #: changedetectionio/templates/_common_fields.html:57 msgid "The diff output - only changes, additions, and removals —" -msgstr "" +msgstr "差异输出 - 仅包含更改、新增与删除 —" #: changedetectionio/templates/_common_fields.html:57 #: changedetectionio/templates/_common_fields.html:66 #: changedetectionio/templates/_common_fields.html:74 #: changedetectionio/templates/_common_fields.html:82 msgid "Without (added) prefix or colors" -msgstr "" +msgstr "不含(added)前缀或颜色" #: changedetectionio/templates/_common_fields.html:62 msgid "The diff output - only changes and additions" -msgstr "" +msgstr "差异输出 - 仅包含更改与新增" #: changedetectionio/templates/_common_fields.html:66 msgid "The diff output - only changes and additions —" -msgstr "" +msgstr "差异输出 - 仅包含更改与新增 —" #: changedetectionio/templates/_common_fields.html:70 msgid "The diff output - only changes and removals" -msgstr "" +msgstr "差异输出 - 仅包含更改与删除" #: changedetectionio/templates/_common_fields.html:74 msgid "The diff output - only changes and removals —" -msgstr "" +msgstr "差异输出 - 仅包含更改与删除 —" #: changedetectionio/templates/_common_fields.html:78 msgid "The diff output - full difference output" -msgstr "" +msgstr "差异输出 - 完整差异内容" #: changedetectionio/templates/_common_fields.html:82 msgid "The diff output - full difference output —" -msgstr "" +msgstr "差异输出 - 完整差异内容 —" #: changedetectionio/templates/_common_fields.html:86 msgid "The diff output - patch in unified format" -msgstr "" +msgstr "差异输出 - 统一格式补丁" #: changedetectionio/templates/_common_fields.html:90 msgid "" -"The current snapshot text contents value, useful when combined with JSON " -"or CSS filters" -msgstr "" +"The current snapshot text contents value, useful when combined with JSON or CSS " +"filters" +msgstr "当前快照的文本内容值,与 JSON 或 CSS 过滤器结合使用时很有用" #: changedetectionio/templates/_common_fields.html:95 msgid "Text that tripped the trigger from filters" -msgstr "" +msgstr "由过滤器触发的文本" #: changedetectionio/templates/_common_fields.html:109 msgid "Warning: Contents of" -msgstr "" +msgstr "警告:以下内容" #: changedetectionio/templates/_common_fields.html:109 msgid "and" @@ -2742,13 +2742,13 @@ msgstr "和" #: changedetectionio/templates/_common_fields.html:109 msgid "depend on how the difference algorithm perceives the change." -msgstr "" +msgstr "取决于差异算法对变更的判断。" #: changedetectionio/templates/_common_fields.html:110 msgid "" -"For example, an addition or removal could be perceived as a change in " -"some cases." -msgstr "" +"For example, an addition or removal could be perceived as a change in some " +"cases." +msgstr "例如,在某些情况下,新增或删除可能被视为变更。" #: changedetectionio/templates/_common_fields.html:110 msgid "More Here" @@ -2765,13 +2765,13 @@ msgstr "AppRise通知URL" #: changedetectionio/templates/_common_fields.html:126 msgid "for notification to just about any service!" -msgstr "" +msgstr "用于向几乎任何服务发送通知!" #: changedetectionio/templates/_common_fields.html:126 msgid "" -"Please read the notification services wiki here for important " -"configuration notes" -msgstr "" +"Please read the notification services wiki here for important configuration " +"notes" +msgstr "请阅读通知服务 Wiki 以了解重要配置说明" #: changedetectionio/templates/_common_fields.html:128 msgid "Show advanced help and tips" @@ -2779,15 +2779,15 @@ msgstr "显示高级帮助和提示" #: changedetectionio/templates/_common_fields.html:130 msgid "(or" -msgstr "" +msgstr "(或" #: changedetectionio/templates/_common_fields.html:130 msgid "only supports a maximum" -msgstr "" +msgstr "最多仅支持" #: changedetectionio/templates/_common_fields.html:130 msgid "2,000 characters" -msgstr "" +msgstr "2,000 个字符" #: changedetectionio/templates/_common_fields.html:130 msgid "of notification text, including the title." @@ -2795,25 +2795,25 @@ msgstr "通知文本,包括标题。" #: changedetectionio/templates/_common_fields.html:131 msgid "" -"bots can't send messages to other bots, so you should specify chat ID of " -"non-bot user." -msgstr "" +"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:132 msgid "only supports very limited HTML and can fail when extra tags are sent," -msgstr "" +msgstr "仅支持非常有限的 HTML,发送额外标签可能失败," #: changedetectionio/templates/_common_fields.html:132 msgid "(or use plaintext/markdown format)" -msgstr "" +msgstr "(或使用纯文本/Markdown 格式)" #: changedetectionio/templates/_common_fields.html:133 msgid "for direct API calls (or omit the" -msgstr "" +msgstr "用于直接 API 调用(或省略" #: changedetectionio/templates/_common_fields.html:133 msgid "for non-SSL ie" -msgstr "" +msgstr "用于非 SSL,例如" #: changedetectionio/templates/_common_fields.html:133 msgid "more help here" @@ -2821,11 +2821,11 @@ msgstr "更多帮助" #: changedetectionio/templates/_common_fields.html:134 msgid "Accepts the" -msgstr "" +msgstr "接受以下" #: changedetectionio/templates/_common_fields.html:134 msgid "placeholders listed below" -msgstr "" +msgstr "下方列出的占位符" #: changedetectionio/templates/_common_fields.html:138 msgid "Send test notification" @@ -2833,11 +2833,11 @@ msgstr "发送测试通知" #: changedetectionio/templates/_common_fields.html:140 msgid "Add email" -msgstr "" +msgstr "添加邮箱" #: changedetectionio/templates/_common_fields.html:140 msgid "Add an email address" -msgstr "" +msgstr "添加邮箱地址" #: changedetectionio/templates/_common_fields.html:142 msgid "Notification debug logs" @@ -2853,15 +2853,15 @@ msgstr "所有通知的标题" #: changedetectionio/templates/_common_fields.html:159 msgid "For JSON payloads, use" -msgstr "" +msgstr "对于 JSON 负载,使用" #: changedetectionio/templates/_common_fields.html:159 msgid "without quotes for automatic escaping, for example -" -msgstr "" +msgstr "无需引号以自动转义,例如 -" #: changedetectionio/templates/_common_fields.html:162 msgid "URL encoding, use" -msgstr "" +msgstr "URL 编码使用" #: changedetectionio/templates/_common_fields.html:162 #: changedetectionio/templates/_common_fields.html:165 @@ -2870,13 +2870,12 @@ msgstr "例如 -" #: changedetectionio/templates/_common_fields.html:165 msgid "Regular-expression replace, use" -msgstr "" +msgstr "正则替换使用" #: changedetectionio/templates/_common_fields.html:168 msgid "" -"For a complete reference of all Jinja2 built-in filters, users can refer " -"to the" -msgstr "" +"For a complete reference of all Jinja2 built-in filters, users can refer to the" +msgstr "关于 Jinja2 内置过滤器的完整参考,请见" #: changedetectionio/templates/_common_fields.html:176 msgid "Format for all notifications" @@ -2884,7 +2883,7 @@ msgstr "所有通知的格式" #: changedetectionio/templates/_helpers.html:25 msgid "Entry" -msgstr "" +msgstr "条目" #: changedetectionio/templates/_helpers.html:153 msgid "Actions" @@ -2892,31 +2891,32 @@ msgstr "操作" #: changedetectionio/templates/_helpers.html:172 msgid "Add a row/rule after" -msgstr "" +msgstr "在后面添加一行/规则" #: changedetectionio/templates/_helpers.html:173 msgid "Remove this row/rule" -msgstr "" +msgstr "移除此行/规则" #: changedetectionio/templates/_helpers.html:174 msgid "Verify this rule against current snapshot" -msgstr "" +msgstr "使用当前快照验证此规则" #: changedetectionio/templates/_helpers.html:184 msgid "" -"Error - This watch needs Chrome (with playwright/sockpuppetbrowser), but " -"Chrome based fetching is not enabled." +"Error - This watch needs Chrome (with playwright/sockpuppetbrowser), but Chrome " +"based fetching is not enabled." msgstr "" +"错误 - 该监控项需要 Chrome(playwright/sockpuppetbrowser),但未启用基于 Chrome " +"的抓取。" #: changedetectionio/templates/_helpers.html:184 msgid "Alternatively try our" -msgstr "" +msgstr "也可以试试我们的" #: changedetectionio/templates/_helpers.html:184 msgid "" -"very affordable subscription based service which has all this setup for " -"you" -msgstr "" +"very affordable subscription based service which has all this setup for you" +msgstr "价格实惠的订阅服务,已为你完成全部配置" #: changedetectionio/templates/_helpers.html:185 msgid "You may need to" @@ -2924,11 +2924,11 @@ msgstr "您可能需要" #: changedetectionio/templates/_helpers.html:185 msgid "Enable playwright environment variable" -msgstr "" +msgstr "启用 Playwright 环境变量" #: changedetectionio/templates/_helpers.html:185 msgid "and uncomment the" -msgstr "" +msgstr "并取消注释" #: changedetectionio/templates/_helpers.html:185 msgid "in the" @@ -2940,7 +2940,7 @@ msgstr "文件" #: changedetectionio/templates/_helpers.html:240 msgid "Set a hourly/week day schedule" -msgstr "" +msgstr "设置按小时/工作日计划" #: changedetectionio/templates/_helpers.html:247 msgid "Schedule time limits" @@ -2948,7 +2948,7 @@ msgstr "计划时间限制" #: changedetectionio/templates/_helpers.html:248 msgid "Business hours" -msgstr "" +msgstr "工作时间" #: changedetectionio/templates/_helpers.html:249 msgid "Weekends" @@ -2960,13 +2960,13 @@ msgstr "重置" #: changedetectionio/templates/_helpers.html:259 msgid "" -"Warning, one or more of your 'days' has a duration that would extend into" -" the next day." -msgstr "" +"Warning, one or more of your 'days' has a duration that would extend into the " +"next day." +msgstr "警告:一个或多个“天”的时长会延续到次日。" #: changedetectionio/templates/_helpers.html:260 msgid "This could have unintended consequences." -msgstr "" +msgstr "这可能导致意外结果。" #: changedetectionio/templates/_helpers.html:270 msgid "More help and examples about using the scheduler" @@ -2978,13 +2978,12 @@ msgstr "想要使用时间计划吗?" #: changedetectionio/templates/_helpers.html:275 msgid "First confirm/save your Time Zone Settings" -msgstr "" +msgstr "请先确认/保存你的时区设置" #: changedetectionio/templates/_helpers.html:284 msgid "" -"Triggers a change if this text appears, AND something changed in the " -"document." -msgstr "" +"Triggers a change if this text appears, AND something changed in the document." +msgstr "当该文本出现且文档发生变化时触发变更。" #: changedetectionio/templates/_helpers.html:284 msgid "Triggered text" @@ -2992,7 +2991,7 @@ msgstr "触发文本" #: changedetectionio/templates/_helpers.html:285 msgid "Ignored for calculating changes, but still shown." -msgstr "" +msgstr "计算变更时忽略,但仍会显示。" #: changedetectionio/templates/_helpers.html:285 msgid "Ignored text" @@ -3020,8 +3019,8 @@ msgstr "选择语言" #: changedetectionio/templates/base.html:269 msgid "" -"Language support is in beta, please help us improve by opening a PR on " -"GitHub with any updates." +"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:281 @@ -3031,7 +3030,7 @@ msgstr "搜索" #: changedetectionio/templates/base.html:286 msgid "URL or Title" -msgstr "" +msgstr "URL 或标题" #: changedetectionio/templates/base.html:286 msgid "in" @@ -3039,7 +3038,7 @@ msgstr "在" #: changedetectionio/templates/base.html:287 msgid "Enter search term..." -msgstr "" +msgstr "输入搜索关键词..." #: changedetectionio/templates/login.html:17 msgid "Login" @@ -3059,15 +3058,15 @@ msgstr "导入" #: changedetectionio/templates/menu.html:17 msgid "Resume automatic scheduling" -msgstr "" +msgstr "恢复自动调度" #: changedetectionio/templates/menu.html:17 msgid "Pause auto-queue scheduling of watches" -msgstr "" +msgstr "暂停监控项自动入队" #: changedetectionio/templates/menu.html:17 msgid "Scheduling is paused - click to resume" -msgstr "" +msgstr "调度已暂停 - 点击恢复" #: changedetectionio/templates/menu.html:20 msgid "Unmute notifications" @@ -3091,7 +3090,7 @@ msgstr "退出登录" #: changedetectionio/templates/menu.html:36 msgid "Website Change Detection and Notification." -msgstr "" +msgstr "网站变更检测与通知。" #: changedetectionio/templates/menu.html:40 msgid "Toggle Light/Dark Mode" @@ -3111,65 +3110,66 @@ msgstr "切换语言" #: changedetectionio/templates/edit/text-options.html:9 msgid "" -"Text to wait for before triggering a change/notification, all text and " -"regex are tested case-insensitive." -msgstr "" +"Text to wait for before triggering a change/notification, all text and regex " +"are tested case-insensitive." +msgstr "触发变更/通知前等待的文本,所有文本和正则均不区分大小写。" #: changedetectionio/templates/edit/text-options.html:10 msgid "" -"Trigger text is processed from the result-text that comes out of any " -"CSS/JSON Filters for this monitor" -msgstr "" +"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:11 msgid "Each line is processed separately (think of each line as \"OR\")" -msgstr "" +msgstr "每行单独处理(可理解为每行都是“或”)" #: changedetectionio/templates/edit/text-options.html:12 #: changedetectionio/templates/edit/text-options.html:46 msgid "Note: Wrap in forward slash / to use regex example:" -msgstr "" +msgstr "注意:使用正则时请用斜杠 / 包裹,例如:" #: changedetectionio/templates/edit/text-options.html:23 msgid "" -"Matching text will be ignored in the text snapshot (you can still see it " -"but it wont trigger a change)" -msgstr "" +"Matching text will be ignored in the text snapshot (you can still see it but it " +"wont trigger a change)" +msgstr "匹配的文本会在文本快照中被忽略(仍可见但不会触发变更)" #: changedetectionio/templates/edit/text-options.html:43 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" +"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:44 msgid "" -"Block text is processed from the result-text that comes out of any " -"CSS/JSON Filters for this monitor" -msgstr "" +"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:45 msgid "All lines here must not exist (think of each line as \"OR\")" -msgstr "" +msgstr "此处所有行必须不存在(每行视为“或”)" #: changedetectionio/templates/edit/text-options.html:58 msgid "" -"Extracts text in the final output (line by line) after other filters " -"using regular expressions or string match:" -msgstr "" +"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:60 msgid "Regular expression - example" -msgstr "" +msgstr "正则表达式 - 示例" #: changedetectionio/templates/edit/text-options.html:61 msgid "Don't forget to consider the white-space at the start of a line" -msgstr "" +msgstr "别忘了考虑行首空白" #: changedetectionio/templates/edit/text-options.html:62 msgid "type flags (more" -msgstr "" +msgstr "类型标志(更多" #: changedetectionio/templates/edit/text-options.html:62 msgid "information here" @@ -3177,23 +3177,23 @@ msgstr "此处信息" #: changedetectionio/templates/edit/text-options.html:63 msgid "Keyword example - example" -msgstr "" +msgstr "关键字示例 - 示例" #: changedetectionio/templates/edit/text-options.html:64 msgid "Use groups to extract just that text - example" -msgstr "" +msgstr "使用分组仅提取该文本 - 示例" #: changedetectionio/templates/edit/text-options.html:64 msgid "returns a list of years only" -msgstr "" +msgstr "仅返回年份列表" #: changedetectionio/templates/edit/text-options.html:65 msgid "Example - match lines containing a keyword" -msgstr "" +msgstr "示例 - 匹配包含关键字的行" #: changedetectionio/templates/edit/text-options.html:68 msgid "One line per regular-expression/string match" -msgstr "" +msgstr "每行一个正则/字符串匹配规则" #: changedetectionio/widgets/ternary_boolean.py:17 #: changedetectionio/widgets/ternary_boolean.py:71 @@ -3209,144 +3209,3 @@ msgstr "否" #: changedetectionio/widgets/ternary_boolean.py:73 msgid "Main settings" msgstr "主设置" - -#~ msgid "Entry" -#~ msgstr "条目" - -#~ msgid "Actions" -#~ msgstr "操作" - -#~ msgid "Add a row/rule after" -#~ msgstr "在后面添加一行/规则" - -#~ msgid "Remove this row/rule" -#~ msgstr "删除此行/规则" - -#~ msgid "Verify this rule against current snapshot" -#~ msgstr "用当前快照验证此规则" - -#~ msgid "" -#~ "Error - This watch needs Chrome " -#~ "(with playwright/sockpuppetbrowser), but Chrome " -#~ "based fetching is not enabled." -#~ msgstr "错误 - 此监控项需要 Chrome(playwright/sockpuppetbrowser),但未启用基于 Chrome 的抓取。" - -#~ msgid "Alternatively try our" -#~ msgstr "也可以试试我们的" - -#~ msgid "" -#~ "very affordable subscription based service " -#~ "which has all this setup for you" -#~ msgstr "价格实惠的订阅服务,已为你完成全部配置" - -#~ msgid "You may need to" -#~ msgstr "你可能需要" - -#~ msgid "Enable playwright environment variable" -#~ msgstr "启用 Playwright 环境变量" - -#~ msgid "and uncomment the" -#~ msgstr "并取消注释" - -#~ msgid "in the" -#~ msgstr "在" - -#~ msgid "file" -#~ msgstr "文件" - -#~ msgid "Set a hourly/week day schedule" -#~ msgstr "设置小时/工作日计划" - -#~ msgid "Schedule time limits" -#~ msgstr "计划时间限制" - -#~ msgid "Business hours" -#~ msgstr "工作时间" - -#~ msgid "Weekends" -#~ msgstr "周末" - -#~ msgid "Reset" -#~ msgstr "重置" - -#~ msgid "" -#~ "Warning, one or more of your " -#~ "'days' has a duration that would " -#~ "extend into the next day." -#~ msgstr "警告:一个或多个“天”的时长会延续到次日。" - -#~ msgid "This could have unintended consequences." -#~ msgstr "这可能导致意外结果。" - -#~ msgid "More help and examples about using the scheduler" -#~ msgstr "更多关于调度器的帮助与示例" - -#~ msgid "Want to use a time schedule?" -#~ msgstr "想使用时间计划吗?" - -#~ msgid "First confirm/save your Time Zone Settings" -#~ msgstr "请先确认/保存你的时区设置" - -#~ msgid "" -#~ "Triggers a change if this text " -#~ "appears, AND something changed in the" -#~ " document." -#~ msgstr "当出现该文本且文档发生变化时触发。" - -#~ msgid "Triggered text" -#~ msgstr "触发文本" - -#~ msgid "Ignored for calculating changes, but still shown." -#~ msgstr "计算变更时忽略,但仍会显示。" - -#~ msgid "Ignored text" -#~ msgstr "忽略文本" - -#~ msgid "No change-detection will occur because this text exists." -#~ msgstr "由于存在该文本,将不会进行变更检测。" - -#~ msgid "Blocked text" -#~ msgstr "阻止文本" - -#~ msgid "Search" -#~ msgstr "搜索" - -#~ msgid "URL or Title" -#~ msgstr "URL 或标题" - -#~ msgid "in" -#~ msgstr "在" - -#~ msgid "Enter search term..." -#~ msgstr "输入搜索关键词..." - -#~ msgid "Watch List" -#~ msgstr "监控列表" - -#~ msgid "Watches" -#~ msgstr "监控项" - -#~ msgid "Queue Status" -#~ msgstr "队列状态" - -#~ msgid "Queue" -#~ msgstr "队列" - -#~ msgid "Sitemap Crawler" -#~ msgstr "站点地图爬虫" - -#~ msgid "Sitemap" -#~ msgstr "站点地图" - -#~ msgid "Tag unlinked removed from {} watches" -#~ msgstr "标签已解绑,并从 {} 个监控项中移除" - -#~ msgid "All tags deleted" -#~ msgstr "已删除所有标签" - -#~ msgid "Cleared snapshot history for all watches" -#~ msgstr "已清除所有监控项的快照历史" - -#~ msgid "No watches available to recheck." -#~ msgstr "没有可重新检查的监控项。" -