Files
nginx-ui/app/src/language/zh_CN/app.po
T
Jacky 69cfa82b1d feat: self-signed certificate support (#1655) (#1688)
* feat(cert): add self-signed certificate type and config to model

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): generate self-signed leaf certificates

Add GenerateSelfSigned / SelfSignedOptions plus five new error codes
(50032-50036) and a full TDD test suite covering valid cert output,
multiple key types, empty-SAN rejection, and invalid-IP rejection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): regenerate self-signed certificates with key reuse

Add RegenerateSelfSigned, SelfSignedOptionsFromModel, deriveSelfSignedCommonName,
loadSelfSignedKey, and parsePrivateKeyPEM to support re-issuing self-signed
certificates for the auto-renewal job, reusing the on-disk private key when possible.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): add self-signed certificate renewal worker

Add auto-renewal worker for self-signed certificates that mirrors the
ACME renewal logic, using a dedicated shouldRenewSelfSignedCert threshold
function verified with TDD.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cron): schedule self-signed certificate renewal

Register setupSelfSignedCertRenewalJob as a periodic cron job (every
30 minutes) in InitCronJobs, mirroring the existing setupAutoCertJob
pattern.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(api): add self-signed certificate generation endpoints

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): add self-signed certificate frontend API

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): add shared self-signed certificate fields component

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): add self-signed certificate generation modal and list entry

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): support self-signed certificates in the editor

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(site): generate self-signed certificates from the site editor

Extract hasTLSListen/ensureDirective/ensureTLSDirectives into a shared
useTLSDirectives composable, refactor ObtainCert.vue to use it, and add
SelfSignedCert.vue to the site cert tab so users can generate and apply
a self-signed certificate directly from the site editor.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(cert): validate self-signed key type and name IP-only renewals

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* refactor(cert): apply code-review cleanup

- reuse certcrypto.ParsePEMPrivateKey instead of a hand-rolled PEM
  private-key parser
- stop exporting the unused ensureDirective from useTLSDirectives
- use the AutoCertState enum instead of integer literals in certColumns
- allocate the renewal Logger only when renewal is attempted, avoiding a
  per-tick goroutine and empty-log database write for non-due certificates

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(cert): address PR #1688 review feedback

- clean up the partial certificate directory when the initial write
  fails, not just the database row
- log a warning when the existing self-signed private key cannot be
  reused so operators notice the public-key fingerprint has changed
- defensively copy the model's Domains and IPAddresses slices in
  SelfSignedOptionsFromModel
- require an explicit "Save now" confirmation after generating from the
  site editor, and write the directives into the editor first so the
  user can review the diff before saving

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(cert): harden self-signed certificate lifecycle

Reuse private keys on manual self-signed edits, make certificate writes safer, clean managed self-signed files on delete, and guard renewal against missing config.

* fix(cert): harden self-signed frontend handling

Avoid undefined certificate redirects, rely on payload defaults for self-signed fields, and parse TLS listen directives precisely.

* fix(site): satisfy strict listen regex lint

Escape the IPv6 listen closing bracket explicitly so the strict regexp lint rule accepts TLS listen parsing.

* fix(cert): harden self-signed key handling

Co-authored-by: Jacky <me@jackyu.cn>

* docs(cert): design merging self-signed entry into issue dialog

Spec for collapsing the Certificate list header from three actions to
two by adding a Self-signed option inside the existing Issue Certificate
dialog.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(cert): plan merging self-signed into issue dialog

Step-by-step plan that turns the spec into two scoped commits:
extend DNSIssueCertificate with a self-signed type, then drop the
standalone header button from the certificate list view.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): add self-signed option in issue certificate dialog

Extend the Issue Certificate dialog's Certificate Type select with a
"Self-signed" option that swaps the form body to SelfSignedCertFields
and routes submission through cert.generate_self_signed(). ACME paths
(Wildcard / Custom Domains) are unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* refactor(cert): drop standalone self-signed button from list header

Certificate creation is now consolidated under the Issue Certificate
dialog (which exposes Self-signed as a Certificate Type option), so
the duplicate header entry, its ref, handler, and modal mount are
removed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(cert): design self-signed UX enhancements

Adds a reusable StringListInput, renewal-policy hint in the self-signed
form, and a required Name field (frontend + backend). Builds on the
prior merge spec.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(cert): plan self-signed UX enhancements

Six-task plan: extract StringListInput, require Name backend + test,
refactor SelfSignedCertFields with renewal hint, hide duplicate alert
in editor, seed/filter payloads with Name validation, and adopt
StringListInput in the ACME Custom Domains branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(ui): add StringListInput component

Reusable multi-row text input with Add/Remove buttons. Used in the
upcoming refactor of Custom Domains and self-signed Domains / IP
Addresses editors so all three share a single editor pattern.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(ui): simplify StringListInput model write and add a11y label

Replace the captured-index update closure with v-model:value on
items[index] so input events are guaranteed to write to the array
slot currently bound to the DOM input. Add an aria-label suffix
on the Remove button so screen readers can distinguish rows.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): require Name when generating self-signed certificates

Adds binding:"required" to SelfSignedCertRequest.Name so an empty name
is rejected at the request boundary, and covers the contract with a
new API-level test.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): unify self-signed editor and surface renewal hint

Switch Domains and IP Addresses to the shared StringListInput so all
self-signed field editors match the Custom Domains pattern. Add an
auto-renewal hint (suppressible via hideRenewalNote) and mark Name as
required to match the new backend contract.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(cert): suppress duplicate renewal alert in cert editor

SelfSignedCertManagement already has its own renewal-status alert;
pass hide-renewal-note to SelfSignedCertFields to avoid showing two
adjacent alerts saying the same thing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(cert): seed and filter self-signed payloads, validate Name

StringListInput preserves empty placeholder rows for editing; seed
arrays with [''] in toSelfSignedPayload / emptySelfSignedPayload /
emptyForm so the editor always renders an empty row to type into.

Each submit/save path trims and filters the arrays before sending and
now rejects an empty Name client-side to match the new server contract.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* refactor(cert): make SelfSignedCertPayload.name required

Every factory already seeds name as ''; the optional marker forced
defensive (name ?? '').trim() at three call sites. Align the type
with reality.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* refactor(cert): use StringListInput for Custom Domains

Drop the inline multi-row template + add/remove helpers in favour of
the shared StringListInput component, matching the editor used by the
self-signed branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(ui): regenerate components.d.ts for StringListInput

Auto-generated by unplugin-vue-components after the new component
was added under app/src/components/StringListInput/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(cert): render key_type for both legacy and canonical forms

The backend's helper.GetKeyType normalizes key_type to its canonical
form (EC256, RSA2048…) on every write — self-signed generation as well
as the ModifyCert BeforeExecuteHook. The frontend PrivateKeyTypeMask
was keyed only by the legacy form (P256, 2048…), so maskRender returned
"/" for every cert that took a write path through normalization.

