Files
OpenFlare/frontend/messages/fragments/websites.en.json
T

583 lines
31 KiB
JSON
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.
{
"websites": {
"title": "Websites",
"createZone": "Add Zone",
"searchRoot": "Search Zone root domain",
"loadingList": "Loading Zone list...",
"requestFailed": "Request failed. Please try again later.",
"emptySearch": "No matching Zone found.",
"emptyList": "No Zones yet. Click “Add Zone” in the top right to get started.",
"rootDomain": "Root domain",
"domainCount": "Domains",
"createdAt": "Created",
"updatedAt": "Updated",
"actions": "Actions",
"manage": "Manage",
"manageZone": "Manage Zone",
"loadingDetail": "Loading Zone details...",
"invalidId": "Invalid website ID. Open the details page from the website list.",
"notFound": "Website not found. It may have been deleted or the ID is invalid.",
"back": "Back",
"detailSubtitle": "Zone website management",
"tabOverview": "Overview",
"tabDomains": "Domains ({count})",
"tabCertificates": "Certificates ({count})",
"basicInfo": "Basic information",
"basicInfoDesc": "Maintain the Zone’s registrable root domain. After changing the root, confirm that its domains still belong to it.",
"currentRoot": "Current root domain",
"editRoot": "Edit root domain",
"dangerZone": "Dangerous actions",
"dangerZoneDesc": "Clear all domains under the Zone before deleting it. Deletion cannot be undone.",
"deleteZone": "Delete Zone",
"deleteZoneTitle": "Delete Zone",
"deleteZoneDesc": "Delete {domain}? Domains under it must be unbound from routes first. This cannot be undone.",
"deleting": "Deleting…",
"confirmDelete": "Delete",
"zoneDeleted": "Zone deleted",
"editZone": "Edit Zone",
"editorDesc": "A Zone accepts only a registrable root domain, such as example.com.",
"rootRequired": "Enter a Zone root domain",
"rootInvalid": "Enter a root domain without a protocol or wildcard",
"zoneUpdated": "Zone updated",
"zoneCreated": "Zone created",
"saveFailed": "Save failed",
"saveChanges": "Save changes",
"range24h": "24 hours",
"range7d": "7 days",
"range30d": "30 days",
"chartUv": "Bucket UV",
"chartBytes": "Data served",
"statsFailed": "Failed to load traffic stats",
"analyticsUnavailable": "Analytics storage is unavailable, so charts may be empty. Confirm that ClickHouse is enabled.",
"uniqueVisitors": "Unique visitors in query window",
"uniqueVisitorsDesc": "The top total is de-duplicated across the whole window; the curve is UV per time bucket and buckets cannot be added together",
"totalRequests": "Total requests",
"totalBytes": "Total data served",
"zoneInfo": "Zone information",
"addDomain": "Add domain",
"emptyDomains": "No domains added yet",
"certificate": "Certificate",
"upstream": "Upstream",
"certNumber": "Certificate #{id}",
"unbound": "Unbound",
"unlinkedRoute": "No linked route",
"loadingEllipsis": "Loading…",
"upstreamUnset": "No upstream configured",
"viewRoute": "View route details",
"deleteDomain": "Delete domain",
"domainDeleted": "Domain deleted",
"deleteFailed": "Delete failed",
"deleteDomainTitle": "Delete domain",
"deleteDomainDesc": "Delete {domain}? This cannot be undone.",
"zoneCertsTitle": "Certificates used by this Zone",
"zoneCertsDesc": "Certificates are managed in the global certificate library. This list only shows certificates bound to domains in this Zone.",
"certLibrary": "Certificate library",
"unboundCertHint": "{count} domains still have no certificate. Choose one in the Domains tab.",
"emptyBoundCerts": "No bound certificates. Choose a certificate on a domain row, or import/apply one in the certificate library.",
"status": "Status",
"coverage": "Covered domains",
"expiresAt": "Expires",
"selectZone": "Select a Zone first",
"enterDomain": "Enter a domain",
"noWildcard": "Zone domains do not support wildcards",
"invalidFormat": "Invalid domain format",
"invalidSubdomain": "Invalid subdomain name format",
"mustBelongToZone": "The domain must belong to Zone {root}",
"domainAdded": "Domain added",
"addFailed": "Add failed",
"quickCreateTitle": "Quick add domain",
"quickCreateDesc": "After selecting a Zone, enter a subdomain name (such as api), @ (the root), or a full FQDN.",
"selectRegisteredRoot": "Select registered root domain",
"zoneLabel": "Zone:",
"domain": "Domain",
"domainPlaceholderWithZone": "api or @ or api.{domain}",
"domainPlaceholder": "api / @ / full domain",
"willCreate": "Will create:",
"domainExample": "Example: enter <api>api</api> → <fqdn>api.zone.com</fqdn>; <apex>@</apex> → the root itself",
"certOptional": "Certificate (optional)",
"noCert": "No certificate"
},
"certificates": {
"title": "Certificates",
"refresh": "Refresh certificates",
"importCert": "Import certificate",
"applyTitle": "Apply for certificate",
"listTitle": "Certificate list",
"listDesc": "Shows certificate validity, remarks, and status. You can view details, edit contents, or delete certificates.",
"loadingList": "Loading certificate list...",
"requestFailed": "Request failed. Please try again later.",
"emptyList": "No certificates yet. Click “Import certificate” or “Apply for certificate” in the top right to get started.",
"notBeforeLabel": "Valid from: {value}",
"notAfterLabel": "Expires: {value}",
"sourceLabel": "Source: {value}",
"sourceAcme": "ACME application",
"sourceUpload": "Manual upload",
"statusLabel": "Status: {value}",
"converting": "Conversion in progress...",
"applying": "Applying...",
"statusError": "Status: {value} ({message})",
"convertFailed": "Conversion failed",
"applyFailed": "Application failed",
"remarkLabel": "Remark: {value}",
"noRemark": "No remark",
"view": "View",
"edit": "Edit",
"renew": "Renew",
"deleted": "Certificate deleted",
"renewSubmitted": "Renewal task submitted for certificate {name}",
"imported": "Certificate {name} imported",
"applySubmitted": "Application task submitted for certificate {name}",
"convertSubmitted": "Conversion application submitted for certificate {name}",
"reapplySubmitted": "Certificate {name} updated and is being re-applied...",
"updated": "Certificate {name} updated",
"deleteTitle": "Delete certificate",
"deleteDesc": "Delete certificate {name}?",
"applyEditTitle": "Edit and re-apply certificate",
"applyConvertTitle": "Convert to applied certificate",
"applyEditDesc": "Change the ACME certificate settings. After saving, the certificate will be re-applied with the new settings.",
"applyConvertDesc": "Fill in the ACME application details. After a successful application, the current manual certificate is converted in place to an auto-renewable applied certificate.",
"applyDesc": "Use ACME (Let's Encrypt and others) to automatically apply for and renew certificates, including wildcard domains.",
"name": "Certificate name",
"namePlaceholder": "For example: main site certificate",
"primaryDomain": "Primary domain",
"primaryDomainPlaceholder": "example.com or *.example.com",
"otherDomains": "Other domains",
"otherDomainsHint": "One domain per line. For a wildcard certificate, also enter the corresponding root domain so it can be issued together.",
"dnsAccount": "DNS provider account",
"selectDnsAccount": "Select a DNS account",
"keyAlgorithm": "Key algorithm",
"remark": "Remark",
"remarkPlaceholder": "Optional. Record what this certificate is used for.",
"autoRenew": "Enable auto-renewal",
"autoRenewDesc": "When enabled, the certificate is renewed automatically 7 days before it expires.",
"advanced": "Advanced options",
"dnsServer1": "DNS validation server 1",
"dnsServer2": "DNS validation server 2",
"dnsServerPlaceholder": "Leave empty to use the default authoritative DNS",
"skipCname": "Skip CNAME check",
"skipCnameDesc": "Do not follow CNAME records during DNS-01 validation.",
"skipDns": "Skip DNS pre-check",
"skipDnsDesc": "Ask Let's Encrypt to validate directly without a local check.",
"submitting": "Submitting...",
"saveAndApply": "Save and apply",
"startConvert": "Start conversion",
"startApply": "Start application",
"editTitle": "Edit certificate",
"editDesc": "You can change the certificate name and remark, and re-upload the PEM certificate and private key.",
"loadingContent": "Loading certificate contents...",
"notFound": "Certificate not found. It may have been deleted.",
"certPem": "Certificate PEM",
"keyPem": "Private key PEM",
"convertSource": "Convert source",
"saving": "Saving...",
"saveCert": "Save certificate",
"importTitle": "Add certificate",
"importDesc": "Paste PEM manually or upload certificate files. After import, you can select it immediately in website forms.",
"manualImport": "Manual import",
"fileImport": "File import",
"remarkProdPlaceholder": "For example: production certificate for the main site",
"importing": "Importing...",
"remarkWildcardPlaceholder": "For example: production wildcard certificate",
"certFile": "Certificate file",
"keyFile": "Private key file",
"fileSelected": "Selected: {name}",
"selectCertFile": "Select a PEM/CRT file",
"selectKeyFile": "Select a KEY/PEM file",
"uploading": "Uploading...",
"uploadFiles": "Upload files",
"clearFiles": "Clear files",
"selectFiles": "Select a certificate file and a private key file.",
"detailTitle": "Certificate details",
"detailDesc": "View certificate metadata, remarks, and the currently saved PEM contents.",
"loadingDetail": "Loading certificate details...",
"status": "Status",
"notBefore": "Valid from",
"notAfter": "Expires",
"certPemCopied": "Certificate PEM copied",
"keyPemCopied": "Private key PEM copied",
"copy": "Copy",
"close": "Close",
"editCert": "Edit certificate",
"deleting": "Deleting...",
"deleteCert": "Delete certificate",
"certStatus": {
"unknownExpiry": "Expiry unknown",
"expired": "Expired",
"expiresInDays": "Expires within {days} days",
"valid": "Valid"
},
"validation": {
"nameRequired": "Enter a certificate name",
"nameTooLong": "Certificate name cannot exceed 255 characters",
"certPemRequired": "Enter the certificate PEM",
"keyPemRequired": "Enter the private key PEM",
"remarkTooLong": "Remark cannot exceed 255 characters",
"primaryDomainRequired": "Enter a primary domain",
"dnsAccountRequired": "Select a DNS account"
}
},
"dnsAccounts": {
"title": "DNS accounts",
"addAccount": "Add account",
"listTitle": "DNS account list",
"listDesc": "Centrally manage DNS provider accounts used for ACME certificate DNS validation.",
"loadingList": "Loading DNS accounts...",
"requestFailed": "Request failed. Please try again later.",
"emptyList": "No DNS accounts yet. Click “Add account” in the top right to get started.",
"createdAt": "Created: {date}",
"created": "DNS account added",
"deleted": "DNS account deleted",
"deleteTitle": "Delete DNS account",
"deleteDesc": "Delete DNS account {name}?",
"createTitle": "Add DNS account",
"createDesc": "Centrally manage DNS provider accounts used for ACME certificate DNS validation.",
"accountName": "Account name",
"accountNamePlaceholder": "Cloudflare email account",
"provider": "DNS provider",
"tokenPlaceholder": "Do not use a Global API Key",
"nameRequired": "Enter a name",
"tokenRequired": "Enter a token",
"submitting": "Submitting...",
"submit": "Submit"
},
"origins": {
"title": "Origins",
"subtitle": "Centrally maintain origin addresses reused by routes, so bulk address changes need less repeated work.",
"refresh": "Refresh",
"create": "Add origin",
"loadFailed": "Load failed",
"emptyTitle": "No origins",
"emptyDesc": "Click Add origin in the top right. Later routes can reuse these addresses directly.",
"routeCount": "{count} routes",
"noRemark": "No remark",
"lastUpdated": "Last updated: {date}",
"detail": "Details",
"edit": "Edit",
"deleted": "Origin deleted",
"deleteFailed": "Delete failed",
"deleteTitle": "Delete origin",
"deleteDesc": "Delete origin {name}?",
"confirmDelete": "Delete",
"missingId": "A valid origin ID is missing.",
"loadingDetail": "Loading origin details...",
"backToList": "Back to list",
"notFound": "Origin not found or already deleted.",
"editOrigin": "Edit origin",
"deleteOrigin": "Delete origin",
"boundRoutes": "Bound routes",
"createdAt": "Created",
"updatedAt": "Updated",
"remark": "Remark",
"relatedRoutes": "Related routes",
"relatedRoutesDesc": "Shows routes that bind this origin as the primary origin.",
"noRelatedRoutes": "No related routes",
"noRelatedRoutesDesc": "This origin is not referenced by any route yet.",
"domain": "Domain",
"address": "Origin address",
"status": "Status",
"enabled": "Enabled",
"disabled": "Disabled",
"addressRequired": "Enter an origin address",
"addressInvalid": "Invalid origin address format",
"updated": "Origin updated",
"created": "Origin created",
"saveFailed": "Save failed",
"editorDesc": "Origins are a reusable address directory for routes. Protocol and port are still decided by the route.",
"name": "Origin name",
"namePlaceholder": "Main origin",
"saving": "Saving...",
"saveChanges": "Save changes"
},
"proxyRoutes": {
"title": "Route configuration",
"refresh": "Refresh",
"createRule": "New route",
"listTitle": "Route list",
"searchPlaceholder": "Search sites, domains, or upstreams...",
"emptyTitle": "No websites",
"emptyDesc": "Create a website first, then open the configuration page to finish HTTPS, cache, and rate limits.",
"noMatches": "No matching results",
"noMatchesDesc": "Try a different search term, or clear the filter.",
"siteName": "Site name",
"domain": "Domain",
"status": "Status",
"upstream": "Upstream",
"actions": "Actions",
"enabled": "Enabled",
"disabled": "Disabled",
"configure": "Configure",
"siteCreated": "Website created",
"siteDeleted": "Website deleted",
"deleteFailed": "Delete failed",
"loadListFailed": "Failed to load route list",
"unknownError": "Unknown error",
"deleteSiteTitle": "Delete website",
"deleteSiteDesc": "Delete website {name}? This deletes all domains and configuration under the site.",
"deleting": "Deleting...",
"missingId": "A valid route ID is missing.",
"notFound": "Route not found",
"notFoundDesc": "Return to the list and try again.",
"saving": "Saving...",
"saveFailed": "Save failed",
"requestFailed": "Request failed. Please try again later.",
"back": "Back",
"publish": "Publish configuration",
"diffFailed": "Failed to load configuration diff",
"noPublishNeeded": "The current configuration matches the active version. Nothing to publish.",
"publishSuccess": "Published successfully",
"versionLabel": "Version {version}",
"publishFailed": "Publish failed",
"publishTitle": "Publish configuration",
"publishDesc": "This creates a new version from the pending configuration and sets it as active. Nodes will then pull the update.",
"confirmPublish": "Publish",
"createDesc": "Choose bindings from registered Zone domains. After creating the route, you can continue configuring cache, rate limits, and other advanced options.",
"siteId": "Site identifier",
"siteIdOptionalDesc": "Optional. If left empty, the first domain is used automatically.",
"siteIdStableDesc": "Use a stable, readable business identifier. It does not have to match the domain exactly.",
"bindDomains": "Bound domains",
"bindDomainsHint": "Select registered domains to bind. Use “Quick add domain” to create an FQDN under a Zone and select it automatically.",
"upstreamType": "Origin mode",
"upstreamDirect": "Direct upstream",
"upstreamTunnel": "Tunnel",
"upstreamPages": "Pages static site",
"upstreamAddresses": "Upstream addresses",
"upstreamUrlsHint": "One full URL per line. The first line is the primary origin. In multi-upstream mode, keep the same protocol and do not include a path or query.",
"selectTunnel": "Select a tunnel",
"pleaseSelect": "Please select...",
"online": "Online",
"offline": "Offline",
"tunnelForwardHint": "Forward requests to the client node connected by this tunnel.",
"tunnelProtocol": "Internal service protocol",
"tunnelAddress": "Internal service address",
"tunnelAddressHint": "For example: 127.0.0.1:8080 or 192.168.1.10:80",
"selectPagesProject": "Select a Pages project",
"pagesProjectHint": "Only enabled Pages projects with an active deployment are shown.",
"enableSite": "Enable site",
"enableSiteDesc": "When disabled, the configuration is kept but not included in publish.",
"createFailed": "Create failed. Please try again later.",
"creating": "Creating…",
"create": "Create",
"searchDomainOrZone": "Search domain or Zone…",
"quickAddDomain": "Quick add domain",
"noZoneDomains": "No Zone domains available. Add an FQDN in <websites>Website management</websites> first, or use “Quick add domain”.",
"noBindableDomains": "No bindable domains (the rest are already bound to other routes). Use “Quick add domain” to create one.",
"noMatchingDomains": "No matching domains",
"certNumber": "Certificate #{id}",
"noCert": "No certificate",
"zoneName": "Zone {name}",
"zoneId": "Zone #{id}",
"unboundDomain": "No domain bound",
"pagesProjectId": "Pages project #{id}",
"pagesUnbound": "Pages project not bound",
"tunnelTargetUnset": "Target not configured",
"upstreamUnset": "No upstream configured",
"domainSettings": "Domain settings",
"domainSettingsDesc": "Bind FQDNs already registered in a Zone. Maintain certificates in Zone domain management.",
"redirectNeedsCert": "Bind a certificate to the selected domains (in the Zone) before enabling HTTP redirect",
"domainSettingsSaved": "Domain settings saved",
"redirectHttp": "Automatically redirect HTTP to HTTPS",
"redirectHttpEnabledHint": "When enabled, extra port-80 redirect rules are generated.",
"redirectHttpNeedsCert": "At least one selected domain must have a bound certificate before this can be enabled.",
"reverseProxy": "Reverse proxy",
"reverseProxyDesc": "Configure the origin strategy and upstream addresses.",
"proxySaved": "Reverse proxy settings saved",
"originHostHint": "If left empty, the request hostname $host is passed through by default.",
"customHeaders": "Custom request headers",
"customHeadersHint": "One per line, in Key: Value format.",
"limits": "Traffic limits",
"limitsDesc": "Site rate limits. Empty or 0 inherits the global default; -1 turns it off explicitly; greater than 0 is custom.",
"limitsSaved": "Traffic limits saved",
"connLimit": "Concurrency limit",
"connLimitHint": "Empty or 0 inherits the global default; -1 turns it off; greater than 0 is a custom concurrency cap.",
"ipLimit": "Per-IP limit",
"ipLimitHint": "Empty or 0 inherits the global default; -1 turns it off; greater than 0 is a custom per-IP cap.",
"rateLimit": "Rate limit",
"rateLimitPlaceholder": "512k/1m or -1",
"rateLimitHint": "Empty or 0 inherits the global default; -1 turns it off; for example 512k or 1m is a custom bandwidth.",
"reqLimit": "Per-IP request rate",
"reqLimitPlaceholder": "10r/s / 100r/m or -1",
"reqLimitHint": "Empty or 0 inherits the global default; -1 turns it off; for example 10r/s or 100r/m is a custom rate.",
"cache": "Cache",
"cacheDesc": "Configure the site edge cache policy.",
"cacheSaved": "Cache settings saved",
"enableCache": "Enable site cache",
"enableCacheDesc": "New sites should use “Standard static assets”.",
"cachePolicy": "Cache policy",
"policyStatic": "Standard static assets (recommended)",
"policyAll": "All cacheable GET (advanced)",
"policySuffix": "Custom suffix",
"policyPrefix": "Path prefix",
"policyExact": "Exact path",
"advancedRiskTitle": "Advanced policy risk",
"advancedRiskDesc": "Personalized HTML may be edge-cached and served to other users if the origin does not declare private / no-store. See the help next to the title for details.",
"cacheRules": "Cache rules",
"cacheHelpTitle": "Cache usage notes",
"cacheHelpIntro": "The extension/policy decides whether a response can be cached. Origin headers and Set-Cookie decide whether it is stored. Global OpenResty cache in performance settings must also be enabled.",
"cacheHelpRecommendLabel": "Recommended policy:",
"cacheHelpRecommend": "New sites should use “Standard static assets” (includes css/js/map/images/fonts/media, excludes HTML/JSON).",
"cacheHelpGeneralLabel": "General rules:",
"cacheHelpGeneral": "Non-GET is not cached; login cookies do not skip cache on their own; origin private/no-store or a Set-Cookie response is not written to the edge.",
"cacheHelpAllGetLabel": "All cacheable GET:",
"cacheHelpAllGet": "An advanced option, similar to Cache Everything. Personalized pages must be declared private/no-store by the origin, or HTML may be edge-cached and served to other users.",
"cacheHelpCustomLabel": "Custom rules:",
"cacheHelpCustom": "Use suffixes such as jpg/css/js; path prefixes such as /assets; exact paths such as /robots.txt. After saving, republish a configuration version before it takes effect on nodes.",
"cacheHintSuffix": "One suffix per line, for example jpg, css, js.",
"cacheHintPrefix": "One path prefix per line, for example /assets, /static.",
"cacheHintExact": "One exact path per line, for example /robots.txt.",
"cacheHintStatic": "Standard static assets use the built-in extension list. No extra rules are needed.",
"cacheHintNone": "The current policy does not need extra path rules.",
"cachePlaceholderNone": "No extra rules for the current policy",
"auth": "Authentication",
"authDesc": "Configure Basic Auth to block unauthorized access. Configure PoW protection in a WAF rule group.",
"authSaved": "Authentication settings saved",
"authFormInvalid": "Check the authentication form",
"authMode": "Authentication mode",
"authNone": "No authentication",
"powHint": "PoW protection can only be enabled in a WAF rule group and bound to a site.",
"username": "Username",
"password": "Password",
"wafDesc": "Global rule groups always apply. Here you can add custom rule groups for the current website.",
"wafUpdated": "WAF rule groups updated",
"loadingWaf": "Loading WAF rule groups...",
"alwaysOn": "Always on",
"selectCustomRules": "Select custom rules",
"selectCustomRulesDesc": "Selected rules run in the execution order below.",
"selectRule": "Select {name}",
"ruleEnabled": "Enabled",
"ruleDisabled": "Disabled",
"nodeCount": "{count} nodes",
"executionOrder": "Execution order",
"executionOrderDesc": "Custom rules run in this order. Drag them or use the up/down buttons to change the order.",
"noCustomWaf": "No custom WAF rule groups",
"dragRule": "Drag {name}",
"moveUpRule": "Move {name} up",
"moveDownRule": "Move {name} down",
"sections": {
"domains": "Domain settings",
"domainsDesc": "Maintain the site identifier and choose bound domains from a Zone.",
"limits": "Traffic limits",
"limitsDesc": "Set connection limits and rate limits (can inherit global defaults).",
"proxy": "Reverse proxy",
"proxyDesc": "Configure the primary origin and upstream addresses.",
"cache": "Cache",
"cacheDesc": "Configure the site cache policy.",
"waf": "WAF",
"wafDesc": "Bind WAF rule groups and view the policies that apply to this site.",
"auth": "Authentication",
"authDesc": "Configure basic authentication so visitors must enter a username and password."
},
"validation": {
"enterDomain": "Enter a domain",
"invalidDomain": "Invalid domain format",
"enterAtLeastOneDomain": "Enter at least one domain",
"invalidDomainWithValue": "Invalid domain format: {domain}",
"duplicateDomain": "Duplicate domain: {domain}",
"enterAtLeastOneUpstream": "Enter at least one upstream address",
"invalidUpstream": "Invalid upstream address format: {url}",
"upstreamMustBeHttp": "Upstream address must start with http:// or https://: {url}",
"upstreamMissingHost": "Upstream address is missing a hostname: {url}",
"multiUpstreamNoPath": "Multi-upstream mode does not support addresses with a path or query",
"multiUpstreamSameProtocol": "Multiple upstreams for the same site must use the same protocol",
"invalidOriginHost": "Invalid origin Host format",
"invalidHeader": "Invalid custom request header format: {line}",
"invalidHeaderName": "Invalid custom request header name: {key}",
"invalidLimitRate": "Invalid rate-limit format. Use 512k, 1m, a number, or -1 to turn it off",
"invalidLimitReq": "Invalid request-rate format. Use 10r/s, 100r/m, or -1 to turn it off",
"cacheRuleRequired": "The current cache policy needs at least one rule",
"invalidCacheSuffix": "Invalid cache suffix format: {rule}",
"invalidCachePath": "Invalid cache path rule format: {rule}",
"siteNameTooLong": "Site identifier cannot exceed 255 characters",
"selectAtLeastOneDomain": "Select at least one domain",
"selectTunnel": "Select a tunnel",
"enterTunnelTarget": "Enter an internal service address (for example 127.0.0.1:8080)",
"selectPagesProject": "Select a Pages project",
"enterSiteId": "Enter a site identifier",
"enterIntegerOrMinusOne": "Enter -1, 0, or a positive integer",
"enterUsername": "Enter a username",
"enterPassword": "Enter a password"
}
},
"responses": {
"title": "Response pages",
"subtitle": "Configure origin error pages and offline pages.",
"loadingPermission": "Loading permission information...",
"loadingConfig": "Loading response page settings...",
"loadingPage": "Loading response pages...",
"loadingErrorConfig": "Loading error page settings...",
"loadingOfflineConfig": "Loading offline page settings...",
"loadFailed": "Load failed",
"forbidden": "Insufficient permission",
"forbiddenSettings": "Only administrators can access response page settings.",
"forbiddenPreviewError": "Only administrators can preview the error page.",
"forbiddenPreviewOffline": "Only administrators can preview the offline page.",
"forbiddenEditError": "Only administrators can edit the error page HTML.",
"forbiddenEditOffline": "Only administrators can edit the offline page HTML.",
"errorPage": "Error page",
"offlinePage": "Offline page",
"saveFailed": "Save failed",
"policySaved": "Trigger policy saved. Publish a version for the configuration to take effect.",
"triggerPolicy": "Trigger policy",
"triggerPolicyDesc": "Configure when the origin error page is enabled and which status codes trigger it.",
"enableErrorPage": "Enable origin error page",
"enableErrorPageDesc": "When disabled, the origin or Nginx default error response is passed through.",
"getOnly": "GET requests only",
"getOnlyDesc": "When enabled, the custom error page is returned only for matching error status codes on GET requests.",
"statusCodes": "Trigger status codes",
"statusCodesDesc": "Supports a single code (such as 502) or a closed range (such as 500-599).",
"statusCodesPlaceholder": "For example 502 or 500-599, then press Enter",
"pagePreview": "Page preview",
"preview": "Preview",
"edit": "Edit",
"errorPagePreview": "Origin error page preview",
"errorPreview": "Error page preview",
"offlinePreview": "Offline page preview",
"offlinePageDesc": "When enabled, a Service Worker is issued to HTTPS websites. If the domain is unreachable, the browser shows this offline page from cache.",
"offlineSaved": "Offline page saved. Publish a version for the configuration to take effect.",
"enableOffline": "Enable Service Worker offline page",
"enableOfflineDesc": "Only takes effect on HTTPS websites.",
"enableOfflineAria": "Enable offline page",
"scope": "Scope",
"scopeDesc": "Applies only to the selected HTTPS domains. If empty, nothing is injected.",
"addDomain": "Add domain",
"noScopeSelected": "No scope domains selected. After saving, nothing is injected into any site.",
"enableThenSelectScope": "Enable the offline fallback before choosing scope domains.",
"removeDomain": "Remove {domain}",
"selectScopeTitle": "Select scope domains",
"selectScopeDesc": "Inject the offline fallback only for selected HTTPS domains. Search, filter, and bulk-select.",
"domain": "Domain",
"searchDomainOrZone": "Search domain or apex…",
"selectedCount": "Selected {count}",
"visibleCount": "Visible {count}",
"unselectVisible": "Clear visible",
"selectVisible": "Select visible",
"clear": "Clear",
"noAvailableDomains": "No domains available. Register domains in Zone management first.",
"noMatchingDomains": "No matching domains",
"selectZone": "Select apex {domain}",
"apex": "Apex",
"confirm": "OK",
"backToError": "Back to error page",
"backToOffline": "Back to offline page",
"closePreview": "Close preview",
"fullscreen": "Full-screen view",
"htmlTooLarge": "HTML exceeds the size limit (max 256KB)",
"errorHtmlSaved": "Origin error page HTML saved. Publish a version for the configuration to take effect.",
"offlineHtmlSaved": "Offline page HTML saved. Publish a version for the configuration to take effect.",
"templateNotFound": "Selected template not found",
"templateLoaded": "Loaded template “{name}” into the editor",
"errorRestored": "Cleared to use the server built-in default template (save to apply)",
"offlineRestored": "Cleared to use the built-in default template (save to apply)",
"editErrorHtml": "Edit error page HTML",
"editOfflineHtml": "Edit offline page HTML",
"offlineLivePreview": "Offline page live preview",
"builtinTemplates": "Built-in templates",
"selectTemplate": "Select a template",
"loadTemplate": "Load template",
"restoreDefault": "Restore default",
"restoreTitle": "Restore default HTML?",
"restoreErrorDesc": "This clears the editor. After saving, the server built-in default template is used. This action does not save automatically.",
"restoreOfflineDesc": "This clears the editor. After saving, the built-in default template is used. This action does not save automatically.",
"confirmRestore": "Restore"
}
}