Two reported symptoms with the same root cause:
- New self-signed cert always shows "/" in the Key Type column
- Editing any ACME cert (issue #1697) flips its column to "/" after save

Add formatPrivateKeyType / normalizePrivateKeyType helpers that map both
forms to the frontend's legacy key. Use them in the list column renderer
and when loading certs into the self-signed and ACME editor forms so the
ASelect highlights the correct option.

Fixes #1697.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* style(cert): cap self-signed fields width at 600px

The fields stretched full-width inside the certificate editor page; cap
the form at 600px to match AutoCertManagement and keep the editing area
readable. Modal consumers were already bounded by their own width, so
the change is invisible there.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: update translations

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Hintay <hintay@me.com>
2026-05-24 09:22:21 +08:00

8946 lines
288 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 0xJacky <me@jackyu.cn>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2025-05-09 21:33+0800\n"
"Last-Translator: 0xJacky <me@jackyu.cn>\n"
"Language-Team: Chinese (Simplified Han script) "
"<https://weblate.nginxui.com/projects/nginx-ui/frontend/zh_Hans/>\n"
"Language: zh_CN\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"
"X-Generator: Poedit 3.6\n"
"Generated-By: easygettext\n"
#: src/language/generate.ts:37
msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
msgstr "[Nginx UI] ACME 用户:%{name},邮箱:%{email}CA 目录:%{caDir}"
#: src/language/generate.ts:38
msgid "[Nginx UI] Backing up current certificate for later revocation"
msgstr "[Nginx UI] 正在备份当前证书以便后续撤销"
#: src/language/generate.ts:39
msgid "[Nginx UI] Certificate renewed successfully"
msgstr "[Nginx UI] 证书更新成功"
#: src/language/generate.ts:40
msgid "[Nginx UI] Certificate successfully revoked"
msgstr "[Nginx UI] 证书成功撤销"
#: src/language/generate.ts:41
msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
msgstr "[Nginx UI] 证书已用于服务器,正在重新加载服务器 TLS 证书"
#: src/language/generate.ts:42
msgid "[Nginx UI] Creating client facilitates communication with the CA server"
msgstr "[Nginx UI] 正在创建客户端用于与 CA 服务器通信"
#: src/language/generate.ts:43
msgid "[Nginx UI] Environment variables cleaned"
msgstr "[Nginx UI] 环境变量已清理"
#: src/language/generate.ts:44
msgid "[Nginx UI] Finished"
msgstr "[Nginx UI] 已完成"
#: src/language/generate.ts:45
msgid "[Nginx UI] Issued certificate successfully"
msgstr "[Nginx UI] 证书申请成功"
#: src/language/generate.ts:46
msgid "[Nginx UI] Obtaining certificate"
msgstr "[Nginx UI] 正在获取证书"
#: src/language/generate.ts:47
msgid "[Nginx UI] Preparing for certificate revocation"
msgstr "[Nginx UI] 准备撤销证书"
#: src/language/generate.ts:48
msgid "[Nginx UI] Preparing lego configurations"
msgstr "[Nginx UI] 正在准备 lego 配置"
#: src/language/generate.ts:49
msgid "[Nginx UI] Reloading nginx"
msgstr "[Nginx UI] 重新加载 Nginx"
#: src/language/generate.ts:50
msgid "[Nginx UI] Revocation completed"
msgstr "[Nginx UI] 吊销完成"
#: src/language/generate.ts:51
msgid "[Nginx UI] Revoking certificate"
msgstr "[Nginx UI] 正在撤销证书"
#: src/language/generate.ts:52
msgid "[Nginx UI] Revoking old certificate"
msgstr "[Nginx UI] 正在撤销旧证书"
#: src/language/generate.ts:53
msgid "[Nginx UI] Setting DNS01 challenge provider"
msgstr "[Nginx UI] 正在设置 DNS01 验证提供程序"
#: src/language/generate.ts:55
msgid "[Nginx UI] Setting environment variables"
msgstr "[Nginx UI] 正在设置环境变量"
#: src/language/generate.ts:54
msgid "[Nginx UI] Setting HTTP01 challenge provider"
msgstr "[Nginx UI] 正在设置 HTTP01 验证提供程序"
#: src/language/generate.ts:56
msgid "[Nginx UI] Writing certificate private key to disk"
msgstr "[Nginx UI] 正在将证书私钥写入磁盘"
#: src/language/generate.ts:57
msgid "[Nginx UI] Writing certificate to disk"
msgstr "[Nginx UI] 正在将证书写入磁盘"
#: src/views/certificate/components/CertificateBasicInfo.vue:29
#: src/views/certificate/components/CertificateContentEditor.vue:110
msgid "{label} copied to clipboard"
msgstr "{label} 已复制到剪贴板"
#: src/components/SyncNodesPreview/SyncNodesPreview.vue:59
msgid "* Includes nodes from group %{groupName} and manually selected nodes"
msgstr "* 包含来自组 %{groupName} 的节点和手动选择的节点"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:166
msgid ""
"* Index files are stored in the \"log-index\" directory within your Nginx "
"UI config path by default."
msgstr "* 索引文件默认存储在您的 Nginx UI 配置路径下的 \"log-index\" 目录中。"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:215
msgid ""
"* Performance metrics measured on Apple M2 Pro (12-core) with 32GB RAM. "
"Actual performance may vary based on your hardware configuration."
msgstr "* 性能指标基于 Apple M2 Pro (12 核)和 32GB 内存测得。实际性能可能因您的硬件配置而异。"
#: src/views/site/site_list/SiteList.vue:191
msgid "%{count} sites selected"
msgstr "%{count} 个已选站点"
#: src/views/dns/components/DNSChallenge.vue:56
msgid ""
"%{provider} can be used for ACME DNS-01 certificate challenges and DNS "
"record management in DNS Domains."
msgstr "%{provider} 可用于 ACME DNS-01 证书挑战,也可用于 DNS Domains 中的 DNS 记录管理。"
#: src/views/dns/components/DNSChallenge.vue:62
msgid ""
"%{provider} can be used for ACME DNS-01 certificate challenges, but DNS "
"record management in DNS Domains is not supported for this provider."
msgstr "%{provider} 可用于 ACME DNS-01 证书挑战,但 DNS Domains 暂不支持该提供商的 DNS 记录管理。"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:811
msgid "%{start}-%{end} of %{total} items"
msgstr "第 %{start}-%{end} 条,共 %{total} 条"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:48
msgid "1 core minimum"
msgstr "至少 1 核"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:338
#: src/views/site/site_edit/components/RightPanel/DNS.vue:508
#: src/views/site/site_edit/components/RightPanel/DNS.vue:632
msgid "192.168.1.1"
msgstr "192.168.1.1"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:54
msgid "1GB RAM minimum"
msgstr "至少 1GB 内存"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:49
msgid "2+ cores recommended"
msgstr "推荐 2+ 核心"
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:67
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:68
msgid "24-Hour UV/PV Statistics"
msgstr "24 小时 UV/PV 统计"
#: src/views/user/userColumns.tsx:30
msgid "2FA"
msgstr "2FA"
#: src/views/user/UserProfile.vue:146
msgid "2FA Settings"
msgstr "2FA 设置"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:55
msgid "4GB+ RAM recommended"
msgstr "推荐 4GB 以上内存"
#: src/views/dns/DDNSManager.vue:86
msgid ""
"A records at the same names are not managed in IPv6 only mode. They remain "
"unchanged in DNS."
msgstr "在仅 IPv6 模式下,不会管理同名 A 记录。它们在 DNS 中保持不变。"
#: src/components/InspectConfig/InspectConfig.vue:37
msgid "A required include file is missing from the sandbox or source configuration."
msgstr "沙盒或源配置中缺少必需的包含文件。"
#: src/views/dns/DDNSManager.vue:85
msgid ""
"AAAA records at the same names are not managed in IPv4 only mode. They "
"remain unchanged in DNS."
msgstr "在仅 IPv4 模式下,同名的 AAAA 记录不会被管理。它们在 DNS 中保持不变。"
#: src/routes/modules/system.ts:38
msgid "About"
msgstr "关于"
#: src/language/constants.ts:64
msgid "Access Log"
msgstr "访问日志"
#: src/constants/errors/self_check.ts:21
msgid "Access log path not exist"
msgstr "访问日志路径不存在"
#: src/components/NgxConfigEditor/LogEntry.vue:90
#: src/routes/modules/nginx_log.ts:17 src/views/nginx_log/NginxLogList.vue:43
msgid "Access Logs"
msgstr "访问日志"
#: src/routes/modules/certificates.ts:20 src/views/certificate/ACMEUser.vue:140
#: src/views/certificate/components/ACMEUserSelector.vue:64
msgid "ACME User"
msgstr "ACME 用户"
#: src/views/preference/tabs/AuthSettings.vue:27
msgid "Action"
msgstr "操作"
#: src/views/backup/AutoBackup/AutoBackup.vue:273
#: src/views/certificate/ACMEUser.vue:122
#: src/views/certificate/CertificateList/certColumns.tsx:113
#: src/views/config/configColumns.tsx:51
#: src/views/dns/components/DNSRecordTable.vue:42
#: src/views/dns/DDNSManager.vue:180 src/views/dns/DNSCredential.vue:71
#: src/views/dns/DNSDomainList.vue:242 src/views/namespace/columns.ts:97
#: src/views/nginx_log/NginxLogList.vue:338 src/views/node/nodeColumns.tsx:96
#: src/views/notification/notificationColumns.tsx:72
#: src/views/preference/components/ExternalNotify/columns.tsx:85
#: src/views/site/site_list/columns.tsx:160 src/views/stream/columns.tsx:123
#: src/views/user/userColumns.tsx:58
msgid "Actions"
msgstr "操作"
#: src/composables/usePerformanceMetrics.ts:84
#: src/views/dashboard/components/PerformanceTablesCard.vue:44
msgid "Active connections"
msgstr "活跃连接"
#: src/views/dashboard/components/ProcessDistributionCard.vue:48
msgid "Actual worker to configured ratio"
msgstr "实际工作进程与配置比例"
#: src/components/NgxConfigEditor/NgxServer.vue:144
#: src/components/NgxConfigEditor/NgxUpstream.vue:97 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:51
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:119
#: src/views/site/site_list/SiteList.vue:150 src/views/stream/StreamList.vue:81
msgid "Add"
msgstr "添加"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:50
#: src/views/preference/components/AuthSettings/AddPasskey.vue:54
msgid "Add a passkey"
msgstr "添加通行密钥"
#: src/routes/modules/config.ts:20
#: src/views/config/components/ConfigLeftPanel.vue:169
#: src/views/config/components/ConfigLeftPanel.vue:242
msgid "Add Configuration"
msgstr "添加配置"
#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:102
msgid "Add Directive Below"
msgstr "在下面添加指令"
#: src/views/certificate/components/DNSIssueCertificate.vue:197
#: src/views/certificate/components/SelfSignedCertFields.vue:37
msgid "Add Domain"
msgstr "添加域名"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:548
msgid "Add Header"
msgstr "添加标头"
#: src/views/certificate/components/SelfSignedCertFields.vue:44
msgid "Add IP Address"
msgstr "添加 IP 地址"
#: src/components/StringListInput/StringListInput.vue:48
msgid "Add Item"
msgstr "添加项目"
#: src/components/NgxConfigEditor/LocationEditor.vue:143
#: src/components/NgxConfigEditor/LocationEditor.vue:170
msgid "Add Location"
msgstr "添加 Location"
#: src/views/dns/DNSRecordManager.vue:176
msgid "Add Record"
msgstr "添加记录"
#: src/components/NgxConfigEditor/NgxServer.vue:92
msgid "Add Server"
msgstr "添加服务器"
#: src/routes/modules/sites.ts:26 src/views/site/site_add/SiteAdd.vue:167
msgid "Add Site"
msgstr "添加站点"
#: src/views/stream/StreamList.vue:118
msgid "Add Stream"
msgstr "添加 Stream"
#: src/components/NgxConfigEditor/NgxUpstream.vue:118
msgid "Add Upstream"
msgstr "添加上游"
#: src/views/stream/StreamList.vue:50
msgid "Added successfully"
msgstr "添加成功"
#: src/views/dns/components/DNSChallenge.vue:141
msgid "Additional"
msgstr "额外选项"
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:113
#: src/views/stream/components/StreamEditor.vue:80
msgid "Advance Mode"
msgstr "高级模式"
#: src/views/nginx_log/NginxLogList.vue:397
msgid "Advanced indexing enabled but failed to start rebuild"
msgstr "高级索引已启用但未能开始重建"
#: src/views/nginx_log/NginxLogList.vue:388
msgid "Advanced indexing enabled successfully"
msgstr "高级索引已成功启用"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:292
msgid "Advanced log indexing features are free and open source for all users"
msgstr "高级日志索引功能对所有用户免费且开源"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:80
msgid "Advanced memory pooling system"
msgstr "高级内存池系统"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:240
msgid "Advanced search & filtering"
msgstr "高级搜索和筛选"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:622
msgid "Advanced Settings"
msgstr "高级设置"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:105
msgid "Afterwards, refresh this page and click add passkey again."
msgstr "之后,请刷新此页面并再次点击添加通行密钥。"
#: src/views/dns/components/DNSRecordFilter.vue:55
msgid "All"
msgstr "全部"
#: src/views/system/Licenses.vue:152
msgid "All Components"
msgstr "所有组件"
#: src/components/Notification/notifications.ts:201
#: src/language/constants.ts:58
msgid "All Recovery Codes Have Been Used"
msgstr "所有恢复代码已用完"
#: src/views/certificate/components/DNSIssueCertificate.vue:200
msgid ""
"All selected subdomains must belong to the same DNS Provider, otherwise the "
"certificate application will fail."
msgstr "所有选定的子域名必须属于同一 DNS 提供商,否则证书申请将失败。"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:160
msgid ""
"Alternatively, if you cannot download the database, you can manually place "
"GeoLite2-City.mmdb in the same directory as app.ini."
msgstr "或者,如果您无法下载数据库,可以手动将 GeoLite2-City.mmdb 文件放置在与 app.ini 相同的目录中。"
#: src/constants/errors/nginx_log.ts:10
msgid "Analytics service not available"
msgstr "分析服务不可用"
#: src/views/nginx_log/structured/components/SearchFilters.vue:96
msgid "Any"
msgstr "任意"
#: src/components/AutoCertForm/AutoCertForm.vue:209
msgid "Any reachable IP address can be used with private Certificate Authorities"
msgstr "任何可访问的 IP 地址均可用于私有证书颁发机构"
#: src/views/preference/tabs/OpenAISettings.vue:96
msgid "API Base Url"
msgstr "API 地址"
#: src/views/dns/components/DNSChallenge.vue:114
msgid "API Document"
msgstr "API 文档"
#: src/views/preference/tabs/OpenAISettings.vue:107
msgid "API Proxy"
msgstr "API 代理"
#: src/views/preference/tabs/OpenAISettings.vue:119
msgid "API Token"
msgstr "API 令牌"
#: src/views/preference/tabs/OpenAISettings.vue:131
msgid "API Type"
msgstr "API 类型"
#: src/views/preference/Preference.vue:53
msgid "App"
msgstr "应用"
#: src/language/curd.ts:65
msgid "Apply"
msgstr "应用"
#: src/views/system/Upgrade.vue:195
msgid "Arch"
msgstr "架构"
#: src/views/preference/tabs/AuthSettings.vue:126
msgid "Are you sure to delete this banned IP immediately?"
msgstr "您确定要立即删除这个被禁用的 IP 吗?"
#: src/views/dns/DDNSManager.vue:349
msgid "Are you sure to delete this DDNS config?"
msgstr "确定要删除这个 DDNS 配置吗?"
#: src/views/preference/components/AuthSettings/Passkey.vue:114
msgid "Are you sure to delete this passkey immediately?"
msgstr "您确定要立即删除这个 Passkey 吗?"
#: src/views/dns/components/DNSRecordTable.vue:103
msgid "Are you sure to delete this record?"
msgstr "确定要删除这条记录吗?"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:158
msgid "Are you sure to generate new recovery codes?"
msgstr "您确定要生成新的恢复代码吗?"
#: src/views/preference/components/AuthSettings/TOTP.vue:87
msgid "Are you sure to reset 2FA?"
msgstr "您确定要重设双重身份验证?"
#: src/components/Notification/Notification.vue:117
#: src/views/notification/Notification.vue:40
msgid "Are you sure you want to clear all notifications?"
msgstr "您确定要清除所有通知吗?"
#: src/components/LLM/ChatMessageInput.vue:63
msgid "Are you sure you want to clear the record of chat?"
msgstr "你确定你要清除聊天记录吗?"
#: src/language/curd.ts:27
msgid "Are you sure you want to delete permanently?"
msgstr "确定要永久删除吗?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:168
#: src/views/stream/StreamList.vue:101
msgid "Are you sure you want to delete?"
msgstr "您确定要删除吗?"
#: src/components/NamespaceTabs/NamespaceTabs.vue:134
msgid "Are you sure you want to reload Nginx on the following sync nodes?"
msgstr "你确定要在以下同步节点上重载 Nginx?"
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:122
msgid "Are you sure you want to remove this directive?"
msgstr "您确定要删除这条指令?"
#: src/views/preference/tabs/CertSettings.vue:77
msgid "Are you sure you want to remove this item?"
msgstr "您确定要删除这个项目吗?"
#: src/components/NgxConfigEditor/LocationEditor.vue:99
msgid "Are you sure you want to remove this location?"
msgstr "您确定要删除这个 Location"
#: src/components/NamespaceTabs/NamespaceTabs.vue:146
msgid "Are you sure you want to restart Nginx on the following sync nodes?"
msgstr "你确定要在以下同步节点上重启 Nginx 吗?"
#: src/language/curd.ts:26
msgid "Are you sure you want to restore?"
msgstr "您确定要恢复吗?"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Ascending"
msgstr "升序"
#: src/components/LLM/ChatMessage.vue:216
msgid "Assistant"
msgstr "助手"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:60
msgid "At least 20GB available disk space"
msgstr "至少 20GB 可用磁盘空间"
#: src/views/preference/tabs/OpenAISettings.vue:41
msgid ""
"Atlas Cloud is OpenAI-compatible. Use https://api.atlascloud.ai/v1 and an "
"Atlas Cloud API key."
msgstr "Atlas Cloud 兼容 OpenAI。使用 https://api.atlascloud.ai/v1 和 Atlas Cloud API 密钥。"
#: src/components/SelfCheck/SelfCheck.vue:85
msgid "Attempt to fix"
msgstr "尝试修复"
#: src/views/preference/tabs/AuthSettings.vue:18
msgid "Attempts"
msgstr "尝试次数"
#: src/views/preference/Preference.vue:83
msgid "Auth"
msgstr "认证"
#: src/components/TwoFA/Authorization.vue:117
msgid "Authenticate with a passkey"
msgstr "通过 Passkey 认证"
#: src/views/other/Login.vue:289
msgid "Authenticating..."
msgstr "正在验证..."
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:122
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:96
msgid "Author"
msgstr "作者"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43
msgid "Auto"
msgstr "自动"
#: src/views/dashboard/components/PerformanceTablesCard.vue:201
msgid "auto = CPU cores"
msgstr "自动 = CPU 线程数"
#: src/routes/modules/backup.ts:27
#: src/views/backup/AutoBackup/AutoBackup.vue:282
msgid "Auto Backup"
msgstr "自动备份"
#: src/components/Notification/notifications.ts:37
msgid "Auto Backup Completed"
msgstr "自动备份完成"
#: src/components/Notification/notifications.ts:25
msgid "Auto Backup Configuration Error"
msgstr "自动备份配置错误"
#: src/components/Notification/notifications.ts:29
msgid "Auto Backup Failed"
msgstr "自动备份失败"
#: src/components/Notification/notifications.ts:33
msgid "Auto Backup Storage Failed"
msgstr "自动备份存储失败"
#: src/views/nginx_log/NginxLog.vue:101 src/views/node/Node.vue:164
msgid "Auto Refresh"
msgstr "自动刷新"
#: src/views/node/Node.vue:47
msgid "Auto refresh disabled"
msgstr "自动刷新已禁用"
#: src/views/node/Node.vue:43
msgid "Auto refresh enabled"
msgstr "自动刷新已启用"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:93
msgid "Auto-renewal disabled for %{name}"
msgstr "成功关闭 %{name} 自动续签"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:86
msgid "Auto-renewal enabled for %{name}"
msgstr "成功启用 %{name} 自动续签"
#: src/views/certificate/components/RenewCert.vue:47
#: src/views/site/site_edit/components/Cert/IssueCert.vue:103
msgid "AutoCert is running, please wait..."
msgstr "AutoCert 正在运行,请稍候..."
#: src/components/ProcessingStatus/ProcessingStatus.vue:44
msgid "AutoCert is running..."
msgstr "AutoCert 正在运行..."
#: src/views/nginx_log/components/IndexingSettingsModal.vue:260
msgid "Automated log rotation detection"
msgstr "自动日志轮转检测"
#: src/components/SystemRestore/SystemRestoreContent.vue:364
msgid "Automatic Restart"
msgstr "自动重启"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:331
#: src/views/site/site_edit/components/RightPanel/DNS.vue:625
msgid "Automatically extracted from server_name"
msgstr "从 server_name 自动提取"
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:36
msgid "Average Latency"
msgstr "平均延迟"
#: src/views/nginx_log/dashboard/components/SummaryStats.vue:33
msgid "Avg Daily UV"
msgstr "日均 UV"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:793
msgid "Avg/PV"
msgstr "平均/PV"
#: src/views/certificate/components/CertificateActions.vue:22
#: src/views/config/components/ConfigLeftPanel.vue:274
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/dns/DNSRecordManager.vue:230 src/views/nginx_log/NginxLog.vue:129
#: src/views/site/site_add/SiteAdd.vue:250
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:189
#: src/views/stream/components/StreamEditor.vue:147
msgid "Back"
msgstr "返回"
#: src/views/other/Error.vue:22
msgid "Back Home"
msgstr "返回首页"
#: src/language/curd.ts:21
msgid "Back to List"
msgstr "返回列表"
#: src/views/system/Licenses.vue:113 src/views/system/Licenses.vue:187
msgid "Backend"
msgstr "后端"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:570
msgid ""
"Background indexing in progress. Data will be updated automatically when "
"ready."
msgstr "后台索引正在进行中。数据将在准备就绪后自动更新。"
#: src/constants/errors/nginx_log.ts:14
msgid "Background log service not available"
msgstr "后台日志服务不可用"
#: src/routes/modules/backup.ts:11 src/routes/modules/backup.ts:19
msgid "Backup"
msgstr "备份"
#: src/constants/errors/backup.ts:40
msgid "Backup file not found: {0}"
msgstr "未找到备份文件: {0}"
#: src/views/backup/components/BackupCreator.vue:42
msgid "Backup has been downloaded successfully"
msgstr "已成功下载备份"
#: src/constants/errors/backup.ts:61
msgid "Backup integrity verification failed"
msgstr "备份完整性验证失败"
#: src/constants/errors/backup.ts:63
msgid "Backup manifest is missing required file entry: {0}"
msgstr "备份清单缺少必需的文件条目:{0}"
#: src/views/backup/AutoBackup/AutoBackup.vue:50
msgid "Backup Path"
msgstr "备份路径"
#: src/constants/errors/backup.ts:73
msgid "Backup path does not exist: {0}"
msgstr "备份路径不存在: {0}"
#: src/constants/errors/backup.ts:75
msgid "Backup path is not a directory: {0}"
msgstr "备份路径不是目录: {0}"
#: src/constants/errors/backup.ts:65
msgid "Backup path is required for custom directory backup"
msgstr "自定义目录备份需要备份路径"
#: src/views/backup/AutoBackup/components/CronEditor.vue:141
msgid "Backup Schedule"
msgstr "备份计划"
#: src/constants/errors/backup.ts:64
msgid "Backup signing key is unavailable"
msgstr "备份签名密钥不可用"
#: src/components/Notification/notifications.ts:38
msgid "Backup task %{backup_name} completed successfully, file: %{file_path}"
msgstr "备份任务 %{backup_name} 已完成,文件:%{file_path}"
#: src/components/Notification/notifications.ts:34
msgid "Backup task %{backup_name} failed during storage upload, error: %{error}"
msgstr "备份任务 %{backup_name} 在存储上传过程中失败,错误:%{error}"
#: src/components/Notification/notifications.ts:30
msgid "Backup task %{backup_name} failed to execute, error: %{error}"
msgstr "备份任务 %{backup_name} 执行失败,错误:%{error}"
#: src/views/backup/AutoBackup/AutoBackup.vue:24
msgid "Backup Type"
msgstr "备份类型"
#: src/views/preference/tabs/AuthSettings.vue:93
msgid "Ban Threshold Minutes"
msgstr "禁止阈值(分钟)"
#: src/views/preference/tabs/AuthSettings.vue:114
msgid "Banned IPs"
msgstr "禁止 IP 列表"
#: src/views/preference/tabs/AuthSettings.vue:21
msgid "Banned Until"
msgstr "禁用至"
#: src/views/preference/components/ExternalNotify/bark.ts:5
msgid "Bark"
msgstr "Bark"
#: src/views/site/site_add/SiteAdd.vue:173
msgid "Base information"
msgstr "基本信息"
#: src/views/config/components/ConfigRightPanel/ConfigRightPanel.vue:41
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:44
#: src/views/stream/components/RightPanel/RightPanel.vue:31
msgid "Basic"
msgstr "基本"
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:116
#: src/views/stream/components/StreamEditor.vue:83
msgid "Basic Mode"
msgstr "基本模式"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:118
msgid "Basic Settings"
msgstr "基本设置"
#: src/language/curd.ts:32
msgid "Batch Edit"
msgstr "批量编辑"
#: src/language/curd.ts:34
msgid "Batch Modify"
msgstr "批量修改"
#: src/views/node/BatchUpgrader.vue:154
msgid "Batch Upgrade"
msgstr "批量升级"
#: src/language/curd.ts:38
msgid "Belows are selected items that you want to batch modify"
msgstr "以下是您选定的需要批量修改的项目"
#: src/constants/errors/nginx.ts:3
msgid "Block is nil"
msgstr "区块为空"
#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:13
#: src/views/nginx_log/structured/components/SearchFilters.vue:137
#: src/views/nginx_log/structured/StructuredLogViewer.vue:257
#: src/views/nginx_log/structured/StructuredLogViewer.vue:523
msgid "Browser"
msgstr "浏览器"
#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:36
msgid "Browser Statistics"
msgstr "浏览器统计"
#: src/views/dns/DNSDomainList.vue:288
msgid "Business contact:"
msgstr "商务联系:"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:314
msgid ""
"By enabling advanced indexing, you acknowledge that your system meets the "
"requirements and understand the performance implications. This will start "
"indexing existing log files immediately."
msgstr "启用高级索引即表示您确认系统满足要求并了解性能影响。这将立即开始对现有日志文件进行索引。"
#: src/views/certificate/ACMEUser.vue:39
msgid "CA Dir"
msgstr "CA 目录"
#: src/views/dashboard/components/ParamsOptimization.vue:125
msgid "Cache"
msgstr "缓存"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:177
msgid "Cache items not accessed within this time will be removed"
msgstr "在此时间内未被访问的缓存项目将被移除"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:349
msgid "Cache loader processing time threshold"
msgstr "缓存加载器处理时间阈值"
#: src/composables/usePerformanceMetrics.ts:139
#: src/views/dashboard/components/PerformanceTablesCard.vue:95
msgid "Cache manager processes"
msgstr "缓存管理器进程数"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:287
msgid "Cache manager processing time threshold"
msgstr "缓存管理器处理时间阈值"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:245
msgid "Cache Manager Settings"
msgstr "缓存管理器设置"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:123
msgid "Cache Path"
msgstr "缓存路径"
#: src/composables/usePerformanceMetrics.ts:57
#: src/views/dashboard/components/ProcessDistributionCard.vue:14
msgid "Cache Processes"
msgstr "缓存进程数"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:136
msgid "Cache subdirectory levels structure, e.g. 1:2"
msgstr "缓存子目录级别结构,如 1:2"
#: src/views/preference/tabs/CertSettings.vue:20
msgid "CADir"
msgstr "CADir"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
#: src/views/dashboard/components/PerformanceTablesCard.vue:191
msgid ""
"Calculated based on worker_processes * worker_connections. Actual "
"performance depends on hardware, configuration, and workload"
msgstr "基于 worker_processes * worker_connections 计算得出。实际性能取决于硬件、配置和工作负载"
#: src/components/LLM/ChatMessage.vue:245
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:32 src/language/curd.ts:37
#: src/views/config/components/Delete.vue:98
#: src/views/dashboard/components/SiteHealthCheckModal.vue:710
#: src/views/dns/DDNSManager.vue:438 src/views/dns/DNSRecordManager.vue:219
#: src/views/nginx_log/components/IndexingSettingsModal.vue:101
#: src/views/nginx_log/indexing/IndexManagement.vue:33
#: src/views/nginx_log/indexing/IndexManagement.vue:59
#: src/views/preference/components/AuthSettings/Passkey.vue:142
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:53
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:143
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:21
#: src/views/site/site_list/SiteList.vue:102
#: src/views/stream/components/StreamStatusSelect.vue:62
msgid "Cancel"
msgstr "取消"
#: src/constants/errors/backup.ts:74
msgid "Cannot access backup path {0}: {1}"
msgstr "无法访问备份路径 {0}{1}"
#: src/constants/errors/nginx_log.ts:13
msgid "Cannot access log file"
msgstr "无法访问日志文件"
#: src/constants/errors/backup.ts:77
msgid "Cannot access storage path {0}: {1}"
msgstr "无法访问存储路径 {0}{1}"
#: src/constants/errors/user.ts:11
msgid "Cannot change initial user password in demo mode"
msgstr "不可在 Demo 中修改初始用户的密码"
#: src/components/ConfigHistory/DiffViewer.vue:71
msgid "Cannot compare: Missing content"
msgstr "无法比较:内容缺失"
#: src/constants/errors/config.ts:10
msgid "Cannot delete protected path"
msgstr "无法删除受保护的路径"
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:135
msgid "Cannot delete server_name while DNS is linked. Clear DNS link first."
msgstr "DNS 链接时无法删除 server_name。请先清除 DNS 链接。"
#: src/constants/errors/config.ts:13
msgid "Cannot delete the nginx config directory"
msgstr "无法删除 nginx 配置目录"
#: src/views/dashboard/NginxDashBoard.vue:154
msgid "Cannot get performance data in this state"
msgstr "在此状态下无法获取性能数据"
#: src/constants/errors/user.ts:10
msgid "Cannot remove initial user"
msgstr "不可删除初始用户"
#: src/views/preference/Preference.vue:89
msgid "Cert"
msgstr "证书"
#: src/constants/errors/cert.ts:3
msgid "Cert path is not under the nginx conf dir"
msgstr "证书路径不在 Nginx 配置目录下"
#: src/views/certificate/components/CertificateFileUpload.vue:121
#: src/views/certificate/components/CertificateFileUpload.vue:45
msgid "certificate"
msgstr "证书"
#: src/components/Notification/notifications.ts:50
msgid "Certificate %{name} has expired"
msgstr "证书 %{name} 已过期"
#: src/components/Notification/notifications.ts:46
msgid "Certificate %{name} renewal failed: %{error}"
msgstr "证书 %{name} 续期失败:%{error}"
#: src/components/Notification/notifications.ts:42
msgid "Certificate %{name} renewed successfully"
msgstr "证书 %{name} 续期成功"
#: src/components/Notification/notifications.ts:54
#: src/components/Notification/notifications.ts:58
#: src/components/Notification/notifications.ts:62
msgid "Certificate %{name} will expire in %{days} days"
msgstr "证书 %{name} 将在 %{days} 天后过期"
#: src/components/Notification/notifications.ts:66
msgid "Certificate %{name} will expire in 1 day"
msgstr "证书 %{name} 将在 1 天后过期"
#: src/views/certificate/components/CertificateDownload.vue:37
msgid "Certificate content and private key content cannot be empty"
msgstr "证书内容和私钥内容不能为空"
#: src/constants/errors/cert.ts:4
msgid "Certificate decode error"
msgstr "证书解码错误"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:54
msgid "Certificate directives added to the editor; review and save when ready."
msgstr "证书指令已添加到编辑器中;准备就绪后请检查并保存。"
#: src/components/Notification/notifications.ts:53
msgid "Certificate Expiration Notice"
msgstr "证书到期通知"
#: src/components/Notification/notifications.ts:49
msgid "Certificate Expired"
msgstr "证书已过期"
#: src/components/Notification/notifications.ts:57
#: src/components/Notification/notifications.ts:61
#: src/components/Notification/notifications.ts:65
msgid "Certificate Expiring Soon"
msgstr "证书即将过期"
#: src/views/certificate/components/CertificateDownload.vue:71
msgid "Certificate files downloaded successfully"
msgstr "证书文件下载成功"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:57
msgid "Certificate issuance component is not ready"
msgstr "证书签发组件未就绪"
#: src/views/certificate/components/RetryCert.vue:33
msgid "Certificate issued successfully"
msgstr "证书签发成功"
#: src/views/certificate/components/CertificateDownload.vue:42
msgid "Certificate name cannot be empty"
msgstr "证书名称不能为空"
#: src/language/generate.ts:4
msgid "Certificate not found: %{error}"
msgstr "未找到证书:%{error}"
#: src/constants/errors/cert.ts:5
msgid "Certificate parse error"
msgstr "证书解析错误"
#: src/constants/errors/cert.ts:8
msgid "Certificate path is empty"
msgstr "证书路径为空"
#: src/views/certificate/components/RemoveCert.vue:52
#: src/views/certificate/components/RemoveCert.vue:72
msgid "Certificate removed successfully"
msgstr "证书已成功移除"
#: src/views/preference/tabs/CertSettings.vue:33
msgid "Certificate Renewal Interval"
msgstr "证书续期间隔"
#: src/language/constants.ts:21
msgid "Certificate renewed successfully"
msgstr "证书更新成功"
#: src/language/generate.ts:5
msgid "Certificate revoked successfully"
msgstr "证书撤销成功"
#: src/views/certificate/components/AutoCertManagement.vue:67
#: src/views/certificate/components/SelfSignedCertManagement.vue:25
#: src/views/site/site_edit/components/Cert/Cert.vue:59
msgid "Certificate Status"
msgid_plural "Certificates Status"
msgstr[0] "证书状态"
#: src/views/certificate/components/DNSIssueCertificate.vue:168
msgid "Certificate Type"
msgstr "证书类型"
#: src/routes/modules/certificates.ts:11
#: src/views/certificate/CertificateList/Certificate.vue:20
msgid "Certificates"
msgstr "证书"
#: src/routes/modules/certificates.ts:28
msgid "Certificates List"
msgstr "证书列表"
#: src/constants/errors/cert.ts:17
msgid "Challenge error: {0}"
msgstr "验证错误:{0}"
#: src/components/AutoCertForm/AutoCertForm.vue:218
msgid "Challenge Method"
msgstr "挑战方法"
#: src/views/site/site_edit/components/Cert/ChangeCert.vue:51
#: src/views/site/site_edit/components/Cert/ChangeCert.vue:55
msgid "Change Certificate"
msgstr "更改证书"
#: src/views/user/UserProfile.vue:176
msgid "Change Password"
msgstr "更改密码"
#: src/views/site/site_edit/components/Cert/Cert.vue:78
msgid "Changed Certificate"
msgid_plural "Changed Certificates"
msgstr[0] "变更证书"
#: src/views/config/components/ConfigRightPanel/Basic.vue:47
msgid "Changed Path"
msgstr "变更后的路径"
#: src/views/node/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:207
msgid "Channel"
msgstr "通道"
#: src/views/config/components/ConfigRightPanel/ConfigRightPanel.vue:50
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:57
#: src/views/stream/components/RightPanel/RightPanel.vue:34
msgid "Chat"
msgstr "聊天"
#: src/components/LLM/LLM.vue:63
msgid "Chat for %{path}"
msgstr "%{path} 的聊天"
#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:40
#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:64
msgid "Check"
msgstr "检查"
#: src/views/system/Upgrade.vue:204
msgid "Check again"
msgstr "重新检查"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:670
msgid "Check Favicon"
msgstr "检查网站图标"
#: src/language/generate.ts:6
msgid ""
"Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
"Docker Image, please make sure the docker socket is mounted like this: `-v "
"/var/run/docker.sock:/var/run/docker.sock`. Nginx UI official image uses "
"/var/run/docker.sock to communicate with the host Docker Engine via Docker "
"Client API. This feature is used to control Nginx in another container and "
"perform container replacement rather than binary replacement during OTA "
"upgrades of Nginx UI to ensure container dependencies are also upgraded. If "
"you don't need this feature, please add the environment variable "
"NGINX_UI_IGNORE_DOCKER_SOCKET=true to the container."
msgstr ""
"检查 /var/run/docker.sock 是否存在。如果您使用的是 Nginx UI 官方 Docker 镜像,请确保以这种方式挂载 "
"Docker 套接字:`-v /var/run/docker.sock:/var/run/docker.sock`。Nginx UI 官方镜像使用 "
"/var/run/docker.sock 通过 Docker Client API 与主机 Docker Engine "
"通信。此功能用于在另一个容器中控制 Nginx,并在 Nginx UI 的 OTA "
"升级期间执行容器替换而非二进制替换,以确保容器依赖项也得到升级。如果您不需要此功能,请向容器添加环境变量 "
"NGINX_UI_IGNORE_DOCKER_SOCKET=true。"
#: src/components/SelfCheck/tasks/frontend/https-check.ts:14
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features"
msgstr "检查是否启用了 HTTPS。在本地主机之外使用 HTTP 是不安全的,这也会导致无法使用 Passkey 和剪贴板功能"
#: src/language/generate.ts:8
msgid "Check if the conf.d directory is under the nginx configuration directory"
msgstr "检查 conf.d 目录是否位于 nginx 配置目录下"
#: src/language/generate.ts:7
msgid ""
"Check if the GeoLite2 database is available when log indexing is enabled. "
"The GeoLite2 database is required for geographic IP analysis in log "
"indexing. You can download it from the Preference page or manually place "
"GeoLite2-City.mmdb in the same directory as app.ini"
msgstr ""
"当启用日志索引时,检查 GeoLite2 数据库是否可用。GeoLite2 数据库是日志索引中地理 IP "
"分析所必需的。您可以在偏好设置页面下载它,或者手动将 GeoLite2-City.mmdb 放在与 app.ini 相同的目录中"
#: src/language/generate.ts:10
msgid ""
"Check if the nginx access log path exists. By default, this path is "
"obtained from 'nginx -V'. If it cannot be obtained or the obtained path "
"does not point to a valid, existing file, an error will be reported. In "
"this case, you need to modify the configuration file to specify the access "
"log path.Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#accesslogpath"
msgstr ""
"检查 nginx 访问日志路径是否存在。默认情况下,此路径从 'nginx -V' "
"获取。如果无法获取或获取的路径未指向有效的现有文件,将报告错误。在这种情况下,您需要修改配置文件以指定访问日志路径。更多详情请参阅文档:https://"
"nginxui.com/zh_CN/guide/config-nginx.html#accesslogpath"
#: src/language/generate.ts:11
msgid "Check if the nginx configuration directory exists"
msgstr "检查 Nginx 配置目录是否存在"
#: src/language/generate.ts:12
msgid "Check if the nginx configuration entry file exists"
msgstr "检查 nginx 配置入口文件是否存在"
#: src/language/generate.ts:13
msgid ""
"Check if the nginx error log path exists. By default, this path is obtained "
"from 'nginx -V'. If it cannot be obtained or the obtained path does not "
"point to a valid, existing file, an error will be reported. In this case, "
"you need to modify the configuration file to specify the error log path. "
"Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#errorlogpath"
msgstr ""
"检查 nginx 错误日志路径是否存在。默认情况下,该路径从 'nginx -V' "
"获取。如果无法获取或获取的路径未指向有效的现有文件,将报错。此时需要修改配置文件以指定错误日志路径。详情请参阅文档:https://nginxui."
"com/zh_CN/guide/config-nginx.html#errorlogpath"
#: src/language/generate.ts:9
msgid ""
"Check if the nginx PID path exists. By default, this path is obtained from "
"'nginx -V'. If it cannot be obtained, an error will be reported. In this "
"case, you need to modify the configuration file to specify the Nginx PID "
"path.Refer to the docs for more details: "
"https://nginxui.com/zh_CN/guide/config-nginx.html#pidpath"
msgstr ""
"检查 Nginx PID 路径是否存在。默认情况下,该路径是从 'nginx -V' "
"获取的。如果无法获取,将会报错。在这种情况下,您需要修改配置文件以指定 Nginx PID "
"路径。更多详情请参阅文档:https://nginxui.com/zh_CN/guide/config-nginx.html#pidpath"
#: src/language/generate.ts:14
msgid "Check if the nginx sbin path exists"
msgstr "检查 nginx sbin 路径是否存在"
#: src/language/generate.ts:15
msgid "Check if the nginx.conf includes the conf.d directory"
msgstr "检查 nginx.conf 是否包含 conf.d 目录"
#: src/language/generate.ts:16
msgid "Check if the nginx.conf includes the sites-enabled directory"
msgstr "检查 nginx.conf 是否包含 sites-enabled 目录"
#: src/language/generate.ts:17
msgid "Check if the nginx.conf includes the streams-enabled directory"
msgstr "检查 nginx.conf 是否包含 streams-enabled 的目录"
#: src/language/generate.ts:18
msgid ""
"Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory"
msgstr "检查 sites-available 和 sites-enabled 目录是否位于 Nginx 配置目录下"
#: src/language/generate.ts:19
msgid ""
"Check if the streams-available and streams-enabled directories are under "
"the nginx configuration directory"
msgstr "检查 Nginx 配置目录下是否有 streams-available 和 streams-enabled 目录"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:625
msgid "Check Interval (seconds)"
msgstr "检查间隔(秒)"
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:212
#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:47
msgid "China Access Map"
msgstr "中国访问地图"
#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:34
msgid "China Map"
msgstr "中国地图"
#: src/constants/errors/crypto.ts:3
msgid "Cipher text is too short"
msgstr "密码文本太短"
#: src/views/dns/DDNSManager.vue:393
msgid "Clean up conflicting records"
msgstr "清理冲突记录"
#: src/language/constants.ts:13
msgid "Cleaning environment variables"
msgstr "正在清理环境变量"
#: src/components/LLM/ChatMessageInput.vue:67
#: src/components/Notification/Notification.vue:122
#: src/views/notification/Notification.vue:45
#: src/views/site/site_edit/components/RightPanel/DNS.vue:480
msgid "Clear"
msgstr "清空"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:538
msgid "Clear Link"
msgstr "清除链接"
#: src/components/Notification/Notification.vue:75
#: src/views/notification/Notification.vue:13
msgid "Cleared successfully"
msgstr "清除成功"
#: src/components/SystemRestore/SystemRestoreContent.vue:220
#: src/components/SystemRestore/SystemRestoreContent.vue:303
msgid "Click or drag backup file to this area to upload"
msgstr "单击或拖动备份文件到此区域上传"
#: src/language/curd.ts:51 src/language/curd.ts:55
msgid "Click or drag files to this area to upload"
msgstr "点击或拖拽文件到此处上传"
#: src/language/curd.ts:52 src/language/curd.ts:56
msgid "Click or drag folders to this area to upload"
msgstr "点击或拖拽文件夹到此处上传"
#: src/views/preference/components/AuthSettings/TOTP.vue:112
msgid "Click to copy"
msgstr "点击复制"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:124
msgid "Client Body Buffer Size"
msgstr "客户端请求体缓冲区大小"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:692
msgid "Client Certificate"
msgstr "客户端证书"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:114
msgid "Client Error Responses (4xx)"
msgstr "客户端错误响应 (4xx)"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:117
msgid "Client Header Buffer Size"
msgstr "客户端请求头缓冲区大小"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:697
msgid "Client Key"
msgstr "客户端密钥"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:110
msgid "Client Max Body Size"
msgstr "客户端最大请求体大小"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:125
msgid "Client request body buffer size"
msgstr "客户端请求体缓冲区大小"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:118
msgid "Client request header buffer size"
msgstr "客户端请求头缓冲区大小"
#: src/components/ConfigHistory/ConfigHistory.vue:179 src/language/curd.ts:14
msgid "Close"
msgstr "关闭"
#: src/components/PortScanner/PortScannerCompact.vue:45
msgid "Closed"
msgstr "已关闭"
#: src/constants/errors/llm.ts:2
msgid "Code completion is not enabled"
msgstr "代码补全未启用"
#: src/views/preference/tabs/OpenAISettings.vue:150
msgid "Code Completion Model"
msgstr "代码补全模型"
#: src/language/curd.ts:71
msgid "Collapse"
msgstr "折叠"
#: src/language/curd.ts:64
msgid "Column Settings"
msgstr "列设置"
#: src/views/preference/tabs/LogrotateSettings.vue:23
msgid "Command"
msgstr "命令"
#: src/constants/errors/docker.ts:6
msgid "Command exited with unexpected exit code: {0}, error: {1}"
msgstr "命令以意外退出代码结束:{0},错误:{1}"
#: src/views/dns/components/DNSRecordForm.vue:91
#: src/views/dns/components/DNSRecordTable.vue:49
msgid "Comment"
msgstr "注释"
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:150
#: src/components/NgxConfigEditor/LocationEditor.vue:116
#: src/components/NgxConfigEditor/LocationEditor.vue:147
#: src/components/NgxConfigEditor/NgxServer.vue:123
msgid "Comments"
msgstr "注释"
#: src/components/ConfigHistory/ConfigHistory.vue:136
msgid "Compare"
msgstr "比较"
#: src/components/ConfigHistory/DiffViewer.vue:372
msgid "Compare Configurations"
msgstr "配置比较"
#: src/components/ConfigHistory/ConfigHistory.vue:139
msgid "Compare Selected"
msgstr "比较选定"
#: src/components/ConfigHistory/ConfigHistory.vue:138
msgid "Compare with Current"
msgstr "与当前的比较"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:70
msgid "Complete indexing with search capabilities"
msgstr "具备搜索功能的完整索引"
#: src/views/system/Licenses.vue:144
msgid "components"
msgstr "组件"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:268
msgid "Compressed log file support"
msgstr "压缩日志文件支持"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88
msgid "Compression level, 1 is lowest, 9 is highest"
msgstr "压缩级别,1 为最低,9 为最高"
#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:54
msgid "Computing Statistics"
msgstr "计算统计信息"
#: src/language/generate.ts:20
msgid "Conf.d directory exists"
msgstr "conf.d 目录存在"
#: src/constants/errors/self_check.ts:23
msgid "Conf.d directory not exists"
msgstr "Conf.d 目录不存在"
#: src/views/preference/components/ExternalNotify/columns.tsx:58
msgid "Config"
msgstr "配置"
#: src/constants/errors/self_check.ts:17
msgid "Config directory not exist"
msgstr "配置目录不存在"
#: src/constants/errors/self_check.ts:18
msgid "Config entry file not exist"
msgstr "配置入口文件不存在"
#: src/constants/errors/user.ts:15
msgid "Config not found"
msgstr "未找到配置"
#: src/constants/errors/backup.ts:16
msgid "Config path is empty"
msgstr "配置路径为空"
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:53
msgid "Config Template"
msgstr "配置模板"
#: src/views/dns/DNSCredential.vue:52
msgid "Configuration"
msgstr "配置"
#: src/components/InspectConfig/InspectConfig.vue:150
msgid "Configuration file is test successful"
msgstr "配置文件测试成功"
#: src/components/InspectConfig/InspectConfig.vue:149
msgid "Configuration file is test successful in isolated sandbox"
msgstr "配置文件在隔离的沙箱中测试成功"
#: src/components/ConfigHistory/ConfigHistory.vue:147
msgid "Configuration History"
msgstr "配置历史记录"
#: src/views/dashboard/components/PerformanceTablesCard.vue:168
msgid "Configuration information"
msgstr "配置信息"
#: src/views/site/site_add/SiteAdd.vue:180
msgid "Configuration Name"
msgstr "配置名称"
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "配置"
#: src/views/dns/DDNSManager.vue:346
msgid "Configure"
msgstr "配置"
#: src/views/dns/DDNSManager.vue:374
msgid "Configure DDNS"
msgstr "配置 DDNS"
#: src/views/site/site_add/SiteAdd.vue:175
msgid "Configure SSL"
msgstr "配置 SSL"
#: src/language/curd.ts:66
msgid "Confirm Delete"
msgstr "确认删除"
#: src/views/user/UserProfile.vue:199
msgid "Confirm New Password"
msgstr "确认新密码"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:313
msgid "Confirmation Required"
msgstr "需要确认"
#: src/views/dashboard/components/NodeAnalyticItem.vue:82
#: src/views/dashboard/components/SiteNavigationToolbar.vue:35
msgid "Connected"
msgstr "已连接"
#: src/views/dashboard/NginxDashBoard.vue:100
msgid "Connection error, trying to reconnect..."
msgstr "连接错误,正在尝试重新连接..."
#: src/views/terminal/components/TerminalSessionContent.vue:38
msgid "Connection lost for this terminal. Please refresh if needed."
msgstr "此终端连接已断开。请根据需要刷新。"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61
msgid "Connection timeout period"
msgstr "连接超时期限"
#: src/constants/errors/docker.ts:7
msgid "Container status unknown"
msgstr "容器状态未知"
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:155
#: src/components/NgxConfigEditor/LocationEditor.vue:128
#: src/components/NgxConfigEditor/LocationEditor.vue:156
msgid "Content"
msgstr "内容"
#: src/components/SensitiveString/SensitiveInput.vue:62
#: src/components/SensitiveString/SensitiveString.vue:71
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:125
msgid "Copied"
msgstr "已拷贝"
#: src/views/backup/components/BackupCreator.vue:128
msgid "Copied!"
msgstr "已拷贝!"
#: src/components/SensitiveString/SensitiveInput.vue:85
#: src/components/SensitiveString/SensitiveString.vue:100
#: src/views/backup/components/BackupCreator.vue:128
msgid "Copy"
msgstr "拷贝"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:125
msgid "Copy Codes"
msgstr "复制代码"
#: src/views/system/Upgrade.vue:162
msgid "Core Upgrade"
msgstr "核心升级"
#: src/constants/errors/docker.ts:15
msgid "Could not find old container name"
msgstr "找不到旧容器名称"
#: src/constants/errors/docker.ts:16
msgid "Could not find temp container"
msgstr "找不到临时容器"
#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:18
#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:98
#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:17
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:100
#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:18
msgid "Count"
msgstr "计数"
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:207
msgid "Country / Region"
msgstr "国家 / 地区"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:47
msgid "CPU"
msgstr "CPU"
#: src/views/dashboard/ServerAnalytic.vue:309
msgid "CPU Status"
msgstr "CPU 状态"
#: src/views/dashboard/components/ResourceUsageCard.vue:27
msgid "CPU Usage"
msgstr "CPU 占用率"
#: src/views/dashboard/components/ResourceUsageCard.vue:38
msgid "CPU usage is relatively high, consider optimizing Nginx configuration"
msgstr "CPU 使用率相对较高,请考虑优化 Nginx 配置"
#: src/views/dashboard/ServerAnalytic.vue:200
msgid "CPU:"
msgstr "CPU:"
#: src/views/site/site_add/SiteAdd.vue:267
msgid "Create Another"
msgstr "再创建一个"
#: src/views/backup/components/BackupCreator.vue:86
msgid "Create Backup"
msgstr "创建备份"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:365
#: src/views/site/site_edit/components/RightPanel/DNS.vue:659
msgid "Create DNS Record"
msgstr "创建 DNS 记录"
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "创建文件"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "创建文件夹"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:305
#: src/views/site/site_edit/components/RightPanel/DNS.vue:599
msgid "Create new DNS record"
msgstr "创建新的 DNS 记录"
#: src/views/dns/DNSRecordManager.vue:206
msgid "Create Record"
msgstr "创建记录"
#: src/views/backup/components/BackupCreator.vue:75
msgid ""
"Create system backups including Nginx configuration and Nginx UI settings. "
"Backup files will be automatically downloaded to your computer."
msgstr "创建系统备份,包括 Nginx 配置和 Nginx UI 设置。备份文件将自动下载到你的电脑。"
#: src/views/backup/AutoBackup/AutoBackup.vue:229
#: src/views/namespace/columns.ts:85
#: src/views/notification/notificationColumns.tsx:51
#: src/views/preference/components/AuthSettings/Passkey.vue:96
#: src/views/preference/components/ExternalNotify/columns.tsx:80
#: src/views/user/userColumns.tsx:46
msgid "Created at"
msgstr "创建时间"
#: src/views/config/components/Mkdir.vue:35
msgid "Created successfully"
msgstr "创建成功"
#: src/language/constants.ts:9
msgid "Creating client facilitates communication with the CA server"
msgstr "正在创建客户端用于与 CA 服务器通信"
#: src/components/AutoCertForm/DNSChallenge.vue:130
#: src/views/dns/DDNSManager.vue:154 src/views/dns/DNSDomainList.vue:139
msgid "Credential"
msgstr "DNS 凭证"
#: src/routes/modules/dns.ts:20 src/views/dns/components/DNSChallenge.vue:130
msgid "Credentials"
msgstr "凭证"
#: src/views/backup/AutoBackup/components/CronEditor.vue:194
msgid "Cron Expression"
msgstr "Cron 表达式"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:264
msgid "Cross-file timeline correlation"
msgstr "跨文件时间线关联"
#: src/views/preference/components/AuthSettings/TOTP.vue:74
msgid "Current account is enabled TOTP."
msgstr "当前账户已启用 TOTP 验证。"
#: src/views/preference/components/AuthSettings/TOTP.vue:72
msgid "Current account is not enabled TOTP."
msgstr "当前用户未启用 TOTP 验证。"
#: src/views/dashboard/components/ConnectionMetricsCard.vue:27
msgid "Current active connections"
msgstr "当前活动连接"
#: src/components/ConfigHistory/DiffViewer.vue:57
msgid "Current Content"
msgstr "当前内容"
#: src/views/user/UserProfile.vue:181
msgid "Current Password"
msgstr "当前密码"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:65
msgid "Current usage"
msgstr "当前用量"
#: src/views/system/Upgrade.vue:182
msgid "Current Version"
msgstr "当前版本"
#: src/components/NgxConfigEditor/NgxConfigEditor.vue:33
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:129
msgid "Custom"
msgstr "自定义"
#: src/views/backup/AutoBackup/components/CronEditor.vue:131
msgid "Custom cron expression"
msgstr "自定义 cron 表达式"
#: src/views/backup/AutoBackup/AutoBackup.vue:29
#: src/views/backup/AutoBackup/AutoBackup.vue:41
msgid "Custom Directory"
msgstr "自定义目录"
#: src/views/certificate/components/DNSIssueCertificate.vue:193
msgid "Custom Domains"
msgstr "自定义域名"
#: src/views/certificate/components/DNSIssueCertificate.vue:174
msgid "Custom Domains Certificate"
msgstr "自定义域名证书"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:533
msgid "Custom Headers"
msgstr "自定义标头"
#: src/views/preference/tabs/NodeSettings.vue:19
msgid ""
"Customize the name of local node to be displayed in the environment "
"indicator."
msgstr "自定义显示在环境指示器中的本地服务器名称。"
#: src/views/backup/AutoBackup/components/CronEditor.vue:19
msgid "Daily"
msgstr "每日"
#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:41
msgid "Daily Access Trends"
msgstr "每日访问趋势"
#: src/views/backup/AutoBackup/AutoBackup.vue:128
msgid "Daily at %{time}"
msgstr "每天 %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:69 src/views/nginx_log/NginxLog.vue:93
msgid "Dashboard"
msgstr "仪表盘"
#: src/views/nginx_log/dashboard/components/DailyTrendsChart.vue:71
msgid "Date"
msgstr "日期"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:39
msgid "Date Range"
msgstr "日期范围"
#: src/views/backup/AutoBackup/components/CronEditor.vue:184
msgid "Day of Month"
msgstr "月中的某天"
#: src/views/backup/AutoBackup/components/CronEditor.vue:180
msgid "Day of Week"
msgstr "星期几"
#: src/views/preference/tabs/CertSettings.vue:38
msgid "Days"
msgstr "天"
#: src/constants/errors/user.ts:16
msgid "Db file not found"
msgstr "数据库文件未找到"
#: src/routes/modules/dns.ts:36
msgid "DDNS"
msgstr "DDNS"
#: src/views/dns/DDNSManager.vue:266
msgid "DDNS config deleted"
msgstr "DDNS 配置已删除"
#: src/views/dns/DDNSManager.vue:285
msgid "DDNS Overview"
msgstr "DDNS 概览"
#: src/views/dns/DDNSManager.vue:239
msgid "DDNS saved"
msgstr "DDNS 已保存"
#: src/constants/errors/geolite.ts:12
msgid "Decompression succeeded but failed to delete compressed file: {0}"
msgstr "解压成功但删除压缩文件失败: {0}"
#: src/constants/errors/middleware.ts:3
msgid "Decryption failed"
msgstr "解密失败"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:847
msgid "Default range"
msgstr "默认范围"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:149
msgid "Define shared memory zone name and size, e.g. proxy_cache:10m"
msgstr "定义共享内存区名称和大小,例如 proxy_cache:10m"
#: src/components/LLM/LLMSessionTabs.vue:293
#: src/components/LLM/LLMSessionTabs.vue:384
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:78 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:100
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/dns/components/DNSRecordTable.vue:107
#: src/views/dns/DDNSManager.vue:363 src/views/site/site_list/SiteList.vue:177
#: src/views/stream/StreamList.vue:110
msgid "Delete"
msgstr "删除"
#: src/components/Notification/notifications.ts:94
msgid "Delete %{path} on %{node_name} failed"
msgstr "删除 %{node_name} 上的 %{path} 失败"
#: src/components/Notification/notifications.ts:98
msgid "Delete %{path} on %{node_name} successfully"
msgstr "在 %{node_name} 上成功删除 %{path}"
#: src/views/certificate/components/RemoveCert.vue:105
msgid "Delete Certificate"
msgstr "删除证书"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "删除确认"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "彻底删除"
#: src/components/Notification/notifications.ts:93
msgid "Delete Remote Config Error"
msgstr "删除远程配置错误"
#: src/components/Notification/notifications.ts:97
msgid "Delete Remote Config Success"
msgstr "远程配置删除成功"
#: src/components/Notification/notifications.ts:105
#: src/language/constants.ts:50
msgid "Delete Remote Site Error"
msgstr "删除远程站点错误"
#: src/components/Notification/notifications.ts:109
#: src/language/constants.ts:49
msgid "Delete Remote Site Success"
msgstr "删除远程站点成功"
#: src/components/Notification/notifications.ts:161
msgid "Delete Remote Stream Error"
msgstr "删除远程 Stream 错误"
#: src/components/Notification/notifications.ts:165
msgid "Delete Remote Stream Success"
msgstr "删除远程 Stream 成功"
#: src/components/Notification/notifications.ts:106
msgid "Delete site %{name} from %{node} failed"
msgstr "部署 %{name} 到 %{node} 失败"
#: src/components/Notification/notifications.ts:110
msgid "Delete site %{name} from %{node} successfully"
msgstr "成功从 %{node} 中删除站点 %{name}"
#: src/views/site/site_list/SiteList.vue:33
msgid "Delete site: %{site_name}"
msgstr "删除站点: %{site_name}"
#: src/components/Notification/notifications.ts:162
msgid "Delete stream %{name} from %{node} failed"
msgstr "从 %{node} 删除 Stream %{name} 失败"
#: src/components/Notification/notifications.ts:166
msgid "Delete stream %{name} from %{node} successfully"
msgstr "已成功从 %{node} 删除 Stream %{name}"
#: src/views/stream/StreamList.vue:25
msgid "Delete stream: %{stream_name}"
msgstr "删除 Stream: %{stream_name}"
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "删除成功"
#: src/views/preference/tabs/NodeSettings.vue:28
msgid "Demo"
msgstr "Demo"
#: src/views/terminal/Terminal.vue:212
msgid ""
"Demo mode is enabled. This terminal only allows a small set of safe "
"read-only commands."
msgstr "演示模式已启用。此终端仅允许执行少量安全的只读命令。"
#: src/views/config/components/ConfigRightPanel/Basic.vue:60
msgid "Deploy"
msgstr "部署"
#: src/views/namespace/columns.ts:72
msgid "Deploy Mode"
msgstr "部署模式"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Descending"
msgstr "降序"
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:123
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:99
msgid "Description"
msgstr "描述"
#: src/constants/errors/site.ts:3 src/constants/errors/stream.ts:3
msgid "Destination file already exists"
msgstr "目标文件已存在"
#: src/constants/errors/config.ts:7
msgid "Destination file: {0} already exists"
msgstr "目标文件: {0} 已存在"
#: src/views/notification/notificationColumns.tsx:66
msgid "Details"
msgstr "详情"
#: src/views/system/Upgrade.vue:216
msgid "Dev"
msgstr "开发版"
#: src/views/node/BatchUpgrader.vue:172
msgid "Development"
msgstr "开发"
#: src/views/system/About.vue:28
msgid "Development Mode"
msgstr "开发模式"
#: src/views/nginx_log/structured/components/SearchFilters.vue:169
#: src/views/nginx_log/structured/StructuredLogViewer.vue:289
#: src/views/nginx_log/structured/StructuredLogViewer.vue:525
msgid "Device"
msgstr "设备"
#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:35
msgid "Device Statistics"
msgstr "设备统计"
#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:12
msgid "Device Type"
msgstr "设备类型"
#: src/constants/errors/upgrader.ts:4
msgid "Digest file content is empty"
msgstr "摘要文件内容为空"
#: src/views/preference/components/ExternalNotify/dingding.ts:5
msgid "Dingding"
msgstr "钉钉"
#: src/views/preference/components/ExternalNotify/dingtalk.ts:5
msgid "DingTalk"
msgstr "钉钉"
#: src/views/upstream/SocketList.vue:30
msgid "Direct"
msgstr "直接"
#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:72
msgid "Directive"
msgstr "指令"
#: src/constants/errors/nginx_log.ts:6
msgid "Directive params is empty"
msgstr "指令的参数为空"
#: src/constants/errors/nginx_log.ts:5
msgid "Directive.Params neither access_log nor error_log"
msgstr "Directive.Params 既不是 access_log 也不是 error_log"
#: src/constants/errors/nginx_log.ts:4
msgid "DirectiveIdx out of range"
msgstr "指令 index 超出范围"
#: src/components/NgxConfigEditor/directive/DirectiveEditor.vue:47
msgid "Directives"
msgstr "指令"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:134
msgid "Directory Levels"
msgstr "目录层级"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:126
msgid "Directory path to store cache files"
msgstr "存储缓存文件的目录路径"
#: src/views/site/components/SiteStatusSelect.vue:115
#: src/views/stream/components/StreamStatusSelect.vue:55
msgid "disable"
msgstr "禁用"
#: src/views/site/site_list/SiteList.vue:208
#: src/views/site/site_list/SiteList.vue:98
msgid "Disable"
msgstr "禁用"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:95
msgid "Disable auto-renewal failed for %{name}"
msgstr "禁用 %{name} 的自动续期失败"
#: src/components/Notification/notifications.ts:113
#: src/language/constants.ts:52
msgid "Disable Remote Site Error"
msgstr "禁用远程站点错误"
#: src/components/Notification/notifications.ts:137
msgid "Disable Remote Site Maintenance Error"
msgstr "禁用远程站点维护错误"
#: src/components/Notification/notifications.ts:141
msgid "Disable Remote Site Maintenance Success"
msgstr "远程站点维护已成功禁用"
#: src/components/Notification/notifications.ts:117
#: src/language/constants.ts:51
msgid "Disable Remote Site Success"
msgstr "远程站点禁用成功"
#: src/components/Notification/notifications.ts:169
msgid "Disable Remote Stream Error"
msgstr "禁用远程 Stream 错误"
#: src/components/Notification/notifications.ts:173
msgid "Disable Remote Stream Success"
msgstr "禁用远程 Stream 成功"
#: src/components/Notification/notifications.ts:114
msgid "Disable site %{name} from %{node} failed"
msgstr "在 %{node} 上禁用 %{name} 成功"
#: src/components/Notification/notifications.ts:118
msgid "Disable site %{name} from %{node} successfully"
msgstr "在 %{node} 上禁用 %{name} 成功"
#: src/components/Notification/notifications.ts:138
msgid "Disable site %{name} maintenance on %{node} failed"
msgstr "停用站点 %{name} 维护 %{node} 失败"
#: src/components/Notification/notifications.ts:142
msgid "Disable site %{name} maintenance on %{node} successfully"
msgstr "成功停用站点 %{name} 上 %{node} 的维护功能"
#: src/components/Notification/notifications.ts:170
msgid "Disable stream %{name} from %{node} failed"
msgstr "在 %{node} 中启用 %{name} 失败"
#: src/components/Notification/notifications.ts:174
msgid "Disable stream %{name} from %{node} successfully"
msgstr "在 %{node} 上禁用 %{name} 成功"
#: src/views/backup/AutoBackup/AutoBackup.vue:175
#: src/views/dns/DDNSManager.vue:320 src/views/node/nodeColumns.tsx:60
#: src/views/node/nodeColumns.tsx:78
#: src/views/preference/tabs/HTTPSettings.vue:24
#: src/views/preference/tabs/NodeSettings.vue:25
#: src/views/preference/tabs/NodeSettings.vue:30
#: src/views/site/components/SiteStatusSelect.vue:162
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:81
#: src/views/site/site_list/columns.tsx:146 src/views/stream/columns.tsx:112
#: src/views/stream/components/StreamEditor.vue:55
#: src/views/user/userColumns.tsx:39
msgid "Disabled"
msgstr "禁用"
#: src/views/site/components/SiteStatusSelect.vue:67
#: src/views/stream/components/StreamStatusSelect.vue:40
msgid "Disabled successfully"
msgstr "禁用成功"
#: src/views/dashboard/components/SiteNavigationToolbar.vue:35
msgid "Disconnected"
msgstr "已断开连接"
#: src/views/dashboard/ServerAnalytic.vue:374
msgid "Disk IO"
msgstr "磁盘 IO"
#: src/routes/modules/dns.ts:11
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:47
msgid "DNS"
msgstr "DNS"
#: src/views/dns/DNSCredential.vue:79
msgid "DNS Credentials"
msgstr "DNS 凭证"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:251
#: src/views/site/site_edit/components/RightPanel/DNS.vue:545
msgid "DNS Domain"
msgstr "DNS 域名"
#: src/routes/modules/dns.ts:28 src/views/dns/DNSDomainList.vue:259
msgid "DNS Domains"
msgstr "DNS 域名"
#: src/views/dns/components/DNSRecordTable.vue:94
msgid "DNS Only"
msgstr "仅 DNS"
#: src/views/dns/components/DNSChallenge.vue:97
msgid "DNS Provider"
msgstr "DNS 提供商"
#: src/views/dns/DNSDomainList.vue:275
msgid "DNS Provider Support"
msgstr "DNS 提供商支持"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:274
#: src/views/site/site_add/SiteAdd.vue:174
#: src/views/site/site_edit/components/RightPanel/DNS.vue:568
msgid "DNS Record"
msgstr "DNS 记录"
#: src/views/site/site_add/SiteAdd.vue:149
msgid "DNS record created and linked successfully"
msgstr "DNS 记录已成功创建并链接"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:213
#: src/views/site/site_edit/components/RightPanel/DNS.vue:340
msgid "DNS record created successfully"
msgstr "DNS 记录创建成功"
#: src/views/site/site_add/SiteAdd.vue:257
msgid "DNS record has been linked: %{name}"
msgstr "DNS 记录已关联:%{name}"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:245
msgid "DNS Record Integration (Optional)"
msgstr "DNS 记录集成(可选)"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:288
msgid "DNS record linked and server_name updated: %{name}"
msgstr "DNS 记录已链接且 server_name 已更新:%{name}"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:489
msgid "DNS Record Missing"
msgstr "DNS 记录缺失"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:403
msgid "DNS record recreated successfully"
msgstr "DNS 记录已成功重新创建"
#: src/views/site/site_add/SiteAdd.vue:141
msgid "DNS record selected: %{name}"
msgstr "已选择 DNS 记录: %{name}"
#: src/routes/modules/dns.ts:44 src/views/dns/DNSRecordManager.vue:62
msgid "DNS Records"
msgstr "DNS 记录"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:678
msgid "DNS Resolver"
msgstr "DNS 解析器"
#: src/components/AutoCertForm/AutoCertForm.vue:228
msgid "DNS01"
msgstr "DNS01"
#: src/components/AutoCertForm/AutoCertForm.vue:261
msgid "Do not enable this option unless you are sure that you need it."
msgstr "除非确定需要,否则不要启用该选项。"
#: src/views/site/components/SiteStatusSelect.vue:120
msgid "Do you want to %{action} this site?"
msgstr "您想将这个网站%{action}吗?"
#: src/views/stream/components/StreamStatusSelect.vue:58
msgid "Do you want to %{action} this stream?"
msgstr "您要%{action}此流吗?"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:139
msgid "Do you want to disable auto-cert renewal?"
msgstr "你想禁用自动更新证书吗?"
#: src/views/site/site_list/SiteList.vue:89
msgid "Do you want to disable selected sites?"
msgstr "您要禁用选中的站点吗?"
#: src/views/site/site_list/SiteList.vue:88
msgid "Do you want to enable selected sites?"
msgstr "您要启用所选站点吗?"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:46
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:14
msgid "Do you want to enable TLS?"
msgstr "你想启用 TLS 吗?"
#: src/components/NgxConfigEditor/NgxServer.vue:57
msgid "Do you want to remove this server?"
msgstr "你想删除这个服务器吗?"
#: src/components/NgxConfigEditor/NgxUpstream.vue:28
msgid "Do you want to remove this upstream?"
msgstr "你想删除这个 Upstream 吗?"
#: src/constants/errors/docker.ts:2
msgid "Docker client not initialized"
msgstr "Docker 客户端未初始化"
#: src/language/generate.ts:21
msgid "Docker socket exists"
msgstr "Docker Socket 存在"
#: src/constants/errors/self_check.ts:16
msgid "Docker socket not exist"
msgstr "不存在 Docker Socket"
#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:88
#: src/components/NgxConfigEditor/directive/DirectiveDocuments.vue:16
msgid "Document"
msgid_plural "Documents"
msgstr[0] "文档"
#: src/views/nginx_log/NginxLogList.vue:298
msgid "Document Count"
msgstr "文档数量"
#: src/views/certificate/components/DNSIssueCertificate.vue:183
#: src/views/dns/DDNSManager.vue:149 src/views/dns/DNSDomainList.vue:128
msgid "Domain"
msgstr "域名"
#: src/views/certificate/components/SelfSignedCertFields.vue:33
msgid "Domains"
msgstr "域名"
#: src/views/certificate/components/AutoCertManagement.vue:55
msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "域名列表为空,请尝试为 %{config} 重新打开证书自动续期"
#: src/views/certificate/components/CertificateDownload.vue:94
msgid "Download Certificate Files"
msgstr "下载证书文件"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:117
msgid "Download complete"
msgstr "下载完成"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:106
msgid "Download failed"
msgstr "下载失败"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:187
#: src/components/SelfCheck/SelfCheck.vue:120
msgid "Download GeoLite2 Database"
msgstr "下载 GeoLite2 数据库"
#: src/language/constants.ts:27
msgid "Download latest release error"
msgstr "下载最新版本错误"
#: src/language/constants.ts:26
msgid "Downloading latest release"
msgstr "下载最新版本"
#: src/views/certificate/components/CertificateContentEditor.vue:248
msgid "Drop certificate file here"
msgstr "将证书文件拖放到此处"
#: src/views/certificate/components/CertificateContentEditor.vue:309
msgid "Drop private key file here"
msgstr "将私钥文件拖放到此处"
#: src/views/node/BatchUpgrader.vue:193 src/views/system/Upgrade.vue:237
msgid "Dry run mode enabled"
msgstr "试运行模式已启动"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:107
msgid ""
"Due to the security policies of some browsers, you cannot use passkeys on "
"non-HTTPS websites, except when running on localhost."
msgstr "由于某些浏览器的安全策略,除非在 localhost 上使用,否则不能在非 HTTPS 网站上使用 Passkey。"
#: src/components/LLM/LLMSessionTabs.vue:287
#: src/components/LLM/LLMSessionTabs.vue:378
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:163
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:96
msgid "Duplicate"
msgstr "复制"
#: src/views/site/site_list/SiteDuplicate.vue:48
#: src/views/stream/components/StreamDuplicate.vue:40
msgid "Duplicate to local successfully"
msgstr "成功复制到本地"
#: src/views/dashboard/components/ModulesTable.vue:66
#: src/views/dashboard/components/ModulesTable.vue:71
msgid "Dynamic"
msgstr "动态"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:236
msgid "Dynamic shard management"
msgstr "动态分片管理"
#: src/views/backup/AutoBackup/components/CronEditor.vue:197
msgid "e.g., 0 0 * * * (daily at midnight)"
msgstr "例如:0 0 * * *(每天午夜)"
#: src/views/certificate/ACMEUser.vue:91
msgid "EAB HMAC Key"
msgstr "EAB HMAC 密钥"
#: src/views/certificate/ACMEUser.vue:78
msgid "EAB Key ID"
msgstr "EAB 密钥 ID"
#: src/language/curd.ts:8 src/views/dns/components/DNSRecordTable.vue:100
msgid "Edit"
msgstr "编辑"
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:70
#: src/views/stream/components/StreamEditor.vue:44
msgid "Edit %{n}"
msgstr "编辑 %{n}"
#: src/routes/modules/config.ts:30
#: src/views/config/components/ConfigLeftPanel.vue:242
msgid "Edit Configuration"
msgstr "编辑配置"
#: src/views/dns/DNSRecordManager.vue:206
msgid "Edit Record"
msgstr "编辑记录"
#: src/routes/modules/sites.ts:34
msgid "Edit Site"
msgstr "编辑站点"
#: src/routes/modules/streams.ts:20
msgid "Edit Stream"
msgstr "编辑 Stream"
#: src/views/certificate/ACMEUser.vue:27
#: src/views/preference/tabs/CertSettings.vue:13
msgid "Email"
msgstr "邮箱"
#: src/views/install/components/InstallForm.vue:85
msgid "Email (*)"
msgstr "邮箱 (*)"
#: src/constants/errors/nginx_log.parser.ts:2
msgid "Empty log line"
msgstr "空日志行"
#: src/views/site/components/SiteStatusSelect.vue:114
#: src/views/stream/components/StreamStatusSelect.vue:55
msgid "enable"
msgstr "启用"
#: src/views/site/site_list/SiteList.vue:200
#: src/views/site/site_list/SiteList.vue:98
msgid "Enable"
msgstr "启用"
#: src/views/preference/components/AuthSettings/TOTP.vue:46
msgid "Enable 2FA successfully"
msgstr "二步验证启用成功"
#: src/views/nginx_log/NginxLogList.vue:474
msgid "Enable Advanced Indexing"
msgstr "启用高级索引"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:97
msgid "Enable Advanced Log Indexing"
msgstr "启用高级日志索引"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:88
msgid "Enable auto-renewal failed for %{name}"
msgstr "启用 %{name} 自动续签失败"
#: src/views/preference/tabs/OpenAISettings.vue:144
msgid "Enable Code Completion"
msgstr "启动代码补全"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68
msgid "Enable compression for content transfer"
msgstr "启用内容传输压缩"
#: src/views/dns/DDNSManager.vue:381
msgid "Enable DDNS"
msgstr "启用 DDNS"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:473
msgid "Enable Health Check"
msgstr "启用健康检查"
#: src/views/preference/tabs/ServerSettings.vue:52
msgid "Enable HTTP/2"
msgstr "启用 HTTP/2"
#: src/views/preference/tabs/ServerSettings.vue:56
msgid "Enable HTTP/3"
msgstr "启用 HTTP/3"
#: src/views/preference/tabs/ServerSettings.vue:30
msgid "Enable HTTPS"
msgstr "启用 HTTPS"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:99
msgid "Enable Indexing"
msgstr "启用索引"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:353
#: src/views/site/site_edit/components/RightPanel/DNS.vue:522
#: src/views/site/site_edit/components/RightPanel/DNS.vue:647
msgid "Enable Proxy (Cloudflare)"
msgstr "启用代理 (Cloudflare)"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:113
msgid "Enable Proxy Cache"
msgstr "启用代理缓存"
#: src/components/Notification/notifications.ts:121
#: src/language/constants.ts:54
msgid "Enable Remote Site Error"
msgstr "启用远程站点错误"
#: src/components/Notification/notifications.ts:129
msgid "Enable Remote Site Maintenance Error"
msgstr "在 %{node} 上启用 %{site} 失败"
#: src/components/Notification/notifications.ts:133
msgid "Enable Remote Site Maintenance Success"
msgstr "成功启用远程站点维护"
#: src/components/Notification/notifications.ts:125
#: src/language/constants.ts:53
msgid "Enable Remote Site Success"
msgstr "启用远程站点成功"
#: src/components/Notification/notifications.ts:177
msgid "Enable Remote Stream Error"
msgstr "启用远程 Steam 错误"
#: src/components/Notification/notifications.ts:181
msgid "Enable Remote Stream Success"
msgstr "启用远程 Stream 成功"
#: src/components/Notification/notifications.ts:130
msgid "Enable site %{name} maintenance on %{node} failed"
msgstr "在 %{node} 中为 %{name} 启用维护模式失败"
#: src/components/Notification/notifications.ts:134
msgid "Enable site %{name} maintenance on %{node} successfully"
msgstr "在 %{node} 上成功启用站点 %{name} 维护模式"
#: src/components/Notification/notifications.ts:122
msgid "Enable site %{name} on %{node} failed"
msgstr "在 %{node} 中启用 %{name} 失败"
#: src/components/Notification/notifications.ts:126
msgid "Enable site %{name} on %{node} successfully"
msgstr "在 %{node} 上启用 %{name} 成功"
#: src/components/Notification/notifications.ts:178
msgid "Enable stream %{name} on %{node} failed"
msgstr "在 %{node} 中启用 %{name} 失败"
#: src/components/Notification/notifications.ts:182
msgid "Enable stream %{name} on %{node} successfully"
msgstr "在 %{node} 上启用 %{name} 成功"
#: src/views/dashboard/NginxDashBoard.vue:172
msgid "Enable stub_status module"
msgstr "启用 stub_status 模块"
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:97
msgid "Enable TLS"
msgstr "启用 TLS"
#: src/views/preference/components/AuthSettings/TOTP.vue:83
msgid "Enable TOTP"
msgstr "启用 TOTP"
#: src/views/backup/AutoBackup/AutoBackup.vue:174
#: src/views/dns/DDNSManager.vue:320 src/views/node/nodeColumns.tsx:69
#: src/views/node/nodeColumns.tsx:75
#: src/views/preference/components/ExternalNotify/columns.tsx:47
#: src/views/preference/tabs/HTTPSettings.vue:24
#: src/views/preference/tabs/LogrotateSettings.vue:20
#: src/views/preference/tabs/NodeSettings.vue:25
#: src/views/preference/tabs/NodeSettings.vue:30
#: src/views/site/components/SiteStatusSelect.vue:159
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:75
#: src/views/site/site_list/columns.tsx:142 src/views/stream/columns.tsx:108
#: src/views/stream/components/RightPanel/Basic.vue:24
#: src/views/stream/components/StreamEditor.vue:49
#: src/views/user/userColumns.tsx:36
msgid "Enabled"
msgstr "启用"
#: src/views/site/components/SiteStatusSelect.vue:54
#: src/views/site/site_add/SiteAdd.vue:60
#: src/views/stream/components/StreamStatusSelect.vue:27
msgid "Enabled successfully"
msgstr "启用成功"
#: src/views/preference/tabs/ServerSettings.vue:52
msgid "Enables HTTP/2 support with multiplexing and server push capabilities"
msgstr "启用 HTTP/2 支持,具备多路复用和服务器推送能力"
#: src/views/preference/tabs/ServerSettings.vue:56
msgid "Enables HTTP/3 support based on QUIC protocol for best performance"
msgstr "基于 QUIC 协议启用 HTTP/3 支持以获得最佳性能"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:110
msgid ""
"Enabling advanced log indexing will consume significant computational "
"resources including CPU and memory. Please ensure your system meets the "
"minimum requirements before proceeding."
msgstr "启用高级日志索引将消耗大量计算资源,包括 CPU 和内存。请确保您的系统满足最低要求后再继续。"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:95
msgid "Encrypt website with Let's Encrypt"
msgstr "用 Let's Encrypt 对网站进行加密"
#: src/components/PortScanner/PortScannerCompact.vue:164
msgid "End"
msgstr "结束"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:57
msgid "End Date"
msgstr "结束日期"
#: src/views/certificate/components/SelfSignedCertFields.vue:30
msgid "Enter certificate name"
msgstr "输入证书名称"
#: src/views/certificate/components/DNSIssueCertificate.vue:196
#: src/views/certificate/components/SelfSignedCertFields.vue:36
msgid "Enter domain name"
msgstr "输入域名"
#: src/views/certificate/components/SelfSignedCertFields.vue:43
msgid "Enter IP address"
msgstr "输入 IP 地址"
#: src/components/AutoCertForm/AutoCertForm.vue:183
msgid "Enter server IP address (e.g., 203.0.113.1 or 2001:db8::1)"
msgstr "输入服务器 IP 地址(例如:203.0.113.1 或 2001:db8::1"
#: src/components/SelfCheck/SelfCheck.vue:72
msgid "Enter the install secret to run the system check."
msgstr "输入安装密钥以运行系统检查。"
#: src/views/install/components/InstallView.vue:169
msgid ""
"Enter the one-time install secret shown by the install script or found in "
"the config directory hidden file to unlock setup."
msgstr "输入安装脚本显示或在配置目录隐藏文件中找到的一次性安装密钥以解锁设置。"
#: src/views/certificate/components/DNSIssueCertificate.vue:187
msgid "Enter your domain"
msgstr "输入您的域名"
#: src/constants/errors/cert.ts:16
msgid "Environment configuration is empty"
msgstr "环境配置为空"
#: src/language/constants.ts:22
msgid "Environment variables cleaned"
msgstr "环境变量已清理"
#: src/components/InspectConfig/InspectConfig.vue:30 src/constants/index.ts:24
#: src/views/nginx_log/NginxLogList.vue:249
#: src/views/notification/notificationColumns.tsx:14
msgid "Error"
msgstr "错误"
#: src/components/Notification/detailRender.tsx:77
msgid "Error details"
msgstr "错误详情"
#: src/components/ConfigHistory/DiffViewer.vue:137
msgid "Error initializing diff viewer"
msgstr "差异查看器初始化出错"
#: src/language/constants.ts:65
msgid "Error Log"
msgstr "错误日志"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:672
msgid "Error Log Detected"
msgstr "检测到错误日志"
#: src/constants/errors/self_check.ts:22
msgid "Error log path not exist"
msgstr "错误日志路径不存在"
#: src/components/NgxConfigEditor/LogEntry.vue:98
#: src/routes/modules/nginx_log.ts:24 src/views/nginx_log/NginxLogList.vue:49
msgid "Error Logs"
msgstr "错误日志"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:675
msgid ""
"Error logs do not support structured analysis as they contain free-form "
"text messages."
msgstr "错误日志不支持结构化分析,因为它们包含自由格式的文本消息。"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:272
msgid "Error pattern recognition"
msgstr "错误模式识别"
#: src/components/ConfigHistory/DiffViewer.vue:80
msgid "Error processing content"
msgstr "内容处理错误"
#: src/constants/errors/upgrader.ts:5
msgid "Executable binary file is empty"
msgstr "可执行二进制文件为空"
#: src/views/system/Upgrade.vue:196
msgid "Executable Path"
msgstr "可执行文件路径"
#: src/views/backup/AutoBackup/components/CronEditor.vue:127
msgid "Execute on every %{day} at %{time}"
msgstr "每周%{day}的%{time}执行"
#: src/views/backup/AutoBackup/components/CronEditor.vue:125
msgid "Execute on every day at %{time}"
msgstr "每天 %{time} 执行"
#: src/views/backup/AutoBackup/components/CronEditor.vue:129
msgid "Execute on every month on day %{day} at %{time}"
msgstr "每月 %{day} 日 %{time} 执行"
#: src/language/curd.ts:72
msgid "Expand"
msgstr "展开"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:192
msgid "Expected Performance"
msgstr "预期性能"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:557
msgid "Expected Status Codes"
msgstr "预期状态码"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:582
msgid "Expected Text"
msgstr "预期文本"
#: src/components/CertInfo/CertInfo.vue:31
#: src/views/certificate/CertificateList/certColumns.tsx:103
msgid "Expired"
msgstr "已过期"
#: src/components/CertInfo/CertInfo.vue:38
msgid "Expired At: %{date}"
msgstr "过期时间: %{date}"
#: src/language/curd.ts:22
msgid "Export Excel"
msgstr "导出 Excel"
#: src/views/certificate/ACMEUser.vue:96
msgid ""
"External Account Binding HMAC Key (optional). Should be in Base64 URL "
"encoding format."
msgstr "外部账户绑定 HMAC 密钥(可选)。应为 Base64 URL 编码格式。"
#: src/views/certificate/ACMEUser.vue:83
msgid ""
"External Account Binding Key ID (optional). Required for some ACME "
"providers like ZeroSSL."
msgstr "外部账户绑定密钥 ID (可选)。某些 ACME 提供商(如 ZeroSSL)需要此信息。"
#: src/views/preference/tabs/NginxSettings.vue:58
msgid "External Docker Container"
msgstr "外部 Docker 容器"
#: src/constants/errors/notification.ts:5
msgid "External notification configuration not found"
msgstr "未找到外部通知配置"
#: src/components/Notification/notifications.ts:101
msgid "External Notification Test"
msgstr "外部通知测试"
#: src/views/preference/Preference.vue:59
#: src/views/preference/tabs/ExternalNotify.vue:42
msgid "External Notify"
msgstr "外部通知"
#: src/views/site/site_edit/components/Cert/ObtainCertLive.vue:83
msgid "Fail to obtain certificate"
msgstr "获取证书失败"
#: src/views/backup/AutoBackup/AutoBackup.vue:196
#: src/views/backup/AutoBackup/AutoBackup.vue:221
#: src/views/certificate/CertificateList/certColumns.tsx:87
msgid "Failed"
msgstr "失败"
#: src/constants/errors/docker.ts:4
msgid "Failed to attach to exec instance: {0}"
msgstr "连接执行实例失败:{0}"
#: src/constants/errors/backup.ts:5
msgid "Failed to backup Nginx config files: {0}"
msgstr "备份 Nginx 配置文件失败:{0}"
#: src/constants/errors/backup.ts:4
msgid "Failed to backup Nginx UI files: {0}"
msgstr "备份 Nginx UI 文件失败:{0}"
#: src/constants/errors/performance.ts:8
msgid "Failed to build nginx config: {0}"
msgstr "构建 nginx 配置失败: {0}"
#: src/constants/errors/backup.ts:19
msgid "Failed to calculate hash: {0}"
msgstr "计算哈希值失败:{0}"
#: src/constants/errors/backup.ts:56
msgid "Failed to calculate Nginx hash: {0}"
msgstr "计算 Nginx 哈希值失败:{0}"
#: src/constants/errors/backup.ts:55
msgid "Failed to calculate Nginx UI hash: {0}"
msgstr "计算 Nginx UI 哈希值失败:{0}"
#: src/constants/errors/backup.ts:13
msgid "Failed to cleanup temporary directory: {0}"
msgstr "清理临时目录失败:{0}"
#: src/constants/errors/backup.ts:17
msgid "Failed to copy config file: {0}"
msgstr "复制配置文件失败:{0}"
#: src/constants/errors/backup.ts:18
msgid "Failed to copy database file: {0}"
msgstr "复制数据库文件失败:{0}"
#: src/constants/errors/backup.ts:33
msgid "Failed to copy file content: {0}"
msgstr "复制文件内容失败:{0}"
#: src/constants/errors/backup.ts:21
msgid "Failed to copy Nginx config directory: {0}"
msgstr "复制 Nginx 配置目录失败:{0}"
#: src/views/certificate/components/CertificateBasicInfo.vue:33
#: src/views/certificate/components/CertificateContentEditor.vue:114
msgid "Failed to copy to clipboard"
msgstr "复制到剪贴板失败"
#: src/constants/errors/self_check.ts:10
msgid "Failed to create backup"
msgstr "创建备份失败"
#: src/constants/errors/backup.ts:12
msgid "Failed to create backup file: {0}"
msgstr "创建备份文件失败:{0}"
#: src/constants/errors/backup.ts:15
msgid "Failed to create backup manifest signature: {0}"
msgstr "创建备份清单签名失败:{0}"
#: src/constants/errors/backup.ts:14
msgid "Failed to create backup manifest: {0}"
msgstr "创建备份清单失败: {0}"
#: src/constants/errors/backup.ts:45
msgid "Failed to create directory: {0}"
msgstr "创建目录失败:{0}"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:222
#: src/views/site/site_edit/components/RightPanel/DNS.vue:360
msgid "Failed to create DNS record"
msgstr "创建 DNS 记录失败"
#: src/constants/errors/backup.ts:47 src/constants/errors/geolite.ts:6
msgid "Failed to create file: {0}"
msgstr "创建文件失败:{0}"
#: src/constants/errors/backup.ts:6
msgid "Failed to create hash info file: {0}"
msgstr "创建哈希信息文件失败:{0}"
#: src/constants/errors/backup.ts:46
msgid "Failed to create parent directory: {0}"
msgstr "创建父目录失败:{0}"
#: src/constants/errors/backup.ts:34
msgid "Failed to create restore directory: {0}"
msgstr "创建还原目录失败:{0}"
#: src/constants/errors/backup.ts:76
msgid "Failed to create storage directory {0}: {1}"
msgstr "创建存储目录失败 {0}{1}"
#: src/constants/errors/backup.ts:49
msgid "Failed to create symbolic link: {0}"
msgstr "创建符号链接失败:{0}"
#: src/constants/errors/docker.ts:13
msgid "Failed to create temp container: {0}"
msgstr "创建临时容器失败:{0}"
#: src/constants/errors/backup.ts:2
msgid "Failed to create temporary directory"
msgstr "创建临时目录失败"
#: src/constants/errors/backup.ts:3
msgid "Failed to create temporary subdirectory"
msgstr "创建临时子目录失败"
#: src/constants/errors/geolite.ts:9
msgid "Failed to create xz reader: {0}"
msgstr "创建 xz 读取器失败: {0}"
#: src/constants/errors/backup.ts:9
msgid "Failed to create zip archive: {0}"
msgstr "创建 zip 压缩包失败:{0}"
#: src/constants/errors/backup.ts:30
msgid "Failed to create zip entry: {0}"
msgstr "创建 zip 条目失败:{0}"
#: src/constants/errors/backup.ts:29
msgid "Failed to create zip file: {0}"
msgstr "创建压缩文件失败:{0}"
#: src/constants/errors/backup.ts:32
msgid "Failed to create zip header: {0}"
msgstr "创建 zip 头失败:{0}"
#: src/constants/errors/geolite.ts:3
msgid "Failed to decompress GeoLite2 database: {0}"
msgstr "解压 GeoLite2 数据库失败: {0}"
#: src/constants/errors/backup.ts:27
msgid "Failed to decrypt data: {0}"
msgstr "解密数据失败:{0}"
#: src/constants/errors/backup.ts:52
msgid "Failed to decrypt file: {0}"
msgstr "解密文件失败:{0}"
#: src/constants/errors/backup.ts:37
msgid "Failed to decrypt Nginx directory: {0}"
msgstr "解密 Nginx 目录失败:{0}"
#: src/constants/errors/backup.ts:36
msgid "Failed to decrypt Nginx UI directory: {0}"
msgstr "解密 Nginx UI 目录失败:{0}"
#: src/constants/errors/nginx_log.ts:19
msgid "Failed to delete all indexes"
msgstr "删除所有索引失败"
#: src/views/certificate/components/RemoveCert.vue:77
msgid "Failed to delete certificate"
msgstr "删除证书失败"
#: src/language/generate.ts:22
msgid "Failed to delete certificate from database: %{error}"
msgstr "从数据库中删除证书失败:%{error}"
#: src/constants/errors/nginx_log.ts:18
msgid "Failed to delete file index"
msgstr "删除文件索引失败"
#: src/views/site/components/SiteStatusSelect.vue:73
#: src/views/stream/components/StreamStatusSelect.vue:46
msgid "Failed to disable %{msg}"
msgstr "禁用失败 %{msg}"
#: src/views/site/components/SiteStatusSelect.vue:99
msgid "Failed to disable maintenance mode %{msg}"
msgstr "停用维护模式失败 %{msg}"
#: src/views/certificate/components/CertificateDownload.vue:75
msgid "Failed to download certificate files"
msgstr "下载证书文件失败"
#: src/constants/errors/geolite.ts:2
msgid "Failed to download GeoLite2 database: {0}"
msgstr "下载 GeoLite2 数据库失败: {0}"
#: src/views/site/components/SiteStatusSelect.vue:60
#: src/views/stream/components/StreamStatusSelect.vue:33
msgid "Failed to enable %{msg}"
msgstr "启用失败 %{msg}"
#: src/views/nginx_log/NginxLogList.vue:407
msgid "Failed to enable advanced indexing"
msgstr "启用高级索引失败"
#: src/views/site/components/SiteStatusSelect.vue:86
msgid "Failed to enable maintenance mode %{msg}"
msgstr "启用维护模式失败 %{msg}"
#: src/constants/errors/backup.ts:26
msgid "Failed to encrypt data: {0}"
msgstr "加密数据失败:{0}"
#: src/constants/errors/backup.ts:24
msgid "Failed to encrypt file: {0}"
msgstr "加密文件失败:{0}"
#: src/constants/errors/backup.ts:8
msgid "Failed to encrypt Nginx directory: {0}"
msgstr "加密 Nginx 目录失败:{0}"
#: src/constants/errors/backup.ts:7
msgid "Failed to encrypt Nginx UI directory: {0}"
msgstr "加密 Nginx UI 目录失败:{0}"
#: src/constants/errors/docker.ts:3
msgid "Failed to exec command: {0}"
msgstr "执行命令失败:{0}"
#: src/constants/errors/performance.ts:6
msgid "Failed to execute template: {0}"
msgstr "执行模板失败: {0}"
#: src/constants/errors/backup.ts:35
msgid "Failed to extract archive: {0}"
msgstr "解压缩失败:{0}"
#: src/constants/errors/backup.ts:10
msgid "Failed to generate AES key: {0}"
msgstr "生成 AES 密钥失败: {0}"
#: src/constants/errors/backup.ts:11
msgid "Failed to generate initialization vector: {0}"
msgstr "生成初始化向量失败:{0}"
#: src/views/certificate/components/DNSIssueCertificate.vue:146
#: src/views/certificate/components/SelfSignedCertForm.vue:69
msgid "Failed to generate self-signed certificate"
msgstr "生成自签名证书失败"
#: src/language/constants.ts:5
msgid "Failed to get certificate information"
msgstr "获取证书信息失败"
#: src/constants/errors/docker.ts:10
msgid "Failed to get container id: {0}"
msgstr "获取容器 ID 失败: {0}"
#: src/constants/errors/geolite.ts:5
msgid "Failed to get file size: {0}"
msgstr "获取文件大小失败: {0}"
#: src/constants/errors/nginx_log.ts:20
msgid "Failed to get index status"
msgstr "获取索引状态失败"
#: src/views/dashboard/components/ParamsOptimization.vue:62
msgid "Failed to get Nginx performance settings"
msgstr "获取 Nginx 性能参数失败"
#: src/constants/errors/performance.ts:9
msgid "Failed to get nginx.conf path"
msgstr "无法获取 nginx.conf 路径"
#: src/composables/useNginxPerformance.ts:50
msgid "Failed to get performance data"
msgstr "获取性能数据失败"
#: src/constants/errors/nginx_log.ts:21
msgid "Failed to get persistence stats"
msgstr "获取持久化统计信息失败"
#: src/constants/errors/performance.ts:3
msgid "Failed to get stub status: {0}"
msgstr "获取存根状态失败: {0}"
#: src/constants/errors/docker.ts:8
msgid "Failed to inspect container: {0}"
msgstr "检查容器失败:{0}"
#: src/constants/errors/docker.ts:12
msgid "Failed to inspect current container: {0}"
msgstr "检查当前容器失败:{0}"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:137
#: src/views/site/site_edit/components/RightPanel/DNS.vue:166
msgid "Failed to load DNS records"
msgstr "加载 DNS 记录失败"
#: src/components/ConfigHistory/ConfigHistory.vue:83
msgid "Failed to load history records"
msgstr "加载历史记录失败"
#: src/views/certificate/components/CertificateContentEditor.vue:39
msgid "Failed to load nginx configuration path"
msgstr "加载 nginx 配置路径失败"
#: src/constants/errors/geolite.ts:8
msgid "Failed to open file: {0}"
msgstr "打开文件失败: {0}"
#: src/constants/errors/backup.ts:31
msgid "Failed to open source file: {0}"
msgstr "打开源文件失败:{0}"
#: src/constants/errors/backup.ts:48
msgid "Failed to open zip entry: {0}"
msgstr "打开 zip 条目失败:{0}"
#: src/constants/errors/backup.ts:44
msgid "Failed to open zip file: {0}"
msgstr "打开压缩文件失败:{0}"
#: src/constants/errors/performance.ts:7
msgid "Failed to parse nginx config: {0}"
msgstr "解析 nginx 配置失败: {0}"
#: src/constants/errors/self_check.ts:5
msgid "Failed to parse nginx.conf"
msgstr "解析 nginx.conf 失败"
#: src/constants/errors/performance.ts:5
msgid "Failed to parse template: {0}"
msgstr "解析模板失败: {0}"
#: src/constants/errors/docker.ts:11
msgid "Failed to pull image: {0}"
msgstr "拉取镜像失败:{0}"
#: src/constants/errors/backup.ts:58
msgid "Failed to read backup manifest signature: {0}"
msgstr "读取备份清单签名失败:{0}"
#: src/constants/errors/backup.ts:57
msgid "Failed to read backup manifest: {0}"
msgstr "读取备份清单失败:{0}"
#: src/constants/errors/geolite.ts:11
msgid "Failed to read compressed data: {0}"
msgstr "读取压缩数据失败: {0}"
#: src/constants/errors/backup.ts:51
msgid "Failed to read encrypted file: {0}"
msgstr "读取加密文件失败:{0}"
#: src/views/certificate/components/CertificateFileUpload.vue:70
msgid "Failed to read file"
msgstr "读取文件失败"
#: src/constants/errors/backup.ts:23
msgid "Failed to read file: {0}"
msgstr "读取文件失败:{0}"
#: src/constants/errors/backup.ts:54
msgid "Failed to read hash info file: {0}"
msgstr "读取哈希信息文件失败:{0}"
#: src/constants/errors/self_check.ts:4
msgid "Failed to read nginx.conf"
msgstr "读取 nginx.conf 失败"
#: src/constants/errors/docker.ts:5
msgid "Failed to read output: {0}"
msgstr "读取输出失败:{0}"
#: src/constants/errors/performance.ts:4
msgid "Failed to read response body: {0}"
msgstr "读取响应正文失败: {0}"
#: src/constants/errors/backup.ts:22
msgid "Failed to read symlink: {0}"
msgstr "读取符号链接失败:{0}"
#: src/constants/errors/nginx_log.ts:17
msgid "Failed to rebuild file index"
msgstr "重建文件索引失败"
#: src/constants/errors/nginx_log.ts:16
msgid "Failed to rebuild index"
msgstr "重建索引失败"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:429
msgid "Failed to recreate DNS record"
msgstr "重新创建 DNS 记录失败"
#: src/views/dashboard/SiteNavigation.vue:86
msgid "Failed to refresh sites"
msgstr "刷新站点失败"
#: src/constants/errors/backup.ts:39
msgid "Failed to restore Nginx configs: {0}"
msgstr "恢复 Nginx 配置失败:{0}"
#: src/views/certificate/components/RemoveCert.vue:59
msgid "Failed to revoke certificate"
msgstr "证书撤销失败"
#: src/language/generate.ts:23
msgid "Failed to revoke certificate: %{error}"
msgstr "撤销证书失败:%{error}"
#: src/views/dashboard/SiteNavigation.vue:133
msgid "Failed to save configuration"
msgstr "保存配置失败"
#: src/constants/errors/geolite.ts:7
msgid "Failed to save downloaded file: {0}"
msgstr "保存下载的文件失败: {0}"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:412
msgid "Failed to save health check configuration"
msgstr "保存健康检查配置失败"
#: src/views/dashboard/components/ParamsOptimization.vue:91
msgid "Failed to save Nginx performance settings"
msgstr "保存 Nginx 性能参数失败"
#: src/views/dashboard/SiteNavigation.vue:110
msgid "Failed to save order"
msgstr "保存顺序失败"
#: src/views/preference/tabs/ExternalNotify.vue:32
msgid "Failed to send test message"
msgstr "发送测试消息失败"
#: src/constants/errors/docker.ts:14
msgid "Failed to start temp container: {0}"
msgstr "启动临时容器失败:{0}"
#: src/views/preference/components/ExternalNotify/EnabledSwitch.vue:30
msgid "Failed to update status"
msgstr "更新状态失败"
#: src/views/certificate/components/CertificateFileUpload.vue:104
msgid "Failed to upload file"
msgstr "文件上传失败"
#: src/constants/errors/backup.ts:38
msgid "Failed to verify hashes: {0}"
msgstr "验证哈希值失败:{0}"
#: src/constants/errors/backup.ts:68
msgid "Failed to write backup file: {0}"
msgstr "写入备份文件失败: {0}"
#: src/constants/errors/geolite.ts:10
msgid "Failed to write decompressed data: {0}"
msgstr "写入解压缩数据失败: {0}"
#: src/constants/errors/backup.ts:53
msgid "Failed to write decrypted file: {0}"
msgstr "写入解密文件失败:{0}"
#: src/constants/errors/backup.ts:25
msgid "Failed to write encrypted file: {0}"
msgstr "写入加密文件失败:{0}"
#: src/constants/errors/backup.ts:69
msgid "Failed to write security key file: {0}"
msgstr "无法写入安全密钥文件:{0}"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:226
msgid "Features"
msgstr "功能"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "文件"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "文件"
#: src/constants/errors/config.ts:4
msgid "File content contains invalid control characters"
msgstr "文件内容包含无效的控制字符"
#: src/constants/errors/config.ts:5
msgid "File content contains restricted nginx directive: {0}"
msgstr "文件内容包含受限的 nginx 指令:{0}"
#: src/constants/errors/config.ts:3
msgid "File content must be valid UTF-8 text"
msgstr "文件内容必须是有效的 UTF-8 文本"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "文件已存在"
#: src/views/nginx_log/indexing/IndexManagement.vue:64
msgid "File index rebuild started successfully for %{path}"
msgstr "已成功开始为 %{path} 重建文件索引"
#: src/constants/errors/config.ts:2
msgid "File name is not allowed: {0}"
msgstr "文件名不允许:{0}"
#: src/views/other/Error.vue:8
msgid "File Not Found"
msgstr "未找到文件"
#: src/constants/errors/config.ts:11
msgid "File or directory not found: {0}"
msgstr "未找到文件或目录:{0}"
#: src/constants/errors/nginx_log.ts:15
msgid "File path is required"
msgstr "文件路径是必需的"
#: src/views/certificate/components/CertificateFileUpload.vue:54
msgid "File size cannot exceed 5MB"
msgstr "文件大小不能超过 5MB"
#: src/views/certificate/components/CertificateFileUpload.vue:100
msgid "File uploaded successfully"
msgstr "文件上传成功"
#: src/constants/errors/cert.ts:2
msgid "Filename is empty"
msgstr "文件名为空"
#: src/views/nginx_log/raw/RawLogViewer.vue:298
msgid "Filter"
msgstr "过滤"
#: src/views/nginx_log/raw/RawLogViewer.vue:301
msgid "Filter log content"
msgstr "过滤日志内容"
#: src/language/constants.ts:19 src/views/site/site_add/SiteAdd.vue:176
msgid "Finished"
msgstr "完成"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:71
msgid "First View"
msgstr "首次查看"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "文件夹"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "文件夹"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:650
msgid "Follow Redirects"
msgstr "跟随重定向"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:77
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
"process."
msgstr "按照对话框中的指示完成 Passkey 的注册过程。"
#: src/views/preference/tabs/NodeSettings.vue:42
#: src/views/preference/tabs/NodeSettings.vue:54
msgid "For Chinese user"
msgstr "中国用户"
#: src/views/preference/tabs/HTTPSettings.vue:19
msgid "For Chinese user: https://cloud.nginxui.com/"
msgstr "中国用户:https://cloud.nginxui.com/"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:304
msgid "For commercial or professional use, contact"
msgstr "如需商业或专业用途,请联系"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:677
msgid "For error logs, please use the Raw Log Viewer for better viewing experience."
msgstr "对于错误日志,请使用原始日志查看器以获得更好的查看体验。"
#: src/components/AutoCertForm/AutoCertForm.vue:140
msgid ""
"For IP-based certificate configurations, only HTTP-01 challenge method is "
"supported. DNS-01 challenge is not compatible with IP-based certificates."
msgstr "对于基于 IP 的证书配置,仅支持 HTTP-01 验证方法。DNS-01 验证与基于 IP 的证书不兼容。"
#: src/components/AutoCertForm/AutoCertForm.vue:188
msgid ""
"For IP-based certificates, please specify the server IP address that will "
"be included in the certificate."
msgstr "对于基于 IP 的证书,请指定将包含在证书中的服务器 IP 地址。"
#: src/constants/errors/middleware.ts:4
msgid "Form parse failed"
msgstr "表单解析失败"
#: src/views/config/components/ConfigLeftPanel.vue:277
msgid "Format Code"
msgstr "代码格式化"
#: src/views/config/components/ConfigLeftPanel.vue:219
msgid "Format successfully"
msgstr "格式化成功"
#: src/views/backup/AutoBackup/components/CronEditor.vue:200
msgid "Format: minute hour day month weekday"
msgstr "格式:分钟 小时 日 月 星期"
#: src/views/backup/AutoBackup/components/CronEditor.vue:31
msgid "Friday"
msgstr "星期五"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:844
msgid "From indexed logs"
msgstr "来自已索引的日志"
#: src/views/system/Licenses.vue:119 src/views/system/Licenses.vue:222
msgid "Frontend"
msgstr "前端"
#: src/views/install/components/InstallView.vue:168
msgid ""
"Frontend debug mode is active. Enter the debug secret to unlock the mock "
"installation flow without sending backend requests."
msgstr "前端调试模式已激活。输入调试密钥以解锁模拟安装流程,无需发送后端请求。"
#: src/components/SelfCheck/store.ts:19
msgid ""
"Frontend debug mode is active. Secret verification is mocked locally and no "
"backend request is sent."
msgstr "前端调试模式已激活。密钥验证在本地模拟,不会发送后端请求。"
#: src/views/install/components/InstallForm.vue:64
msgid ""
"Frontend debug mode: install flow completed without sending a backend "
"request"
msgstr "前端调试模式:安装流程完成,未发送后端请求"
#: src/components/SystemRestore/SystemRestoreContent.vue:158
msgid ""
"Frontend debug mode: restore flow completed without sending a backend "
"request"
msgstr "前端调试模式:恢复流程已完成,无需发送后端请求"
#: src/views/nginx_log/structured/components/SearchFilters.vue:65
msgid "Full Text Search"
msgstr "全文搜索"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:256
msgid "Full-text search support"
msgstr "全文搜索支持"
#: src/views/certificate/CertificateList/certColumns.tsx:30
msgid "General Certificate"
msgstr "普通证书"
#: src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue:45
#: src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue:69
#: src/language/curd.ts:17
#: src/views/certificate/components/DNSIssueCertificate.vue:237
#: src/views/certificate/components/SelfSignedCertForm.vue:82
msgid "Generate"
msgstr "生成"
#: src/components/TwoFA/use2FAModal.ts:31
msgid "Generate new recovery codes"
msgstr "生成新的恢复代码"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:142
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:165
msgid "Generate New Recovery Codes"
msgstr "生成新的恢复代码"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:165
msgid "Generate Recovery Codes"
msgstr "生成恢复代码"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:34
msgid "Generate recovery codes successfully"
msgstr "成功生成恢复代码"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:65
msgid "Generate self-signed certificate"
msgstr "生成自签名证书"
#: src/views/certificate/components/SelfSignedCertForm.vue:80
msgid "Generate Self-signed Certificate"
msgstr "生成自签名证书"
#: src/language/constants.ts:7
msgid "Generating private key for registering account"
msgstr "正在生成私钥用于注册账户"
#: src/views/preference/Preference.vue:113
msgid "GeoLite"
msgstr "GeoLite"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:178
#: src/views/preference/tabs/GeoLiteSettings.vue:7
msgid "GeoLite2 Database"
msgstr "GeoLite2 数据库"
#: src/language/generate.ts:24
msgid "GeoLite2 database available"
msgstr "GeoLite2 数据库可用"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:168
msgid "GeoLite2 Database Installed"
msgstr "GeoLite2 数据库已安装"
#: src/constants/errors/geolite.ts:4
msgid "GeoLite2 database not found at {0}"
msgstr "在 {0} 未找到 GeoLite2 数据库"
#: src/constants/errors/self_check.ts:24
msgid ""
"GeoLite2 database not found at {0}. Log indexing requires GeoLite2 database "
"for geographic IP analysis"
msgstr "未在 {0} 找到 GeoLite2 数据库。日志索引需要 GeoLite2 数据库进行地理 IP 分析"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:150
msgid "GeoLite2 Database Required"
msgstr "需要 GeoLite2 数据库"
#: src/constants/errors/cert.ts:9
msgid "Get acme user error: {0}"
msgstr "获取 ACME 用户错误: {0}"
#: src/views/dashboard/NginxDashBoard.vue:163
msgid "Get data failed"
msgstr "获取数据失败"
#: src/constants/errors/cert.ts:12
msgid "Get dns credential error: {0}"
msgstr "获取 DNS 凭证错误:{0}"
#: src/views/node/BatchUpgrader.vue:182 src/views/system/Upgrade.vue:188
msgid "Get release information error"
msgstr "获取发布信息错误"
#: src/views/site/site_edit/components/Cert/ObtainCertLive.vue:46
msgid "Getting the certificate, please wait..."
msgstr "正在获取证书,请稍等..."
#: src/views/preference/tabs/HTTPSettings.vue:11
msgid "Github Proxy"
msgstr "Github 代理"
#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:47
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:235
msgid "Global Access Map"
msgstr "全球访问地图"
#: src/views/nginx_log/dashboard/components/GeoMapChart.vue:31
msgid "Global Map"
msgstr "全球地图"
#: src/components/AutoCertForm/DNSChallenge.vue:144
msgid "Go to DNS > Credentials to create or manage credentials"
msgstr "前往 DNS > 凭证 以创建或管理凭证"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:682
msgid "Go to Raw Log Viewer"
msgstr "转到原始日志查看器"
#: src/components/TwoFA/use2FAModal.ts:33
msgid "Go to Recovery Codes"
msgstr "前往恢复码"
#: src/views/preference/components/ExternalNotify/gotify.ts:5
msgid "Gotify"
msgstr "Gotify"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:600
msgid ""
"gRPC health check requires server to implement gRPC Health Check service "
"(grpc.health.v1.Health)."
msgstr "gRPC 健康检查要求服务器实现 gRPC 健康检查服务(grpc.health.v1.Health)。"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:599
msgid ""
"gRPCS uses TLS encryption. Server must implement gRPC Health Check service. "
"For testing, SSL validation is disabled by default."
msgstr "gRPCS 使用 TLS 加密。服务器必须实现 gRPC 健康检查服务。出于测试目的,默认情况下禁用 SSL 验证。"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67
msgid "GZIP Compression"
msgstr "GZIP 压缩"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87
msgid "GZIP Compression Level"
msgstr "GZIP 压缩级别"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80
msgid "GZIP Min Length"
msgstr "GZIP 最小长度"
#: src/views/upstream/SocketList.vue:60
msgid "Health Check"
msgstr "健康检查"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:466
msgid "Health Check Configuration"
msgstr "健康检查配置"
#: src/views/dashboard/SiteNavigation.vue:128
msgid "Health check configuration saved"
msgstr "健康检查配置已保存"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:403
msgid "Health check configuration saved successfully"
msgstr "健康检查配置保存成功"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:477
msgid "Health check is disabled"
msgstr "健康检查已禁用"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:477
msgid "Health check is enabled"
msgstr "健康检查已启用"
#: src/views/upstream/SocketList.vue:36
msgid "Health Status"
msgstr "健康状态"
#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
msgid "Hide"
msgstr "隐藏"
#: src/views/terminal/components/TerminalHeader.vue:85
msgid "Hide Assistant"
msgstr "隐藏助手"
#: src/composables/useGeoTranslation.ts:165
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:165
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:133
msgid "High"
msgstr "高"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:87
msgid "Higher value means better connection reuse"
msgstr "更高的值意味着更好的连接再利用"
#: src/views/config/components/ConfigLeftPanel.vue:255
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:100
#: src/views/stream/components/StreamEditor.vue:68
msgid "History"
msgstr "历史"
#: src/routes/index.ts:54
msgid "Home"
msgstr "首页"
#: src/views/dns/components/DNSRecordFilter.vue:42
#: src/views/preference/tabs/ServerSettings.vue:19
msgid "Host"
msgstr "主机"
#: src/views/dns/components/DNSRecordFilter.vue:45
msgid "Host, e.g. @ or www"
msgstr "主机,例如 @ 或 www"
#: src/views/backup/AutoBackup/components/CronEditor.vue:159
#: src/views/nginx_log/dashboard/components/HourlyChart.vue:87
msgid "Hour"
msgstr "小时"
#: src/views/preference/Preference.vue:71
msgid "HTTP"
msgstr "HTTP"
#: src/views/preference/tabs/CertSettings.vue:16
msgid "HTTP Challenge Port"
msgstr "HTTP Challenge 监听端口"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:506
msgid "HTTP Method"
msgstr "HTTP 方法"
#: src/components/AutoCertForm/AutoCertForm.vue:222
msgid "HTTP01"
msgstr "HTTP01"
#: src/components/SelfCheck/tasks/frontend/https-check.ts:13
msgid "HTTPS Protocol"
msgstr "HTTPS 协议"
#: src/views/nginx_log/structured/components/SearchFilters.vue:189
msgid "https://..."
msgstr "https://..."
#: src/views/preference/tabs/NodeSettings.vue:34
msgid "ICP Number"
msgstr "ICP 备案号"
#: src/views/preference/tabs/AuthSettings.vue:109
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
msgstr "如果某个 IP 的登录失败次数达到禁用阈值分钟内的最大尝试次数,该 IP 将被禁止登录一段时间。"
#: src/components/AutoCertForm/AutoCertForm.vue:280
msgid ""
"If you want to automatically revoke the old certificate, please enable this "
"option."
msgstr "如果要自动撤销旧证书,请启用此选项。"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:167
msgid ""
"If you want to change the storage location, you can set the `IndexPath` of "
"`nginx_log` section in the Nginx UI config."
msgstr "如果要更改存储位置,可以在 Nginx UI 配置中设置 `nginx_log` 部分的 `IndexPath`。"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:76
msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
msgstr "如果您的浏览器支持 WebAuthn Passkey,则会出现一个对话框。"
#: src/components/AutoCertForm/AutoCertForm.vue:271
msgid ""
"If your domain has CNAME records and you cannot obtain certificates, you "
"need to enable this option."
msgstr "如果您的域名有 CNAME 记录且无法获取证书,则需要启用此选项。"
#: src/views/certificate/CertificateList/Certificate.vue:28
msgid "Import"
msgstr "导入"
#: src/routes/modules/certificates.ts:46
#: src/views/certificate/CertificateEditor.vue:132
msgid "Import Certificate"
msgstr "导入证书"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:175
msgid "Inactive Time"
msgstr "非活动时间"
#: src/views/dashboard/components/ProcessDistributionCard.vue:54
msgid ""
"Includes master process, worker processes, cache processes, and other Nginx "
"processes"
msgstr "包括主进程、工作进程、缓存进程和其他 Nginx 进程"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:252
msgid "Incremental index scanning"
msgstr "增量索引扫描"
#: src/views/nginx_log/indexing/IndexManagement.vue:38
msgid "Index and statistics rebuild started successfully"
msgstr "索引和统计重建已成功启动"
#: src/views/nginx_log/NginxLogList.vue:208
msgid "Index failed"
msgstr "索引失败"
#: src/views/nginx_log/components/LoadingState.vue:55
msgid "Index failed, please try rebuilding"
msgstr "索引失败,请尝试重新构建"
#: src/views/nginx_log/NginxLogList.vue:393
msgid "Index rebuild initiated"
msgstr "索引重建已启动"
#: src/views/nginx_log/NginxLogList.vue:177
msgid "Index Status"
msgstr "索引状态"
#: src/views/nginx_log/NginxLogList.vue:245
msgid "Indexed"
msgstr "已索引"
#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:52
#: src/views/nginx_log/NginxLogList.vue:241
msgid "Indexing"
msgstr "索引中"
#: src/views/nginx_log/components/LoadingState.vue:33
#: src/views/nginx_log/NginxLogList.vue:463
msgid "Indexing logs..."
msgstr "正在索引日志..."
#: src/components/ProcessingStatus/ProcessingStatus.vue:37
#: src/views/nginx_log/components/LoadingState.vue:71
msgid "Indexing..."
msgstr "索引中..."
#: src/views/dashboard/components/PerformanceTablesCard.vue:16
msgid "Indicator"
msgstr "指示器"
#: src/constants/index.ts:26 src/views/notification/notificationColumns.tsx:28
msgid "Info"
msgstr "信息"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:76
msgid "Informational Responses (1xx)"
msgstr "信息响应 (1xx)"
#: src/constants/errors/user.ts:17
msgid "Init user not exists"
msgstr "初始用户不存在"
#: src/language/constants.ts:25
msgid "Initial core upgrader error"
msgstr "初始化核心升级程序错误"
#: src/language/constants.ts:24
msgid "Initialing core upgrader"
msgstr "初始化核心升级器"
#: src/views/preference/components/AuthSettings/TOTP.vue:121
msgid "Input the code from the app:"
msgstr "输入应用程序中的代码:"
#: src/components/TwoFA/Authorization.vue:80
msgid "Input the recovery code:"
msgstr "输入恢复代码:"
#: src/views/preference/tabs/HTTPSettings.vue:22
msgid "Insecure Skip Verify"
msgstr "跳过证书认证"
#: src/routes/modules/auth.ts:8
#: src/views/install/components/InstallForm.vue:120
#: src/views/install/components/InstallHeader.vue:9
#: src/views/system/Upgrade.vue:150
msgid "Install"
msgstr "安装"
#: src/components/SelfCheck/store.ts:24
msgid "Install Flow Preview"
msgstr "安装流程预览"
#: src/components/SelfCheck/store.ts:18
msgid "Install Secret"
msgstr "安装密钥"
#: src/views/install/components/InstallView.vue:174
msgid "Install Secret (*)"
msgstr "安装密钥 (*)"
#: src/constants/errors/system.ts:6
msgid "Install secret has expired"
msgstr "安装密钥已过期"
#: src/constants/errors/system.ts:5
msgid "Install secret is invalid"
msgstr "安装密钥无效"
#: src/constants/errors/system.ts:4
msgid "Install secret is required"
msgstr "需要安装密钥"
#: src/views/install/components/InstallForm.vue:70
msgid "Install successfully"
msgstr "安装成功"
#: src/views/install/components/InstallView.vue:146
msgid "Installation"
msgstr "安装"
#: src/constants/errors/system.ts:3
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr "系统启动 10 分钟后不允许安装"
#: src/views/install/components/TimeoutAlert.vue:11
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
msgstr "系统启动 10 分钟后不允许安装,请重启 Nginx UI。"
#: src/views/dns/DDNSManager.vue:168
#: src/views/preference/tabs/LogrotateSettings.vue:26
msgid "Interval"
msgstr "间隔"
#: src/views/dns/DDNSManager.vue:426
msgid "Interval (seconds)"
msgstr "间隔(秒)"
#: src/views/certificate/ACMEUser.vue:157
msgid "Invalid"
msgstr "无效的"
#: src/constants/errors/backup.ts:43
msgid "Invalid AES IV format: {0}"
msgstr "AES IV 格式无效:{0}"
#: src/constants/errors/backup.ts:42
msgid "Invalid AES key format: {0}"
msgstr "AES 密钥格式无效:{0}"
#: src/constants/errors/backup.ts:60
msgid "Invalid backup manifest signature"
msgstr "无效的备份清单签名"
#: src/constants/errors/backup.ts:59
msgid "Invalid backup manifest: {0}"
msgstr "无效的备份清单:{0}"
#: src/views/certificate/components/CertificateDownload.vue:54
#: src/views/certificate/components/CertificateFileUpload.vue:88
msgid "Invalid certificate format"
msgstr "证书格式无效"
#: src/constants/errors/user.ts:14
msgid "Invalid claims type"
msgstr "无效的声明类型"
#: src/constants/errors/version.ts:2
msgid "Invalid commit SHA"
msgstr "无效的提交 SHA"
#: src/views/install/components/InstallView.vue:83
msgid "Invalid debug secret"
msgstr "无效的调试密钥"
#: src/components/SystemRestore/SystemRestoreContent.vue:126
msgid "Invalid file object"
msgstr "无效文件对象"
#: src/constants/errors/backup.ts:50
msgid "Invalid file path: {0}"
msgstr "文件路径无效:{0}"
#: src/views/config/components/ConfigRightPanel/Basic.vue:28
#: src/views/config/components/Rename.vue:66
msgid "Invalid filename"
msgstr "文件名无效"
#: src/views/config/components/Mkdir.vue:57
msgid "Invalid folder name"
msgstr "无效文件夹名"
#: src/constants/errors/notification.ts:4
msgid "Invalid notification ID"
msgstr "无效的通知 ID"
#: src/constants/errors/notification.ts:3
msgid "Invalid notifier config"
msgstr "通知配置无效"
#: src/constants/errors/user.ts:4
msgid "Invalid otp code"
msgstr "无效的 OTP 代码"
#: src/constants/errors/backup.ts:28
msgid "Invalid padding in decrypted data"
msgstr "解密数据中的无效填充"
#: src/components/TwoFA/use2FAModal.ts:74
msgid "Invalid passcode or recovery code"
msgstr "二次验证码或恢复代码无效"
#: src/constants/errors/backup.ts:71
msgid "Invalid path: {0}"
msgstr "无效路径: {0}"
#: src/views/certificate/components/CertificateDownload.vue:59
#: src/views/certificate/components/CertificateFileUpload.vue:94
msgid "Invalid private key format"
msgstr "私钥格式无效"
#: src/constants/errors/user.ts:5
msgid "Invalid recovery code"
msgstr "无效的恢复代码"
#: src/constants/errors/middleware.ts:2
msgid "Invalid request format"
msgstr "无效的请求格式"
#: src/constants/errors/backup.ts:41
msgid "Invalid security token format"
msgstr "安全令牌格式无效"
#: src/constants/errors/notification.ts:6
msgid "Invalid Telegram Chat ID: cannot be zero"
msgstr "无效的 Telegram 聊天 ID:不能为零"
#: src/constants/errors/nginx_log.parser.ts:5
msgid "Invalid timestamp format"
msgstr "时间戳格式无效"
#: src/constants/errors/nginx_log.ts:23
msgid "Invalid websocket message type"
msgstr "无效的 WebSocket 消息类型"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:194
#: src/views/preference/tabs/AuthSettings.vue:15
msgid "IP"
msgstr "IP"
#: src/views/nginx_log/structured/components/SearchFilters.vue:77
#: src/views/nginx_log/structured/StructuredLogViewer.vue:518
msgid "IP Address"
msgstr "IP 地址"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:335
#: src/views/site/site_edit/components/RightPanel/DNS.vue:504
#: src/views/site/site_edit/components/RightPanel/DNS.vue:629
msgid "IP Address / Target"
msgstr "IP 地址/目标"
#: src/views/certificate/components/SelfSignedCertFields.vue:40
msgid "IP Addresses"
msgstr "IP 地址"
#: src/components/AutoCertForm/AutoCertForm.vue:123
msgid "IP Certificate Notice"
msgstr "IP 证书通知"
#: src/views/dns/DDNSManager.vue:384
msgid "IP Version"
msgstr "IP 版本"
#: src/views/dns/DDNSManager.vue:40
msgid "IPv4 only"
msgstr "仅 IPv4"
#: src/views/dns/DDNSManager.vue:42
msgid "IPv4 then IPv6"
msgstr "先 IPv4 后 IPv6"
#: src/views/dns/DDNSManager.vue:41
msgid "IPv6 only"
msgstr "仅 IPv6"
#: src/views/dns/DDNSManager.vue:43
msgid "IPv6 then IPv4"
msgstr "先 IPv6 后 IPv4"
#: src/views/certificate/CertificateList/certColumns.tsx:83
msgid "Issuance failed"
msgstr "签发失败"
#: src/views/certificate/CertificateList/Certificate.vue:38
msgid "Issue certificate"
msgstr "签发证书"
#: src/views/certificate/components/DNSIssueCertificate.vue:159
msgid "Issue Certificate"
msgstr "签发证书"
#: src/language/constants.ts:20
msgid "Issued certificate successfully"
msgstr "证书申请成功"
#: src/views/certificate/components/DNSIssueCertificate.vue:110
msgid "Issued successfully"
msgstr "签发成功"
#: src/components/CertInfo/CertInfo.vue:35
msgid "Issuer: %{issuer}"
msgstr "颁发者:%{issuer}"
#: src/views/certificate/CertificateList/certColumns.tsx:79
msgid "Issuing..."
msgstr "签发中..."
#: src/language/curd.ts:6
msgid "item(s)"
msgstr "项"
#: src/views/preference/tabs/AppSettings.vue:11
msgid "Jwt Secret"
msgstr "Jwt 密钥"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:75
msgid ""
"Keep your recovery codes as safe as your password. We recommend saving them "
"with a password manager."
msgstr "请像保护密码一样安全地保管您的恢复代码。我们建议使用密码管理器保存它们。"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60
msgid "Keepalive Timeout"
msgstr "Keepalive 超时"
#: src/components/AutoCertForm/AutoCertForm.vue:236
#: src/views/certificate/CertificateList/certColumns.tsx:65
#: src/views/certificate/components/SelfSignedCertFields.vue:47
msgid "Key Type"
msgstr "密钥类型"
#: src/views/preference/components/ExternalNotify/columns.tsx:33
msgid "Language"
msgstr "语言"
#: src/views/preference/components/ExternalNotify/lark.ts:5
msgid "Lark"
msgstr "Lark"
#: src/views/preference/components/ExternalNotify/lark_custom.ts:5
msgid "Lark Custom"
msgstr "Lark 自定义"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:315
msgid "Last 12 hours"
msgstr "过去 12 小时"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:22
msgid "Last 14 days"
msgstr "过去 14 天"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:311
msgid "Last 15 minutes"
msgstr "过去 15 分钟"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:316
msgid "Last 24 hours"
msgstr "过去 24 小时"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:23
#: src/views/nginx_log/structured/StructuredLogViewer.vue:318
msgid "Last 30 days"
msgstr "过去 30 天"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:312
msgid "Last 30 minutes"
msgstr "过去 30 分钟"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:314
msgid "Last 4 hours"
msgstr "过去 4 小时"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:21
#: src/views/nginx_log/structured/StructuredLogViewer.vue:317
msgid "Last 7 days"
msgstr "最近 7 天"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:24
msgid "Last 90 days"
msgstr "过去 90 天"
#: src/views/backup/AutoBackup/AutoBackup.vue:190
msgid "Last Backup Status"
msgstr "上次备份状态"
#: src/views/backup/AutoBackup/AutoBackup.vue:183
msgid "Last Backup Time"
msgstr "上次备份时间"
#: src/views/upstream/SocketList.vue:51
msgid "Last Check"
msgstr "最后检查"
#: src/views/system/Upgrade.vue:198
msgid "Last checked at"
msgstr "最后检查时间"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:313
msgid "Last hour"
msgstr "过去 1 小时"
#: src/views/nginx_log/NginxLogList.vue:258
msgid "Last Indexed"
msgstr "最后索引时间"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:26
msgid "Last month"
msgstr "上个月"
#: src/views/dns/DDNSManager.vue:176
msgid "Last run"
msgstr "上次运行"
#: src/views/dashboard/NginxDashBoard.vue:138
msgid "Last update"
msgstr "上次更新"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:199
msgid "Last updated:"
msgstr "最后更新:"
#: src/views/preference/components/AuthSettings/Passkey.vue:97
msgid "Last used at"
msgstr "上次使用"
#: src/components/TwoFA/use2FAModal.ts:34
msgid "Later"
msgstr "稍后"
#: src/views/user/userColumns.tsx:23
msgid "Leave blank for no change"
msgstr "留空表示不修改"
#: src/views/preference/tabs/OpenAISettings.vue:33
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "留空为默认:https://api.openai.com/"
#: src/language/curd.ts:39
msgid "Leave blank if do not want to modify"
msgstr "如果不想修改,请留空"
#: src/views/certificate/ACMEUser.vue:85 src/views/certificate/ACMEUser.vue:98
msgid "Leave blank if not required by your ACME provider"
msgstr "如果您的 ACME 提供商不需要,请留空"
#: src/views/certificate/ACMEUser.vue:61
msgid "Leave blank if you don't need this."
msgstr "如果不需要,请留空。"
#: src/views/preference/tabs/OpenAISettings.vue:31
msgid "Leave blank to use the Atlas Cloud endpoint: https://api.atlascloud.ai/v1"
msgstr "留空则使用 Atlas Cloud 端点:https://api.atlascloud.ai/v1"
#: src/views/certificate/components/CertificateContentEditor.vue:240
#: src/views/certificate/components/CertificateContentEditor.vue:258
#: src/views/certificate/components/CertificateContentEditor.vue:301
#: src/views/certificate/components/CertificateContentEditor.vue:319
msgid "Leave blank will not change anything"
msgstr "留空不做任何更改"
#: src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue:41
#: src/components/RecoveryCodeMigrationWarning/RecoveryCodeMigrationWarning.vue:65
msgid ""
"Legacy recovery code is deprecated. Generate new recovery codes to keep "
"account recovery secure."
msgstr "旧恢复码已弃用。生成新的恢复码以保持账户恢复安全。"
#: src/constants/errors/user.ts:6
msgid "Legacy recovery code not allowed since totp is not enabled"
msgstr "由于未启用 TOTP,因此不允许使用传统恢复代码"
#: src/components/AutoCertForm/AutoCertForm.vue:268
msgid "Lego disable CNAME Support"
msgstr "Lego 禁用 CNAME 支持"
#: src/views/system/About.vue:75 src/views/system/Licenses.vue:21
msgid "License"
msgstr "开源许可"
#: src/views/system/Licenses.vue:133
msgid "License Distribution"
msgstr "许可证分布"
#: src/views/system/Licenses.vue:125
msgid "License Types"
msgstr "许可证类型"
#: src/views/dashboard/components/NodeAnalyticItem.vue:109
#: src/views/dashboard/components/NodeAnalyticItem.vue:82
#: src/views/dashboard/components/NodeAnalyticItem.vue:99
msgid "Link"
msgstr "连接"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:456
msgid ""
"Link this site to a DNS record. The server_name will be used for the DNS "
"record name."
msgstr "将此站点链接到 DNS 记录。server_name 将用作 DNS 记录名称。"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:247
msgid ""
"Link this site to a DNS record. The server_name will be used for the DNS "
"record name. You can skip this step if DNS is already configured."
msgstr "将此站点链接到 DNS 记录。server_name 将用作 DNS 记录名称。如果 DNS 已配置,可以跳过此步骤。"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:466
msgid "Linked DNS Record"
msgstr "已关联的 DNS 记录"
#: src/language/curd.ts:23
msgid "List"
msgstr "列表"
#: src/components/PortScanner/PortScannerCompact.vue:43
msgid "Listening"
msgstr "监听中"
#: src/views/preference/Preference.vue:101
msgid "LLM"
msgstr "LLM"
#: src/views/dashboard/ServerAnalytic.vue:188
msgid "Load Average:"
msgstr "系统负载:"
#: src/views/node/Node.vue:137
msgid "Load from settings"
msgstr "从设置中加载"
#: src/views/node/Node.vue:67
msgid "Load successfully"
msgstr "加载成功"
#: src/views/dashboard/components/ModulesTable.vue:79
#: src/views/dashboard/components/ModulesTable.vue:84
msgid "Loaded"
msgstr "已加载"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:312
msgid "Loader Files"
msgstr "加载器文件"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:307
msgid "Loader Settings"
msgstr "加载器设置"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:322
msgid "Loader Sleep"
msgstr "加载器睡眠"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:347
msgid "Loader Threshold"
msgstr "加载器阈值"
#: src/views/dashboard/NginxDashBoard.vue:200
msgid "Loading data..."
msgstr "正在加载数据..."
#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
#: src/views/nginx_log/components/LoadingState.vue:41
#: src/views/nginx_log/components/LoadingState.vue:78
msgid "Loading..."
msgstr "加载中..."
#: src/components/NamespaceTabs/NamespaceTabs.vue:116
#: src/components/NodeIndicator/NodeIndicator.vue:38
#: src/components/NodeSelector/NodeSelector.vue:62 src/constants/index.ts:43
#: src/constants/index.ts:49 src/views/backup/AutoBackup/AutoBackup.vue:74
#: src/views/backup/AutoBackup/AutoBackup.vue:83
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:48
#: src/views/preference/tabs/NginxSettings.vue:64
msgid "Local"
msgstr "本地"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:60
msgid "Local path (e.g., /var/backups)"
msgstr "本地路径(例如:/var/backups"
#: src/components/NgxConfigEditor/LocationEditor.vue:81
msgid "Location"
msgstr "Location"
#: src/components/NgxConfigEditor/LocationEditor.vue:63
msgid "Locations"
msgstr "Locations"
#: src/views/certificate/CertificateEditor.vue:181
msgid "Log"
msgstr "日志"
#: src/language/generate.ts:25
msgid ""
"Log file %{log_path} is not a regular file. If you are using nginx-ui in "
"docker container, please refer to "
"https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information."
msgstr ""
"日志文件 %{log_path} 不是常规文件。如果在 Docker 容器中使用 Nginx UI,请参阅 "
"https://nginxui.com/zh_CN/guide/config-nginx-log.html 获取更多信息。"
#: src/constants/errors/nginx_log.ts:11
msgid "Log file does not exist"
msgstr "日志文件不存在"
#: src/constants/errors/nginx_log.ts:22
msgid "Log file is not a regular file"
msgstr "日志文件不是常规文件"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:859
msgid "Log file not available"
msgstr "日志文件不可用"
#: src/views/nginx_log/components/LoadingState.vue:62
msgid "Log file not indexed yet"
msgstr "日志文件尚未建立索引"
#: src/constants/errors/nginx_log.ts:9
msgid "Log indexer not available"
msgstr "日志索引器不可用"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:586
msgid "Log indexing completed! Loading updated data..."
msgstr "日志索引完成!正在加载更新数据..."
#: src/constants/errors/nginx_log.parser.ts:3
msgid "Log line exceeds maximum length"
msgstr "日志行超出最大长度"
#: src/routes/modules/nginx_log.ts:39 src/views/nginx_log/NginxLogList.vue:436
msgid "Log List"
msgstr "日志列表"
#: src/constants/errors/nginx_log.indexer.ts:2
msgid "Log parser is not initialized; call indexer.InitLogParser() before use"
msgstr "日志解析器未初始化;使用前请调用 indexer.InitLogParser()"
#: src/constants/errors/nginx_log.ts:12
msgid "Log path is not under whitelist"
msgstr "日志路径不在白名单中"
#: src/routes/modules/auth.ts:14 src/views/other/Login.vue:357
msgid "Login"
msgstr "登录"
#: src/views/other/Login.vue:109
msgid "Login successful"
msgstr "登录成功"
#: src/layouts/HeaderLayout.vue:22
msgid "Logout successful"
msgstr "登出成功"
#: src/views/preference/Preference.vue:107
msgid "Logrotate"
msgstr "Logrotate"
#: src/views/preference/tabs/LogrotateSettings.vue:13
msgid ""
"Logrotate, by default, is enabled in most mainstream Linux distributions "
"for users who install Nginx UI on the host machine, so you don't need to "
"modify the parameters on this page. For users who install Nginx UI using "
"Docker containers, you can manually enable this option. The crontab task "
"scheduler of Nginx UI will execute the logrotate command at the interval "
"you set in minutes."
msgstr ""
"对于在宿主机上安装 Nginx UI 的用户,大多数主流 Linux 发行版都默认启用 logrotate "
"定时任务,因此您无需修改本页面的参数。对于使用 Docker 容器安装 Nginx 用户界面的用户,您可以手动启用该选项。Nginx UI "
"的定时任务任务调度器将按照您设置的时间间隔(以分钟为单位)执行 logrotate 命令。"
#: src/composables/useGeoTranslation.ts:166
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:165
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:133
msgid "Low"
msgstr "低"
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:51
#: src/composables/useUpstreamStatus.ts:146
msgid "Main Node"
msgstr "主节点"
#: src/views/site/components/SiteStatusSelect.vue:165
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:87
#: src/views/site/site_list/columns.tsx:150
msgid "Maintenance"
msgstr "维护模式"
#: src/views/site/components/SiteStatusSelect.vue:93
msgid "Maintenance mode disabled successfully"
msgstr "成功禁用维护模式"
#: src/views/site/components/SiteStatusSelect.vue:80
msgid "Maintenance mode enabled successfully"
msgstr "成功启用维护模式"
#: src/views/preference/tabs/NginxSettings.vue:13
msgid "Maintenance template (filename only)"
msgstr "维护模板(仅文件名)"
#: src/views/preference/tabs/NginxSettings.vue:16
msgid "maintenance.html"
msgstr "maintenance.html"
#: src/constants/errors/cert.ts:20
msgid "Make certificate dir error: {0}"
msgstr "创建证书目录错误:{0}"
#: src/components/AutoCertForm/AutoCertForm.vue:164
msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort before obtaining the certificate."
msgstr "在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 HTTPChallengePort。"
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "配置管理"
#: src/views/dns/DNSDomainList.vue:267
msgid "Manage Records"
msgstr "管理记录"
#: src/routes/modules/sites.ts:10 src/views/site/site_list/SiteList.vue:122
msgid "Manage Sites"
msgstr "网站管理"
#: src/routes/modules/streams.ts:10 src/views/stream/StreamList.vue:59
msgid "Manage Streams"
msgstr "管理 Stream"
#: src/routes/modules/user.ts:10 src/views/user/User.vue:10
msgid "Manage Users"
msgstr "用户管理"
#: src/views/certificate/CertificateList/certColumns.tsx:29
msgid "Managed Certificate"
msgstr "托管证书"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:250
msgid "Manager Files"
msgstr "管理器文件"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:260
msgid "Manager Sleep"
msgstr "管理器睡眠"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:285
msgid "Manager Threshold"
msgstr "管理器阈值"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32
msgid "Manual"
msgstr "手动"
#: src/views/dashboard/components/PerformanceTablesCard.vue:202
msgid "manually set"
msgstr "手动设置"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Master"
msgstr "主进程"
#: src/composables/usePerformanceMetrics.ts:134
#: src/views/dashboard/components/PerformanceTablesCard.vue:90
msgid "Master process"
msgstr "主进程"
#: src/composables/usePerformanceMetrics.ts:56
#: src/views/dashboard/components/ProcessDistributionCard.vue:13
msgid "Master Process"
msgstr "主进程"
#: src/views/preference/tabs/AuthSettings.vue:99
msgid "Max Attempts"
msgstr "最大尝试次数"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:56
msgid "Max Concurrent Connections"
msgstr "最大并发连接数"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:643
msgid "Max Redirects"
msgstr "最大重定向次数"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:42
msgid "Max Requests Per Second"
msgstr "每秒最大请求次数"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:198
msgid "Maximum Cache Size"
msgstr "最大缓存大小"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:111
msgid "Maximum client request body size"
msgstr "客户端请求体的最大尺寸"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49
msgid "Maximum number of concurrent connections"
msgstr "最大并发连接数"
#: src/composables/usePerformanceMetrics.ts:174
#: src/views/dashboard/components/PerformanceTablesCard.vue:126
msgid "Maximum number of connections per worker process"
msgstr "每个工作进程的最大连接数"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:200
msgid "Maximum total size of the cache"
msgstr "缓存的最大总容量"
#: src/views/dashboard/components/PerformanceTablesCard.vue:196
msgid "Maximum worker process number:"
msgstr "最大工作进程数:"
#: src/views/dashboard/ServerAnalytic.vue:228
#: src/views/dashboard/ServerAnalytic.vue:229
#: src/views/nginx_log/components/IndexingSettingsModal.vue:53
msgid "Memory"
msgstr "内存"
#: src/views/dashboard/ServerAnalytic.vue:217
msgid "Memory and Storage"
msgstr "内存与存储"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:78
msgid "Memory Design"
msgstr "内存设计"
#: src/views/dashboard/components/ResourceUsageCard.vue:51
msgid "Memory Usage (RSS)"
msgstr "内存使用量(RSS"
#: src/views/nginx_log/structured/components/SearchFilters.vue:92
#: src/views/nginx_log/structured/StructuredLogViewer.vue:519
msgid "Method"
msgstr "方法"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:613
msgid "Method Name"
msgstr "方法名称"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81
msgid "Minimum file size for compression"
msgstr "压缩文件的最小尺寸"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:223
msgid "Minimum Free Space"
msgstr "最小可用空间"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:225
msgid "Minimum free space in the cache directory"
msgstr "缓存目录中的最小可用空间"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:142
msgid "Minimum:"
msgstr "最低要求:"
#: src/views/backup/AutoBackup/components/CronEditor.vue:169
msgid "Minute"
msgstr "分钟"
#: src/views/preference/tabs/LogrotateSettings.vue:30
msgid "Minutes"
msgstr "分钟"
#: src/constants/index.ts:45
msgid "Mirror"
msgstr "镜像"
#: src/views/preference/tabs/OpenAISettings.vue:84
msgid "Model"
msgstr "模型"
#: src/constants/errors/nginx_log.ts:25
msgid "Modern analytics service not available"
msgstr "现代分析服务不可用"
#: src/constants/errors/nginx_log.ts:26
msgid "Modern indexer service not available"
msgstr "现代索引服务不可用"
#: src/constants/errors/nginx_log.ts:24
msgid "Modern searcher service not available"
msgstr "现代搜索服务不可用"
#: src/components/ConfigHistory/ConfigHistory.vue:53
msgid "Modified At"
msgstr "修改时间"
#: src/components/LLM/ChatMessage.vue:241 src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "修改"
#: src/routes/modules/certificates.ts:36
#: src/views/certificate/CertificateEditor.vue:132
msgid "Modify Certificate"
msgstr "修改证书"
#: src/views/site/site_add/SiteAdd.vue:264
msgid "Modify Config"
msgstr "修改配置文件"
#: src/views/dashboard/components/ModulesTable.vue:49
msgid "Module"
msgstr "模块"
#: src/views/dashboard/components/PerformanceTablesCard.vue:215
msgid "Modules"
msgstr "模块"
#: src/views/dashboard/components/ModulesTable.vue:26
msgid "Modules cache refreshed"
msgstr "模块缓存已刷新"
#: src/views/backup/AutoBackup/components/CronEditor.vue:27
msgid "Monday"
msgstr "星期一"
#: src/views/backup/AutoBackup/components/CronEditor.vue:21
msgid "Monthly"
msgstr "每月"
#: src/views/backup/AutoBackup/AutoBackup.vue:138
msgid "Monthly on day %{day} at %{time}"
msgstr "每月%{day}日%{time}"
#: src/views/preference/tabs/NginxSettings.vue:19
msgid "Mounted directory"
msgstr "挂载目录"
#: src/views/nginx_log/structured/components/SearchFilters.vue:204
msgid "Mozilla/5.0..."
msgstr "Mozilla/5.0..."
#: src/views/nginx_log/components/IndexingSettingsModal.vue:276
msgid "Multi-dimensional data visualization"
msgstr "多维数据可视化"
#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:51
msgid "Multi-line Directive"
msgstr "多行指令"
#: src/components/AutoCertForm/AutoCertForm.vue:196
msgid "Must be a public IP address accessible from the internet"
msgstr "必须是可从互联网访问的公共 IP 地址"
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:38
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:56
msgid "N/A"
msgstr "不适用"
#: src/components/NgxConfigEditor/NgxUpstream.vue:130
#: src/views/backup/AutoBackup/AutoBackup.vue:11
#: src/views/certificate/ACMEUser.vue:14
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/components/CertificateBasicInfo.vue:44
#: src/views/certificate/components/CertificateBasicInfo.vue:58
#: src/views/certificate/components/CertificateBasicInfo.vue:70
#: src/views/certificate/components/SelfSignedCertFields.vue:25
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:17
#: src/views/dns/components/DNSRecordForm.vue:64
#: src/views/dns/components/DNSRecordTable.vue:18
#: src/views/dns/DNSCredential.vue:17 src/views/namespace/columns.ts:9
#: src/views/nginx_log/NginxLogList.vue:155 src/views/node/nodeColumns.tsx:8
#: src/views/preference/components/AuthSettings/AddPasskey.vue:81
#: src/views/site/site_edit/components/RightPanel/Basic.vue:36
#: src/views/site/site_list/columns.tsx:30
#: src/views/site/site_list/SiteDuplicate.vue:79
#: src/views/stream/columns.tsx:26
#: src/views/stream/components/RightPanel/Basic.vue:31
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:123 src/views/system/Licenses.vue:13
msgid "Name"
msgstr "名称"
#: src/views/config/configColumns.tsx:10
#: src/views/site/site_list/columns.tsx:22 src/views/stream/columns.tsx:18
msgid "Name or content"
msgstr "名称或内容"
#: src/views/site/site_edit/components/RightPanel/Basic.vue:42
#: src/views/site/site_list/columns.tsx:91 src/views/stream/columns.tsx:58
#: src/views/stream/components/RightPanel/Basic.vue:39
msgid "Namespace"
msgstr "命名空间"
#: src/routes/modules/namespaces.ts:10 src/views/namespace/Namespace.vue:19
msgid "Namespaces"
msgstr "命名空间"
#: src/views/dns/DNSDomainList.vue:282
msgid ""
"Need more DNS providers? Support us through donations or contact us for "
"commercial collaboration"
msgstr "需要更多 DNS 提供商?通过捐赠支持我们或联系我们进行商业合作"
#: src/views/dashboard/NginxDashBoard.vue:195
msgid "Need to enable the stub_status module"
msgstr "需要启用 stub_status 模块"
#: src/views/dashboard/ServerAnalytic.vue:335
msgid "Network"
msgstr "网络"
#: src/views/dashboard/ServerAnalytic.vue:277
msgid "Network Statistics"
msgstr "流量统计"
#: src/components/LLM/LLM.vue:58
msgid "New Chat"
msgstr "新聊天"
#: src/constants/errors/cert.ts:15
msgid "New dns challenge provider error: {0}"
msgstr "新建 DNS 验证提供程序错误:{0}"
#: src/views/install/components/InstallView.vue:225
msgid "New Installation"
msgstr "新安装"
#: src/constants/errors/cert.ts:11
msgid "New lego client error: {0}"
msgstr "新建 lego 客户端错误:{0}"
#: src/views/config/components/Rename.vue:74
msgid "New name"
msgstr "新名称"
#: src/views/user/UserProfile.vue:190
msgid "New Password"
msgstr "新密码"
#: src/views/config/components/ConfigRightPanel/Basic.vue:47
msgid "New Path"
msgstr "新路径"
#: src/constants/errors/cert.ts:10
msgid "New transport error: {0}"
msgstr "新建传输错误:{0}"
#: src/views/system/Upgrade.vue:230
msgid "New version released"
msgstr "新版本发布"
#: src/views/certificate/components/DNSIssueCertificate.vue:223
#: src/views/install/components/InstallView.vue:212
#: src/views/site/site_add/SiteAdd.vue:237
#: src/views/site/site_add/SiteAdd.vue:244
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:223
msgid "Next"
msgstr "下一步"
#: src/routes/modules/dashboard.ts:27 src/views/preference/Preference.vue:95
msgid "Nginx"
msgstr "Nginx"
#: src/constants/errors/nginx.ts:5
msgid "Nginx -T output is empty"
msgstr "Nginx -T 的输出为空"
#: src/views/preference/tabs/NginxSettings.vue:22
msgid "Nginx Access Log Path"
msgstr "Nginx 访问日志路径"
#: src/language/generate.ts:27
msgid "Nginx access log path exists"
msgstr "存在 Nginx 访问日志路径"
#: src/views/backup/AutoBackup/AutoBackup.vue:28
#: src/views/backup/AutoBackup/AutoBackup.vue:40
msgid "Nginx and Nginx UI Config"
msgstr "Nginx 和 Nginx UI 配置"
#: src/constants/errors/self_check.ts:6
msgid "Nginx conf no http block"
msgstr "Nginx 配置无 http 块"
#: src/constants/errors/self_check.ts:8
msgid "Nginx conf no stream block"
msgstr "Nginx 配置无 Stream 块"
#: src/constants/errors/self_check.ts:15
msgid "Nginx conf not include conf.d directory"
msgstr "Nginx 配置文件不包括 conf.d 目录"
#: src/constants/errors/self_check.ts:7
msgid "Nginx conf not include sites-enabled"
msgstr "Nginx Conf 中未引用 sites-enabled"
#: src/constants/errors/self_check.ts:9
msgid "Nginx conf not include stream-enabled"
msgstr "Nginx Conf 中未引用 stream-enabled"
#: src/constants/errors/backup.ts:20
msgid "Nginx config directory is not set"
msgstr "未设置 Nginx 配置目录"
#: src/language/generate.ts:28
msgid "Nginx configuration directory exists"
msgstr "Nginx 配置目录存在"
#: src/language/generate.ts:29
msgid "Nginx configuration entry file exists"
msgstr "存在 Nginx 配置入口文件"
#: src/components/SystemRestore/SystemRestoreContent.vue:162
msgid "Nginx configuration has been restored"
msgstr "Nginx 配置已恢复"
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:141
#: src/views/stream/components/StreamEditor.vue:105
msgid "Nginx Configuration Parse Error"
msgstr "Nginx 配置解析错误"
#: src/views/preference/tabs/NginxSettings.vue:31
msgid "Nginx Configuration Path"
msgstr "Nginx 配置路径"
#: src/views/preference/tabs/NginxSettings.vue:28
msgid "Nginx Configurations Directory"
msgstr "Nginx 配置目录"
#: src/components/NginxControl/NginxControl.vue:68
msgid "Nginx Control"
msgstr "控制 Nginx"
#: src/views/preference/tabs/NginxSettings.vue:55
msgid "Nginx Control Mode"
msgstr "Nginx 控制模式"
#: src/composables/usePerformanceMetrics.ts:149
#: src/views/dashboard/components/PerformanceTablesCard.vue:105
msgid "Nginx CPU usage rate"
msgstr "Nginx CPU 使用率"
#: src/views/preference/tabs/NginxSettings.vue:25
msgid "Nginx Error Log Path"
msgstr "Nginx 错误日志路径"
#: src/language/generate.ts:30
msgid "Nginx error log path exists"
msgstr "存在 Nginx 错误日志路径"
#: src/constants/errors/nginx.ts:2
msgid "Nginx error: {0}"
msgstr "Nginx 错误:{0}"
#: src/components/InspectConfig/InspectConfig.vue:43
msgid "Nginx failed to validate the configuration."
msgstr "Nginx 未能验证配置。"
#: src/components/NgxConfigEditor/NginxStatusAlert.vue:15
#: src/composables/useNginxPerformance.ts:44
#: src/views/dashboard/NginxDashBoard.vue:134
#: src/views/dashboard/NginxDashBoard.vue:153
#: src/views/dashboard/NginxDashBoard.vue:84
msgid "Nginx is not running"
msgstr "Nginx 未启动"
#: src/constants/errors/docker.ts:9
msgid "Nginx is not running in another container"
msgstr "Nginx 未在另一个容器中运行"
#: src/views/dashboard/NginxDashBoard.vue:134
msgid "Nginx is running"
msgstr "Nginx 正在运行"
#: src/routes/modules/nginx_log.ts:9 src/views/nginx_log/NginxLog.vue:76
msgid "Nginx Log"
msgstr "Nginx 日志"
#: src/views/preference/tabs/NginxSettings.vue:34
msgid "Nginx Log Directory Whitelist"
msgstr "Nginx 日志目录白名单"
#: src/components/ProcessingStatus/ProcessingStatus.vue:51
msgid "Nginx Log Indexing..."
msgstr "Nginx 日志索引中..."
#: src/composables/usePerformanceMetrics.ts:154
#: src/views/dashboard/components/PerformanceTablesCard.vue:110
msgid "Nginx Memory usage"
msgstr "Nginx 内存使用量"
#: src/views/preference/tabs/NginxSettings.vue:43
msgid "Nginx PID Path"
msgstr "Nginx PID 路径"
#: src/language/generate.ts:26
msgid "Nginx PID path exists"
msgstr "Nginx PID 路径存在"
#: src/views/preference/tabs/NginxSettings.vue:49
msgid "Nginx Reload Command"
msgstr "Nginx 重载命令"
#: src/constants/errors/config.ts:9 src/constants/errors/site.ts:7
#: src/constants/errors/stream.ts:6
msgid "Nginx reload failed: {0}"
msgstr "Nginx 重载失败:{0}"
#: src/views/node/Node.vue:88
msgid "Nginx reload operations have been dispatched to remote nodes"
msgstr "Nginx 重载操作已发送到远程节点"
#: src/components/NginxControl/NginxControl.vue:26
msgid "Nginx reloaded successfully"
msgstr "Nginx 重载成功"
#: src/components/InspectConfig/InspectConfig.vue:41
msgid "Nginx reported a configuration syntax error."
msgstr "Nginx 报告了一个配置语法错误。"
#: src/views/preference/tabs/NginxSettings.vue:52
msgid "Nginx Restart Command"
msgstr "Nginx 重启命令"
#: src/views/node/Node.vue:102
msgid "Nginx restart operations have been dispatched to remote nodes"
msgstr "Nginx 重启操作已发送到远程节点"
#: src/components/NginxControl/NginxControl.vue:40
msgid "Nginx restarted successfully"
msgstr "Nginx 重启成功"
#: src/language/generate.ts:31
msgid "Nginx sbin path exists"
msgstr "Nginx Sbin 路径存在"
#: src/views/preference/tabs/NginxSettings.vue:46
msgid "Nginx Test Config Command"
msgstr "Nginx 测试配置命令"
#: src/constants/errors/config.ts:8 src/constants/errors/site.ts:6
#: src/constants/errors/stream.ts:5
msgid "Nginx test failed: {0}"
msgstr "Nginx 测试失败:{0}"
#: src/views/dashboard/components/PerformanceTablesCard.vue:181
msgid "Nginx theoretical maximum performance"
msgstr "Nginx 理论最高性能"
#: src/constants/errors/system.ts:2
msgid "Nginx UI already installed"
msgstr "Nginx UI 已安装"
#: src/components/SystemRestore/SystemRestoreContent.vue:166
msgid "Nginx UI configuration has been restored"
msgstr "Nginx 用户界面配置已恢复"
#: src/components/SystemRestore/SystemRestoreContent.vue:368
msgid ""
"Nginx UI configuration has been restored and will restart automatically in "
"a few seconds."
msgstr "Nginx UI 配置已恢复,几秒钟后将自动重启。"
#: src/views/certificate/components/SelfSignedCertFields.vue:22
msgid ""
"Nginx UI will automatically renew this certificate as it approaches "
"expiration, based on the global certificate renewal interval and this "
"certificate's validity period."
msgstr "Nginx UI 将根据全局证书续期间隔和此证书的有效期,在证书即将过期时自动续期。"
#: src/language/generate.ts:32
msgid "Nginx.conf includes conf.d directory"
msgstr "Nginx.conf 包括 conf.d 目录"
#: src/language/generate.ts:33
msgid "Nginx.conf includes sites-enabled directory"
msgstr "Nginx.conf 包含 sites-enabled 目录"
#: src/language/generate.ts:34
msgid "Nginx.conf includes streams-enabled directory"
msgstr "检查 nginx.conf 是否包含 streams-enabled 的目录"
#: src/components/LLM/ChatMessageInput.vue:61
#: src/components/NamespaceTabs/NamespaceTabs.vue:136
#: src/components/NamespaceTabs/NamespaceTabs.vue:148
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:124
#: src/components/NgxConfigEditor/LocationEditor.vue:101
#: src/components/Notification/Notification.vue:115 src/language/curd.ts:40
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:128
#: src/views/preference/tabs/CertSettings.vue:79
#: src/views/site/site_list/SiteList.vue:166 src/views/stream/StreamList.vue:99
msgid "No"
msgstr "取消"
#: src/components/NamespaceRender/NamespaceRender.vue:41
#: src/constants/index.ts:38
msgid "No Action"
msgstr "无操作"
#: src/constants/errors/cert.ts:25
msgid "No certificate available"
msgstr "没有可用的证书"
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:227
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:263
msgid "No China geographic data available"
msgstr "无中国地理数据"
#: src/composables/useGeoTranslation.ts:169
#: src/views/dashboard/NginxDashBoard.vue:202
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:157
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:125
msgid "No data"
msgstr "没有数据"
#: src/views/upstream/SocketList.vue:41
msgid "No Data"
msgstr "无数据"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:372
#: src/views/site/site_edit/components/RightPanel/DNS.vue:666
msgid "No DNS domains available"
msgstr "没有可用的 DNS 域名"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:827
msgid "No entries in current page"
msgstr "当前页面没有条目"
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:250
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:286
msgid "No geographic data available"
msgstr "无可用地理数据"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:567
msgid "No logs found in the selected time range."
msgstr "在选定的时间范围内未找到日志。"
#: src/components/NamespaceRender/NamespaceRender.vue:55
msgid "No nodes selected"
msgstr "未选择节点"
#: src/components/ConfigHistory/DiffViewer.vue:47
msgid "No records selected"
msgstr "未选择记录"
#: src/components/NgxConfigEditor/NgxServer.vue:77
msgid "No servers configured"
msgstr "未配置服务器"
#: src/views/dashboard/SiteNavigation.vue:170
msgid "No sites found"
msgstr "未找到站点"
#: src/components/AutoCertForm/AutoCertForm.vue:136
msgid ""
"No specific IP address found in server_name configuration. Please specify "
"the server IP address below for the certificate."
msgstr "在 server_name 配置中未找到特定 IP 地址。请在下方指定服务器 IP 地址以获取证书。"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:836
msgid "No structured log data available"
msgstr "无结构化日志数据可用"
#: src/components/NgxConfigEditor/NgxUpstream.vue:103
msgid "No upstreams configured"
msgstr "未配置上游"
#: src/views/preference/Preference.vue:65
msgid "Node"
msgstr "节点"
#: src/constants/errors/analytic.ts:2
msgid "Node analytics failed: {0}"
msgstr "节点分析失败: {0}"
#: src/views/preference/tabs/NodeSettings.vue:15
msgid "Node name"
msgstr "节点名称"
#: src/views/preference/tabs/NodeSettings.vue:11
msgid "Node Secret"
msgstr "节点密钥"
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:24
msgid "Node Status"
msgstr "节点状态"
#: src/routes/modules/nodes.ts:11 src/views/dashboard/Nodes.vue:89
#: src/views/node/Node.vue:130
msgid "Nodes"
msgstr "节点"
#: src/views/certificate/CertificateList/certColumns.tsx:107
msgid "Not After"
msgstr "有效期"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:587
msgid "Not Expected Text"
msgstr "非预期文本"
#: src/routes/modules/error.ts:8
msgid "Not Found"
msgstr "找不到页面"
#: src/views/nginx_log/NginxLogList.vue:233
msgid "Not Indexed"
msgstr "未索引"
#: src/views/dashboard/components/ModulesTable.vue:80
#: src/views/dashboard/components/ModulesTable.vue:84
msgid "Not Loaded"
msgstr "未加载"
#: src/views/dns/DDNSManager.vue:191
msgid "Not run yet"
msgstr "尚未运行"
#: src/components/AutoCertForm/AutoCertForm.vue:230
msgid "Not supported for IP certificates"
msgstr "不支持 IP 证书"
#: src/components/CertInfo/CertInfo.vue:41
msgid "Not Valid Before: %{date}"
msgstr "此前无效: %{date}"
#: src/components/AutoCertForm/AutoCertForm.vue:150
#: src/views/dns/DNSCredential.vue:89
msgid "Note"
msgstr "注意"
#: src/views/site/site_edit/components/RightPanel/Basic.vue:66
#: src/views/stream/components/RightPanel/Basic.vue:61
msgid ""
"Note, if the configuration file include other configurations or "
"certificates, please synchronize them to the remote nodes in advance."
msgstr "注意,如果配置文件中包含其他配置或证书,请提前将它们同步到远程节点。"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:603
msgid ""
"Note: If the server does not support gRPC Reflection, health checks may "
"fail. Please ensure your gRPC server has Reflection enabled."
msgstr "注意:如果服务器不支持 gRPC 反射,健康检查可能会失败。请确保您的 gRPC 服务器已启用反射功能。"
#: src/views/certificate/components/CertificateBasicInfo.vue:24
#: src/views/certificate/components/CertificateContentEditor.vue:105
msgid "Nothing to copy"
msgstr "无内容可复制"
#: src/views/notification/Notification.vue:28
msgid "Notification"
msgstr "通知"
#: src/components/Notification/Notification.vue:113
#: src/routes/modules/notifications.ts:10
msgid "Notifications"
msgstr "通知"
#: src/constants/errors/notification.ts:2
msgid "Notifier not found"
msgstr "未找到通知程序"
#: src/views/preference/components/ExternalNotify/ntfy.ts:5
msgid "Ntfy"
msgstr "Ntfy"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26
msgid "Number of concurrent worker processes, auto sets to CPU core count"
msgstr "并发工作进程数,自动设置为 CPU 内核数"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:314
msgid "Number of files processed by cache loader at once"
msgstr "缓存加载器一次处理的文件数量"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:252
msgid "Number of files processed by cache manager at once"
msgstr "缓存管理器一次处理的文件数量"
#: src/composables/usePerformanceMetrics.ts:129
#: src/composables/usePerformanceMetrics.ts:169
#: src/views/dashboard/components/PerformanceTablesCard.vue:121
#: src/views/dashboard/components/PerformanceTablesCard.vue:85
msgid "Number of worker processes"
msgstr "工作进程数量"
#: src/constants/errors/cert.ts:23
msgid "Obtain cert error: {0}"
msgstr "获取证书错误:{0}"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:188
msgid "Obtain certificate"
msgstr "获取证书"
#: src/language/constants.ts:15
msgid "Obtaining certificate"
msgstr "正在获取证书"
#: src/components/AutoCertForm/AutoCertForm.vue:258
msgid "OCSP Must Staple"
msgstr "OCSP 必须装订"
#: src/components/AutoCertForm/AutoCertForm.vue:262
msgid ""
"OCSP Must Staple may cause errors for some users on first access using "
"Firefox."
msgstr "某些用户在使用 Firefox 首次访问时,OCSP Must Staple 可能会导致错误。"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164
msgid "Off"
msgstr "关闭"
#: src/views/system/About.vue:31
msgid "Official Document"
msgstr "官方文档"
#: src/components/NamespaceTabs/NamespaceTabs.vue:164
#: src/components/NodeCard/NodeCard.vue:51
#: src/components/NodeSelector/NodeSelector.vue:85
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:48
#: src/views/dashboard/Nodes.vue:117 src/views/node/nodeColumns.tsx:55
#: src/views/upstream/SocketList.vue:45
msgid "Offline"
msgstr "离线"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:248
msgid "Offline GeoIP analysis"
msgstr "离线 GeoIP 分析"
#: src/views/other/Login.vue:331
msgid "OIDC Login"
msgstr "OIDC 登录"
#: src/components/LLM/ChatMessageInput.vue:62
#: src/components/NgxConfigEditor/NgxServer.vue:60
#: src/components/NgxConfigEditor/NgxUpstream.vue:31
#: src/components/Notification/Notification.vue:116 src/language/curd.ts:15
#: src/views/backup/components/BackupCreator.vue:149
#: src/views/notification/Notification.vue:39
#: src/views/site/components/SiteStatusSelect.vue:123
#: src/views/site/site_edit/components/Cert/IssueCert.vue:52
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:167
#: src/views/stream/components/StreamStatusSelect.vue:61
#: src/views/stream/StreamList.vue:100
msgid "OK"
msgstr "确定"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:163
msgid "On"
msgstr "开启"
#: src/components/NamespaceTabs/NamespaceTabs.vue:164
#: src/components/NodeCard/NodeCard.vue:51
#: src/components/NodeSelector/NodeSelector.vue:65
#: src/components/NodeSelector/NodeSelector.vue:79
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:48
#: src/views/dashboard/Nodes.vue:110 src/views/node/nodeColumns.tsx:51
#: src/views/upstream/SocketList.vue:45
msgid "Online"
msgstr "在线"
#: src/components/UpstreamDetailModal/UpstreamDetailModal.vue:32
msgid "Online Count"
msgstr "在线数量"
#: src/components/SystemRestore/SystemRestoreContent.vue:204
#: src/components/SystemRestore/SystemRestoreContent.vue:287
msgid ""
"Only backups created by versions that support signed manifests can be "
"restored. Legacy backups are no longer supported."
msgstr "仅支持恢复由支持签名清单的版本创建的备份。旧版备份不再支持。"
#: src/components/SystemRestore/SystemRestoreContent.vue:83
msgid "Only zip files are allowed"
msgstr "只允许使用 zip 文件"
#: src/components/PortScanner/PortScannerCompact.vue:44
msgid "Open"
msgstr "开放"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:285
msgid "Open Source Limitation"
msgstr "开源限制"
#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:13
msgid "Operating System"
msgstr "操作系统"
#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:36
msgid "Operating System Statistics"
msgstr "操作系统统计"
#: src/views/dns/components/DNSRecordForm.vue:94
msgid "Optional comment for this DNS record"
msgstr "此 DNS 记录的可选注释"
#: src/components/TwoFA/Authorization.vue:108 src/views/other/Login.vue:366
msgid "Or"
msgstr "或"
#: src/views/certificate/components/CertificateFileUpload.vue:147
msgid "or drag file to editor below"
msgstr "或将文件拖拽到下方编辑器"
#: src/views/preference/components/AuthSettings/TOTP.vue:114
msgid "Or enter the secret: %{secret}"
msgstr "或输入密钥:%{secret}"
#: src/views/dashboard/SiteNavigation.vue:104
msgid "Order saved successfully"
msgstr "顺序保存成功"
#: src/views/config/components/Rename.vue:70
msgid "Original name"
msgstr "原名"
#: src/views/nginx_log/structured/components/SearchFilters.vue:153
#: src/views/nginx_log/structured/StructuredLogViewer.vue:273
#: src/views/nginx_log/structured/StructuredLogViewer.vue:524
#: src/views/system/Upgrade.vue:194
msgid "OS"
msgstr "OS"
#: src/views/dashboard/ServerAnalytic.vue:194
msgid "OS:"
msgstr "OS:"
#: src/composables/usePerformanceMetrics.ts:144
#: src/views/dashboard/components/PerformanceTablesCard.vue:100
msgid "Other Nginx processes"
msgstr "其他 Nginx 进程"
#: src/composables/usePerformanceMetrics.ts:58
#: src/views/dashboard/components/ProcessDistributionCard.vue:15
msgid "Other Processes"
msgstr "其他流程"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Others"
msgstr "其他"
#: src/constants/errors/user.ts:9
msgid "Otp or recovery code empty"
msgstr "OTP 或恢复代码为空"
#: src/views/config/components/ConfigRightPanel/Deploy.vue:18
msgid "Overwrite"
msgstr "覆盖"
#: src/views/config/components/ConfigRightPanel/Deploy.vue:22
msgid "Overwrite exist file"
msgstr "覆盖现有文件"
#: src/views/preference/tabs/AppSettings.vue:14
msgid "Page Size"
msgstr "分页大小"
#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:77
msgid "Params"
msgstr "参数"
#: src/views/dashboard/components/ParamsOptimization.vue:110
#: src/views/dashboard/components/ParamsOptimization.vue:116
msgid "Params Optimization"
msgstr "参数优化"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:73
msgid "Parser Performance"
msgstr "解析器性能"
#: src/views/preference/components/AuthSettings/Passkey.vue:60
msgid "Passkey"
msgstr "Passkey"
#: src/views/preference/components/AuthSettings/Passkey.vue:63
msgid ""
"Passkeys are webauthn credentials that validate your identity using touch, "
"facial recognition, a device password, or a PIN. They can be used as a "
"password replacement or as a 2FA method."
msgstr "Passkey 是一种网络认证凭据,可通过指纹、面部识别、设备密码或 PIN 码验证身份。它们可用作密码替代品或二步验证方法。"
#: src/views/other/Login.vue:308 src/views/user/userColumns.tsx:16
msgid "Password"
msgstr "密码"
#: src/views/install/components/InstallForm.vue:105
msgid "Password (*)"
msgstr "密码 (*)"
#: src/constants/errors/user.ts:2
msgid "Password incorrect"
msgstr "用户名和密码错误"
#: src/views/install/components/InstallForm.vue:49
msgid "Password length cannot exceed 20 characters"
msgstr "密码长度不能超过 20 个字符"
#: src/views/user/UserProfile.vue:91
msgid "Password updated successfully"
msgstr "密码更新成功"
#: src/views/user/UserProfile.vue:70
msgid "Passwords do not match"
msgstr "密码不匹配"
#: src/components/NgxConfigEditor/LocationEditor.vue:122
#: src/components/NgxConfigEditor/LocationEditor.vue:150
#: src/language/curd.ts:61
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/dashboard/components/SiteHealthCheckModal.vue:527
#: src/views/nginx_log/NginxLogList.vue:164
#: src/views/nginx_log/structured/StructuredLogViewer.vue:520
msgid "Path"
msgstr "路径"
#: src/constants/errors/backup.ts:72
msgid "Path not in granted access paths: {0}"
msgstr "路径不在授予的访问路径中:{0}"
#: src/constants/errors/cert.ts:7 src/constants/errors/config.ts:6
msgid "Path: {0} is not under the nginx conf dir: {1}"
msgstr "路径:{0} 不在 nginx 配置目录下:{1}"
#: src/constants/errors/cert.ts:6
msgid "Payload resource is nil"
msgstr "有效载荷资源为空"
#: src/views/nginx_log/dashboard/components/SummaryStats.vue:42
msgid "Peak Hour"
msgstr "高峰时段"
#: src/views/backup/AutoBackup/AutoBackup.vue:194
#: src/views/backup/AutoBackup/AutoBackup.vue:219
msgid "Pending"
msgstr "待处理"
#: src/composables/useGeoTranslation.ts:168
#: src/views/nginx_log/dashboard/components/BrowserStatsTable.vue:26
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:152
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:72
#: src/views/nginx_log/dashboard/components/DeviceStatsTable.vue:25
#: src/views/nginx_log/dashboard/components/OSStatsTable.vue:26
#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:27
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:117
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:220
msgid "Percentage"
msgstr "百分比"
#: src/views/node/BatchUpgrader.vue:246
msgid "Perform"
msgstr "执行"
#: src/language/constants.ts:29
msgid "Perform core upgrade error"
msgstr "执行核心升级错误"
#: src/views/dashboard/components/ParamsOptimization.vue:122
msgid "Performance"
msgstr "性能"
#: src/views/dashboard/NginxDashBoard.vue:207
msgid "Performance Metrics"
msgstr "性能指标"
#: src/views/dashboard/components/ParamsOptimization.vue:87
msgid "Performance settings saved successfully"
msgstr "性能调优参数保存成功"
#: src/language/constants.ts:28
msgid "Performing core upgrade"
msgstr "正在进行核心升级"
#: src/views/user/UserProfile.vue:116
msgid "Personal Information"
msgstr "个人信息"
#: src/constants/errors/self_check.ts:19
msgid "PID path not exist"
msgstr "PID 路径不存在"
#: src/constants/errors/crypto.ts:2
msgid "Plain text is empty"
msgstr "原文为空"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:373
#: src/views/site/site_edit/components/RightPanel/DNS.vue:667
msgid "Please add a DNS domain first in the DNS management section."
msgstr "请在 DNS 管理部分先添加一个 DNS 域名"
#: src/views/install/components/InstallView.vue:133
msgid "Please complete the system check first"
msgstr "请先完成系统检查"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:446
msgid ""
"Please configure server_name directive in the configuration before linking "
"DNS records."
msgstr "在链接 DNS 记录之前,请先在配置中配置 server_name 指令。"
#: src/components/AutoCertForm/DNSChallenge.vue:131
msgid "Please create DNS credentials first in DNS > Credentials"
msgstr "请先在 DNS > 凭证 中创建 DNS 凭证"
#: src/views/dashboard/NginxDashBoard.vue:196
msgid ""
"Please enable the stub_status module to get request statistics, connection "
"count, etc."
msgstr "请启用 stub_status 模块,以获取请求统计信息、连接数等。"
#: src/language/curd.ts:67
msgid "Please enter"
msgstr "请输入"
#: src/views/certificate/CertificateEditor.vue:71
#: src/views/certificate/components/DNSIssueCertificate.vue:124
#: src/views/certificate/components/SelfSignedCertForm.vue:47
msgid "Please enter a name for the certificate"
msgstr "请输入证书名称"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:75
msgid ""
"Please enter a name for the passkey you wish to create and click the OK "
"button below."
msgstr "请为您要创建的 Passkey 输入一个名称,然后单击下面的 \"确定 \"按钮。"
#: src/components/AutoCertForm/AutoCertForm.vue:98
msgid "Please enter a valid IPv4 address (0-255 per octet)"
msgstr "请输入有效的 IPv4 地址(每个八位字节为 0-255"
#: src/components/AutoCertForm/AutoCertForm.vue:109
msgid "Please enter a valid IPv4 or IPv6 address"
msgstr "请输入有效的 IPv4 或 IPv6 地址"
#: src/components/PortScanner/PortScannerCompact.vue:85
msgid "Please enter a valid port range"
msgstr "请输入有效的端口范围"
#: src/views/certificate/components/DNSIssueCertificate.vue:96
msgid "Please enter at least one domain"
msgstr "请输入至少一个域名"
#: src/views/certificate/CertificateEditor.vue:75
#: src/views/certificate/components/DNSIssueCertificate.vue:128
#: src/views/certificate/components/SelfSignedCertForm.vue:51
msgid "Please enter at least one domain or IP address"
msgstr "请输入至少一个域名或IP地址"
#: src/views/install/components/InstallView.vue:121
msgid "Please enter the install secret before continuing"
msgstr "请先输入安装密钥再继续"
#: src/components/TwoFA/Authorization.vue:93
msgid "Please enter the OTP code:"
msgstr "请输入 OTP"
#: src/components/SystemRestore/SystemRestoreContent.vue:117
msgid "Please enter the security token"
msgstr "请输入安全令牌"
#: src/components/SystemRestore/SystemRestoreContent.vue:236
#: src/components/SystemRestore/SystemRestoreContent.vue:319
msgid "Please enter the security token received during backup"
msgstr "请输入备份时收到的安全令牌"
#: src/components/AutoCertForm/AutoCertForm.vue:80
msgid "Please enter the server IP address"
msgstr "请输入服务器 IP 地址"
#: src/language/curd.ts:24
msgid "Please fill all fields correctly"
msgstr "请正确填写所有字段"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:193
#: src/views/site/site_edit/components/RightPanel/DNS.vue:320
msgid "Please fill in all required fields"
msgstr "请填写所有必填字段"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:23
msgid "Please fill in required S3 configuration fields"
msgstr "请填写必填的 S3 配置字段"
#: src/views/dns/DNSCredential.vue:93
msgid ""
"Please fill in the API authentication credentials provided by your DNS "
"provider."
msgstr "请填写 DNS 提供商提供的 API 验证凭据。"
#: src/components/AutoCertForm/AutoCertForm.vue:168
msgid ""
"Please first add credentials in Certification > DNS Credentials, and then "
"select one of the credentialsbelow to request the API of the DNS provider."
msgstr "请首先在 “证书”> “DNS 凭证” 中添加凭证,然后在下方选择一个凭证,请求 DNS 提供商的 API。"
#: src/components/Notification/notifications.ts:202
#: src/language/constants.ts:59
msgid ""
"Please generate new recovery codes in the preferences immediately to "
"prevent lockout."
msgstr "请立即在偏好设置中生成新的恢复码,以防止无法访问您的账户。"
#: src/views/config/components/ConfigRightPanel/Basic.vue:27
#: src/views/config/components/Rename.vue:65
msgid "Please input a filename"
msgstr "请输入文件名"
#: src/views/config/components/Mkdir.vue:56
msgid "Please input a folder name"
msgstr "请输入文件夹名称"
#: src/views/stream/components/StreamDuplicate.vue:25
msgid ""
"Please input name, this will be used as the filename of the new "
"configuration!"
msgstr "请输入名称,这将被用作新配置的文件名!"
#: src/views/site/site_list/SiteDuplicate.vue:33
msgid ""
"Please input name, this will be used as the filename of the new "
"configuration."
msgstr "请输入名称,这将作为新配置的文件名。"
#: src/views/install/components/InstallForm.vue:29
msgid "Please input your E-mail!"
msgstr "请输入您的邮箱!"
#: src/views/install/components/InstallForm.vue:45 src/views/other/Login.vue:80
msgid "Please input your password!"
msgstr "请输入您的密码!"
#: src/views/install/components/InstallForm.vue:35 src/views/other/Login.vue:74
msgid "Please input your username!"
msgstr "请输入您的用户名!"
#: src/views/backup/components/SystemRestore.vue:9
#: src/views/install/components/InstallView.vue:60
msgid "Please log in."
msgstr "请登录。"
#: src/views/dns/DNSCredential.vue:96
msgid "Please note that the unit of time configurations below are all in seconds."
msgstr "请注意,下面的时间单位配置均以秒为单位。"
#: src/views/install/components/InstallView.vue:136
msgid "Please resolve all issues before proceeding with installation"
msgstr "请在安装前解决所有问题"
#: src/views/backup/components/BackupCreator.vue:107
msgid "Please save this security token, you will need it for restoration:"
msgstr "请保存此安全令牌,恢复时会用到它:"
#: src/components/SystemRestore/SystemRestoreContent.vue:112
msgid "Please select a backup file"
msgstr "请选择备份文件"
#: src/views/site/site_edit/components/SiteEditor/store.ts:144
msgid "Please select a certificate before saving the TLS server configuration."
msgstr "请在保存 TLS 服务器配置前选择一个证书。"
#: src/views/certificate/components/DNSIssueCertificate.vue:89
msgid "Please select a DNS credential"
msgstr "请选择一个 DNS 凭证"
#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:42
msgid "Please select a notification type"
msgstr "请选择通知类型"
#: src/views/certificate/components/CertificateFileUpload.vue:46
msgid "Please select a valid %{type} file (%{extensions})"
msgstr "请选择有效的%{type}文件(%{extensions}"
#: src/language/curd.ts:33
msgid "Please select at least one item"
msgstr "请至少选择一项"
#: src/views/node/Node.vue:200 src/views/node/Node.vue:82
msgid "Please select at least one node to reload Nginx"
msgstr "请至少选择一个节点重载 Nginx"
#: src/views/node/Node.vue:221 src/views/node/Node.vue:96
msgid "Please select at least one node to restart Nginx"
msgstr "请至少选择一个节点重启 Nginx"
#: src/views/node/Node.vue:179
msgid "Please select at least one node to upgrade"
msgstr "请至少选择一个节点进行升级"
#: src/views/site/site_list/SiteList.vue:79
msgid "Please select at least one site to disable"
msgstr "请至少选择一个站点以禁用"
#: src/views/site/site_list/SiteList.vue:78
msgid "Please select at least one site to enable"
msgstr "请至少选择一个站点以启用"
#: src/views/certificate/components/RemoveCert.vue:37
msgid "Please type \"Revoke\" to confirm"
msgstr "请键入 \"撤销 \"确认"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "请输入确切的确认文本"
#: src/views/install/components/InstallView.vue:129
msgid "Please verify the install secret before continuing"
msgstr "请先验证安装密钥再继续"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
msgstr "端口"
#: src/components/AutoCertForm/AutoCertForm.vue:199
msgid "Port 80 must be open for HTTP-01 challenge validation"
msgstr "必须开放 80 端口以进行 HTTP-01 挑战验证"
#: src/views/site/site_edit/components/RightPanel/RightPanel.vue:60
#: src/views/stream/components/RightPanel/RightPanel.vue:37
msgid "Port Scanner"
msgstr "端口检测"
#: src/components/NamespaceRender/NamespaceRender.vue:38
#: src/views/namespace/columns.ts:46
msgid "Post-sync Action"
msgstr "同步后操作"
#: src/views/node/BatchUpgrader.vue:169 src/views/node/BatchUpgrader.vue:225
#: src/views/system/Upgrade.vue:213 src/views/system/Upgrade.vue:267
msgid "Pre-release"
msgstr "预发布"
#: src/routes/modules/preference.ts:10 src/views/preference/Preference.vue:42
msgid "Preference"
msgstr "偏好设置"
#: src/language/constants.ts:8
msgid "Preparing lego configurations"
msgstr "正在准备 Lego 的配置"
#: src/views/dns/components/DNSRecordForm.vue:82
#: src/views/dns/components/DNSRecordTable.vue:34
msgid "Priority"
msgstr "优先级"
#: src/components/AutoCertForm/AutoCertForm.vue:206
msgid "Private CA:"
msgstr "私有 CA"
#: src/components/AutoCertForm/AutoCertForm.vue:202
msgid "Private IPs (192.168.x.x, 10.x.x.x, 172.16-31.x.x) will fail"
msgstr "私有 IP 192.168.x.x、10.x.x.x、172.16-31.x.x)将失败"
#: src/views/certificate/components/CertificateFileUpload.vue:121
#: src/views/certificate/components/CertificateFileUpload.vue:45
msgid "private key"
msgstr "私钥"
#: src/components/PortScanner/PortScannerCompact.vue:55
msgid "Process"
msgstr "进程"
#: src/views/dashboard/components/ProcessDistributionCard.vue:26
msgid "Process Distribution"
msgstr "进程分布"
#: src/views/dashboard/components/PerformanceTablesCard.vue:155
msgid "Process information"
msgstr "进程信息"
#: src/language/curd.ts:60
msgid "Processing {count}/{total}"
msgstr "处理中 {count}/{total}"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:68
msgid "Production Pipeline"
msgstr "生产流水线"
#: src/language/constants.ts:3
msgid "Prohibit changing root password in demo"
msgstr "禁止在演示模式下修改 root 账户的密码"
#: src/language/constants.ts:4
msgid "Prohibit deleting the default user"
msgstr "禁止删除默认用户"
#: src/views/system/About.vue:71
msgid "Project Team"
msgstr "项目团队"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "受保护目录"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:485
msgid "Protocol"
msgstr "协议"
#: src/views/preference/tabs/ServerSettings.vue:47
msgid ""
"Protocol configuration only takes effect when directly connecting. If using "
"reverse proxy, please configure the protocol separately in the reverse "
"proxy."
msgstr "协议配置仅在直接连接时生效。如果使用反向代理,请在反向代理中单独配置协议。"
#: src/views/dns/DDNSManager.vue:159 src/views/dns/DNSCredential.vue:26
#: src/views/dns/DNSDomainList.vue:229
#: src/views/preference/tabs/OpenAISettings.vue:70
msgid "Provider"
msgstr "提供商"
#: src/constants/errors/cert.ts:13
msgid "Provider not found: {0}"
msgstr "未找到提供商:{0}"
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:59
msgid "Province / Region"
msgstr "省份 / 地区"
#: src/views/dns/components/DNSRecordForm.vue:88
#: src/views/dns/components/DNSRecordTable.vue:64
#: src/views/dns/components/DNSRecordTable.vue:94
#: src/views/site/site_add/components/DNSRecordIntegration.vue:296
#: src/views/site/site_edit/components/RightPanel/DNS.vue:475
#: src/views/site/site_edit/components/RightPanel/DNS.vue:590
msgid "Proxied"
msgstr "已代理"
#: src/views/certificate/ACMEUser.vue:54
msgid "Proxy"
msgstr "代理"
#: src/composables/useUpstreamStatus.ts:122
msgid "Proxy Pass"
msgstr "代理传递"
#: src/views/site/site_list/columns.tsx:78 src/views/stream/columns.tsx:46
msgid "Proxy Targets"
msgstr "代理目标"
#: src/components/AutoCertForm/AutoCertForm.vue:192
msgid "Public CA Requirements:"
msgstr "公共 CA 要求:"
#: src/views/preference/tabs/NodeSettings.vue:46
msgid "Public Security Number"
msgstr "公安备案号"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:769
msgid "PV"
msgstr "页面浏览量"
#: src/views/nginx_log/NginxLogList.vue:214
#: src/views/nginx_log/NginxLogList.vue:215
#: src/views/nginx_log/NginxLogList.vue:237
msgid "Queued"
msgstr "已排队"
#: src/views/nginx_log/components/LoadingState.vue:48
msgid "Queued for indexing..."
msgstr "排队等待索引中..."
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:51
#: src/views/nginx_log/structured/StructuredLogViewer.vue:708
msgid "Quick Select"
msgstr "快速选择"
#: src/views/nginx_log/NginxLog.vue:94
msgid "Raw"
msgstr "原始"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:196
msgid "Re-download Database"
msgstr "重新下载数据库"
#: src/constants/errors/site.ts:8 src/constants/errors/stream.ts:7
msgid "Read dir failed: {0}"
msgstr "读取文件夹失败: {0}"
#: src/composables/usePerformanceMetrics.ts:104
#: src/views/dashboard/components/PerformanceTablesCard.vue:64
msgid "Read requests"
msgstr "读取请求数"
#: src/views/dashboard/ServerAnalytic.vue:37
#: src/views/dashboard/ServerAnalytic.vue:391
msgid "Reads"
msgstr "读"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:244
msgid "Real-time analytics dashboard"
msgstr "实时分析仪表板"
#: src/views/nginx_log/NginxLogList.vue:501
msgid "Rebuild"
msgstr "重建"
#: src/views/nginx_log/indexing/IndexManagement.vue:94
msgid "Rebuild All Index"
msgstr "重建所有索引"
#: src/views/nginx_log/indexing/IndexManagement.vue:55
msgid "Rebuild File Index"
msgstr "重建文件索引"
#: src/views/nginx_log/indexing/IndexManagement.vue:29
msgid "Rebuild Index"
msgstr "重建索引"
#: src/views/dashboard/ServerAnalytic.vue:342
#: src/views/dashboard/ServerAnalytic.vue:35
msgid "Receive"
msgstr "下载"
#: src/components/SelfCheck/SelfCheck.vue:64
msgid "Recheck"
msgstr "重新检查"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:150
msgid "Recommended:"
msgstr "推荐:"
#: src/views/dns/DNSRecordManager.vue:118
msgid "Record created"
msgstr "记录已创建"
#: src/views/dns/DNSRecordManager.vue:125
msgid "Record deleted"
msgstr "记录已删除"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:325
#: src/views/site/site_edit/components/RightPanel/DNS.vue:619
msgid "Record Name"
msgstr "记录名称"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:311
#: src/views/site/site_edit/components/RightPanel/DNS.vue:605
msgid "Record Type"
msgstr "记录类型"
#: src/views/dns/DNSRecordManager.vue:114
msgid "Record updated"
msgstr "记录已更新"
#: src/views/dns/DDNSManager.vue:403
msgid "Records"
msgstr "记录"
#: src/components/TwoFA/Authorization.vue:87
msgid "Recovery"
msgstr "恢复"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:69
msgid "Recovery Codes"
msgstr "恢复代码"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:74
msgid ""
"Recovery codes are used to access your account when you lose access to your "
"2FA device. Each code can only be used once."
msgstr "恢复代码用于在您无法访问双重身份验证设备时登录您的账户。每个代码只能使用一次。"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:535
msgid "Recreate DNS Record"
msgstr "重新创建 DNS 记录"
#: src/views/preference/tabs/CertSettings.vue:46
msgid "Recursive Nameservers"
msgstr "递归域名服务器"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:100
msgid "Redirection Messages (3xx)"
msgstr "重定向消息 (3xx)"
#: src/views/nginx_log/structured/components/SearchFilters.vue:185
#: src/views/nginx_log/structured/StructuredLogViewer.vue:299
msgid "Referer"
msgstr "来源"
#: src/language/curd.ts:70 src/views/dns/DDNSManager.vue:304
#: src/views/dns/DNSRecordManager.vue:170
msgid "Refresh"
msgstr "刷新"
#: src/views/dashboard/components/ModulesTable.vue:114
msgid "Refresh Modules Cache"
msgstr "刷新模块缓存"
#: src/components/LLM/ChatMessageInput.vue:74
msgid "Regenerate response"
msgstr "重新生成响应"
#: src/views/certificate/ACMEUser.vue:165
msgid "Register"
msgstr "注册"
#: src/views/certificate/ACMEUser.vue:59
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr "注册用户或使用此账户申请证书时通过 HTTP 代理。"
#: src/views/certificate/ACMEUser.vue:133
msgid "Register failed"
msgstr "注册失败"
#: src/views/certificate/ACMEUser.vue:104
msgid "Register On Startup"
msgstr "启动时注册"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:27
msgid "Register passkey successfully"
msgstr "Passkey 注册成功"
#: src/views/certificate/ACMEUser.vue:131
msgid "Register successfully"
msgstr "注册成功"
#: src/language/constants.ts:14
msgid "Registering user"
msgstr "正在注册用户"
#: src/views/certificate/ACMEUser.vue:148
msgid "Registration Status"
msgstr "注册状态"
#: src/views/system/Upgrade.vue:152
msgid "Reinstall"
msgstr "重新安装"
#: src/constants/errors/version.ts:3
msgid "Release API request failed: {0}"
msgstr "发布 API 请求失败: {0}"
#: src/views/system/Upgrade.vue:271
msgid "Release Note"
msgstr "发行日志"
#: src/components/LLM/ChatMessage.vue:251
#: src/components/NginxControl/NginxControl.vue:103
msgid "Reload"
msgstr "重载"
#: src/components/NamespaceRender/NamespaceRender.vue:44
#: src/components/NamespaceTabs/NamespaceTabs.vue:141 src/constants/index.ts:39
#: src/views/node/Node.vue:208 src/views/node/Node.vue:216
msgid "Reload Nginx"
msgstr "重载 Nginx"
#: src/constants/errors/nginx.ts:4
msgid "Reload nginx failed: {0}"
msgstr "重载 Nginx 失败: {0}"
#: src/components/Notification/notifications.ts:10
msgid "Reload Nginx on %{node} failed, response: %{resp}"
msgstr "在 %{node} 上重载 Nginx 失败,响应:%{resp}"
#: src/components/Notification/notifications.ts:14
msgid "Reload Nginx on %{node} successfully"
msgstr "在 %{node} 上重载 Nginx 成功"
#: src/components/Notification/notifications.ts:9
msgid "Reload Remote Nginx Error"
msgstr "重载远程 Nginx 错误"
#: src/components/Notification/notifications.ts:13
msgid "Reload Remote Nginx Success"
msgstr "重载远程 Nginx 成功"
#: src/components/NamespaceTabs/NamespaceTabs.vue:85
msgid "Reload request failed, please check your network connection"
msgstr "重载请求失败,请检查网络连接"
#: src/components/NginxControl/NginxControl.vue:77
msgid "Reloading"
msgstr "重载中"
#: src/language/constants.ts:18
msgid "Reloading nginx"
msgstr "正在重载 Nginx"
#: src/constants/index.ts:44 src/constants/index.ts:50
msgid "Remote"
msgstr "远程"
#: src/components/StringListInput/StringListInput.vue:38
#: src/components/StringListInput/StringListInput.vue:41
#: src/views/preference/tabs/AuthSettings.vue:133
msgid "Remove"
msgstr "删除"
#: src/views/preference/components/AuthSettings/Passkey.vue:47
#: src/views/preference/tabs/AuthSettings.vue:48
msgid "Remove successfully"
msgstr "移除成功"
#: src/views/dns/DDNSManager.vue:243
msgid "Removed %{count} conflicting record(s): %{names}"
msgstr "已删除 %{count} 条冲突记录:%{names}"
#: src/components/Notification/Notification.vue:84
msgid "Removed successfully"
msgstr "删除成功"
#: src/components/LLM/LLMSessionTabs.vue:283
#: src/components/LLM/LLMSessionTabs.vue:374
#: src/components/NgxConfigEditor/NgxUpstream.vue:75
#: src/views/config/components/ConfigName.vue:50
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
msgstr "重命名"
#: src/components/Notification/notifications.ts:86
msgid "Rename %{orig_path} to %{new_path} on %{node_name} failed"
msgstr "在 %{node_name} 上将 %{orig_path} 重命名为 %{new_path} 失败"
#: src/components/Notification/notifications.ts:90
msgid "Rename %{orig_path} to %{new_path} on %{node_name} successfully"
msgstr "在 %{node_name} 上成功将 %{orig_path} 重命名为 %{new_path}"
#: src/components/Notification/notifications.ts:85 src/language/constants.ts:42
msgid "Rename Remote Config Error"
msgstr "远程配置重命名错误"
#: src/components/Notification/notifications.ts:89 src/language/constants.ts:41
msgid "Rename Remote Config Success"
msgstr "重命名远程配置成功"
#: src/components/Notification/notifications.ts:145
#: src/language/constants.ts:56
msgid "Rename Remote Site Error"
msgstr "重命名远程站点错误"
#: src/components/Notification/notifications.ts:149
#: src/language/constants.ts:55
msgid "Rename Remote Site Success"
msgstr "重命名远程站点成功"
#: src/components/Notification/notifications.ts:185
msgid "Rename Remote Stream Error"
msgstr "重命名远程 Stream 错误"
#: src/components/Notification/notifications.ts:189
msgid "Rename Remote Stream Success"
msgstr "重命名远程 Stream 成功"
#: src/components/Notification/notifications.ts:146
msgid "Rename site %{name} to %{new_name} on %{node} failed"
msgstr "在 %{node} 上将站点 %{name} 重命名为 %{new_name} 成功"
#: src/components/Notification/notifications.ts:150
msgid "Rename site %{name} to %{new_name} on %{node} successfully"
msgstr "在 %{node} 上将站点 %{name} 重命名为 %{new_name} 成功"
#: src/components/Notification/notifications.ts:186
msgid "Rename stream %{name} to %{new_name} on %{node} failed"
msgstr "在 %{node} 上将站点 %{name} 重命名为 %{new_name} 成功"
#: src/components/Notification/notifications.ts:190
msgid "Rename stream %{name} to %{new_name} on %{node} successfully"
msgstr "在 %{node} 上将站点 %{name} 重命名为 %{new_name} 成功"
#: src/views/config/components/Rename.vue:43
msgid "Rename successfully"
msgstr "重命名成功"
#: src/views/config/components/ConfigName.vue:28
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:27
#: src/views/stream/components/ConfigName.vue:27
msgid "Renamed successfully"
msgstr "重命名成功"
#: src/constants/errors/cert.ts:19
msgid "Renew cert error: {0}"
msgstr "续签证书错误:{0}"
#: src/views/certificate/components/RenewCert.vue:44
#: src/views/certificate/components/RenewCert.vue:51
msgid "Renew Certificate"
msgstr "更新证书"
#: src/components/Notification/notifications.ts:45 src/language/constants.ts:36
msgid "Renew Certificate Error"
msgstr "证书续期错误"
#: src/components/Notification/notifications.ts:41 src/language/constants.ts:35
msgid "Renew Certificate Success"
msgstr "证书续期成功"
#: src/views/certificate/components/RenewCert.vue:26
msgid "Renew successfully"
msgstr "更新成功"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:218
msgid "Request"
msgstr "请求"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:553
msgid "Request Body"
msgstr "请求体"
#: src/views/nginx_log/structured/components/SearchFilters.vue:122
msgid "Request Path"
msgstr "请求路径"
#: src/views/dashboard/components/PerformanceTablesCard.vue:142
msgid "Request statistics"
msgstr "请求统计"
#: src/constants/errors/crypto.ts:4
msgid "Request timeout"
msgstr "请求超时"
#: src/constants/errors/validate.ts:2 src/language/constants.ts:33
msgid "Requested with wrong parameters"
msgstr "请求参数错误"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:77
msgid "Requests Per Connection"
msgstr "每次连接请求数"
#: src/language/curd.ts:13 src/views/dns/components/DNSRecordFilter.vue:65
#: src/views/nginx_log/structured/components/SearchFilters.vue:214
#: src/views/nginx_log/structured/StructuredLogViewer.vue:745
msgid "Reset"
msgstr "重置"
#: src/views/preference/components/AuthSettings/TOTP.vue:95
msgid "Reset 2FA"
msgstr "重置二步验证"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:851
msgid "Reset Search"
msgstr "重置搜索"
#: src/views/dashboard/components/ResourceUsageCard.vue:53
msgid ""
"Resident Set Size: Actual memory resident in physical memory, including all "
"shared library memory, which will be repeated calculated for multiple "
"processes"
msgstr "驻留集大小:实际驻留在物理内存中的内存,包括所有共享库内存,将为多个进程重复计算"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:109
msgid "Resource Usage Warning"
msgstr "资源使用警告"
#: src/composables/usePerformanceMetrics.ts:109
#: src/views/dashboard/components/PerformanceTablesCard.vue:69
msgid "Responses"
msgstr "响应"
#: src/components/NginxControl/NginxControl.vue:96
msgid "Restart"
msgstr "重启"
#: src/components/NamespaceTabs/NamespaceTabs.vue:153
#: src/views/node/Node.vue:229 src/views/node/Node.vue:237
msgid "Restart Nginx"
msgstr "重启 Nginx"
#: src/components/Notification/notifications.ts:18
msgid "Restart Nginx on %{node} failed, response: %{resp}"
msgstr "在 %{node} 上重启 Nginx 失败,响应:%{resp}"
#: src/components/Notification/notifications.ts:22
msgid "Restart Nginx on %{node} successfully"
msgstr "在 %{node} 上重启 Nginx 成功"
#: src/components/Notification/notifications.ts:17
msgid "Restart Remote Nginx Error"
msgstr "重启远程 Nginx 错误"
#: src/components/Notification/notifications.ts:21
msgid "Restart Remote Nginx Success"
msgstr "重启远程 Nginx 成功"
#: src/components/NamespaceTabs/NamespaceTabs.vue:105
msgid "Restart request failed, please check your network connection"
msgstr "重启请求失败,请检查网络连接"
#: src/components/NginxControl/NginxControl.vue:82
msgid "Restarting"
msgstr "重启中"
#: src/language/curd.ts:10
msgid "Restore"
msgstr "恢复"
#: src/components/SystemRestore/SystemRestoreContent.vue:159
msgid "Restore completed successfully"
msgstr "恢复成功"
#: src/views/install/components/InstallView.vue:228
msgid "Restore from Backup"
msgstr "从备份还原"
#: src/components/SystemRestore/SystemRestoreContent.vue:249
#: src/components/SystemRestore/SystemRestoreContent.vue:332
msgid "Restore Nginx Configuration"
msgstr "恢复 Nginx 配置"
#: src/components/SystemRestore/SystemRestoreContent.vue:260
#: src/components/SystemRestore/SystemRestoreContent.vue:343
msgid "Restore Nginx UI Configuration"
msgstr "恢复 Nginx UI 配置"
#: src/components/ConfigHistory/DiffViewer.vue:400
#: src/components/ConfigHistory/DiffViewer.vue:413
msgid "Restore this version"
msgstr "恢复此版本"
#: src/language/curd.ts:30
msgid "Restored successfully"
msgstr "恢复成功"
#: src/views/certificate/components/DNSIssueCertificate.vue:259
#: src/views/certificate/components/RetryCert.vue:48
msgid "Retry"
msgstr "重试"
#: src/views/certificate/components/RetryCert.vue:52
msgid "Retry Certificate Issuance"
msgstr "重试证书签发"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:39
msgid "Review first"
msgstr "先检查"
#: src/views/certificate/components/RemoveCert.vue:108
#: src/views/certificate/components/RemoveCert.vue:36
msgid "Revoke"
msgstr "撤销"
#: src/constants/errors/cert.ts:24
msgid "Revoke cert error: {0}"
msgstr "吊销证书错误:{0}"
#: src/components/AutoCertForm/AutoCertForm.vue:277
msgid "Revoke Old Certificate"
msgstr "撤销旧证书"
#: src/views/certificate/components/RemoveCert.vue:122
msgid "Revoke this certificate"
msgstr "撤销该证书"
#: src/views/certificate/components/RemoveCert.vue:130
msgid ""
"Revoking a certificate will affect any services currently using it. This "
"action cannot be undone."
msgstr "撤销证书将影响当前使用该证书的任何服务。该操作无法撤销。"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:356
#: src/views/site/site_edit/components/RightPanel/DNS.vue:650
msgid "Route traffic through proxy for additional protection and features"
msgstr "通过代理路由流量以获得额外保护和功能"
#: src/views/preference/tabs/AuthSettings.vue:72
msgid "RP Display Name"
msgstr "依赖方显示名称"
#: src/views/preference/tabs/AuthSettings.vue:78
msgid "RP Origins"
msgstr "依赖方的源"
#: src/views/preference/tabs/AuthSettings.vue:66
msgid "RPID"
msgstr "依赖方 ID"
#: src/views/preference/tabs/ServerSettings.vue:25
msgid "Run Mode"
msgstr "运行模式"
#: src/components/NginxControl/NginxControl.vue:72
msgid "Running"
msgstr "运行中"
#: src/views/backup/AutoBackup/AutoBackup.vue:75
#: src/views/backup/AutoBackup/AutoBackup.vue:84
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:49
msgid "S3"
msgstr "S3"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:83
msgid "S3 access key ID"
msgstr "S3 访问密钥 ID"
#: src/views/backup/AutoBackup/AutoBackup.vue:249
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:77
msgid "S3 Access Key ID"
msgstr "S3 访问密钥 ID"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:79
msgid "S3 access key ID is required"
msgstr "必须提供 S3 访问密钥 ID"
#: src/views/backup/AutoBackup/AutoBackup.vue:261
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:99
msgid "S3 Bucket"
msgstr "S3 存储桶"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:101
msgid "S3 bucket is required"
msgstr "必须填写 S3 存储桶"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:105
msgid "S3 bucket name"
msgstr "S3 存储桶名称"
#: src/constants/errors/backup.ts:66
msgid "S3 configuration is incomplete: missing {0}"
msgstr "S3 配置不完整:缺少 {0}"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:34
msgid "S3 connection test failed"
msgstr "S3 连接测试失败"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:30
msgid "S3 connection test successful"
msgstr "S3 连接测试成功"
#: src/views/backup/AutoBackup/AutoBackup.vue:243
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:66
msgid "S3 Endpoint"
msgstr "S3 终端节点"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:68
msgid "S3 endpoint is required"
msgstr "必须提供 S3 端点"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:72
msgid "S3 endpoint URL"
msgstr "S3 终端节点 URL"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:126
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:60
msgid "S3 path (e.g., backups/)"
msgstr "S3 路径(例如 backups/"
#: src/views/backup/AutoBackup/AutoBackup.vue:267
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:110
msgid "S3 Region"
msgstr "S3 区域"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:115
msgid "S3 region (e.g., us-east-1)"
msgstr "S3 区域(例如 us-east-1"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:94
msgid "S3 secret access key"
msgstr "S3 秘密访问密钥"
#: src/views/backup/AutoBackup/AutoBackup.vue:255
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:88
msgid "S3 Secret Access Key"
msgstr "S3 秘密访问密钥"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:90
msgid "S3 secret access key is required"
msgstr "必须提供 S3 秘密访问密钥"
#: src/constants/errors/backup.ts:70
msgid "S3 upload failed: {0}"
msgstr "S3 上传失败:{0}"
#: src/components/InspectConfig/InspectConfig.vue:39
msgid "Sandbox setup failed before Nginx could validate the configuration."
msgstr "在 Nginx 验证配置之前,沙箱设置失败。"
#: src/components/InspectConfig/InspectConfig.vue:129
#: src/components/InspectConfig/InspectConfig.vue:28
msgid "Sandbox validation failed"
msgstr "沙箱验证失败"
#: src/components/InspectConfig/InspectConfig.vue:118
#: src/components/InspectConfig/InspectConfig.vue:26
msgid "Sandbox validation skipped"
msgstr "已跳过沙箱验证"
#: src/views/backup/AutoBackup/components/CronEditor.vue:32
msgid "Saturday"
msgstr "星期六"
#: src/components/LLM/ChatMessage.vue:244
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:164
#: src/language/curd.ts:18
#: src/views/certificate/components/CertificateActions.vue:29
#: src/views/config/components/ConfigLeftPanel.vue:283
#: src/views/config/components/ConfigName.vue:58
#: src/views/dashboard/components/SiteHealthCheckModal.vue:713
#: src/views/dns/DDNSManager.vue:441 src/views/dns/DNSRecordManager.vue:222
#: src/views/preference/components/AuthSettings/Passkey.vue:131
#: src/views/preference/Preference.vue:124
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:52
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:196
#: src/views/stream/components/ConfigName.vue:52
#: src/views/stream/components/StreamEditor.vue:154
msgid "Save"
msgstr "保存"
#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:112
msgid "Save Directive"
msgstr "保存指令"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:38
msgid "Save now"
msgstr "立即保存"
#: src/views/dashboard/components/SiteNavigationToolbar.vue:48
msgid "Save Order"
msgstr "保存顺序"
#: src/components/Notification/notifications.ts:153
#: src/language/constants.ts:48
msgid "Save Remote Site Error"
msgstr "保存远程站点错误"
#: src/components/Notification/notifications.ts:157
#: src/language/constants.ts:47
msgid "Save Remote Site Success"
msgstr "保存远程站点成功"
#: src/components/Notification/notifications.ts:193
msgid "Save Remote Stream Error"
msgstr "保存远程 Stream 错误"
#: src/components/Notification/notifications.ts:197
msgid "Save Remote Stream Success"
msgstr "保存远程 Stream 成功"
#: src/components/Notification/notifications.ts:154
msgid "Save site %{name} to %{node} failed"
msgstr "成功将站点 %{name} 保存到 %{node} 中"
#: src/components/Notification/notifications.ts:158
msgid "Save site %{name} to %{node} successfully"
msgstr "成功将站点 %{name} 保存到 %{node} 中"
#: src/components/Notification/notifications.ts:194
msgid "Save stream %{name} to %{node} failed"
msgstr "部署 %{name} 到 %{node} 失败"
#: src/components/Notification/notifications.ts:198
msgid "Save stream %{name} to %{node} successfully"
msgstr "成功将站点 %{name} 保存到 %{node} 中"
#: src/language/curd.ts:36
msgid "Save successful"
msgstr "保存成功"
#: src/language/curd.ts:35 src/views/certificate/CertificateEditor.vue:97
#: src/views/certificate/components/RenewCert.vue:21
#: src/views/preference/store/index.ts:133
msgid "Save successfully"
msgstr "保存成功"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:31
msgid "Save the site configuration now?"
msgstr "立即保存站点配置?"
#: src/views/certificate/CertificateEditor.vue:94
msgid "Saved certificate response is missing an ID"
msgstr "保存的证书响应缺少 ID"
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:51
#: src/language/curd.ts:28 src/views/config/components/ConfigLeftPanel.vue:198
#: src/views/site/site_add/SiteAdd.vue:57
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:57
#: src/views/stream/components/StreamEditor.vue:30
msgid "Saved successfully"
msgstr "保存成功"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:47
msgid ""
"Saving the site configuration failed; the certificate directives are in the "
"editor — review the changes and retry from the Save button."
msgstr "保存站点配置失败;证书指令已在编辑器中 — 请检查更改,然后通过“保存”按钮重新尝试。"
#: src/constants/errors/self_check.ts:20
msgid "Sbin path not exist"
msgstr "Sbin 路径不存在"
#: src/components/PortScanner/PortScannerCompact.vue:94
msgid "Scan completed"
msgstr "扫描完成"
#: src/components/PortScanner/PortScannerCompact.vue:98
msgid "Scan failed"
msgstr "扫描失败"
#: src/components/PortScanner/PortScannerCompact.vue:179
msgid "Scan Ports"
msgstr "扫描端口"
#: src/components/PortScanner/PortScannerCompact.vue:204
msgid "Scan Results"
msgstr "扫描结果"
#: src/views/preference/components/AuthSettings/TOTP.vue:71
msgid "Scan the QR code with your mobile phone to add the account to the app."
msgstr "用手机扫描二维码,将账户添加到应用程序中。"
#: src/views/nginx_log/indexing/components/IndexProgressBar.vue:50
msgid "Scanning"
msgstr "扫描中"
#: src/views/backup/AutoBackup/AutoBackup.vue:113
msgid "Schedule"
msgstr "计划"
#: src/views/backup/AutoBackup/components/CronEditor.vue:144
msgid "Schedule Type"
msgstr "计划类型"
#: src/views/dns/components/DNSChallenge.vue:121
msgid "SDK"
msgstr "SDK"
#: src/language/constants.ts:62 src/language/curd.ts:12
#: src/views/config/configColumns.tsx:5
#: src/views/dns/components/DNSRecordFilter.vue:62
#: src/views/nginx_log/structured/components/SearchFilters.vue:217
#: src/views/site/site_list/columns.tsx:17 src/views/stream/columns.tsx:13
msgid "Search"
msgstr "搜索"
#: src/views/dns/DDNSManager.vue:293
msgid "Search domain, provider or target"
msgstr "搜索域名、提供商或目标记录"
#: src/views/nginx_log/structured/components/SearchFilters.vue:53
msgid "Search Filters"
msgstr "搜索筛选器"
#: src/views/nginx_log/structured/components/SearchFilters.vue:69
msgid "Search in log content..."
msgstr "在日志内容中搜索..."
#: src/language/constants.ts:61
msgid "Search module name"
msgstr "搜索模块名称"
#: src/views/dashboard/components/ModulesTable.vue:103
msgid "Search modules"
msgstr "搜索模块"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:842
msgid "Search range"
msgstr "搜索范围"
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:79
msgid "Search templates"
msgstr "搜索模板"
#: src/views/preference/components/AuthSettings/TOTP.vue:111
msgid "Secret has been copied"
msgstr "密钥已复制"
#: src/views/user/UserProfile.vue:170
msgid "Security Settings"
msgstr "安全设置"
#: src/components/SystemRestore/SystemRestoreContent.vue:233
#: src/components/SystemRestore/SystemRestoreContent.vue:316
msgid "Security Token"
msgstr "安全 Token"
#: src/views/backup/components/BackupCreator.vue:94
msgid "Security Token Information"
msgstr "安全令牌信息"
#: src/views/dns/components/DNSChallenge.vue:52
msgid ""
"Select a DNS provider to see whether it supports DNS record management in "
"DNS Domains."
msgstr "选择 DNS 提供商后,将显示其是否支持 DNS Domains 中的 DNS 记录管理。"
#: src/views/certificate/ACMEUser.vue:50
msgid ""
"Select a predefined CA directory or enter a custom one. Leave blank to use "
"the default CA directory."
msgstr "选择一个预定义的 CA 目录或输入自定义目录。留空则使用默认 CA 目录。"
#: src/language/curd.ts:31
msgid "Select all"
msgstr "全选"
#: src/components/AutoCertForm/DNSChallenge.vue:138
#: src/language/constants.ts:68
msgid "Select Credential"
msgstr "选择凭证"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:254
#: src/views/site/site_edit/components/RightPanel/DNS.vue:548
msgid "Select DNS domain"
msgstr "选择 DNS 域名"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:279
#: src/views/site/site_edit/components/RightPanel/DNS.vue:573
msgid "Select existing record"
msgstr "选择现有记录"
#: src/views/dns/DDNSManager.vue:410
msgid "Select matching A/AAAA records"
msgstr "选择匹配的 A/AAAA 记录"
#: src/views/certificate/ACMEUser.vue:46
#: src/views/preference/tabs/CertSettings.vue:29
msgid "Select or enter a CA directory URL"
msgstr "选择或输入 CA 目录 URL"
#: src/language/constants.ts:67
msgid "Select Provider"
msgstr "选择提供商"
#: src/language/curd.ts:59
msgid "Selected {count} files"
msgstr "已选择 {count} 个文件"
#: src/language/curd.ts:16
msgid "Selector"
msgstr "选择器"
#: src/components/SelfCheck/SelfCheck.vue:55 src/routes/modules/system.ts:19
msgid "Self Check"
msgstr "自我检查"
#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:37
#: src/components/SelfCheck/SelfCheckHeaderBanner.vue:60
msgid "Self check failed, Nginx UI may not work properly"
msgstr "自检失败,Nginx UI 可能无法正常工作"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:63
msgid "Self-signed certificate"
msgstr "自签名证书"
#: src/views/certificate/CertificateList/certColumns.tsx:31
#: src/views/certificate/components/DNSIssueCertificate.vue:177
msgid "Self-signed Certificate"
msgstr "自签名证书"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:44
msgid "Self-signed certificate applied"
msgstr "自签名证书已应用"
#: src/views/certificate/components/DNSIssueCertificate.vue:140
#: src/views/certificate/components/SelfSignedCertForm.vue:63
msgid "Self-signed certificate generated"
msgstr "自签名证书已生成"
#: src/views/dashboard/ServerAnalytic.vue:35
#: src/views/dashboard/ServerAnalytic.vue:352
msgid "Send"
msgstr "上传"
#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:78
msgid "Send test message"
msgstr "发送测试消息"
#: src/routes/modules/dashboard.ts:19 src/views/preference/Preference.vue:47
msgid "Server"
msgstr "服务器"
#: src/components/InspectConfig/InspectConfig.vue:81
#: src/views/certificate/CertificateEditor.vue:104
msgid "Server error"
msgstr "服务器错误"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:148
msgid "Server Error Responses (5xx)"
msgstr "服务器错误响应 (5xx)"
#: src/views/dashboard/ServerAnalytic.vue:180
msgid "Server Info"
msgstr "服务器信息"
#: src/components/AutoCertForm/AutoCertForm.vue:178
msgid "Server IP Address"
msgstr "服务器 IP 地址"
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:102
msgid "Server name is controlled by linked DNS record"
msgstr "服务器名称由关联的 DNS 记录控制"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99
msgid "Server Names Hash Bucket Size"
msgstr "服务器名称哈希桶大小"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100
msgid "Server names hash table size"
msgstr "服务器名称哈希表大小"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:123
msgid "server_name not found in directives"
msgstr "未在指令集合中找到 server_name"
#: src/constants/errors/nginx_log.ts:3
msgid "ServerIdx out of range"
msgstr "Server Index 超出范围"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:608
msgid "Service Name"
msgstr "服务名称"
#: src/constants/errors/user.ts:12
msgid "Session not found"
msgstr "未找到会话"
#: src/constants/errors/cert.ts:14
msgid "Set env error: {0}"
msgstr "设置环境错误:{0}"
#: src/constants/errors/cert.ts:18
msgid "Set env flag to disable lego CNAME support error: {0}"
msgstr "设置环境标志以禁用 lego CNAME 支持错误:{0}"
#: src/views/preference/tabs/CertSettings.vue:42
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr "为 DNS 挑战步骤设置递归域名服务器以覆盖操作系统的域名服务器设置。"
#: src/views/site/components/SiteStatusSelect.vue:116
msgid "set to maintenance mode"
msgstr "设置为维护模式"
#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr "使用 DNS01 Challenge 提供商"
#: src/language/constants.ts:12
msgid "Setting environment variables"
msgstr "正在设置环境变量"
#: src/language/constants.ts:10
msgid "Setting HTTP01 challenge provider"
msgstr "使用 HTTP01 challenge provider"
#: src/constants/errors/nginx_log.ts:8
msgid ""
"Settings.NginxLogSettings.AccessLogPath is empty, refer to "
"https://nginxui.com/guide/config-nginx.html for more information"
msgstr ""
"Settings.NginxLogSettings.AccessLogPath 为空,更多信息请参阅 "
"https://nginxui.com/guide/config-nginx.html"
#: src/constants/errors/nginx_log.ts:7
msgid ""
"Settings.NginxLogSettings.ErrorLogPath is empty, refer to "
"https://nginxui.com/guide/config-nginx.html for more information"
msgstr ""
"Settings.NginxLogSettings.ErrorLogPath 为空,更多信息请参阅 "
"https://nginxui.com/guide/config-nginx.html"
#: src/views/install/components/InstallView.vue:147
msgid "Setup your Nginx UI"
msgstr "设置你的 Nginx UI"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:146
msgid "Shared Memory Zone"
msgstr "共享内存区"
#: src/components/SensitiveString/SensitiveInput.vue:88
#: src/components/SensitiveString/SensitiveString.vue:102
msgid "Show"
msgstr "显示"
#: src/views/terminal/components/TerminalHeader.vue:85
msgid "Show Assistant"
msgstr "显示助手"
#: src/views/other/Login.vue:375
msgid "Sign in with a passkey"
msgstr "使用 Passkey 登录"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:75
msgid "SIMD-optimized stream processing"
msgstr "SIMD 优化的流处理"
#: src/components/NgxConfigEditor/directive/DirectiveAdd.vue:48
msgid "Single Directive"
msgstr "单行指令"
#: src/views/site/site_add/SiteAdd.vue:256
msgid "Site Config Created Successfully"
msgstr "网站配置创建成功"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:426
msgid "Site configuration updated with recreated DNS record"
msgstr "站点配置已更新并重新创建了 DNS 记录"
#: src/constants/errors/site.ts:4
msgid "Site is enabled"
msgstr "网站已启用"
#: src/constants/errors/site.ts:5
msgid "Site is in maintenance mode"
msgstr "网站处于维护模式"
#: src/routes/modules/nginx_log.ts:31
msgid "Site Logs"
msgstr "站点列表"
#: src/constants/errors/site.ts:2
msgid "Site not found"
msgstr "网站未找到"
#: src/views/dashboard/SiteNavigation.vue:82
msgid "Site refresh initiated"
msgstr "站点刷新已启动"
#: src/routes/modules/dashboard.ts:35
msgid "Sites"
msgstr "站点"
#: src/language/generate.ts:35
msgid "Sites directory exists"
msgstr "网站目录存在"
#: src/views/site/site_list/SiteList.vue:64
msgid "Sites disabled successfully"
msgstr "站点已成功禁用"
#: src/views/site/site_list/SiteList.vue:64
msgid "Sites enabled successfully"
msgstr "站点已成功启用"
#: src/routes/modules/sites.ts:19
msgid "Sites List"
msgstr "站点列表"
#: src/views/dashboard/SiteNavigation.vue:173
msgid ""
"Sites will appear here once you configure nginx server blocks with valid "
"server_name (localhost excluded) directives."
msgstr "配置带有有效 server_name 指令(不包括 localhost)的 nginx 服务器块后,站点将显示在此处。"
#: src/constants/errors/self_check.ts:11
msgid "Sites-available directory not exist"
msgstr "Sites-available 目录不存在"
#: src/constants/errors/self_check.ts:12
msgid "Sites-enabled directory not exist"
msgstr "Sites-enabled 目录不存在"
#: src/language/curd.ts:62
#: src/views/nginx_log/structured/StructuredLogViewer.vue:249
#: src/views/nginx_log/structured/StructuredLogViewer.vue:522
msgid "Size"
msgstr "大小"
#: src/views/preference/tabs/NodeSettings.vue:23
msgid "Skip Installation"
msgstr "跳过安装"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:324
msgid "Sleep time between cache loader iterations"
msgstr "缓存加载器迭代之间的休眠时间"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:262
msgid "Sleep time between cache manager iterations"
msgstr "缓存管理器迭代之间的休眠时间"
#: src/views/upstream/SocketList.vue:18
msgid "Socket"
msgstr "套接字"
#: src/views/certificate/components/SelfSignedCertFields.vue:69
msgid "Some browsers reject TLS certificates valid for more than 398 days."
msgstr "某些浏览器会拒绝有效期超过 398 天的 TLS 证书。"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:742
msgid "Sorted by"
msgstr "排序方式"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:683
msgid "Source IP"
msgstr "源 IP"
#: src/views/system/About.vue:46
msgid "Sponsor"
msgstr "赞助"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:61
msgid "SSD storage for better I/O performance"
msgstr "SSD 存储以获得更好的 I/O 性能"
#: src/views/certificate/components/CertificateContentEditor.vue:209
#: src/views/certificate/components/CertificateContentEditor.vue:214
msgid "SSL Certificate Content"
msgstr "SSL 证书内容"
#: src/constants/errors/system.ts:11
msgid "SSL certificate file must be under Nginx configuration directory: {0}"
msgstr "SSL 证书文件必须位于 Nginx 配置目录下:{0}"
#: src/constants/errors/system.ts:9
msgid "SSL certificate file not found"
msgstr "未找到 SSL 证书文件"
#: src/views/certificate/components/CertificateContentEditor.vue:270
#: src/views/certificate/components/CertificateContentEditor.vue:275
msgid "SSL Certificate Key Content"
msgstr "SSL 证书密钥内容"
#: src/views/certificate/components/CertificateBasicInfo.vue:112
#: src/views/certificate/components/CertificateBasicInfo.vue:126
#: src/views/certificate/components/CertificateBasicInfo.vue:138
msgid "SSL Certificate Key Path"
msgstr "SSL 证书密钥路径"
#: src/views/certificate/components/CertificateBasicInfo.vue:104
#: src/views/certificate/components/CertificateBasicInfo.vue:78
#: src/views/certificate/components/CertificateBasicInfo.vue:92
#: src/views/preference/tabs/ServerSettings.vue:37
msgid "SSL Certificate Path"
msgstr "SSL 证书路径"
#: src/constants/errors/system.ts:7
msgid "SSL certificate path is required when HTTPS is enabled"
msgstr "启用 HTTPS 时需要配置 SSL 证书路径"
#: src/constants/errors/system.ts:12
msgid "SSL key file must be under Nginx configuration directory: {0}"
msgstr "SSL 密钥文件必须位于 Nginx 配置目录下:{0}"
#: src/constants/errors/system.ts:10
msgid "SSL key file not found"
msgstr "未找到 SSL 密钥文件"
#: src/views/preference/tabs/ServerSettings.vue:41
msgid "SSL Key Path"
msgstr "SSL 密钥路径"
#: src/constants/errors/system.ts:8
msgid "SSL key path is required when HTTPS is enabled"
msgstr "启用 HTTPS 时需要 SSL 密钥路径"
#: src/views/other/Login.vue:322
msgid "SSO Login"
msgstr "SSO 登录"
#: src/views/node/BatchUpgrader.vue:166 src/views/node/BatchUpgrader.vue:219
#: src/views/system/Upgrade.vue:210 src/views/system/Upgrade.vue:261
msgid "Stable"
msgstr "稳定"
#: src/components/PortScanner/PortScannerCompact.vue:151
msgid "Start"
msgstr "开始"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:57
msgid "Start Date"
msgstr "开始日期"
#: src/components/SystemRestore/SystemRestoreContent.vue:272
#: src/components/SystemRestore/SystemRestoreContent.vue:355
msgid "Start Restore"
msgstr "开始还原"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:56
msgid "Starting download..."
msgstr "开始下载..."
#: src/views/dashboard/components/ModulesTable.vue:67
#: src/views/dashboard/components/ModulesTable.vue:71
msgid "Static"
msgstr "静态"
#: src/components/PortScanner/PortScannerCompact.vue:37
#: src/views/backup/AutoBackup/AutoBackup.vue:160
#: src/views/certificate/ACMEUser.vue:66
#: src/views/certificate/CertificateList/certColumns.tsx:71
#: src/views/dashboard/components/ModulesTable.vue:75
#: src/views/dns/DDNSManager.vue:164
#: src/views/nginx_log/structured/components/SearchFilters.vue:106
#: src/views/nginx_log/structured/StructuredLogViewer.vue:241
#: src/views/nginx_log/structured/StructuredLogViewer.vue:521
#: src/views/node/nodeColumns.tsx:43
#: src/views/site/site_edit/components/RightPanel/Basic.vue:29
#: src/views/site/site_list/columns.tsx:120 src/views/stream/columns.tsx:87
msgid "Status"
msgstr "状态"
#: src/views/preference/components/ExternalNotify/EnabledSwitch.vue:24
msgid "Status updated successfully"
msgstr "状态更新成功"
#: src/components/NginxControl/NginxControl.vue:87
msgid "Stopped"
msgstr "已停止"
#: src/views/dashboard/ServerAnalytic.vue:258
#: src/views/dashboard/ServerAnalytic.vue:259
#: src/views/nginx_log/components/IndexingSettingsModal.vue:59
msgid "Storage"
msgstr "存储"
#: src/views/backup/AutoBackup/AutoBackup.vue:92
msgid "Storage Configuration"
msgstr "存储配置"
#: src/components/Notification/notifications.ts:26
msgid ""
"Storage configuration validation failed for backup task %{backup_name}, "
"error: %{error}"
msgstr "备份任务 %{backup_name} 的存储配置验证失败,错误:%{error}"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:120
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:54
msgid "Storage Path"
msgstr "存储路径"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:122
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:56
msgid "Storage path is required"
msgstr "存储路径是必填项"
#: src/views/backup/AutoBackup/AutoBackup.vue:70
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:45
msgid "Storage Type"
msgstr "存储类型"
#: src/constants/errors/stream.ts:4
msgid "Stream is enabled"
msgstr "Stream 已启用"
#: src/constants/errors/stream.ts:2
msgid "Stream not found"
msgstr "Stream 未找到"
#: src/language/generate.ts:36
msgid "Streams directory exists"
msgstr "Streams 目录存在"
#: src/constants/errors/self_check.ts:13
msgid "Streams-available directory not exist"
msgstr "Streams-available 目录不存在"
#: src/constants/errors/self_check.ts:14
msgid "Streams-enabled directory not exist"
msgstr "Streams-enabled 目录不存在"
#: src/views/nginx_log/NginxLog.vue:92
msgid "Structured"
msgstr "结构化"
#: src/views/preference/tabs/NginxSettings.vue:10
msgid "Stub Status Port"
msgstr "Stub 状态端口"
#: src/constants/errors/performance.ts:2
msgid "Stub_status is not enabled"
msgstr "未启用 stub_status"
#: src/constants/index.ts:27 src/views/backup/AutoBackup/AutoBackup.vue:195
#: src/views/backup/AutoBackup/AutoBackup.vue:220
#: src/views/notification/notificationColumns.tsx:35
msgid "Success"
msgstr "成功"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:85
msgid "Successful Responses (2xx)"
msgstr "成功响应 (2xx)"
#: src/views/backup/AutoBackup/components/CronEditor.vue:121
#: src/views/backup/AutoBackup/components/CronEditor.vue:26
msgid "Sunday"
msgstr "星期日"
#: src/components/SelfCheck/tasks/frontend/websocket.ts:19
msgid ""
"Support communication with the backend through the WebSocket protocol. If "
"your Nginx UI is being used via an Nginx reverse proxy, please refer to "
"this link to write the corresponding configuration file: "
"https://nginxui.com/guide/nginx-proxy-example.html"
msgstr ""
"支持通过 WebSocket 协议与后端通信,如果您正在使用 Nginx 反向代理了 Nginx UI "
"请参考:https://nginxui.com/guide/nginx-proxy-example.html 编写配置文件"
#: src/language/curd.ts:53 src/language/curd.ts:57
msgid "Support single or batch upload of files"
msgstr "支持单个或多个文件上传"
#: src/language/curd.ts:54 src/language/curd.ts:58
msgid "Support uploading entire folders"
msgstr "支持上传整个文件夹"
#: src/components/SystemRestore/SystemRestoreContent.vue:223
#: src/components/SystemRestore/SystemRestoreContent.vue:306
msgid "Supported file type: .zip"
msgstr "支持的文件类型:.zip"
#: src/views/dashboard/ServerAnalytic.vue:243
#: src/views/dashboard/ServerAnalytic.vue:244
msgid "Swap"
msgstr "Swap"
#: src/components/SwitchAppearance/SwitchAppearance.vue:13
msgid "Switch to dark theme"
msgstr "切换到深色主题"
#: src/components/SwitchAppearance/SwitchAppearance.vue:13
msgid "Switch to light theme"
msgstr "切换到浅色"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "同步"
#: src/views/certificate/CertificateList/certColumns.tsx:28
msgid "Sync Certificate"
msgstr "同步证书"
#: src/components/Notification/notifications.ts:70
msgid "Sync Certificate %{cert_name} to %{node_name} failed"
msgstr "同步证书 %{cert_name} 到 %{node_name} 失败"
#: src/components/Notification/notifications.ts:74
msgid "Sync Certificate %{cert_name} to %{node_name} successfully"
msgstr "证书 %{cert_name} 已成功同步至 %{node_name}"
#: src/components/Notification/notifications.ts:69 src/language/constants.ts:39
msgid "Sync Certificate Error"
msgstr "同步证书错误"
#: src/components/Notification/notifications.ts:73 src/language/constants.ts:38
msgid "Sync Certificate Success"
msgstr "同步证书成功"
#: src/components/Notification/notifications.ts:78
msgid "Sync config %{config_name} to %{node_name} failed"
msgstr "同步配置 %{config_name} 到 %{node_name} 失败"
#: src/components/Notification/notifications.ts:82
msgid "Sync config %{config_name} to %{node_name} successfully"
msgstr "配置 %{config_name} 已成功同步到 %{node_name}"
#: src/components/Notification/notifications.ts:77 src/language/constants.ts:45
msgid "Sync Config Error"
msgstr "同步配置错误"
#: src/components/Notification/notifications.ts:81 src/language/constants.ts:44
msgid "Sync Config Success"
msgstr "同步配置成功"
#: src/components/NamespaceRender/NamespaceRender.vue:53
#: src/components/NamespaceTabs/NamespaceTabs.vue:127
#: src/views/namespace/columns.ts:17 src/views/namespace/Namespace.vue:31
msgid "Sync Nodes"
msgstr "同步节点"
#: src/components/SyncNodesPreview/SyncNodesPreview.vue:45
msgid "Sync Preview"
msgstr "同步预览"
#: src/views/site/site_edit/components/RightPanel/Basic.vue:59
#: src/views/site/site_edit/components/RightPanel/Basic.vue:72
#: src/views/stream/components/RightPanel/Basic.vue:54
#: src/views/stream/components/RightPanel/Basic.vue:67
msgid "Sync strategy"
msgstr "同步策略"
#: src/views/certificate/components/CertificateBasicInfo.vue:145
#: src/views/certificate/components/SelfSignedCertFields.vue:72
msgid "Sync to"
msgstr "同步到"
#: src/views/site/site_edit/components/RightPanel/Basic.vue:57
#: src/views/stream/components/RightPanel/Basic.vue:52
msgid "Synchronization"
msgstr "同步"
#: src/components/PortScanner/PortScannerCompact.vue:194
#: src/routes/modules/system.ts:11
msgid "System"
msgstr "系统"
#: src/views/backup/components/BackupCreator.vue:71
msgid "System Backup"
msgstr "系统备份"
#: src/views/install/components/InstallView.vue:142
msgid "System Check"
msgstr "系统检查"
#: src/views/certificate/components/ACMEUserSelector.vue:67
msgid "System Initial User"
msgstr "系统初始用户"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:120
msgid "System Requirements"
msgstr "系统要求"
#: src/components/SystemRestore/SystemRestoreContent.vue:194
msgid "System Restore"
msgstr "系统还原"
#: src/views/install/components/InstallView.vue:56
msgid "System restored successfully."
msgstr "系统恢复成功。"
#: src/views/site/site_add/components/DNSRecordIntegration.vue:338
#: src/views/site/site_edit/components/RightPanel/DNS.vue:508
#: src/views/site/site_edit/components/RightPanel/DNS.vue:632
msgid "target.example.com"
msgstr "target.example.com"
#: src/views/dns/DDNSManager.vue:172
msgid "Targets"
msgstr "目标"
#: src/constants/errors/self_check.ts:3
msgid "Task is not fixable"
msgstr "任务不可修复"
#: src/constants/errors/self_check.ts:2
msgid "Task not found"
msgstr "未找到任务"
#: src/views/preference/components/ExternalNotify/telegram.ts:5
msgid "Telegram"
msgstr "Telegram"
#: src/routes/modules/terminal.ts:10 src/views/preference/Preference.vue:77
msgid "Terminal"
msgstr "终端"
#: src/components/LLM/LLM.vue:60
msgid "Terminal Assistant"
msgstr "终端助手"
#: src/views/preference/tabs/TerminalSettings.vue:10
msgid "Terminal Start Command"
msgstr "终端启动命令"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:716
#: src/views/preference/tabs/ExternalNotify.vue:57
msgid "Test"
msgstr "测试"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:451
msgid "Test failed: %{error}"
msgstr "测试失败: %{error}"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:456
msgid "Test failed: Unable to perform health check"
msgstr "测试失败:无法执行健康检查"
#: src/views/preference/components/ExternalNotify/ExternalNotifyEditor.vue:53
#: src/views/preference/tabs/ExternalNotify.vue:28
msgid "Test message sent successfully"
msgstr "测试消息发送成功"
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:141
msgid "Test S3 Connection"
msgstr "测试 S3 连接"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:448
msgid "Test successful! Response time: %{response_time}ms"
msgstr "测试成功!响应时间:%{response_time}毫秒"
#: src/components/InspectConfig/InspectConfig.vue:111
msgid "Testing Nginx configuration..."
msgstr "正在测试 Nginx 配置..."
#: src/components/AutoCertForm/AutoCertForm.vue:160
msgid ""
"The certificate for the domain will be checked 30 minutes, and will be "
"renewed if it has been more than 1 week or the period you set in settings "
"since it was last issued."
msgstr "域名证书将在 30 分钟内接受检查,如果距离上次签发证书的时间超过 1 周或您在设置中设定的时间,证书将被更新。"
#: src/views/site/site_edit/components/Cert/SelfSignedCert.vue:32
msgid ""
"The certificate has been generated at %{path} and the ssl_certificate "
"directives have been added to the current server block. Save the "
"configuration now, or review the changes in the editor and save manually."
msgstr "证书已生成在 %{path},并且 ssl_certificate 指令已添加到当前服务器块中。请立即保存配置,或在编辑器中查看更改后手动保存。"
#: src/views/site/site_list/SiteList.vue:93
msgid "The following sites will be disabled:"
msgstr "以下站点将被禁用:"
#: src/views/site/site_list/SiteList.vue:92
msgid "The following sites will be enabled:"
msgstr "以下站点将被启用:"
#: src/components/GeoLiteDownload/GeoLiteDownload.vue:158
msgid ""
"The GeoLite2 database is required for offline geographic IP analysis. "
"Please download it to enable this feature."
msgstr "离线地理 IP 分析需要 GeoLite2 数据库。请下载以启用此功能。"
#: src/views/preference/tabs/GeoLiteSettings.vue:9
msgid ""
"The GeoLite2 database provides geographic information for IP addresses. "
"This is used for offline geographic analysis in log analytics."
msgstr "GeoLite2 数据库为 IP 地址提供地理信息。这用于日志分析中的离线地理分析。"
#: src/views/preference/tabs/NodeSettings.vue:37
msgid ""
"The ICP Number should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr "ICP 备案号只能包含字母、单码、数字、连字符、破折号、冒号和点。"
#: src/views/certificate/components/CertificateContentEditor.vue:205
msgid "The input is not a SSL Certificate"
msgstr "输入的内容不是 SSL 证书"
#: src/views/certificate/components/CertificateContentEditor.vue:266
msgid "The input is not a SSL Certificate Key"
msgstr "输入的内容不是 SSL 证书密钥"
#: src/views/site/site_edit/components/RightPanel/DNS.vue:498
msgid ""
"The linked DNS record was deleted from the DNS server. You can recreate it "
"or clear the link."
msgstr "关联的 DNS 记录已从 DNS 服务器中删除。您可以重新创建它或清除链接。"
#: src/constants/errors/nginx_log.ts:2
msgid ""
"The log path is not under the paths in "
"settings.NginxSettings.LogDirWhiteList"
msgstr "日志路径不在 settings.NginxSettings.LogDirWhiteList 中的路径之下"
#: src/views/preference/tabs/OpenAISettings.vue:153
#: src/views/preference/tabs/OpenAISettings.vue:87
msgid ""
"The model name should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr "模型名称只能包含字母、单码、数字、连字符、破折号、冒号和点。"
#: src/views/preference/tabs/OpenAISettings.vue:154
msgid "The model used for code completion, if not set, the chat model will be used."
msgstr "用于代码自动补全的模型,如果未设置,则使用聊天模型。"
#: src/views/preference/tabs/NodeSettings.vue:18
msgid ""
"The node name should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr "节点名称只能包含字母、统一码、数字、连字符、破折号、冒号和点。"
#: src/views/site/site_add/SiteAdd.vue:190
#: src/views/site/site_edit/components/RightPanel/DNS.vue:445
msgid "The parameter of server_name is required"
msgstr "必须为 server_name 指令指明参数"
#: src/views/certificate/components/CertificateBasicInfo.vue:82
msgid "The path exists, but the file is not a certificate"
msgstr "路径存在,但文件不是证书"
#: src/views/certificate/components/CertificateBasicInfo.vue:116
msgid "The path exists, but the file is not a private key"
msgstr "路径存在,但文件不是私钥"
#: src/views/preference/tabs/NodeSettings.vue:49
msgid ""
"The Public Security Number should only contain letters, unicode, numbers, "
"hyphens, dashes, colons, and dots."
msgstr "公安备案号只能包含字母、单码、数字、连字符、破折号、冒号和点。"
#: src/views/dashboard/components/NodeAnalyticItem.vue:90
msgid ""
"The remote Nginx UI version is not compatible with the local Nginx UI "
"version. To avoid potential errors, please upgrade the remote Nginx UI to "
"match the local version."
msgstr "远程 Nginx UI 版本与本地 Nginx UI 版本不兼容。为避免意料之外的错误,请升级远程 Nginx UI,使其与本地版本一致。"
#: src/components/AutoCertForm/AutoCertForm.vue:155
msgid ""
"The server_name in the current configuration must be the domain name you "
"need to get the certificate, supportmultiple domains."
msgstr "当前配置中的 server_name 必须是获取证书所需的域名,支持多个域名。"
#: src/views/preference/tabs/CertSettings.vue:23
#: src/views/preference/tabs/HTTPSettings.vue:14
msgid "The url is invalid"
msgstr "URL 无效"
#: src/views/preference/tabs/OpenAISettings.vue:110
#: src/views/preference/tabs/OpenAISettings.vue:38
msgid "The url is invalid."
msgstr "URL 无效."
#: src/language/constants.ts:2
msgid "The username or password is incorrect"
msgstr "用户名或密码错误"
#: src/views/dashboard/components/PerformanceTablesCard.vue:185
msgid "Theoretical maximum concurrent connections:"
msgstr "理论最大并发连接数:"
#: src/views/dashboard/components/PerformanceTablesCard.vue:189
msgid "Theoretical maximum RPS (Requests Per Second):"
msgstr "理论最大 RPS (每秒请求次数):"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:108
msgid ""
"These codes are the last resort for accessing your account in case you lose "
"your password and second factors. If you cannot find these codes, you will "
"lose access to your account."
msgstr "这些代码是在您丢失密码和双重身份验证方式时,访问账户的最后手段。如果找不到这些代码,您将无法再访问您的账户。"
#: src/routes/modules/system.ts:45
msgid "Third-party Components"
msgstr "第三方组件"
#: src/views/certificate/components/AutoCertManagement.vue:45
msgid "This Auto Cert item is invalid, please remove it."
msgstr "这个证书自动续期项目是无效的,请删除。"
#: src/constants/errors/backup.ts:62
msgid ""
"This backup uses an unsupported legacy format. Please create a new backup "
"with a newer version before restoring."
msgstr "此备份使用了不受支持的旧版格式。请在恢复前使用更新的版本创建新备份。"
#: src/views/certificate/components/AutoCertManagement.vue:35
msgid "This certificate is managed by Nginx UI"
msgstr "该证书由 Nginx UI 托管"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "此目录受保护,为确保系统安全无法删除。"
#: src/views/certificate/components/CertificateBasicInfo.vue:114
#: src/views/certificate/components/CertificateBasicInfo.vue:47
#: src/views/certificate/components/CertificateBasicInfo.vue:80
msgid "This field is required"
msgstr "此字段必填"
#: src/constants/form_errors.ts:3 src/language/curd.ts:43
msgid "This field should be a valid email address"
msgstr "该字段应是有效的电子邮件地址"
#: src/constants/form_errors.ts:5 src/language/curd.ts:45
msgid "This field should be a valid hostname"
msgstr "该字段应是有效的主机名"
#: src/constants/form_errors.ts:2 src/language/curd.ts:42
msgid "This field should not be empty"
msgstr "该字段不能为空"
#: src/constants/form_errors.ts:6
msgid "This field should only contain letters, unicode characters, numbers, and -_."
msgstr "该字段只能包含字母、unicode 字符、数字和 -_。"
#: src/language/curd.ts:46
msgid ""
"This field should only contain letters, unicode characters, numbers, and "
"-_./:"
msgstr "此字段应仅包含字母、Unicode 字符、数字和 -_./:"
#: src/components/Notification/notifications.ts:102
msgid "This is a test message sent at %{timestamp} from Nginx UI."
msgstr "这是一条测试消息,于 %{timestamp} 从 Nginx UI 发送。"
#: src/components/SelfCheck/store.ts:25
msgid ""
"This mode only previews the installation UI flow and does not change any "
"server state."
msgstr "此模式仅预览安装界面流程,不会更改任何服务器状态。"
#: src/views/dashboard/NginxDashBoard.vue:175
msgid ""
"This module provides Nginx request statistics, connection count, etc. data. "
"After enabling it, you can view performance statistics"
msgstr "该模块提供 Nginx 请求统计、连接数等数据。启用后,可以查看性能统计"
#: src/views/nginx_log/dashboard/components/DateRangeSelector.vue:25
msgid "This month"
msgstr "本月"
#: src/views/preference/tabs/ExternalNotify.vue:16
msgid "This notification is disabled"
msgstr "此通知已禁用"
#: src/views/certificate/components/RemoveCert.vue:116
msgid ""
"This operation will only remove the certificate from the database. The "
"certificate files on the file system will not be deleted."
msgstr "此操作只会从数据库中删除证书。文件系统中的证书文件不会被删除。"
#: src/views/certificate/components/SelfSignedCertManagement.vue:17
msgid ""
"This self-signed certificate is managed by Nginx UI and renewed "
"automatically."
msgstr "此自签名证书由 Nginx UI 管理并自动续期。"
#: src/components/AutoCertForm/AutoCertForm.vue:128
msgid ""
"This site is configured as a default server (default_server) for HTTPS "
"(port 443). IP certificates require Certificate Authority (CA) support and "
"may not be available with all ACME providers."
msgstr ""
"此站点已配置为 HTTPS (端口 443)的默认服务器(default_server)。IP 证书需要证书颁发机构(CA)的支持,且并非所有 "
"ACME 提供商都提供此类证书。"
#: src/components/AutoCertForm/AutoCertForm.vue:132
msgid ""
"This site uses wildcard server name (_) which typically indicates an "
"IP-based certificate. IP certificates require Certificate Authority (CA) "
"support and may not be available with all ACME providers."
msgstr "此站点使用通配符服务器名称(_),通常表示基于 IP 的证书。IP 证书需要证书颁发机构(CA)的支持,并且可能并非所有 ACME 提供商都提供。"
#: src/views/backup/components/BackupCreator.vue:141
msgid ""
"This token will only be shown once and cannot be retrieved later. Please "
"make sure to save it in a secure location."
msgstr "此 Token 只显示一次,以后无法找回。请确保将其保存在安全位置。"
#: src/constants/form_errors.ts:4 src/language/curd.ts:44
msgid "This value is already taken"
msgstr "该字段的值已经存在"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "这将永久删除%{type}。"
#: src/views/nginx_log/indexing/IndexManagement.vue:30
msgid ""
"This will rebuild the entire log index. All existing index data will be "
"deleted and rebuilt from scratch. This may take some time. Continue?"
msgstr "这将重建整个日志索引。所有现有索引数据将被删除并从头开始重建。这可能需要一些时间。是否继续?"
#: src/views/nginx_log/indexing/IndexManagement.vue:56
msgid "This will rebuild the index data for this specific file: %{path}"
msgstr "这将重建此特定文件的索引数据:%{path}"
#: src/components/SystemRestore/SystemRestoreContent.vue:253
#: src/components/SystemRestore/SystemRestoreContent.vue:336
msgid ""
"This will restore all Nginx configuration files. Nginx will restart after "
"the restoration is complete."
msgstr "这将还原所有 Nginx 配置文件。恢复完成后,Nginx 将重新启动。"
#: src/components/SystemRestore/SystemRestoreContent.vue:264
#: src/components/SystemRestore/SystemRestoreContent.vue:347
msgid ""
"This will restore configuration files and database. Nginx UI will restart "
"after the restoration is complete."
msgstr "这将恢复配置文件和数据库。恢复完成后,Nginx UI 将重新启动。"
#: src/views/node/BatchUpgrader.vue:187
msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr "将 %{nodeNames} 上的 Nginx UI 升级或重新安装到 %{version} 版本。"
#: src/views/preference/tabs/AuthSettings.vue:89
msgid "Throttle"
msgstr "限流"
#: src/views/backup/AutoBackup/components/CronEditor.vue:30
msgid "Thursday"
msgstr "星期四"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:185
#: src/views/nginx_log/structured/StructuredLogViewer.vue:517
msgid "Time"
msgstr "时间"
#: src/views/nginx_log/NginxLogList.vue:311
#: src/views/nginx_log/structured/StructuredLogViewer.vue:696
msgid "Time Range"
msgstr "时间范围"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:630
msgid "Timeout (seconds)"
msgstr "超时时间(秒)"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
#: src/views/preference/tabs/LogrotateSettings.vue:12
msgid "Tips"
msgstr "提示"
#: src/views/dashboard/components/PerformanceTablesCard.vue:207
msgid ""
"Tips: You can increase the concurrency processing capacity by increasing "
"worker_processes or worker_connections"
msgstr "提示您可以通过增加 worker_processes 或 worker_connections 来提高并发处理能力"
#: src/views/notification/notificationColumns.tsx:58
msgid "Title"
msgstr "标题"
#: src/language/curd.ts:68 src/language/curd.ts:69
msgid "to confirm deletion"
msgstr "确认删除"
#: src/views/certificate/components/RemoveCert.vue:134
msgid "To confirm revocation, please type \"Revoke\" in the field below:"
msgstr "要确认撤销,请在下面的字段中输入 \"撤销\""
#: src/views/preference/components/AuthSettings/TOTP.vue:70
msgid ""
"To enable it, you need to install the Google or Microsoft Authenticator app "
"on your mobile phone."
msgstr "要启用该功能,您需要在手机上安装 Google 或 Microsoft Authenticator 应用程序。"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:95
msgid ""
"To ensure security, Webauthn configuration cannot be added through the UI. "
"Please manually configure the following in the app.ini configuration file "
"and restart Nginx UI."
msgstr "为确保安全,Webauthn 配置不能通过用户界面添加。请在 app.ini 配置文件中手动配置以下内容,并重启 Nginx UI 服务。"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:47
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:15
msgid ""
"To make sure the certification auto-renewal can work normally, we need to "
"add a location which can proxy the request from authority to backend, and "
"we need to save this file and reload the Nginx. Are you sure you want to "
"continue?"
msgstr ""
"为了确保认证自动更新能够正常工作,我们需要添加一个能够代理从权威机构到后端的请求的 Location,并且我们需要保存这个文件并重新加载 "
"Nginx。你确定要继续吗?"
#: src/views/preference/tabs/OpenAISettings.vue:44
msgid ""
"To use a local large model, deploy it with ollama, vllm or lmdeploy. They "
"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your "
"local API."
msgstr ""
"要使用本地大型模型,可使用 ollama、vllm 或 lmdeploy 进行部署。它们提供了与 OpenAI 兼容的 API 端点,因此只需将 "
"baseUrl 设置为本地 API 即可。"
#: src/views/dashboard/NginxDashBoard.vue:56
msgid "Toggle failed"
msgstr "切换失败"
#: src/constants/errors/user.ts:13
msgid "Token is empty"
msgstr "令牌为空"
#: src/views/preference/tabs/OpenAISettings.vue:122
msgid "Token is not valid"
msgstr "Token 无效"
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:269
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:305
msgid "Top 10 Countries / Regions"
msgstr "前 10 个国家 / 地区"
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:246
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:282
msgid "Top 10 Provinces / Regions"
msgstr "前 10 个省份 / 地区"
#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:37
msgid "TOP 10 URLs"
msgstr "前 10 个 URL"
#: src/language/curd.ts:5
msgid "Total"
msgstr "总计"
#: src/views/system/Licenses.vue:107
msgid "Total Components"
msgstr "总组件数"
#: src/composables/usePerformanceMetrics.ts:94
#: src/views/dashboard/components/PerformanceTablesCard.vue:54
msgid "Total connections"
msgstr "连接总数"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:763
msgid "Total Entries"
msgstr "总条目数"
#: src/composables/usePerformanceMetrics.ts:89
#: src/views/dashboard/components/PerformanceTablesCard.vue:49
msgid "Total handshakes"
msgstr "握手总数"
#: src/views/dashboard/components/ProcessDistributionCard.vue:53
msgid "Total Nginx processes"
msgstr "Nginx 进程总数"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:94
msgid "Total Nginx Processes"
msgstr "Nginx 进程总数"
#: src/views/nginx_log/dashboard/components/SummaryStats.vue:24
msgid "Total PV"
msgstr "总访问量"
#: src/views/dashboard/ServerAnalytic.vue:284
msgid "Total Receive"
msgstr "总接收"
#: src/composables/usePerformanceMetrics.ts:99
#: src/views/dashboard/components/PerformanceTablesCard.vue:59
msgid "Total requests"
msgstr "总请求数"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:78
msgid "Total Requests / Total Connections"
msgstr "请求总数/连接总数"
#: src/views/dashboard/ServerAnalytic.vue:290
msgid "Total Send"
msgstr "总发送"
#: src/views/nginx_log/dashboard/components/SummaryStats.vue:15
msgid "Total UV"
msgstr "总 UV 数"
#: src/views/preference/components/AuthSettings/TOTP.vue:68
msgid "TOTP"
msgstr "TOTP"
#: src/views/preference/components/AuthSettings/TOTP.vue:69
msgid ""
"TOTP is a two-factor authentication method that uses a time-based one-time "
"password algorithm."
msgstr "TOTP 是一种使用基于时间的一次性密码算法的双因素身份验证方法。"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:781
msgid "Traffic"
msgstr "流量"
#: src/components/Notification/detailRender.tsx:71
msgid "Translating error..."
msgstr "正在翻译错误..."
#: src/language/curd.ts:20
msgid "Trash"
msgstr "回收站"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:829
msgid "Try adjusting your search criteria or navigate to different pages."
msgstr "尝试调整搜索条件或导航到其他页面。"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:839
msgid "Try adjusting your search criteria or time range."
msgstr "尝试调整您的搜索条件或时间范围。"
#: src/views/dns/components/DNSRecordTable.vue:30
msgid "TTL"
msgstr "TTL"
#: src/views/dns/components/DNSRecordForm.vue:79
#: src/views/site/site_add/components/DNSRecordIntegration.vue:342
#: src/views/site/site_edit/components/RightPanel/DNS.vue:511
#: src/views/site/site_edit/components/RightPanel/DNS.vue:636
msgid "TTL (seconds)"
msgstr "TTL(秒)"
#: src/views/backup/AutoBackup/components/CronEditor.vue:28
msgid "Tuesday"
msgstr "星期二"
#: src/components/TwoFA/use2FAModal.ts:59
msgid "Two-factor authentication required"
msgstr "需要两步验证"
#: src/composables/useUpstreamStatus.ts:122
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:62
#: src/views/dns/components/DNSRecordFilter.vue:49
#: src/views/dns/components/DNSRecordForm.vue:58
#: src/views/dns/components/DNSRecordTable.vue:22
#: src/views/nginx_log/NginxLogList.vue:146
#: src/views/notification/notificationColumns.tsx:8
#: src/views/preference/components/ExternalNotify/columns.tsx:19
msgid "Type"
msgstr "类型"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "输入 %{delete} 以确认"
#: src/views/nginx_log/structured/components/SearchFilters.vue:142
msgid "Type or select browser"
msgstr "输入或选择浏览器"
#: src/views/nginx_log/structured/components/SearchFilters.vue:174
msgid "Type or select device"
msgstr "输入或选择设备"
#: src/views/nginx_log/structured/components/SearchFilters.vue:158
msgid "Type or select OS"
msgstr "输入或选择操作系统"
#: src/views/nginx_log/structured/components/SearchFilters.vue:111
msgid "Type or select status codes"
msgstr "输入或选择状态码"
#: src/components/LLM/ChatMessageInput.vue:81
msgid "Type your message here..."
msgstr "在此输入您的消息..."
#: src/views/nginx_log/structured/StructuredLogViewer.vue:787
msgid "Unique Pages"
msgstr "独立页面"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:19
msgid "Unknown"
msgstr "未知"
#: src/components/AutoCertForm/DNSChallenge.vue:24
msgid "Unknown Provider"
msgstr "未知提供商"
#: src/constants/errors/backup.ts:67
msgid "Unsupported backup type: {0}"
msgstr "不支持的备份类型: {0}"
#: src/constants/errors/nginx_log.parser.ts:4
msgid "Unsupported log format"
msgstr "不支持的日志格式"
#: src/constants/errors/upgrader.ts:6
msgid "Update already in progress"
msgstr "更新已经在进行中"
#: src/views/user/UserProfile.vue:213
msgid "Update Password"
msgstr "更新密码"
#: src/views/user/UserProfile.vue:137
msgid "Update Profile"
msgstr "更新资料"
#: src/views/preference/components/AuthSettings/Passkey.vue:40
msgid "Update successfully"
msgstr "更新成功"
#: src/views/backup/AutoBackup/AutoBackup.vue:236
#: src/views/certificate/ACMEUser.vue:115
#: src/views/config/components/ConfigRightPanel/Basic.vue:54
#: src/views/config/configColumns.tsx:44 src/views/dns/DNSCredential.vue:65
#: src/views/dns/DNSDomainList.vue:236 src/views/namespace/columns.ts:91
#: src/views/node/nodeColumns.tsx:89
#: src/views/site/site_edit/components/RightPanel/Basic.vue:39
#: src/views/site/site_list/columns.tsx:113 src/views/stream/columns.tsx:80
#: src/views/stream/components/RightPanel/Basic.vue:35
#: src/views/user/userColumns.tsx:52
msgid "Updated at"
msgstr "修改时间"
#: src/routes/modules/system.ts:26 src/views/node/Node.vue:187
#: src/views/node/Node.vue:195 src/views/system/Upgrade.vue:154
#: src/views/system/Upgrade.vue:159
msgid "Upgrade"
msgstr "升级"
#: src/views/node/BatchUpgrader.vue:138
msgid "Upgraded Nginx UI on %{node} successfully 🎉"
msgstr "成功升级 %{node} 上的 Nginx UI 🎉"
#: src/language/constants.ts:30
msgid "Upgraded successfully"
msgstr "升级成功"
#: src/constants/errors/upgrader.ts:3
msgid "Upgrader core digest is empty"
msgstr "升级器核心摘要为空"
#: src/constants/errors/upgrader.ts:2
msgid "Upgrader core downloadUrl is empty"
msgstr "升级器核心下载 URL 为空"
#: src/views/node/BatchUpgrader.vue:88 src/views/system/Upgrade.vue:80
msgid "Upgrading Nginx UI, please wait..."
msgstr "正在升级 Nginx UI,请等待..."
#: src/views/certificate/components/CertificateFileUpload.vue:122
msgid "Upload %{type} File"
msgstr "上传%{type}文件"
#: src/language/curd.ts:49
msgid "Upload Files"
msgstr "上传文件"
#: src/language/curd.ts:50
msgid "Upload Folders"
msgstr "上传文件夹"
#: src/composables/useUpstreamStatus.ts:122 src/routes/modules/upstream.ts:10
#: src/views/upstream/SocketList.vue:24
msgid "Upstream"
msgstr "上游"
#: src/components/NgxConfigEditor/NgxUpstream.vue:125
msgid "Upstream Name"
msgstr "Upstream 名称"
#: src/views/upstream/SocketList.vue:133
msgid "Upstream Sockets"
msgstr "上游套接字"
#: src/views/namespace/columns.ts:59
msgid "Upstream Test Type"
msgstr "上游测试类型"
#: src/views/dashboard/ServerAnalytic.vue:184
msgid "Uptime:"
msgstr "运行时间:"
#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:13
#: src/views/node/nodeColumns.tsx:18 src/views/system/Licenses.vue:34
msgid "URL"
msgstr "URL"
#: src/views/dns/components/DNSRecordForm.vue:65
msgid "Use @ for root"
msgstr "使用 @ 表示根域名"
#: src/components/TwoFA/Authorization.vue:129
msgid "Use OTP"
msgstr "使用二步验证码"
#: src/components/TwoFA/Authorization.vue:125
msgid "Use recovery code"
msgstr "使用恢复代码"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:157
msgid "Use Temporary Path"
msgstr "使用临时路径"
#: src/components/LLM/ChatMessage.vue:216
msgid "User"
msgstr "用户"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:636
#: src/views/nginx_log/structured/components/SearchFilters.vue:200
msgid "User Agent"
msgstr "用户代理"
#: src/constants/errors/user.ts:3
msgid "User banned"
msgstr "用户被禁止"
#: src/views/user/UserProfile.vue:57
msgid "User info updated successfully"
msgstr "用户信息更新成功"
#: src/constants/errors/user.ts:8
msgid "User not enabled otp as 2fa"
msgstr "用户未启用 OTP 作为 2FA"
#: src/routes/modules/user.ts:19
msgid "User Profile"
msgstr "用户资料"
#: src/views/other/Login.vue:298 src/views/user/userColumns.tsx:7
#: src/views/user/UserProfile.vue:122 src/views/user/UserProfile.vue:126
msgid "Username"
msgstr "用户名"
#: src/views/install/components/InstallForm.vue:95
msgid "Username (*)"
msgstr "用户名 (*)"
#: src/views/install/components/InstallForm.vue:39
msgid "Username length cannot exceed 255 characters"
msgstr "用户名长度不能超过 255 个字符"
#: src/views/nginx_log/structured/StructuredLogViewer.vue:775
msgid "UV"
msgstr "独立访客"
#: src/components/CertInfo/CertInfo.vue:24
#: src/views/certificate/ACMEUser.vue:152
#: src/views/certificate/CertificateList/certColumns.tsx:98
msgid "Valid"
msgstr "有效的"
#: src/views/certificate/components/SelfSignedCertFields.vue:61
msgid "Valid For (days)"
msgstr "有效期(天)"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:658
msgid "Validate SSL Certificate"
msgstr "验证 SSL 证书"
#: src/views/dashboard/components/PerformanceTablesCard.vue:22
#: src/views/dns/components/DNSRecordForm.vue:67
#: src/views/dns/components/DNSRecordTable.vue:26
msgid "Value"
msgstr "值"
#: src/components/SystemRestore/SystemRestoreContent.vue:242
#: src/components/SystemRestore/SystemRestoreContent.vue:325
msgid "Verify Backup File Integrity (required)"
msgstr "验证备份文件完整性(必填)"
#: src/views/dashboard/components/SiteHealthCheckModal.vue:664
msgid "Verify Hostname"
msgstr "验证主机名"
#: src/views/install/components/InstallView.vue:184
msgid "Verify Secret"
msgstr "验证密钥"
#: src/views/install/components/InstallView.vue:143
msgid "Verify system requirements"
msgstr "验证系统要求"
#: src/views/node/nodeColumns.tsx:30 src/views/system/Licenses.vue:28
msgid "Version"
msgstr "版本"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:490
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:108
#: src/views/system/Licenses.vue:180 src/views/system/Licenses.vue:215
#: src/views/system/Licenses.vue:250
msgid "View"
msgstr "查看"
#: src/components/Notification/Notification.vue:185
msgid "View all notifications"
msgstr "查看全部通知"
#: src/views/node/BatchUpgrader.vue:236 src/views/system/Upgrade.vue:279
msgid "View on GitHub"
msgstr "在 GitHub 上查看"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:138
msgid "View Recovery Codes"
msgstr "查看恢复代码"
#: src/views/system/About.vue:83
msgid "View Third-party Components"
msgstr "查看第三方组件"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:71
msgid "Viewed"
msgstr "已查看"
#: src/composables/useGeoTranslation.ts:167
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:151
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:176
#: src/views/nginx_log/dashboard/components/ChinaMapChart/ChinaMapChart.vue:64
#: src/views/nginx_log/dashboard/components/TopUrlsTable.vue:19
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:116
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:144
#: src/views/nginx_log/dashboard/components/WorldMapChart/WorldMapChart.vue:212
msgid "Visits"
msgstr "访问量"
#: src/composables/usePerformanceMetrics.ts:114
#: src/views/dashboard/components/PerformanceTablesCard.vue:74
msgid "Waiting processes"
msgstr "等待处理"
#: src/components/InspectConfig/InspectConfig.vue:156 src/constants/index.ts:25
#: src/views/backup/components/BackupCreator.vue:138
#: src/views/notification/notificationColumns.tsx:21
#: src/views/preference/components/AuthSettings/AddPasskey.vue:88
msgid "Warning"
msgstr "警告"
#: src/components/SystemRestore/SystemRestoreContent.vue:198
#: src/components/SystemRestore/SystemRestoreContent.vue:281
msgid ""
"Warning: Restore operation will overwrite current configurations. Make sure "
"you have a valid backup file and security token, and carefully select what "
"to restore."
msgstr "警告:还原操作将覆盖当前配置。请确保您有有效的备份文件和安全令牌,并仔细选择要还原的内容。"
#: src/components/AutoCertForm/AutoCertForm.vue:103
msgid ""
"Warning: This appears to be a private IP address. Public CAs like Let's "
"Encrypt cannot issue certificates for private IPs. Use a public IP address "
"or consider using a private CA."
msgstr ""
"警告:这似乎是一个私有 IP 地址。像 Let's Encrypt 这样的公共 CA 无法为私有 IP 颁发证书。请使用公共 IP 地址或考虑使用私有 "
"CA。"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:298
msgid "We do not accept any feature requests"
msgstr "我们不接受任何功能请求"
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:140
msgid ""
"We will remove the HTTPChallenge configuration from this file and reload "
"the Nginx. Are you sure you want to continue?"
msgstr "我们将从这个文件中删除 HTTPChallenge 的配置,并重新加载 Nginx。你确定要继续吗?"
#: src/views/preference/tabs/AuthSettings.vue:62
msgid "Webauthn"
msgstr "Webauthn"
#: src/constants/errors/user.ts:7
msgid "WebAuthn settings are not configured"
msgstr "WebAuthn 未配置"
#: src/views/certificate/components/RemoveCert.vue:65
msgid "WebSocket connection error"
msgstr "WebSocket 连接错误"
#: src/views/preference/components/ExternalNotify/wecom.ts:5
msgid "WeCom"
msgstr "企业微信"
#: src/views/backup/AutoBackup/components/CronEditor.vue:29
msgid "Wednesday"
msgstr "星期三"
#: src/views/backup/AutoBackup/components/CronEditor.vue:20
msgid "Weekly"
msgstr "每周"
#: src/views/backup/AutoBackup/AutoBackup.vue:134
msgid "Weekly on %{day} at %{time}"
msgstr "每周%{day}的%{time}"
#: src/views/dns/components/DNSRecordForm.vue:85
#: src/views/dns/components/DNSRecordTable.vue:38
msgid "Weight"
msgstr "权重"
#: src/views/dns/DDNSManager.vue:400
msgid ""
"When enabled, DDNS owns the selected names: it auto-pairs sibling family "
"records, creates missing records, and removes records whose IP family is "
"unreachable. Disable to manage only the records you explicitly selected and "
"keep all other DNS state untouched."
msgstr ""
"启用后,DDNS 将拥有所选名称:自动配对同族记录,创建缺失的记录,并删除 IP 族不可达的记录。禁用后,仅管理您明确选择的记录,保持所有其他 DNS "
"状态不变。"
#: src/views/certificate/ACMEUser.vue:110
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr "启用后,Nginx UI 将在启动时自动重新注册用户。一般情况下,除非在开发环境中使用 Pebble 作为 CA,否则不要启用此功能。"
#: src/views/site/site_edit/components/RightPanel/Basic.vue:62
#: src/views/stream/components/RightPanel/Basic.vue:57
msgid ""
"When you enable/disable, delete, or save this site, the nodes set in the "
"namespace and the nodes selected below will be synchronized."
msgstr "当您启用/禁用、删除或保存此站点时,命名空间中设置的节点和下方选择的节点将被同步。"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:144
msgid ""
"When you generate new recovery codes, you must download or print the new "
"codes."
msgstr "当您生成新的恢复代码时,必须下载或打印新的代码。"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:159
msgid "Whether to use a temporary path when writing temporary files"
msgstr "写入临时文件时是否使用临时路径"
#: src/views/certificate/components/DNSIssueCertificate.vue:171
msgid "Wildcard Certificate"
msgstr "通配符证书"
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48
msgid "Worker Connections"
msgstr "工作进程连接数"
#: src/composables/usePerformanceMetrics.ts:55
#: src/views/dashboard/components/ConnectionMetricsCard.vue:48
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25
#: src/views/dashboard/components/ProcessDistributionCard.vue:12
msgid "Worker Processes"
msgstr "工作进程"
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:103
msgid "Workers"
msgstr "Workers"
#: src/layouts/HeaderLayout.vue:67 src/routes/index.ts:63
#: src/views/workspace/WorkSpace.vue:51
msgid "Workspace"
msgstr "工作区"
#: src/constants/errors/cert.ts:21
msgid "Write fullchain.cer error: {0}"
msgstr "写入 fullchain.cer 错误:{0}"
#: src/constants/errors/cert.ts:22
msgid "Write private.key error: {0}"
msgstr "写入 private.key 错误:{0}"
#: src/views/dashboard/ServerAnalytic.vue:37
#: src/views/dashboard/ServerAnalytic.vue:381
msgid "Writes"
msgstr "写"
#: src/language/constants.ts:17
msgid "Writing certificate private key to disk"
msgstr "正在将证书私钥写入磁盘"
#: src/language/constants.ts:16
msgid "Writing certificate to disk"
msgstr "正在将证书写入磁盘"
#: src/components/NamespaceTabs/NamespaceTabs.vue:135
#: src/components/NamespaceTabs/NamespaceTabs.vue:147
#: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:123
#: src/components/NgxConfigEditor/LocationEditor.vue:100
#: src/views/nginx_log/indexing/IndexManagement.vue:31
#: src/views/nginx_log/indexing/IndexManagement.vue:57
#: src/views/preference/tabs/AuthSettings.vue:127
#: src/views/preference/tabs/CertSettings.vue:78
msgid "Yes"
msgstr "是的"
#: src/views/terminal/Terminal.vue:219
msgid ""
"You are accessing this terminal over an insecure HTTP connection on a "
"non-localhost domain. This may expose sensitive information."
msgstr "您正在通过非本地主机域上的不安全 HTTP 连接访问此终端。这可能会暴露敏感信息。"
#: src/constants/errors/config.ts:12
msgid "You are not allowed to delete a file outside of the nginx config path"
msgstr "不允许删除 nginx 配置路径之外的文件"
#: src/views/system/Upgrade.vue:224
msgid "You are using the latest version"
msgstr "您使用的是最新版本"
#: src/views/system/Upgrade.vue:180
msgid "You can check Nginx UI upgrade at this page."
msgstr "你可以在这个页面检查 Nginx UI 的升级。"
#: src/components/SystemRestore/SystemRestoreContent.vue:371
msgid "You can close this dialog in %{countdown} seconds"
msgstr "您可以在 %{countdown} 秒后关闭此对话框"
#: src/components/SystemRestore/SystemRestoreContent.vue:374
msgid "You can close this dialog now"
msgstr "现在可以关闭此对话框"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:93
msgid ""
"You have not configured the settings of Webauthn, so you cannot add a "
"passkey."
msgstr "您尚未配置 Webauthn 的设置,因此无法添加 Passkey。"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:82
msgid "You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
msgstr "您尚未启用双重身份验证。请启用双重身份验证以生成恢复代码。"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:98
msgid "You have not generated recovery codes yet."
msgstr "您尚未生成恢复代码。"
#: src/components/TwoFA/Authorization.vue:73
msgid ""
"Your account still uses a legacy recovery code. Generate new recovery codes "
"after verification to keep account recovery secure."
msgstr "您的账户仍在使用旧版恢复码。请在验证后生成新的恢复码,以确保账户恢复的安全性。"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:92
msgid ""
"Your account uses a deprecated legacy recovery code. Generate new recovery "
"codes now to complete migration and keep account recovery secure."
msgstr "您的帐户使用了已弃用的旧恢复代码。请立即生成新的恢复代码以完成迁移,并确保帐户恢复安全。"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:95
msgid ""
"Your current recovery code might be outdated and insecure. Please generate "
"new recovery codes at your earliest convenience to ensure security."
msgstr "您的当前恢复代码可能已过期且不安全。请尽快生成新的恢复代码以确保安全。"
#: src/components/TwoFA/use2FAModal.ts:32
msgid ""
"Your legacy recovery code has been used and cannot be used again. Generate "
"new recovery codes now to keep account recovery available."
msgstr "您的旧恢复码已使用,无法再次使用。立即生成新的恢复码,以保持账户恢复功能可用。"
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:146
#: src/views/preference/components/AuthSettings/RecoveryCodes.vue:159
msgid "Your old codes won't work anymore."
msgstr "您的旧代码将不再有效。"
#: src/views/preference/components/AuthSettings/Passkey.vue:76
msgid "Your passkeys"
msgstr "你的 Passkeys"
#: src/views/nginx_log/components/IndexingSettingsModal.vue:232
msgid "Zero-allocation pipeline"
msgstr "零分配管道"
#, fuzzy
#~ msgid "All checks passed — you may save the configuration."
#~ msgstr "Nginx 未能验证配置。"
#, fuzzy
#~ msgid "Authentication method"
#~ msgstr "正在验证..."
#, fuzzy
#~ msgid "Connection"
#~ msgstr "已连接"
#, fuzzy
#~ msgid "Container"
#~ msgstr "内容"
#, fuzzy
#~ msgid "Copy fix"
#~ msgstr "拷贝"
#, fuzzy
#~ msgid "External Container"
#~ msgstr "外部 Docker 容器"
#, fuzzy
#~ msgid "Generate keypair"
#~ msgstr "生成"
#, fuzzy
#~ msgid "override file"
#~ msgstr "覆盖现有文件"
#, fuzzy
#~ msgid "Regenerate keypair"
#~ msgstr "重新生成响应"
#, fuzzy
#~ msgid "Remote address detected"
#~ msgstr "未选择节点"
#, fuzzy
#~ msgid "Run verification"
#~ msgstr "更新证书"
#, fuzzy
#~ msgid "SSH key (recommended)"
#~ msgstr "推荐 2+ 核心"
#~ msgid "Type or select A/AAAA records"
#~ msgstr "输入或选择 A/AAAA 记录"
#, fuzzy
#~ msgid "Verify"
#~ msgstr "验证密钥"
#~ msgid "OpenAI"
#~ msgstr "OpenAI"
#~ msgid "Backup file integrity check failed, it may have been tampered with"
#~ msgstr "备份文件完整性检查失败,可能已被篡改"
#~ msgid "Once the verification is complete, the records will be removed."
#~ msgstr "一旦验证完成,这些记录将被删除。"
#~ msgid ""
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification."
#~ msgstr "我们将在您域名的 DNS 记录中添加一个或多个 TXT 记录,以核实域名所有权。"
#~ msgid "Settings"
#~ msgstr "设置"
#~ msgid "Site Navigation"
#~ msgstr "站点导航"
#~ msgid "Total %{total} items"
#~ msgstr "总计 %{total} 项"
#~ msgid "WebSocket not connected, please wait for connection"
#~ msgstr "WebSocket 未连接,请等待连接"
#~ msgid "in the same directory as"
#~ msgstr "与...在同一个目录中"
#~ msgid "Sandbox test successful"
#~ msgstr "沙盒测试成功"
#~ msgid "Tested in isolated sandbox mode"
#~ msgstr "已在隔离沙箱模式下测试"
#~ msgid "Based on M2 Pro (12 cores) testing"
#~ msgstr "基于 M2 Pro 12 核)测试"
#~ msgid "CPU Utilization"
#~ msgstr "CPU 使用率"
#~ msgid "Indexing Throughput"
#~ msgstr "索引吞吐量"
#~ msgid "Memory Efficiency"
#~ msgstr "内存效率"
#~ msgid "Performance Impact Notice"
#~ msgstr "性能影响通知"
#~ msgid "Zero-allocation pipeline optimization"
#~ msgstr "零分配管道优化"
#~ msgid "Ask ChatGPT for Help"
#~ msgstr "与 ChatGPT 聊天"
#~ msgid "Geographic mapping & insights"
#~ msgstr "地理映射与洞察"
#~ msgid "No feature requests accepted."
#~ msgstr "不接受功能请求"
#~ msgid "Time-series trend analysis"
#~ msgstr "时间序列趋势分析"
#~ msgid "User-Agent & browser analytics"
#~ msgstr "用户代理与浏览器分析"
#~ msgid "12+ cores (Apple M2 Pro or Intel equivalent)"
#~ msgstr "12+ 核 (Apple M2 Pro 或同等 Intel 处理器)"
#~ msgid "4GB+ RAM for optimal performance"
#~ msgstr "4GB+ 内存以获得最佳性能"
#~ msgid "Adaptive batch sizing"
#~ msgstr "自适应批量大小"
#~ msgid "CPU Architecture"
#~ msgstr "CPU 架构"
#~ msgid "GeoIP and User-Agent parsing"
#~ msgstr "GeoIP 和用户代理解析"
#~ msgid "Minimum 1GB RAM"
#~ msgstr "最低 1GB 内存"
#~ msgid "Modern CPU (x86_64, ARM64)"
#~ msgstr "现代 CPU (x86_64, ARM64)"
#~ msgid "Real-time performance monitoring"
#~ msgstr "实时性能监控"
#~ msgid "Sustained performance on modern hardware"
#~ msgstr "现代硬件上的持续性能"
#~ msgid "Backup path not in granted access paths: {0}"
#~ msgstr "备份路径不在授予的访问路径中: {0}"
#~ msgid "Build with"
#~ msgstr "构建基于"
#~ msgid "Failed to copy database directory: {0}"
#~ msgstr "复制数据库目录失败:{0}"
#~ msgid "Failed to create backup directory: {0}"
#~ msgstr "创建备份目录失败:{0}"
#~ msgid "Failed to evaluate symbolic links: {0}"
#~ msgstr "符号链接解析失败:{0}"
#~ msgid "Failed to restore Nginx UI files: {0}"
#~ msgstr "恢复 Nginx UI 文件失败:{0}"
#~ msgid "Failed to write to zip buffer: {0}"
#~ msgstr "写入 zip 缓冲区失败:{0}"
#~ msgid "Hash verification failed: file integrity compromised"
#~ msgstr "哈希验证失败:文件完整性受损"
#~ msgid "S3 bucket access denied: {0}"
#~ msgstr "S3 存储桶访问被拒绝:{0}"
#~ msgid "S3 connection test failed: {0}"
#~ msgstr "S3 连接测试失败: {0}"
#~ msgid "S3 credentials are invalid: {0}"
#~ msgstr "S3 凭证无效: {0}"
#~ msgid "S3 endpoint is invalid: {0}"
#~ msgstr "S3 终端节点无效:{0}"
#~ msgid "Storage path not in granted access paths: {0}"
#~ msgstr "存储路径不在授予的访问路径中: {0}"
#~ msgid "files"
#~ msgstr "文件"
#~ msgid "Indexing logs, please wait..."
#~ msgstr "正在索引日志,请稍候..."
#~ msgid "Loading dashboard data..."
#~ msgstr "正在加载仪表板数据..."
#~ msgid "Today"
#~ msgstr "今天"
#~ msgid "Data refreshed successfully"
#~ msgstr "数据刷新成功"
#~ msgid "Failed to refresh data"
#~ msgstr "刷新数据失败"
#~ msgid "Log File:"
#~ msgstr "日志文件:"
#~ msgid "Log path"
#~ msgstr "日志路径"
#~ msgid "Index Size"
#~ msgstr "索引大小"
#~ msgid "Environments"
#~ msgstr "环境"
#~ msgid "Node Group"
#~ msgstr "节点组"
#~ msgid "Node Groups"
#~ msgstr "节点组"
#~ msgid "Check if the conf.d directory exists"
#~ msgstr "检查 conf.d 目录是否存在"
#~ msgid ""
#~ "Support communication with the backend through the Server-Sent Events "
#~ "protocol. If your Nginx UI is being used via an Nginx reverse proxy, please "
#~ "refer to this link to write the corresponding configuration file: "
#~ "https://nginxui.com/guide/nginx-proxy-example.html"
#~ msgstr ""
#~ "支持通过 Server-Sent Events 协议与后端通信。如果您的 Nginx UI 是通过 Nginx "
#~ "反向代理使用的,请参考此链接编写相应的配置文件:https://nginxui.com/guide/nginx-proxy-example.html"
#~ msgid "If left blank, the default CA Dir will be used."
#~ msgstr "如果留空,则使用默认 CA Dir。"
#~ msgid "Save error %{msg}"
#~ msgstr "保存错误 %{msg}"
#~ msgid "Main"
#~ msgstr "主"
#~ msgid "Select an action after sync"
#~ msgstr "选择同步后的操作"
#~ msgid "Link Start"
#~ msgstr "链接"
#~ msgid "Enable failed"
#~ msgstr "启用失败"
#~ msgid "Create"
#~ msgstr "创建"
#~ msgid "Do you want to disable this stream?"
#~ msgstr "你想停用这个 Stream 吗?"
#~ msgid "Both Config"
#~ msgstr "两者配置"
#~ msgid "Nginx Config"
#~ msgstr "Nginx 配置"
#~ msgid "Nginx UI Config"
#~ msgstr "Nginx UI 配置"
#~ msgid "Last Backup Error"
#~ msgstr "最后一次备份错误"
#~ msgid "Apply bulk action successfully"
#~ msgstr "批量操作应用成功"
#~ msgid "Are you sure you want to apply to all selected?"
#~ msgstr "您确定要应用于所有选定的对象吗?"
#~ msgid "Are you sure you want to recover this item?"
#~ msgstr "您确定要恢复这个项目吗?"
#~ msgid "Batch Actions"
#~ msgstr "批量操作"
#~ msgid "Modify Mode"
#~ msgstr "修改模式"
#~ msgid "Ok"
#~ msgstr "确定"
#~ msgid "Recover"
#~ msgstr "恢复"
#~ msgid "Recovered Successfully"
#~ msgstr "恢复成功"
#~ msgid "View Details"
#~ msgstr "查看详情"
#~ msgid "View Mode"
#~ msgstr "预览模式"
#~ msgid ""
#~ "Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
#~ "Docker Image, please make sure the docker socket is mounted like this: `-v "
#~ "/var/run/docker.sock:/var/run/docker.sock`."
#~ msgstr ""
#~ "检查 /var/run/docker.sock 是否存在。如果你使用的是 Nginx UI 官方 Docker Image,请确保 Docker "
#~ "Socket 像这样挂载:`-v /var/run/docker.sock:/var/run/docker.sock`."
#~ msgid "Check if the nginx access log path exists"
#~ msgstr "检查 Nginx 访问日志路径是否存在"
#~ msgid "Check if the nginx error log path exists"
#~ msgstr "检查 Nginx 错误日志路径是否存在"
#~ msgid "Check if the docker socket exists."
#~ msgstr "检查 docker socket 是否存在。"
#~ msgid "Database (Optional, default: database)"
#~ msgstr "数据库 (可选,默认: database)"
#~ msgid "The filename cannot contain the following characters: %{c}"
#~ msgstr "文件名不能包含以下字符: %{c}"
#~ msgid ""
#~ "If logs are not indexed, please check if the log file is under the "
#~ "directory in Nginx.LogDirWhiteList."
#~ msgstr "如果日志未被索引,请检查日志文件是否位于 Nginx.LogDirWhiteList 中的目录下。"
#~ msgid "Docker Socket"
#~ msgstr "Docker Socket"
#~ msgid "Nginx Conf Include Conf.d"
#~ msgstr "Nginx Conf 包括 Conf.d"
#~ msgid "Nginx Conf Include Sites Enabled"
#~ msgstr "Nginx Conf 中引用启用站点目录"
#~ msgid "Nginx Conf Include Streams Enabled"
#~ msgstr "Nginx Conf 中引用启用 Streams 目录"
#~ msgid "Format error %{msg}"
#~ msgstr "保存错误 %{msg}"
#~ msgid ""
#~ "When you enable/disable, delete, or save this stream, the nodes set in the "
#~ "Node Group and the nodes selected below will be synchronized."
#~ msgstr "启用/禁用、删除或保存此站点时,环境组中设置的节点和下面选择的节点将同步执行操作。"
#~ msgid "KB"
#~ msgstr "KB"
#~ msgid "Optimize Nginx Performance"
#~ msgstr "优化 Nginx 性能"
#~ msgid "seconds"
#~ msgstr "秒"
#~ msgid "Bot Token"
#~ msgstr "机器人令牌"
#~ msgid "Server URL"
#~ msgstr "服务器 URL"
#~ msgid "URLs"
#~ msgstr "链接"
#~ msgid "Created At"
#~ msgstr "创建时间"
#~ msgid "Groups"
#~ msgstr "组"
#~ msgid "Nginx has been reloaded on all sync nodes"
#~ msgstr "已在所有同步节点上重新加载 Nginx"
#~ msgid "Nginx has been restarted on all sync nodes"
#~ msgstr "已在所有同步节点上重启 Nginx"
#~ msgid "Category"
#~ msgstr "分类"
#~ msgid "Site Categories"
#~ msgstr "网站分类"
#~ msgid "Deploy %{conf_name} to %{node_name} successfully"
#~ msgstr "部署 %{conf_name} 到 %{node_name} 成功"
#~ msgid "Deploy successfully"
#~ msgstr "部署成功"
#~ msgid "Disable site %{site} on %{node} error, response: %{resp}"
#~ msgstr "在 %{node} 上禁用 %{site} 失败, 响应: %{resp}"
#~ msgid "Do you want to deploy this file to remote server?"
#~ msgid_plural "Do you want to deploy this file to remote servers?"
#~ msgstr[0] "你想把这个文件部署到远程服务器上吗?"
#~ msgid "Duplicate %{conf_name} to %{node_name} successfully"
#~ msgstr "成功地将%{conf_name}复制到%{node_name}"
#~ msgid "Duplicate successfully"
#~ msgstr "复制成功"
#~ msgid "Enable %{conf_name} in %{node_name} successfully"
#~ msgstr "成功启用%{node_name}中的%{conf_name}"
#~ msgid "Enable successfully"
#~ msgstr "启用成功"
#~ msgid "Please upgrade the remote Nginx UI to the latest version"
#~ msgstr "请将远程 Nginx UI 升级到最新版本"
#~ msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
#~ msgstr "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,响应:%{resp}"
#~ msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
#~ msgstr "在 %{node} 上将站点 %{site} 重命名为 %{new_site} 失败,响应:%{resp}"
#~ msgid "Save site %{site} to %{node} error, response: %{resp}"
#~ msgstr "保存站点 %{site} 到 %{node} 错误,响应: %{resp}"
#~ msgid ""
#~ "Sync Certificate %{cert_name} to %{env_name} failed, please upgrade the "
#~ "remote Nginx UI to the latest version"
#~ msgstr "同步证书 %{cert_name} 到 %{env_name} 失败,请先将远程的 Nginx UI 升级到最新版本"
#~ msgid "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "同步证书 %{cert_name} 到 %{env_name} 失败,响应:%{resp}"
#~ msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "同步配置 %{config_name} 到 %{env_name} 失败,响应:%{resp}"
#~ msgid ""
#~ "If you lose your mobile phone, you can use the recovery code to reset your "
#~ "2FA."
#~ msgstr "如果丢失了手机,可以使用恢复代码重置二步验证。"
#~ msgid "The recovery code is only displayed once, please save it in a safe place."
#~ msgstr "恢复密码只会显示一次,请妥善保存。"
#~ msgid "Can't scan? Use text key binding"
#~ msgstr "无法扫描?使用文本密钥绑定"
#~ msgid "Incorrect username or password"
#~ msgstr "用户名或密码错误"
#~ msgid "Too many login failed attempts, please try again later"
#~ msgstr "登录失败次数过多,请稍后再试"
#~ msgid ""
#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
#~ "the remote Nginx UI to the latest version"
#~ msgstr "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,请将远程 Nginx UI 升级到最新版本"
#~ msgid "Enable 2FA"
#~ msgstr "启用二步验证"
#~ msgid "Enter"
#~ msgstr "进入"
#, fuzzy
#~ msgid "Rename "
#~ msgstr "重命名"
#~ msgid "Certificate is valid"
#~ msgstr "此证书有效"
#~ msgid "Intermediate Certification Authorities: %{issuer}"
#~ msgstr "中级证书颁发机构: %{issuer}"
#~ msgid "Subject Name: %{subject}"
#~ msgstr "主体名称: %{subject}"
#~ msgid "The url is not valid"
#~ msgstr "URL 无效"
#~ msgid "Enable this option will significantly increase the token usage."
#~ msgstr "启用该选项将显著增加 token 的使用量。"
#~ msgid "Send Include Context"
#~ msgstr "发送 Include 内容"
#~ msgid "ChatGPT Model"
#~ msgstr "ChatGPT 模型"
#~ msgid "GPT-3.5-Turbo"
#~ msgstr "GPT-3.5-Turbo"
#~ msgid "GPT-4"
#~ msgstr "GPT-4"
#~ msgid "GPT-4-32K"
#~ msgstr "GPT-4-32K"
#~ msgid "GPT-4-Turbo"
#~ msgstr "GPT-4-Turbo"
#~ msgid "Save Successfully"
#~ msgstr "保存成功"
#~ msgid "Table"
#~ msgstr "列表"
#~ msgid "The path exists, but the file is not a public key"
#~ msgstr "路径存在,但文件不是公钥"
#~ msgid "Rename Upstream"
#~ msgstr "重新命名 Upstream"
#~ msgid "Auto Cert Log"
#~ msgstr "证书自动续期日志"
#~ msgid "Auto cert is enabled, please do not modify this certification."
#~ msgstr "自动更新已启用,请勿修改此证书配置。"
#~ msgid ""
#~ "Please fill in the API authentication credentials provided by your DNS "
#~ "provider.\n"
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification.\n"
#~ "Once the verification is complete, the records will be removed.\n"
#~ "Please note that the unit of time configurations below are all in seconds."
#~ msgstr ""
#~ "请填写您的 DNS 提供商提供的 API 认证凭证。我们将在你的域名的 DNS 记录中添加一个或多个 TXT "
#~ "记录,以进行所有权验证。一旦验证完成,这些记录将被删除。请注意,下面的时间配置都是以秒为单位。"
#~ msgid "Delete ID: %{id}"
#~ msgstr "删除 ID: %{id}"
#~ msgid "Dir"
#~ msgstr "目录"
#~ msgid "Dark"
#~ msgstr "深色"
#~ msgid "Theme"
#~ msgstr "主题"
#~ msgid ""
#~ "Such as Reload and Configs, regex can configure as "
#~ "`/api/nginx/reload|/api/nginx/test|/api/config/.+`, please see system api"
#~ msgstr ""
#~ "`重载`和`配置管理`的操作同步正则可以配置为`/api/nginx/reload|/api/nginx/test|/api/config/.+`"
#~ ",详细请查看系统 API"
#~ msgid "SyncApiRegex"
#~ msgstr "Api 正则表达式"
#~ msgid "Whether config api regex that will redo on this environment"
#~ msgstr "是否配置 API 正则操作同步到该环境"
#~ msgid "The Operation of Sites, Configs and Certification will redo on this"
#~ msgstr "网站、配置和证书的操作同步到该环境"
#~ msgid "Git"
#~ msgstr "Git"
#~ msgid "Do you want to enable auto-cert renewal?"
#~ msgstr "你想启用自动更新证书吗?"
#~ msgid ""
#~ "We need to add the HTTPChallenge configuration to this file and reload the "
#~ "Nginx. Are you sure you want to continue?"
#~ msgstr "我们需要将 HTTPChallenge 的配置添加到这个文件中,并重新加载 Nginx。你确定要继续吗?"
#~ msgid "Chat with ChatGPT"
#~ msgstr "与 ChatGPT 聊天"
#~ msgid "Inspect Configurations"
#~ msgstr "检查配置"
#~ msgid "server_name parameters more than one"
#~ msgstr "server_name 指令包含多个参数"
#~ msgid "All logs"
#~ msgstr "所有日志"
#~ msgid "Fetch"
#~ msgstr "日志范围"
#~ msgid "New logs"
#~ msgstr "新增日志"
#~ msgid "404 Not Found"
#~ msgstr "404 未找到页面"
#~ msgid "Destroy"
#~ msgstr "删除"
#~ msgid "Detected version update, this page will refresh."
#~ msgstr "检测到版本更新,页面将会刷新。"
#~ msgid "No, I'm rethink"
#~ msgstr "再想想"
#~ msgid "Yes, I'm sure"
#~ msgstr "是的"
#~ msgid "Certificate Path (ssl_certificate)"
#~ msgstr "TLS 证书路径 (ssl_certificate)"
#~ msgid "HTTPS Listen Port"
#~ msgstr "HTTPS 监听端口"
#~ msgid "Private Key Path (ssl_certificate_key)"
#~ msgstr "私钥路径 (ssl_certificate_key)"
#~ msgid "Root Directory (root)"
#~ msgstr "网站根目录 (root)"
#~ msgid ""
#~ "The certificate for the domain will be checked every hour, and will be "
#~ "renewed if it has been more than 1 month since it was last issued.<br/>If "
#~ "you do not have a certificate before, please click \"Getting Certificate "
#~ "from Let's Encrypt\" first."
#~ msgstr ""
#~ "系统将会每小时检测一次该域名证书,若距离上次签发已超过 1 个月,则将自动续签。<br/>如果您之前没有证书,请先点击 \"从 Let's "
#~ "Encrypt 获取证书\"。"
#~ msgid "Do you want to change the template to support the TLS?"
#~ msgstr "你想要改变模板以支持 TLS 吗?"
#~ msgid "Getting Certificate from Let's Encrypt"
#~ msgstr "从 Let's Encrypt 获取证书"
#~ msgid "Skip"
#~ msgstr "跳过"
#~ msgid ""
#~ "The following values will only take effect if you have the corresponding "
#~ "fields in your configuration file. The configuration filename cannot be "
#~ "changed after it has been created."
#~ msgstr "只有在您的配置文件中有相应字段时,下列的配置才能生效。配置文件名称创建后不可修改。"
#~ msgid "This operation will lose the custom configuration."
#~ msgstr "该操作将会丢失自定义配置。"
#~ msgid "Add site here first, then you can configure TLS on the domain edit page."
#~ msgstr "在这里添加站点,完成后可进入编辑页面配置 TLS。"
#~ msgid "Server Status"
#~ msgstr "服务器状态"
#~ msgid "Used: %{u}, Cached: %{c}, Free: %{f}, Physical Memory: %{p}"
#~ msgstr "已使用: %{u}, 缓存: %{c}, 空闲: %{f}, 物理内存: %{p}"
#~ msgid "Used: %{used} / Total: %{total}"
#~ msgstr "已使用: %{used} / 总共: %{total}"
#~ msgid "DNS record management only"
#~ msgstr "仅用于 DNS 记录管理"
#~ msgid ""
#~ "DNS Domains are used for DNS record management in NGINX UI and are separate "
#~ "from ACME DNS-01 certificate challenges."
#~ msgstr "DNS 域名用于 NGINX UI 中的 DNS 记录管理,与 ACME DNS-01 证书挑战是两个不同的功能。"
#~ msgid ""
#~ "Currently, DNS record management supports Alibaba Cloud DNS, Tencent Cloud "
#~ "DNS, and Cloudflare only."
#~ msgstr "目前,DNS 记录管理仅支持阿里云 DNS、腾讯云 DNS 和 Cloudflare。"
#~ msgid ""
#~ "For ACME DNS-01 certificate issuance, create DNS credentials under DNS > "
#~ "Credentials and select them in certificate settings."
#~ msgstr "如需使用 ACME DNS-01 签发证书,请在 DNS > 凭证中创建 DNS 凭证,并在证书设置中选择它。"
#~ msgid "DNS Domains only use providers with DNS record management implementations."
#~ msgstr "DNS Domains 仅使用已实现 DNS 记录管理的提供商。"