diff --git a/docs/content/docs/en/reference/api/server.mdx b/docs/content/docs/en/reference/api/server.mdx index a25601036..d817ee18c 100644 --- a/docs/content/docs/en/reference/api/server.mdx +++ b/docs/content/docs/en/reference/api/server.mdx @@ -168,9 +168,10 @@ _openapi: title: Probe/discover REALITY targets and return each verdict ranked by feasibility then latency. Each comma-separated token may be a domain (validated with SNI), a bare IP, or a CIDR range (discovered without SNI - by reading the certificate domain). When empty, a built-in seed list is - probed. - url: '#probediscover-reality-targets-and-return-each-verdict-ranked-by-feasibility-then-latency-each-comma-separated-token-may-be-a-domain-validated-with-sni-a-bare-ip-or-a-cidr-range-discovered-without-sni-by-reading-the-certificate-domain-when-empty-a-built-in-seed-list-is-probed' + by reading the certificate domain). When empty, the + realityScanCandidates setting is probed (the built-in seed list if that + setting is empty). + url: '#probediscover-reality-targets-and-return-each-verdict-ranked-by-feasibility-then-latency-each-comma-separated-token-may-be-a-domain-validated-with-sni-a-bare-ip-or-a-cidr-range-discovered-without-sni-by-reading-the-certificate-domain-when-empty-the-realityscancandidates-setting-is-probed-the-built-in-seed-list-if-that-setting-is-empty' - depth: 2 title: Fetch the fully aggregated inbound_client_ips database table. Used by nodes to sync recently active IPs across the cluster. @@ -304,9 +305,10 @@ _openapi: - content: Probe/discover REALITY targets and return each verdict ranked by feasibility then latency. Each comma-separated token may be a domain (validated with SNI), a bare IP, or a CIDR range (discovered without - SNI by reading the certificate domain). When empty, a built-in seed - list is probed. - id: probediscover-reality-targets-and-return-each-verdict-ranked-by-feasibility-then-latency-each-comma-separated-token-may-be-a-domain-validated-with-sni-a-bare-ip-or-a-cidr-range-discovered-without-sni-by-reading-the-certificate-domain-when-empty-a-built-in-seed-list-is-probed + SNI by reading the certificate domain). When empty, the + realityScanCandidates setting is probed (the built-in seed list if + that setting is empty). + id: probediscover-reality-targets-and-return-each-verdict-ranked-by-feasibility-then-latency-each-comma-separated-token-may-be-a-domain-validated-with-sni-a-bare-ip-or-a-cidr-range-discovered-without-sni-by-reading-the-certificate-domain-when-empty-the-realityscancandidates-setting-is-probed-the-built-in-seed-list-if-that-setting-is-empty - content: Fetch the fully aggregated inbound_client_ips database table. Used by nodes to sync recently active IPs across the cluster. id: fetch-the-fully-aggregated-inbound_client_ips-database-table-used-by-nodes-to-sync-recently-active-ips-across-the-cluster diff --git a/docs/public/openapi.json b/docs/public/openapi.json index 32a8ff513..93b592bd9 100644 --- a/docs/public/openapi.json +++ b/docs/public/openapi.json @@ -162,6 +162,9 @@ "panelOutbound": { "type": "string" }, + "realityScanCandidates": { + "type": "string" + }, "remarkTemplate": { "type": "string" }, @@ -538,6 +541,7 @@ "outboundDownThreshold", "pageSize", "panelOutbound", + "realityScanCandidates", "remarkTemplate", "restartXrayOnClientDisable", "sessionMaxAge", @@ -805,6 +809,9 @@ "panelOutbound": { "type": "string" }, + "realityScanCandidates": { + "type": "string" + }, "remarkTemplate": { "type": "string" }, @@ -1189,6 +1196,7 @@ "outboundDownThreshold", "pageSize", "panelOutbound", + "realityScanCandidates", "remarkTemplate", "restartXrayOnClientDisable", "sessionMaxAge", @@ -7400,7 +7408,7 @@ "tags": [ "Server" ], - "summary": "Probe/discover REALITY targets and return each verdict ranked by feasibility then latency. Each comma-separated token may be a domain (validated with SNI), a bare IP, or a CIDR range (discovered without SNI by reading the certificate domain). When empty, a built-in seed list is probed.", + "summary": "Probe/discover REALITY targets and return each verdict ranked by feasibility then latency. Each comma-separated token may be a domain (validated with SNI), a bare IP, or a CIDR range (discovered without SNI by reading the certificate domain). When empty, the realityScanCandidates setting is probed (the built-in seed list if that setting is empty).", "operationId": "post_panel_api_server_scanRealityTargets", "requestBody": { "required": false, @@ -7411,7 +7419,7 @@ "properties": { "targets": { "type": "string", - "description": "Optional comma-separated tokens: domain[:port], IP[:port], or CIDR (e.g. 104.16.0.0/24). When omitted, a built-in seed list is probed." + "description": "Optional comma-separated tokens: domain[:port], IP[:port], or CIDR (e.g. 104.16.0.0/24). When omitted, the realityScanCandidates setting is probed (the built-in seed list if that setting is empty)." } } } diff --git a/frontend/public/openapi.json b/frontend/public/openapi.json index 32a8ff513..93b592bd9 100644 --- a/frontend/public/openapi.json +++ b/frontend/public/openapi.json @@ -162,6 +162,9 @@ "panelOutbound": { "type": "string" }, + "realityScanCandidates": { + "type": "string" + }, "remarkTemplate": { "type": "string" }, @@ -538,6 +541,7 @@ "outboundDownThreshold", "pageSize", "panelOutbound", + "realityScanCandidates", "remarkTemplate", "restartXrayOnClientDisable", "sessionMaxAge", @@ -805,6 +809,9 @@ "panelOutbound": { "type": "string" }, + "realityScanCandidates": { + "type": "string" + }, "remarkTemplate": { "type": "string" }, @@ -1189,6 +1196,7 @@ "outboundDownThreshold", "pageSize", "panelOutbound", + "realityScanCandidates", "remarkTemplate", "restartXrayOnClientDisable", "sessionMaxAge", @@ -7400,7 +7408,7 @@ "tags": [ "Server" ], - "summary": "Probe/discover REALITY targets and return each verdict ranked by feasibility then latency. Each comma-separated token may be a domain (validated with SNI), a bare IP, or a CIDR range (discovered without SNI by reading the certificate domain). When empty, a built-in seed list is probed.", + "summary": "Probe/discover REALITY targets and return each verdict ranked by feasibility then latency. Each comma-separated token may be a domain (validated with SNI), a bare IP, or a CIDR range (discovered without SNI by reading the certificate domain). When empty, the realityScanCandidates setting is probed (the built-in seed list if that setting is empty).", "operationId": "post_panel_api_server_scanRealityTargets", "requestBody": { "required": false, @@ -7411,7 +7419,7 @@ "properties": { "targets": { "type": "string", - "description": "Optional comma-separated tokens: domain[:port], IP[:port], or CIDR (e.g. 104.16.0.0/24). When omitted, a built-in seed list is probed." + "description": "Optional comma-separated tokens: domain[:port], IP[:port], or CIDR (e.g. 104.16.0.0/24). When omitted, the realityScanCandidates setting is probed (the built-in seed list if that setting is empty)." } } } diff --git a/frontend/src/generated/examples.ts b/frontend/src/generated/examples.ts index 36c2474c1..6aa987e3a 100644 --- a/frontend/src/generated/examples.ts +++ b/frontend/src/generated/examples.ts @@ -41,6 +41,7 @@ export const EXAMPLES: Record = { "outboundDownThreshold": 1, "pageSize": 0, "panelOutbound": "", + "realityScanCandidates": "", "remarkTemplate": "", "restartXrayOnClientDisable": false, "sessionMaxAge": 1, @@ -195,6 +196,7 @@ export const EXAMPLES: Record = { "outboundDownThreshold": 1, "pageSize": 0, "panelOutbound": "", + "realityScanCandidates": "", "remarkTemplate": "", "restartXrayOnClientDisable": false, "sessionMaxAge": 1, diff --git a/frontend/src/generated/schemas.ts b/frontend/src/generated/schemas.ts index a5dc8fa20..bcf6cebb0 100644 --- a/frontend/src/generated/schemas.ts +++ b/frontend/src/generated/schemas.ts @@ -136,6 +136,9 @@ export const SCHEMAS: Record = { "panelOutbound": { "type": "string" }, + "realityScanCandidates": { + "type": "string" + }, "remarkTemplate": { "type": "string" }, @@ -512,6 +515,7 @@ export const SCHEMAS: Record = { "outboundDownThreshold", "pageSize", "panelOutbound", + "realityScanCandidates", "remarkTemplate", "restartXrayOnClientDisable", "sessionMaxAge", @@ -779,6 +783,9 @@ export const SCHEMAS: Record = { "panelOutbound": { "type": "string" }, + "realityScanCandidates": { + "type": "string" + }, "remarkTemplate": { "type": "string" }, @@ -1163,6 +1170,7 @@ export const SCHEMAS: Record = { "outboundDownThreshold", "pageSize", "panelOutbound", + "realityScanCandidates", "remarkTemplate", "restartXrayOnClientDisable", "sessionMaxAge", diff --git a/frontend/src/generated/types.ts b/frontend/src/generated/types.ts index 26c6e6b40..f0ea06877 100644 --- a/frontend/src/generated/types.ts +++ b/frontend/src/generated/types.ts @@ -48,6 +48,7 @@ export interface AllSetting { outboundDownThreshold: number; pageSize: number; panelOutbound: string; + realityScanCandidates: string; remarkTemplate: string; restartXrayOnClientDisable: boolean; sessionMaxAge: number; @@ -203,6 +204,7 @@ export interface AllSettingView { outboundDownThreshold: number; pageSize: number; panelOutbound: string; + realityScanCandidates: string; remarkTemplate: string; restartXrayOnClientDisable: boolean; sessionMaxAge: number; diff --git a/frontend/src/generated/zod.ts b/frontend/src/generated/zod.ts index 5f1414b50..fa50dc605 100644 --- a/frontend/src/generated/zod.ts +++ b/frontend/src/generated/zod.ts @@ -62,6 +62,7 @@ export const AllSettingSchema = z.object({ outboundDownThreshold: z.number().int().min(1).max(100), pageSize: z.number().int().min(0).max(1000), panelOutbound: z.string(), + realityScanCandidates: z.string(), remarkTemplate: z.string(), restartXrayOnClientDisable: z.boolean(), sessionMaxAge: z.number().int().min(1).max(525600), @@ -218,6 +219,7 @@ export const AllSettingViewSchema = z.object({ outboundDownThreshold: z.number().int().min(1).max(100), pageSize: z.number().int().min(0).max(1000), panelOutbound: z.string(), + realityScanCandidates: z.string(), remarkTemplate: z.string(), restartXrayOnClientDisable: z.boolean(), sessionMaxAge: z.number().int().min(1).max(525600), diff --git a/frontend/src/models/setting.ts b/frontend/src/models/setting.ts index c5dcfae25..8f7eda738 100644 --- a/frontend/src/models/setting.ts +++ b/frontend/src/models/setting.ts @@ -9,6 +9,8 @@ export class AllSetting { webBasePath = '/'; sessionMaxAge = 360; trustedProxyCIDRs = '127.0.0.1/32,::1/128'; + realityScanCandidates = + 'www.cloudflare.com:443,www.microsoft.com:443,www.amazon.com:443,aws.amazon.com:443,www.samsung.com:443,www.nvidia.com:443,www.amd.com:443,www.intel.com:443,www.sony.com:443,dl.google.com:443'; ipLimitAllowlist = ''; panelOutbound = ''; pageSize = 25; diff --git a/frontend/src/pages/api-docs/endpoints.ts b/frontend/src/pages/api-docs/endpoints.ts index f45af4a89..de9663585 100644 --- a/frontend/src/pages/api-docs/endpoints.ts +++ b/frontend/src/pages/api-docs/endpoints.ts @@ -914,14 +914,14 @@ export const sections: readonly Section[] = [ method: 'POST', path: '/panel/api/server/scanRealityTargets', summary: - 'Probe/discover REALITY targets and return each verdict ranked by feasibility then latency. Each comma-separated token may be a domain (validated with SNI), a bare IP, or a CIDR range (discovered without SNI by reading the certificate domain). When empty, a built-in seed list is probed.', + 'Probe/discover REALITY targets and return each verdict ranked by feasibility then latency. Each comma-separated token may be a domain (validated with SNI), a bare IP, or a CIDR range (discovered without SNI by reading the certificate domain). When empty, the realityScanCandidates setting is probed (the built-in seed list if that setting is empty).', params: [ { name: 'targets', in: 'body (form)', type: 'string', optional: true, - desc: 'Optional comma-separated tokens: domain[:port], IP[:port], or CIDR (e.g. 104.16.0.0/24). When omitted, a built-in seed list is probed.', + desc: 'Optional comma-separated tokens: domain[:port], IP[:port], or CIDR (e.g. 104.16.0.0/24). When omitted, the realityScanCandidates setting is probed (the built-in seed list if that setting is empty).', }, ], body: 'targets=104.16.0.0/24,www.apple.com:443', diff --git a/frontend/src/pages/settings/GeneralTab.tsx b/frontend/src/pages/settings/GeneralTab.tsx index 631fedf34..29efc333f 100644 --- a/frontend/src/pages/settings/GeneralTab.tsx +++ b/frontend/src/pages/settings/GeneralTab.tsx @@ -259,6 +259,25 @@ export default function GeneralTab({ allSetting, updateSetting }: GeneralTabProp /> + + } + > + updateSetting({ realityScanCandidates: e.target.value })} + /> + + 0 { + return tokens + } + return append([]string(nil), defaultRealityScanCandidates...) +} + +func (s *ServerService) ScanRealityTargets(targetsCSV string) ([]*RealityScanResult, error) { + tokens := parseRealityScanCandidateCSV(targetsCSV) if len(tokens) == 0 { - tokens = append(tokens, defaultRealityScanCandidates...) + tokens = s.realityScanCandidateTokens() } var tasks []realityProbeTask diff --git a/internal/web/service/reality_scan_test.go b/internal/web/service/reality_scan_test.go index cf1415a7d..1514ca841 100644 --- a/internal/web/service/reality_scan_test.go +++ b/internal/web/service/reality_scan_test.go @@ -164,3 +164,19 @@ func TestWriteProxyProtocolV2Signature(t *testing.T) { t.Fatalf("v2 family/protocol byte = 0x%02x, want 0x11 (TCP over IPv4)", hdr[13]) } } + +func TestParseRealityScanCandidateCSV(t *testing.T) { + got := parseRealityScanCandidateCSV(" a.com:443 , ,b.com:8443 ") + want := []string{"a.com:443", "b.com:8443"} + if len(got) != len(want) { + t.Fatalf("got %v, want %v", got, want) + } + for i := range want { + if got[i] != want[i] { + t.Fatalf("got %v, want %v", got, want) + } + } + if tokens := parseRealityScanCandidateCSV(" , "); len(tokens) != 0 { + t.Fatalf("empty CSV should yield no tokens, got %v", tokens) + } +} diff --git a/internal/web/service/setting.go b/internal/web/service/setting.go index 1d1823c1b..4c4b499e4 100644 --- a/internal/web/service/setting.go +++ b/internal/web/service/setting.go @@ -67,6 +67,7 @@ var defaultValueMap = map[string]string{ "webBasePath": normalizeBasePath(getEnv("XUI_INIT_WEB_BASE_PATH", "/")), "sessionMaxAge": "360", "trustedProxyCIDRs": DefaultTrustedProxyCIDRs, + "realityScanCandidates": DefaultRealityScanCandidatesCSV, "ipLimitAllowlist": "", "pageSize": "25", "expireDiff": "0", @@ -705,6 +706,10 @@ func (s *SettingService) GetTrustedProxyCIDRs() (string, error) { return s.getString("trustedProxyCIDRs") } +func (s *SettingService) GetRealityScanCandidates() (string, error) { + return s.getString("realityScanCandidates") +} + func (s *SettingService) GetRemarkTemplate() (string, error) { return s.getString("remarkTemplate") } diff --git a/internal/web/translation/ar-EG.json b/internal/web/translation/ar-EG.json index 464ec8a58..88adaa8c4 100644 --- a/internal/web/translation/ar-EG.json +++ b/internal/web/translation/ar-EG.json @@ -1253,6 +1253,8 @@ "noisesSett": "إعدادات التشويش", "trustedProxyCidrs": "CIDR وكلاء موثوقين", "trustedProxyCidrsDesc": "IPs/CIDRs مفصولة بفواصل يُسمح لها بتعيين ترويسات host، proto و client IP المعاد توجيهها.", + "realityScanCandidates": "مرشحو فحص Reality", + "realityScanCandidatesDesc": "قائمة أهداف host:port (أو CIDR) مفصولة بفواصل تُستخدم كقائمة افتراضية عند تشغيل «البحث عن الأهداف» ببحث فارغ. خصّصها للأهداف التي تستخدمها كثيرًا.", "ldap": { "enable": "تفعيل مزامنة LDAP", "host": "مضيف LDAP", @@ -1496,63 +1498,63 @@ "subExpiredTemplateDesc": "قالب التكوين الوهمي عند انتهاء صلاحية اشتراك المستخدم.", "subTrafficDepletedTemplate": "قالب نفاد البيانات", "subTrafficDepletedTemplateDesc": "قالب التكوين الوهمي عند استهلاك حصة بيانات المستخدم بالكامل.", - "subHappAutoDetect": "Happ Header Auto-Detection", - "subHappAutoDetectDesc": "Automatically inject Happ routing and headers when client User-Agent indicates Happ.", - "subHappProviderId": "Provider ID", - "subHappProviderIdDesc": "Unique provider identifier for Happ client management, remote configuration binding, and migration.", - "subHappNewUrl": "New Subscription URL", - "subHappNewUrlDesc": "Target URL for automatic client migration. When set, Happ clients will migrate to this subscription link.", - "subHappFallbackUrl": "Fallback Subscription URL", - "subHappFallbackUrlDesc": "Backup subscription address used by Happ if the primary subscription URL becomes unreachable.", - "subHappSubInfoText": "Banner Announcement Text", - "subHappSubInfoTextDesc": "Custom announcement banner displayed at the top of the Happ client (max 200 characters).", - "subHappSubInfoColor": "Banner Accent Color", - "subHappSubInfoColorDesc": "Color theme style for the announcement banner.", - "subHappSubInfoButtonText": "Banner Button Text", - "subHappSubInfoButtonTextDesc": "Button label displayed inside the announcement banner (max 25 characters).", - "subHappSubInfoButtonLink": "Banner Button Link", - "subHappSubInfoButtonLinkDesc": "Target URL opened when the user clicks the banner action button.", - "subHappSubExpire": "Expired Subscription Banner", - "subHappSubExpireDesc": "Show an expired subscription banner in Happ when the user's traffic or validity has ended.", - "subHappSubExpireButtonLink": "Renewal Link", - "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", - "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", - "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", - "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", - "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", - "subHappExcludeRoutes": "Exclude CIDR Routes", - "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", - "subHappExcludeApns": "Exclude Apple APNs", - "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", - "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", - "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", - "subHappAutoConnect": "Auto-Connect on Launch", - "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", - "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", - "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", - "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", - "subHappPresetIran": "Iran Bypass", - "subHappPresetChina": "China Direct", - "subHappPresetAdblock": "AdBlock", - "subHappPresetGlobal": "Full Proxy", + "subHappAutoDetect": "اكتشاف ترويسات Happ تلقائيًا", + "subHappAutoDetectDesc": "حقن توجيه Happ والترويسات تلقائيًا عندما يشير User-Agent الخاص بالعميل إلى Happ.", + "subHappProviderId": "معرّف المزوّد (Provider ID)", + "subHappProviderIdDesc": "معرّف فريد للمزوّد يُستخدم لإدارة عملاء Happ وربط الإعدادات عن بُعد والترحيل.", + "subHappNewUrl": "رابط الاشتراك الجديد", + "subHappNewUrlDesc": "عنوان URL الهدف للترحيل التلقائي للعملاء. عند تعيينه، ينتقل عملاء Happ إلى رابط الاشتراك هذا.", + "subHappFallbackUrl": "رابط الاشتراك الاحتياطي", + "subHappFallbackUrlDesc": "عنوان اشتراك احتياطي يستخدمه Happ إذا تعذّر الوصول إلى رابط الاشتراك الأساسي.", + "subHappSubInfoText": "نص لافتة الإعلان", + "subHappSubInfoTextDesc": "لافتة إعلان مخصصة تظهر أعلى عميل Happ (بحد أقصى 200 حرف).", + "subHappSubInfoColor": "لون تمييز اللافتة", + "subHappSubInfoColorDesc": "نمط ألوان لافتة الإعلان.", + "subHappSubInfoButtonText": "نص زر اللافتة", + "subHappSubInfoButtonTextDesc": "تسمية الزر المعروض داخل لافتة الإعلان (بحد أقصى 25 حرفًا).", + "subHappSubInfoButtonLink": "رابط زر اللافتة", + "subHappSubInfoButtonLinkDesc": "عنوان URL الذي يُفتح عندما ينقر المستخدم على زر الإجراء في اللافتة.", + "subHappSubExpire": "لافتة انتهاء الاشتراك", + "subHappSubExpireDesc": "إظهار لافتة انتهاء الاشتراك في Happ عند نفاد حركة مرور المستخدم أو انتهاء صلاحية اشتراكه.", + "subHappSubExpireButtonLink": "رابط التجديد", + "subHappSubExpireButtonLinkDesc": "عنوان URL الذي يُفتح عندما ينقر المستخدم على زر التجديد في اشتراك منتهي الصلاحية.", + "subHappNotificationExpire": "إشعارات انتهاء الصلاحية", + "subHappNotificationExpireDesc": "يُذكّر Happ المستخدم قبل 3 أيام من انتهاء اشتراكه.", + "subHappNoLimit": "وضع بلا حدود", + "subHappNoLimitDesc": "رفع حد ذاكرة RAM الخاص بـ xray-core في Happ لتحسين الاستقرار والأداء (تجريبي).", + "subHappAlwaysHwid": "فرض معرّف العتاد (HWID)", + "subHappAlwaysHwidDesc": "منع المستخدمين من إيقاف إرسال HWID في إعدادات Happ.", + "subHappTunMode": "وضع TUN", + "subHappTunModeDesc": "مكدس الشبكة الذي يستخدمه TUN على سطح المكتب: النظام (مكدس نظام التشغيل) أو gVisor (مكدس مساحة المستخدم).", + "subHappTunType": "محرك TUN", + "subHappTunTypeDesc": "النواة المستخدمة لاتصال TUN على سطح المكتب: sing-box أو tun2proxy أو الافتراضي (Happ TUN) أو Xray.", + "subHappExcludeRoutes": "استثناء مسارات CIDR", + "subHappExcludeRoutesDesc": "نطاقات CIDR لعناوين IP مفصولة بفواصل (مثل 192.168.0.0/16, 10.0.0.0/8) تتجاوز نفق VPN.", + "subHappExcludeApns": "استثناء Apple APNs", + "subHappExcludeApnsDesc": "تجاوز خدمات إشعارات Apple الفورية للحفاظ على موثوقية الإشعارات في الخلفية على iOS.", + "subHappColorProfile": "سمة ألوان العميل", + "subHappColorProfileDesc": "سمة ألوان مخصصة لـ iOS كسلسلة JSON، أو resetcolors لاستعادة الألوان الافتراضية.", + "subHappPingType": "طريقة قياس زمن الاستجابة", + "subHappPingTypeDesc": "كيفية قياس Happ لزمن استجابة العقد: عبر البروكسي (GET أو HEAD) أو TCP أو ICMP.", + "subHappAutoConnect": "الاتصال التلقائي عند التشغيل", + "subHappAutoConnectDesc": "يتصل Happ تلقائيًا بـ VPN عند بدء تشغيل التطبيق.", + "subHappAutoConnectType": "هدف الاتصال التلقائي", + "subHappAutoConnectTypeDesc": "الخادم المختار للاتصال التلقائي: أقل تأخير أو آخر عقدة تم استخدامها أو عقدة عشوائية.", + "subHappPerAppMode": "وضع البروكسي لكل تطبيق على Android", + "subHappPerAppModeDesc": "التحكم في توجيه تطبيقات Android: إيقاف، أو تشغيل (بروكسي للتطبيقات المحددة فقط)، أو تجاوز (استثناء التطبيقات المحددة).", + "subHappPerAppList": "أسماء حزم Android", + "subHappPerAppListDesc": "أسماء حزم تطبيقات Android المراد تضمينها أو استثناؤها، مفصولة بفواصل (مثل org.telegram.messenger).", + "subHappPresetIran": "تجاوز إيران", + "subHappPresetChina": "مباشر للصين", + "subHappPresetAdblock": "حظر الإعلانات (AdBlock)", + "subHappPresetGlobal": "بروكسي كامل", "subHappPresetOff": "تعطيل التوجيه (happ://routing/off)", "subHappColorBlue": "أزرق (قياسي / افتراضي)", "subHappColorGreen": "أخضر (نجاح)", "subHappColorRed": "أحمر (تحذير / خطر)", "subHappTunModeDefault": "افتراضي", - "subHappTunModeSystem": "النظام (حزمة نظام التشغيل القياسية)", - "subHappTunModeGvisor": "gVisor (حزمة مساحة المستخدم)", + "subHappTunModeSystem": "النظام (مكدس نظام التشغيل القياسي)", + "subHappTunModeGvisor": "gVisor (مكدس مساحة المستخدم)", "subHappTunTypeSingbox": "sing-box", "subHappTunTypeTun2proxy": "tun2proxy", "subHappTunTypeDefault": "افتراضي (Happ TUN)", @@ -1567,27 +1569,27 @@ "subHappPerAppOff": "إيقاف", "subHappPerAppOn": "تشغيل (بروكسي للتطبيقات المحددة فقط)", "subHappPerAppBypass": "تجاوز (استثناء التطبيقات المحددة)", - "subHappPresetApplied": "Happ preset applied to routing rules", - "subHappPresets": "Routing Presets", - "subHappPresetsDesc": "Pre-configured routing rule presets tailored for Happ clients.", - "subHappVisualBuilder": "Visual Rule Generator", - "subHappVisualBuilderDesc": "Create custom routing deeplink from domain and IP lists.", - "subHappBuildDeeplink": "Generate Deeplink", - "subHappModalTitle": "Happ Visual Routing Rule Generator", - "subHappDirectDomains": "Direct Domains (Bypass)", - "subHappProxyDomains": "Proxy Domains (Tunnel)", - "subHappBlockDomains": "Blocked Domains (Ad/Malware)", - "subHappDirectIPs": "Direct IPs / CIDRs", - "subHappProxyIPs": "Proxy IPs / CIDRs", - "subHappBlockIPs": "Blocked IPs / CIDRs", - "subHappDeeplinkGenerated": "Deeplink generated and applied to routing rules", + "subHappPresetApplied": "تم تطبيق إعداد Happ المسبق على قواعد التوجيه", + "subHappPresets": "إعدادات التوجيه المسبقة", + "subHappPresetsDesc": "قواعد توجيه مُعدّة مسبقًا ومخصصة لعملاء Happ.", + "subHappVisualBuilder": "منشئ القواعد المرئي", + "subHappVisualBuilderDesc": "إنشاء رابط عميق مخصص للتوجيه من قوائم النطاقات وعناوين IP.", + "subHappBuildDeeplink": "إنشاء رابط عميق", + "subHappModalTitle": "منشئ قواعد التوجيه المرئي لـ Happ", + "subHappDirectDomains": "نطاقات مباشرة (تجاوز)", + "subHappProxyDomains": "نطاقات عبر البروكسي (نفق)", + "subHappBlockDomains": "نطاقات محظورة (إعلانات/برمجيات خبيثة)", + "subHappDirectIPs": "IPs / CIDRs مباشرة", + "subHappProxyIPs": "IPs / CIDRs عبر البروكسي", + "subHappBlockIPs": "IPs / CIDRs محظورة", + "subHappDeeplinkGenerated": "تم إنشاء الرابط العميق وتطبيقه على قواعد التوجيه", "subHappGroupLinks": "روابط الاشتراك", - "subHappGroupRouting": "Routing & Rules", - "subHappGroupBanners": "Banners & Announcements", - "subHappGroupNetwork": "Network & TUN Engine", - "subHappGroupThemes": "Appearance & Theme", - "subHappGroupFailover": "Migration & App Management", - "subHappGroupAndroid": "Android Per-App Proxy", + "subHappGroupRouting": "التوجيه والقواعد", + "subHappGroupBanners": "اللافتات والإعلانات", + "subHappGroupNetwork": "الشبكة ومحرك TUN", + "subHappGroupThemes": "المظهر والسمة", + "subHappGroupFailover": "الترحيل وإدارة التطبيق", + "subHappGroupAndroid": "البروكسي لكل تطبيق على Android", "discordSettings": "بوت ديسكورد", "discordBotEnable": "تفعيل إشعارات ديسكورد", "discordBotEnableDesc": "إرسال تنبيهات النظام والأحداث إلى قناة ديسكورد عبر البوت", diff --git a/internal/web/translation/en-US.json b/internal/web/translation/en-US.json index 15019417f..a2078187c 100644 --- a/internal/web/translation/en-US.json +++ b/internal/web/translation/en-US.json @@ -1375,6 +1375,8 @@ "noisesSett": "Noises Settings", "trustedProxyCidrs": "Trusted proxy CIDRs", "trustedProxyCidrsDesc": "Comma-separated IPs/CIDRs allowed to set forwarded host, proto, and client IP headers.", + "realityScanCandidates": "Reality scan candidates", + "realityScanCandidatesDesc": "Comma-separated host:port targets (or CIDRs) used as the default list when Find Targets runs with an empty search. Customize this with destinations you reuse often.", "ldap": { "enable": "Enable LDAP sync", "host": "LDAP host", @@ -1635,31 +1637,31 @@ "subHappSubExpireButtonLink": "Renewal Link", "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", + "subHappNotificationExpireDesc": "Instruct Happ to remind the user 3 days before their subscription expires.", + "subHappNoLimit": "No-Limit Mode", + "subHappNoLimitDesc": "Raise the xray-core RAM limit in Happ for better stability and performance (beta).", "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", + "subHappAlwaysHwidDesc": "Prevent users from turning off HWID sending in the Happ settings.", "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", + "subHappTunModeDesc": "Network stack used by TUN on desktop: system (OS stack) or gVisor (userspace stack).", "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", + "subHappTunTypeDesc": "Core used for the TUN connection on desktop: sing-box, tun2proxy, default (Happ TUN), or Xray.", "subHappExcludeRoutes": "Exclude CIDR Routes", "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", "subHappExcludeApns": "Exclude Apple APNs", "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", + "subHappColorProfileDesc": "Custom iOS color theme as a JSON string, or resetcolors to restore the default colors.", "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", + "subHappPingTypeDesc": "How Happ measures node latency: via proxy (GET or HEAD), TCP, or ICMP.", "subHappAutoConnect": "Auto-Connect on Launch", "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", + "subHappAutoConnectTypeDesc": "Server chosen for auto-connect: lowest delay, last used, or a random node.", "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", + "subHappPerAppModeDesc": "Control Android application routing: off, on (proxy only listed apps), or bypass (exclude listed apps).", "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", + "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. org.telegram.messenger).", "subHappPresetIran": "Iran Bypass", "subHappPresetChina": "China Direct", "subHappPresetAdblock": "AdBlock", diff --git a/internal/web/translation/es-ES.json b/internal/web/translation/es-ES.json index cde0968ee..8841955c2 100644 --- a/internal/web/translation/es-ES.json +++ b/internal/web/translation/es-ES.json @@ -1253,6 +1253,8 @@ "noisesSett": "Configuración de Sonidos", "trustedProxyCidrs": "CIDR de proxy de confianza", "trustedProxyCidrsDesc": "IP/CIDR separados por coma que pueden establecer las cabeceras de host, proto e IP del cliente reenviadas.", + "realityScanCandidates": "Candidatos de escaneo Reality", + "realityScanCandidatesDesc": "Lista de destinos host:port (o CIDR) separados por comas usada por defecto cuando Buscar objetivos se ejecuta con la búsqueda vacía. Personalízala con destinos que uses a menudo.", "ldap": { "enable": "Habilitar sincronización LDAP", "host": "Host LDAP", @@ -1496,56 +1498,56 @@ "subExpiredTemplateDesc": "Plantilla para el nodo ficticio cuando la suscripción ha expirado.", "subTrafficDepletedTemplate": "Plantilla de tráfico agotado", "subTrafficDepletedTemplateDesc": "Plantilla para el nodo ficticio cuando el límite de tráfico se ha agotado.", - "subHappAutoDetect": "Happ Header Auto-Detection", - "subHappAutoDetectDesc": "Automatically inject Happ routing and headers when client User-Agent indicates Happ.", - "subHappProviderId": "Provider ID", - "subHappProviderIdDesc": "Unique provider identifier for Happ client management, remote configuration binding, and migration.", - "subHappNewUrl": "New Subscription URL", - "subHappNewUrlDesc": "Target URL for automatic client migration. When set, Happ clients will migrate to this subscription link.", - "subHappFallbackUrl": "Fallback Subscription URL", - "subHappFallbackUrlDesc": "Backup subscription address used by Happ if the primary subscription URL becomes unreachable.", - "subHappSubInfoText": "Banner Announcement Text", - "subHappSubInfoTextDesc": "Custom announcement banner displayed at the top of the Happ client (max 200 characters).", - "subHappSubInfoColor": "Banner Accent Color", - "subHappSubInfoColorDesc": "Color theme style for the announcement banner.", - "subHappSubInfoButtonText": "Banner Button Text", - "subHappSubInfoButtonTextDesc": "Button label displayed inside the announcement banner (max 25 characters).", - "subHappSubInfoButtonLink": "Banner Button Link", - "subHappSubInfoButtonLinkDesc": "Target URL opened when the user clicks the banner action button.", - "subHappSubExpire": "Expired Subscription Banner", - "subHappSubExpireDesc": "Show an expired subscription banner in Happ when the user's traffic or validity has ended.", - "subHappSubExpireButtonLink": "Renewal Link", - "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", - "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", - "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", - "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", - "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", - "subHappExcludeRoutes": "Exclude CIDR Routes", - "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", - "subHappExcludeApns": "Exclude Apple APNs", - "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", - "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", - "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", - "subHappAutoConnect": "Auto-Connect on Launch", - "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", - "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", - "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", - "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", - "subHappPresetIran": "Iran Bypass", - "subHappPresetChina": "China Direct", + "subHappAutoDetect": "Detección automática de cabeceras de Happ", + "subHappAutoDetectDesc": "Inyectar automáticamente el enrutamiento y las cabeceras de Happ cuando el User-Agent del cliente indica Happ.", + "subHappProviderId": "ID del proveedor (Provider ID)", + "subHappProviderIdDesc": "Identificador único del proveedor para la gestión de clientes de Happ, la vinculación de la configuración remota y la migración.", + "subHappNewUrl": "Nueva URL de suscripción", + "subHappNewUrlDesc": "URL de destino para la migración automática de clientes. Si se establece, los clientes de Happ migrarán a este enlace de suscripción.", + "subHappFallbackUrl": "URL de suscripción de respaldo", + "subHappFallbackUrlDesc": "Dirección de suscripción de respaldo que usa Happ si la URL de suscripción principal deja de estar accesible.", + "subHappSubInfoText": "Texto del banner de anuncio", + "subHappSubInfoTextDesc": "Banner de anuncio personalizado que se muestra en la parte superior del cliente Happ (máx. 200 caracteres).", + "subHappSubInfoColor": "Color de énfasis del banner", + "subHappSubInfoColorDesc": "Estilo de color del banner de anuncio.", + "subHappSubInfoButtonText": "Texto del botón del banner", + "subHappSubInfoButtonTextDesc": "Etiqueta del botón que se muestra dentro del banner de anuncio (máx. 25 caracteres).", + "subHappSubInfoButtonLink": "Enlace del botón del banner", + "subHappSubInfoButtonLinkDesc": "URL de destino que se abre cuando el usuario hace clic en el botón de acción del banner.", + "subHappSubExpire": "Banner de suscripción caducada", + "subHappSubExpireDesc": "Mostrar un banner de suscripción caducada en Happ cuando se agote el tráfico o termine la validez del usuario.", + "subHappSubExpireButtonLink": "Enlace de renovación", + "subHappSubExpireButtonLinkDesc": "URL de destino que se abre cuando el usuario hace clic en el botón de renovación de una suscripción caducada.", + "subHappNotificationExpire": "Notificaciones de caducidad", + "subHappNotificationExpireDesc": "Indicar a Happ que avise al usuario 3 días antes de que caduque su suscripción.", + "subHappNoLimit": "Modo sin límite", + "subHappNoLimitDesc": "Aumentar el límite de RAM de xray-core en Happ para mejorar la estabilidad y el rendimiento (beta).", + "subHappAlwaysHwid": "Forzar ID de hardware (HWID)", + "subHappAlwaysHwidDesc": "Impedir que los usuarios desactiven el envío del HWID en la configuración de Happ.", + "subHappTunMode": "Modo TUN", + "subHappTunModeDesc": "Pila de red que usa TUN en escritorio: sistema (pila del SO) o gVisor (pila de espacio de usuario).", + "subHappTunType": "Motor TUN", + "subHappTunTypeDesc": "Núcleo usado para la conexión TUN en escritorio: sing-box, tun2proxy, predeterminado (Happ TUN) o Xray.", + "subHappExcludeRoutes": "Excluir rutas CIDR", + "subHappExcludeRoutesDesc": "CIDR de IP separados por comas (p. ej. 192.168.0.0/16, 10.0.0.0/8) que no pasan por el túnel VPN.", + "subHappExcludeApns": "Excluir APNs de Apple", + "subHappExcludeApnsDesc": "Omitir los servicios de notificaciones push de Apple para mantener fiables las notificaciones en segundo plano en iOS.", + "subHappColorProfile": "Tema de color del cliente", + "subHappColorProfileDesc": "Tema de color personalizado para iOS como cadena JSON, o resetcolors para restaurar los colores predeterminados.", + "subHappPingType": "Método de ping de latencia", + "subHappPingTypeDesc": "Cómo mide Happ la latencia de los nodos: vía proxy (GET o HEAD), TCP o ICMP.", + "subHappAutoConnect": "Conexión automática al iniciar", + "subHappAutoConnectDesc": "Indicar a Happ que se conecte automáticamente a la VPN al iniciarse la aplicación.", + "subHappAutoConnectType": "Destino de la conexión automática", + "subHappAutoConnectTypeDesc": "Servidor elegido para la conexión automática: menor latencia, último utilizado o un nodo aleatorio.", + "subHappPerAppMode": "Modo de proxy por aplicación en Android", + "subHappPerAppModeDesc": "Controlar el enrutamiento de aplicaciones Android: desactivado, activado (proxy solo para las apps de la lista) u omitir (excluir las apps de la lista).", + "subHappPerAppList": "Nombres de paquete de Android", + "subHappPerAppListDesc": "Nombres de paquete de aplicaciones Android separados por comas que se incluirán o excluirán (p. ej. org.telegram.messenger).", + "subHappPresetIran": "Irán: omitir proxy", + "subHappPresetChina": "China: conexión directa", "subHappPresetAdblock": "AdBlock", - "subHappPresetGlobal": "Full Proxy", + "subHappPresetGlobal": "Todo por proxy", "subHappPresetOff": "Desactivar enrutamiento (happ://routing/off)", "subHappColorBlue": "Azul (estándar / predeterminado)", "subHappColorGreen": "Verde (éxito)", @@ -1565,29 +1567,29 @@ "subHappAutoConnectLastUsed": "Último nodo utilizado", "subHappAutoConnectRandom": "Nodo aleatorio", "subHappPerAppOff": "Desactivado", - "subHappPerAppOn": "Activado (solo apps de la lista)", + "subHappPerAppOn": "Activado (proxy solo para apps de la lista)", "subHappPerAppBypass": "Omitir (excluir apps de la lista)", - "subHappPresetApplied": "Happ preset applied to routing rules", - "subHappPresets": "Routing Presets", - "subHappPresetsDesc": "Pre-configured routing rule presets tailored for Happ clients.", - "subHappVisualBuilder": "Visual Rule Generator", - "subHappVisualBuilderDesc": "Create custom routing deeplink from domain and IP lists.", - "subHappBuildDeeplink": "Generate Deeplink", - "subHappModalTitle": "Happ Visual Routing Rule Generator", - "subHappDirectDomains": "Direct Domains (Bypass)", - "subHappProxyDomains": "Proxy Domains (Tunnel)", - "subHappBlockDomains": "Blocked Domains (Ad/Malware)", - "subHappDirectIPs": "Direct IPs / CIDRs", - "subHappProxyIPs": "Proxy IPs / CIDRs", - "subHappBlockIPs": "Blocked IPs / CIDRs", - "subHappDeeplinkGenerated": "Deeplink generated and applied to routing rules", + "subHappPresetApplied": "Preajuste de Happ aplicado a las reglas de enrutamiento", + "subHappPresets": "Preajustes de enrutamiento", + "subHappPresetsDesc": "Preajustes de reglas de enrutamiento preconfigurados para clientes Happ.", + "subHappVisualBuilder": "Generador visual de reglas", + "subHappVisualBuilderDesc": "Crear un deeplink de enrutamiento personalizado a partir de listas de dominios e IPs.", + "subHappBuildDeeplink": "Generar deeplink", + "subHappModalTitle": "Generador visual de reglas de enrutamiento de Happ", + "subHappDirectDomains": "Dominios directos (sin proxy)", + "subHappProxyDomains": "Dominios por proxy (túnel)", + "subHappBlockDomains": "Dominios bloqueados (publicidad/malware)", + "subHappDirectIPs": "IPs / CIDR directos", + "subHappProxyIPs": "IPs / CIDR por proxy", + "subHappBlockIPs": "IPs / CIDR bloqueados", + "subHappDeeplinkGenerated": "Deeplink generado y aplicado a las reglas de enrutamiento", "subHappGroupLinks": "Enlaces de suscripción", - "subHappGroupRouting": "Routing & Rules", - "subHappGroupBanners": "Banners & Announcements", - "subHappGroupNetwork": "Network & TUN Engine", - "subHappGroupThemes": "Appearance & Theme", - "subHappGroupFailover": "Migration & App Management", - "subHappGroupAndroid": "Android Per-App Proxy", + "subHappGroupRouting": "Enrutamiento y reglas", + "subHappGroupBanners": "Banners y anuncios", + "subHappGroupNetwork": "Red y motor TUN", + "subHappGroupThemes": "Apariencia y tema", + "subHappGroupFailover": "Migración y gestión de la app", + "subHappGroupAndroid": "Proxy por aplicación en Android", "discordSettings": "Bot de Discord", "discordBotEnable": "Habilitar notificaciones de Discord", "discordBotEnableDesc": "Enviar alertas del sistema y eventos a un canal de Discord a través del bot", diff --git a/internal/web/translation/fa-IR.json b/internal/web/translation/fa-IR.json index f48131832..c4e410511 100644 --- a/internal/web/translation/fa-IR.json +++ b/internal/web/translation/fa-IR.json @@ -1257,6 +1257,8 @@ "noisesSett": "تنظیمات Noises", "trustedProxyCidrs": "CIDRهای پراکسی مورد اعتماد", "trustedProxyCidrsDesc": "IPها/CIDRها (با کاما) که مجازند هدرهای host، proto و client IP فوروارد را تنظیم کنند.", + "realityScanCandidates": "نامزدهای اسکن Reality", + "realityScanCandidatesDesc": "فهرست host:port (یا CIDR) جداشده با کاما که وقتی جستجو خالی است به‌عنوان فهرست پیش‌فرض «یافتن اهداف» استفاده می‌شود. برای مقاصد پرتکرار خود سفارشی کنید.", "ldap": { "enable": "فعال‌سازی همگام‌سازی LDAP", "host": "میزبان LDAP", @@ -1507,7 +1509,7 @@ "subHappSubInfoText": "متن بنر اعلانات", "subHappSubInfoTextDesc": "پیام اعلان سفارشی در بالای صفحه برنامه Happ (حداکثر ۲۰۰ نویسه).", "subHappSubInfoColor": "رنگ بنر اعلانات", - "subHappSubInfoColorDesc": "تم رنگی بنر اعلان (پیش‌فرض، اطلاع‌رسانی، موفقیت، هشدار یا اخطار).", + "subHappSubInfoColorDesc": "تم رنگی بنر اعلان.", "subHappSubInfoButtonText": "متن دکمه بنر", "subHappSubInfoButtonTextDesc": "عنوان دکمه اقدام در بنر اعلان (حداکثر ۲۵ نویسه).", "subHappSubInfoButtonLink": "لینک دکمه بنر", @@ -1517,31 +1519,31 @@ "subHappSubExpireButtonLink": "لینک تمدید اشتراک", "subHappSubExpireButtonLinkDesc": "آدرس صفحه خرید یا تمدید اشتراک منقضی‌شده.", "subHappNotificationExpire": "اعلان انقضای اشتراک", - "subHappNotificationExpireDesc": "نمایش هشدار انقضای اشتراک به کاربر پیش از پایان اعتبار در برنامه Happ.", - "subHappNoLimit": "حذف محدودیت تعداد قوانین", - "subHappNoLimitDesc": "اجازه اعمال تعداد نامحدود قوانین روتینگ بدون برش خوردن روی سیستم‌های تلفن همراه.", + "subHappNotificationExpireDesc": "برنامه Happ را وادار می‌کند ۳ روز پیش از پایان اشتراک به کاربر یادآوری کند.", + "subHappNoLimit": "حالت بدون محدودیت (No-Limit)", + "subHappNoLimitDesc": "افزایش سقف حافظه RAM هسته xray-core در Happ برای پایداری و کارایی بهتر (آزمایشی).", "subHappAlwaysHwid": "الزام شناسه سخت‌افزاری (HWID)", - "subHappAlwaysHwidDesc": "قفل کردن درخواست‌های اشتراک به شناسه سخت‌افزاری دستگاه جهت جلوگیری از اشتراک‌گذاری اکانت.", + "subHappAlwaysHwidDesc": "جلوگیری از خاموش کردن ارسال HWID توسط کاربر در تنظیمات Happ.", "subHappTunMode": "حالت تونل (TUN Mode)", - "subHappTunModeDesc": "حالت رابط شبکه مجازی TUN در برنامه Happ (پیش‌فرض، سیستمی یا سخت‌گیرانه).", + "subHappTunModeDesc": "پشته شبکه TUN در دسکتاپ: سیستمی (پشته سیستم‌عامل) یا gVisor (پشته فضای کاربری).", "subHappTunType": "موتور شبکه TUN", - "subHappTunTypeDesc": "پشته شبکه مورد استفاده برای TUN (سیستمی، gVisor یا ترکیبی).", + "subHappTunTypeDesc": "هسته مورد استفاده برای اتصال TUN در دسکتاپ: sing-box، tun2proxy، پیش‌فرض (Happ TUN) یا Xray.", "subHappExcludeRoutes": "مستثنی کردن مسیرهای CIDR", "subHappExcludeRoutesDesc": "رنج‌های IP جدا شده با کاما جهت دور زدن تونل VPN (مانند 192.168.0.0/16, 10.0.0.0/8).", "subHappExcludeApns": "مستثنی کردن سرویس‌های اعلان اپل (APNs)", "subHappExcludeApnsDesc": "دور زدن سرویس‌های اعلان اپل برای اطمینان از دریافت پایدار ناتیفیکیشن‌ها در iOS.", "subHappColorProfile": "پروفایل رنگ و پوسته", - "subHappColorProfileDesc": "پوسته ظاهری برنامه Happ (بنفش، فیروزه‌ای، سایبرپانک یا JSON سفارشی).", + "subHappColorProfileDesc": "تم رنگی سفارشی iOS به صورت رشته JSON، یا resetcolors برای بازگشت به رنگ‌های پیش‌فرض.", "subHappPingType": "روش تست پینگ", - "subHappPingTypeDesc": "پروتکل اندازه‌گیری تأخیر گره‌ها در برنامه Happ (icmp، tcp یا http).", + "subHappPingTypeDesc": "روش اندازه‌گیری تأخیر نودها در Happ: از طریق پروکسی (GET یا HEAD)، TCP یا ICMP.", "subHappAutoConnect": "اتصال خودکار هنگام اجرا", "subHappAutoConnectDesc": "اتصال خودکار به وی‌پی‌ان با باز شدن برنامه Happ.", "subHappAutoConnectType": "راهبرد اتصال خودکار", - "subHappAutoConnectTypeDesc": "هدف اتصال خودکار: سریع‌ترین سرور یا آخرین سرور استفاده‌شده.", + "subHappAutoConnectTypeDesc": "سروری که اتصال خودکار انتخاب می‌کند: کمترین تأخیر، آخرین نود استفاده‌شده یا یک نود تصادفی.", "subHappPerAppMode": "پراکسی انتخابی برنامه‌ها در اندروید", - "subHappPerAppModeDesc": "مدیریت عبور ترافیک برنامه‌های اندروید: خاموش، عبور فقط برنامه‌های منتخب یا مستثنی کردن آن‌ها.", + "subHappPerAppModeDesc": "مدیریت مسیریابی برنامه‌های اندروید: خاموش، روشن (پراکسی فقط برای برنامه‌های فهرست‌شده) یا بای‌پس (مستثنی‌کردن برنامه‌های فهرست‌شده).", "subHappPerAppList": "نام بسته‌های برنامه‌های اندروید", - "subHappPerAppListDesc": "نام بسته‌های اپلیکیشن‌های اندروید جدا شده با کاما (مانند com.telegram.messenger).", + "subHappPerAppListDesc": "نام بسته برنامه‌های اندروید برای شامل یا مستثنی کردن، جدا شده با کاما (مانند org.telegram.messenger).", "subHappPresetIran": "دور زدن سایت‌های ایران (Iran Bypass)", "subHappPresetChina": "دور زدن چین (China Direct)", "subHappPresetAdblock": "مسدودسازی تبلیغات (AdBlock)", @@ -1583,10 +1585,10 @@ "subHappDeeplinkGenerated": "دیپ‌لینک تولید و در قوانین روتینگ اعمال شد", "subHappGroupLinks": "لینک‌های اشتراک", "subHappGroupRouting": "قوانین و روتینگ", - "subHappGroupBanners": "اعلانات و بنرهای هوشمند", + "subHappGroupBanners": "بنرها و اعلانات", "subHappGroupNetwork": "تنظیمات شبکه و TUN", "subHappGroupThemes": "ظاهر و پوسته برنامه", - "subHappGroupFailover": "مهاجرت و مدیریت کلاینت", + "subHappGroupFailover": "مهاجرت و مدیریت برنامه", "subHappGroupAndroid": "پراکسی برنامه‌های اندروید", "discordSettings": "ربات دیسکورد", "discordBotEnable": "فعال‌سازی اعلان‌های دیسکورد", diff --git a/internal/web/translation/id-ID.json b/internal/web/translation/id-ID.json index 9468c6963..9c21bbd70 100644 --- a/internal/web/translation/id-ID.json +++ b/internal/web/translation/id-ID.json @@ -1253,6 +1253,8 @@ "noisesSett": "Pengaturan Noises", "trustedProxyCidrs": "CIDR proxy tepercaya", "trustedProxyCidrsDesc": "IP/CIDR (dipisahkan koma) yang diizinkan mengatur header forwarded host, proto, dan client IP.", + "realityScanCandidates": "Kandidat pemindaian Reality", + "realityScanCandidatesDesc": "Daftar target host:port (atau CIDR) dipisahkan koma yang dipakai sebagai default saat Cari Target dijalankan dengan pencarian kosong. Sesuaikan dengan tujuan yang sering Anda gunakan.", "ldap": { "enable": "Aktifkan sinkronisasi LDAP", "host": "LDAP host", @@ -1496,66 +1498,66 @@ "subExpiredTemplateDesc": "Templat untuk konfigurasi dummy saat akun langganan telah kedaluwarsa.", "subTrafficDepletedTemplate": "Templat Kuota Habis", "subTrafficDepletedTemplateDesc": "Templat untuk konfigurasi dummy saat kuota data langganan telah habis.", - "subHappAutoDetect": "Happ Header Auto-Detection", - "subHappAutoDetectDesc": "Automatically inject Happ routing and headers when client User-Agent indicates Happ.", - "subHappProviderId": "Provider ID", - "subHappProviderIdDesc": "Unique provider identifier for Happ client management, remote configuration binding, and migration.", - "subHappNewUrl": "New Subscription URL", - "subHappNewUrlDesc": "Target URL for automatic client migration. When set, Happ clients will migrate to this subscription link.", - "subHappFallbackUrl": "Fallback Subscription URL", - "subHappFallbackUrlDesc": "Backup subscription address used by Happ if the primary subscription URL becomes unreachable.", - "subHappSubInfoText": "Banner Announcement Text", - "subHappSubInfoTextDesc": "Custom announcement banner displayed at the top of the Happ client (max 200 characters).", - "subHappSubInfoColor": "Banner Accent Color", - "subHappSubInfoColorDesc": "Color theme style for the announcement banner.", - "subHappSubInfoButtonText": "Banner Button Text", - "subHappSubInfoButtonTextDesc": "Button label displayed inside the announcement banner (max 25 characters).", - "subHappSubInfoButtonLink": "Banner Button Link", - "subHappSubInfoButtonLinkDesc": "Target URL opened when the user clicks the banner action button.", - "subHappSubExpire": "Expired Subscription Banner", - "subHappSubExpireDesc": "Show an expired subscription banner in Happ when the user's traffic or validity has ended.", - "subHappSubExpireButtonLink": "Renewal Link", - "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", - "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", - "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", - "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", - "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", - "subHappExcludeRoutes": "Exclude CIDR Routes", - "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", - "subHappExcludeApns": "Exclude Apple APNs", - "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", - "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", - "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", - "subHappAutoConnect": "Auto-Connect on Launch", - "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", - "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", - "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", - "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", - "subHappPresetIran": "Iran Bypass", - "subHappPresetChina": "China Direct", + "subHappAutoDetect": "Deteksi Otomatis Header Happ", + "subHappAutoDetectDesc": "Otomatis menyisipkan routing dan header Happ saat User-Agent klien menunjukkan Happ.", + "subHappProviderId": "ID Penyedia (Provider ID)", + "subHappProviderIdDesc": "Pengenal unik penyedia untuk manajemen klien Happ, pengikatan konfigurasi jarak jauh, dan migrasi.", + "subHappNewUrl": "URL Langganan Baru", + "subHappNewUrlDesc": "URL tujuan untuk migrasi klien otomatis. Jika diisi, klien Happ akan bermigrasi ke tautan langganan ini.", + "subHappFallbackUrl": "URL Langganan Cadangan", + "subHappFallbackUrlDesc": "Alamat langganan cadangan yang dipakai Happ jika URL langganan utama tidak dapat dijangkau.", + "subHappSubInfoText": "Teks Pengumuman Banner", + "subHappSubInfoTextDesc": "Banner pengumuman kustom yang ditampilkan di bagian atas klien Happ (maks. 200 karakter).", + "subHappSubInfoColor": "Warna Aksen Banner", + "subHappSubInfoColorDesc": "Gaya tema warna untuk banner pengumuman.", + "subHappSubInfoButtonText": "Teks Tombol Banner", + "subHappSubInfoButtonTextDesc": "Label tombol yang ditampilkan di dalam banner pengumuman (maks. 25 karakter).", + "subHappSubInfoButtonLink": "Tautan Tombol Banner", + "subHappSubInfoButtonLinkDesc": "URL tujuan yang dibuka saat pengguna mengklik tombol aksi banner.", + "subHappSubExpire": "Banner Langganan Kedaluwarsa", + "subHappSubExpireDesc": "Tampilkan banner langganan kedaluwarsa di Happ saat lalu lintas atau masa berlaku pengguna telah habis.", + "subHappSubExpireButtonLink": "Tautan Perpanjangan", + "subHappSubExpireButtonLinkDesc": "URL tujuan yang dibuka saat pengguna mengklik tombol perpanjangan pada langganan yang kedaluwarsa.", + "subHappNotificationExpire": "Notifikasi Kedaluwarsa", + "subHappNotificationExpireDesc": "Minta Happ mengingatkan pengguna 3 hari sebelum langganannya kedaluwarsa.", + "subHappNoLimit": "Mode Tanpa Batas", + "subHappNoLimitDesc": "Naikkan batas RAM xray-core di Happ untuk stabilitas dan performa yang lebih baik (beta).", + "subHappAlwaysHwid": "Wajibkan ID Perangkat Keras (HWID)", + "subHappAlwaysHwidDesc": "Cegah pengguna mematikan pengiriman HWID di pengaturan Happ.", + "subHappTunMode": "Mode TUN", + "subHappTunModeDesc": "Stack jaringan yang dipakai TUN di desktop: sistem (stack OS) atau gVisor (stack userspace).", + "subHappTunType": "Mesin TUN", + "subHappTunTypeDesc": "Inti yang dipakai untuk koneksi TUN di desktop: sing-box, tun2proxy, bawaan (Happ TUN), atau Xray.", + "subHappExcludeRoutes": "Kecualikan Rute CIDR", + "subHappExcludeRoutesDesc": "IP CIDR dipisahkan koma (mis. 192.168.0.0/16, 10.0.0.0/8) yang dikecualikan dari tunnel VPN.", + "subHappExcludeApns": "Kecualikan Apple APNs", + "subHappExcludeApnsDesc": "Lewatkan layanan Apple Push Notification di luar VPN agar notifikasi latar belakang di iOS tetap andal.", + "subHappColorProfile": "Tema Warna Klien", + "subHappColorProfileDesc": "Tema warna iOS kustom sebagai string JSON, atau resetcolors untuk mengembalikan warna bawaan.", + "subHappPingType": "Metode Ping Latensi", + "subHappPingTypeDesc": "Cara Happ mengukur latensi node: melalui proxy (GET atau HEAD), TCP, atau ICMP.", + "subHappAutoConnect": "Hubungkan Otomatis saat Dibuka", + "subHappAutoConnectDesc": "Minta Happ terhubung ke VPN secara otomatis saat aplikasi dimulai.", + "subHappAutoConnectType": "Target Koneksi Otomatis", + "subHappAutoConnectTypeDesc": "Server yang dipilih untuk koneksi otomatis: latensi terendah, terakhir digunakan, atau node acak.", + "subHappPerAppMode": "Mode Proxy Per-Aplikasi Android", + "subHappPerAppModeDesc": "Kontrol routing aplikasi Android: mati, nyala (proxy hanya aplikasi terdaftar), atau bypass (kecualikan aplikasi terdaftar).", + "subHappPerAppList": "Nama Paket Android", + "subHappPerAppListDesc": "Nama paket aplikasi Android yang disertakan atau dikecualikan, dipisahkan koma (mis. org.telegram.messenger).", + "subHappPresetIran": "Bypass Iran", + "subHappPresetChina": "Tiongkok Langsung", "subHappPresetAdblock": "AdBlock", - "subHappPresetGlobal": "Full Proxy", - "subHappPresetOff": "Nonaktifkan Perutean (happ://routing/off)", - "subHappColorBlue": "Biru (Standar / Default)", + "subHappPresetGlobal": "Proxy Penuh", + "subHappPresetOff": "Nonaktifkan Routing (happ://routing/off)", + "subHappColorBlue": "Biru (Standar / Bawaan)", "subHappColorGreen": "Hijau (Sukses)", "subHappColorRed": "Merah (Peringatan / Bahaya)", - "subHappTunModeDefault": "Default", + "subHappTunModeDefault": "Bawaan", "subHappTunModeSystem": "Sistem (Stack OS Standar)", "subHappTunModeGvisor": "gVisor (Stack Userspace)", "subHappTunTypeSingbox": "sing-box", "subHappTunTypeTun2proxy": "tun2proxy", - "subHappTunTypeDefault": "Default (Happ TUN)", + "subHappTunTypeDefault": "Bawaan (Happ TUN)", "subHappTunTypeXray": "Xray TUN", "subHappPingProxy": "Melalui Proxy (Latensi GET)", "subHappPingProxyHead": "Melalui Proxy (Latensi HEAD)", @@ -1565,29 +1567,29 @@ "subHappAutoConnectLastUsed": "Node Terakhir Digunakan", "subHappAutoConnectRandom": "Node Acak", "subHappPerAppOff": "Mati", - "subHappPerAppOn": "Nyala (Hanya Proksikan Aplikasi Terdaftar)", + "subHappPerAppOn": "Nyala (Proxy Hanya Aplikasi Terdaftar)", "subHappPerAppBypass": "Bypass (Kecualikan Aplikasi Terdaftar)", - "subHappPresetApplied": "Happ preset applied to routing rules", - "subHappPresets": "Routing Presets", - "subHappPresetsDesc": "Pre-configured routing rule presets tailored for Happ clients.", - "subHappVisualBuilder": "Visual Rule Generator", - "subHappVisualBuilderDesc": "Create custom routing deeplink from domain and IP lists.", - "subHappBuildDeeplink": "Generate Deeplink", - "subHappModalTitle": "Happ Visual Routing Rule Generator", - "subHappDirectDomains": "Direct Domains (Bypass)", - "subHappProxyDomains": "Proxy Domains (Tunnel)", - "subHappBlockDomains": "Blocked Domains (Ad/Malware)", - "subHappDirectIPs": "Direct IPs / CIDRs", - "subHappProxyIPs": "Proxy IPs / CIDRs", - "subHappBlockIPs": "Blocked IPs / CIDRs", - "subHappDeeplinkGenerated": "Deeplink generated and applied to routing rules", + "subHappPresetApplied": "Preset Happ diterapkan ke aturan routing", + "subHappPresets": "Preset Routing", + "subHappPresetsDesc": "Preset aturan routing siap pakai yang disesuaikan untuk klien Happ.", + "subHappVisualBuilder": "Pembuat Aturan Visual", + "subHappVisualBuilderDesc": "Buat deeplink routing kustom dari daftar domain dan IP.", + "subHappBuildDeeplink": "Buat Deeplink", + "subHappModalTitle": "Pembuat Aturan Routing Visual Happ", + "subHappDirectDomains": "Domain Langsung (Bypass)", + "subHappProxyDomains": "Domain Proxy (Tunnel)", + "subHappBlockDomains": "Domain Diblokir (Iklan/Malware)", + "subHappDirectIPs": "IP / CIDR Langsung", + "subHappProxyIPs": "IP / CIDR Proxy", + "subHappBlockIPs": "IP / CIDR Diblokir", + "subHappDeeplinkGenerated": "Deeplink dibuat dan diterapkan ke aturan routing", "subHappGroupLinks": "Tautan Langganan", - "subHappGroupRouting": "Routing & Rules", - "subHappGroupBanners": "Banners & Announcements", - "subHappGroupNetwork": "Network & TUN Engine", - "subHappGroupThemes": "Appearance & Theme", - "subHappGroupFailover": "Migration & App Management", - "subHappGroupAndroid": "Android Per-App Proxy", + "subHappGroupRouting": "Routing & Aturan", + "subHappGroupBanners": "Banner & Pengumuman", + "subHappGroupNetwork": "Jaringan & Mesin TUN", + "subHappGroupThemes": "Tampilan & Tema", + "subHappGroupFailover": "Migrasi & Manajemen Aplikasi", + "subHappGroupAndroid": "Proxy Per-Aplikasi Android", "discordSettings": "Bot Discord", "discordBotEnable": "Aktifkan Notifikasi Discord", "discordBotEnableDesc": "Kirim peringatan sistem dan acara ke saluran Discord melalui bot", diff --git a/internal/web/translation/ja-JP.json b/internal/web/translation/ja-JP.json index de8d731fc..ff119cc0e 100644 --- a/internal/web/translation/ja-JP.json +++ b/internal/web/translation/ja-JP.json @@ -1253,6 +1253,8 @@ "noisesSett": "Noises設定", "trustedProxyCidrs": "信頼できるプロキシ CIDR", "trustedProxyCidrsDesc": "転送される host、proto、クライアント IP ヘッダーを設定可能な IP/CIDR (カンマ区切り)。", + "realityScanCandidates": "Reality スキャン候補", + "realityScanCandidatesDesc": "検索が空のときに「ターゲットを探す」で使うデフォルトの host:port(または CIDR)一覧(カンマ区切り)。よく使う宛先に合わせて編集できます。", "ldap": { "enable": "LDAP 同期を有効化", "host": "LDAP host", @@ -1496,98 +1498,98 @@ "subExpiredTemplateDesc": "サブスクリプションの有効期限が切れた際のダミー構成用テンプレート。", "subTrafficDepletedTemplate": "通信量超過テンプレート", "subTrafficDepletedTemplateDesc": "サブスクリプションの通信量が上限に達した際のダミー構成用テンプレート。", - "subHappAutoDetect": "Happ Header Auto-Detection", - "subHappAutoDetectDesc": "Automatically inject Happ routing and headers when client User-Agent indicates Happ.", - "subHappProviderId": "Provider ID", - "subHappProviderIdDesc": "Unique provider identifier for Happ client management, remote configuration binding, and migration.", - "subHappNewUrl": "New Subscription URL", - "subHappNewUrlDesc": "Target URL for automatic client migration. When set, Happ clients will migrate to this subscription link.", - "subHappFallbackUrl": "Fallback Subscription URL", - "subHappFallbackUrlDesc": "Backup subscription address used by Happ if the primary subscription URL becomes unreachable.", - "subHappSubInfoText": "Banner Announcement Text", - "subHappSubInfoTextDesc": "Custom announcement banner displayed at the top of the Happ client (max 200 characters).", - "subHappSubInfoColor": "Banner Accent Color", - "subHappSubInfoColorDesc": "Color theme style for the announcement banner.", - "subHappSubInfoButtonText": "Banner Button Text", - "subHappSubInfoButtonTextDesc": "Button label displayed inside the announcement banner (max 25 characters).", - "subHappSubInfoButtonLink": "Banner Button Link", - "subHappSubInfoButtonLinkDesc": "Target URL opened when the user clicks the banner action button.", - "subHappSubExpire": "Expired Subscription Banner", - "subHappSubExpireDesc": "Show an expired subscription banner in Happ when the user's traffic or validity has ended.", - "subHappSubExpireButtonLink": "Renewal Link", - "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", - "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", - "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", - "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", - "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", - "subHappExcludeRoutes": "Exclude CIDR Routes", - "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", - "subHappExcludeApns": "Exclude Apple APNs", - "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", - "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", - "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", - "subHappAutoConnect": "Auto-Connect on Launch", - "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", - "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", - "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", - "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", - "subHappPresetIran": "Iran Bypass", - "subHappPresetChina": "China Direct", + "subHappAutoDetect": "Happ ヘッダーの自動検出", + "subHappAutoDetectDesc": "クライアントの User-Agent が Happ を示す場合、Happ のルーティングとヘッダーを自動的に挿入します。", + "subHappProviderId": "プロバイダー ID", + "subHappProviderIdDesc": "Happ クライアントの管理、リモート設定の紐付け、移行に使用する一意のプロバイダー識別子。", + "subHappNewUrl": "新しいサブスクリプション URL", + "subHappNewUrlDesc": "クライアントの自動移行先 URL。設定すると、Happ クライアントはこのサブスクリプションリンクへ移行します。", + "subHappFallbackUrl": "フォールバック用サブスクリプション URL", + "subHappFallbackUrlDesc": "プライマリのサブスクリプション URL に到達できなくなった場合に Happ が使用する予備のサブスクリプションアドレス。", + "subHappSubInfoText": "バナーのお知らせテキスト", + "subHappSubInfoTextDesc": "Happ クライアントの上部に表示されるカスタムのお知らせバナー (最大 200 文字)。", + "subHappSubInfoColor": "バナーのアクセントカラー", + "subHappSubInfoColorDesc": "お知らせバナーのカラーテーマ。", + "subHappSubInfoButtonText": "バナーのボタンテキスト", + "subHappSubInfoButtonTextDesc": "お知らせバナー内に表示されるボタンのラベル (最大 25 文字)。", + "subHappSubInfoButtonLink": "バナーのボタンリンク", + "subHappSubInfoButtonLinkDesc": "ユーザーがバナーのアクションボタンをクリックしたときに開く URL。", + "subHappSubExpire": "期限切れサブスクリプションのバナー", + "subHappSubExpireDesc": "ユーザーのトラフィックを使い切ったか有効期限が切れたときに、Happ に期限切れサブスクリプションのバナーを表示します。", + "subHappSubExpireButtonLink": "更新リンク", + "subHappSubExpireButtonLinkDesc": "期限切れのサブスクリプションで、ユーザーが更新ボタンをクリックしたときに開く URL。", + "subHappNotificationExpire": "有効期限の通知", + "subHappNotificationExpireDesc": "サブスクリプションの有効期限の 3 日前にユーザーへ通知するよう Happ に指示します。", + "subHappNoLimit": "無制限モード", + "subHappNoLimitDesc": "Happ の xray-core の RAM 上限を引き上げ、安定性とパフォーマンスを向上させます (ベータ)。", + "subHappAlwaysHwid": "ハードウェア ID (HWID) を強制", + "subHappAlwaysHwidDesc": "ユーザーが Happ の設定で HWID の送信をオフにできないようにします。", + "subHappTunMode": "TUN モード", + "subHappTunModeDesc": "デスクトップで TUN が使用するネットワークスタック: システム (OS のスタック) または gVisor (ユーザー空間スタック)。", + "subHappTunType": "TUN エンジン", + "subHappTunTypeDesc": "デスクトップで TUN 接続に使用するコア: sing-box、tun2proxy、デフォルト (Happ TUN)、または Xray。", + "subHappExcludeRoutes": "CIDR ルートを除外", + "subHappExcludeRoutesDesc": "VPN トンネルをバイパスする IP CIDR のカンマ区切りリスト (例: 192.168.0.0/16, 10.0.0.0/8)。", + "subHappExcludeApns": "Apple APNs を除外", + "subHappExcludeApnsDesc": "Apple プッシュ通知サービスをバイパスし、iOS でバックグラウンド通知を確実に受け取れるようにします。", + "subHappColorProfile": "クライアントのカラーテーマ", + "subHappColorProfileDesc": "iOS 用のカスタムカラーテーマを JSON 文字列で指定します。デフォルトの色に戻すには resetcolors を指定します。", + "subHappPingType": "遅延の測定方法", + "subHappPingTypeDesc": "Happ がノードの遅延を測定する方法: プロキシ経由 (GET または HEAD)、TCP、または ICMP。", + "subHappAutoConnect": "起動時に自動接続", + "subHappAutoConnectDesc": "アプリの起動時に VPN へ自動接続するよう Happ に指示します。", + "subHappAutoConnectType": "自動接続先", + "subHappAutoConnectTypeDesc": "自動接続で選択するサーバー: 最小遅延、最後に使用したノード、またはランダムなノード。", + "subHappPerAppMode": "Android アプリ別プロキシモード", + "subHappPerAppModeDesc": "Android アプリのルーティングを制御します: オフ、オン (リストされたアプリのみプロキシ)、またはバイパス (リストされたアプリを除外)。", + "subHappPerAppList": "Android パッケージ名", + "subHappPerAppListDesc": "対象または除外する Android アプリのパッケージ名をカンマ区切りで指定します (例: org.telegram.messenger)。", + "subHappPresetIran": "イラン向けバイパス", + "subHappPresetChina": "中国向け直接接続", "subHappPresetAdblock": "AdBlock", - "subHappPresetGlobal": "Full Proxy", + "subHappPresetGlobal": "フルプロキシ", "subHappPresetOff": "ルーティングを無効化 (happ://routing/off)", "subHappColorBlue": "ブルー (標準 / デフォルト)", "subHappColorGreen": "グリーン (成功)", "subHappColorRed": "レッド (警告 / 危険)", "subHappTunModeDefault": "デフォルト", - "subHappTunModeSystem": "システム (標準OSスタック)", + "subHappTunModeSystem": "システム (標準 OS スタック)", "subHappTunModeGvisor": "gVisor (ユーザー空間スタック)", "subHappTunTypeSingbox": "sing-box", "subHappTunTypeTun2proxy": "tun2proxy", "subHappTunTypeDefault": "デフォルト (Happ TUN)", "subHappTunTypeXray": "Xray TUN", - "subHappPingProxy": "プロキシ経由 (GET遅延)", - "subHappPingProxyHead": "プロキシ経由 (HEAD遅延)", - "subHappPingTcp": "TCPハンドシェイク Ping", - "subHappPingIcmp": "ICMP Ping", + "subHappPingProxy": "プロキシ経由 (GET 遅延)", + "subHappPingProxyHead": "プロキシ経由 (HEAD 遅延)", + "subHappPingTcp": "TCP ハンドシェイク ping", + "subHappPingIcmp": "ICMP ping", "subHappAutoConnectLowestDelay": "最小遅延 (最速ノード)", "subHappAutoConnectLastUsed": "最後に使用したノード", - "subHappAutoConnectRandom": "ランダムノード", + "subHappAutoConnectRandom": "ランダムなノード", "subHappPerAppOff": "オフ", "subHappPerAppOn": "オン (リストされたアプリのみプロキシ)", "subHappPerAppBypass": "バイパス (リストされたアプリを除外)", - "subHappPresetApplied": "Happ preset applied to routing rules", - "subHappPresets": "Routing Presets", - "subHappPresetsDesc": "Pre-configured routing rule presets tailored for Happ clients.", - "subHappVisualBuilder": "Visual Rule Generator", - "subHappVisualBuilderDesc": "Create custom routing deeplink from domain and IP lists.", - "subHappBuildDeeplink": "Generate Deeplink", - "subHappModalTitle": "Happ Visual Routing Rule Generator", - "subHappDirectDomains": "Direct Domains (Bypass)", - "subHappProxyDomains": "Proxy Domains (Tunnel)", - "subHappBlockDomains": "Blocked Domains (Ad/Malware)", - "subHappDirectIPs": "Direct IPs / CIDRs", - "subHappProxyIPs": "Proxy IPs / CIDRs", - "subHappBlockIPs": "Blocked IPs / CIDRs", - "subHappDeeplinkGenerated": "Deeplink generated and applied to routing rules", + "subHappPresetApplied": "Happ プリセットをルーティングルールに適用しました", + "subHappPresets": "ルーティングプリセット", + "subHappPresetsDesc": "Happ クライアント向けに事前設定されたルーティングルールのプリセット。", + "subHappVisualBuilder": "ビジュアルルールジェネレーター", + "subHappVisualBuilderDesc": "ドメインと IP のリストからカスタムルーティングのディープリンクを作成します。", + "subHappBuildDeeplink": "ディープリンクを生成", + "subHappModalTitle": "Happ ビジュアルルーティングルールジェネレーター", + "subHappDirectDomains": "直接接続するドメイン (バイパス)", + "subHappProxyDomains": "プロキシするドメイン (トンネル)", + "subHappBlockDomains": "ブロックするドメイン (広告/マルウェア)", + "subHappDirectIPs": "直接接続する IP / CIDR", + "subHappProxyIPs": "プロキシする IP / CIDR", + "subHappBlockIPs": "ブロックする IP / CIDR", + "subHappDeeplinkGenerated": "ディープリンクを生成し、ルーティングルールに適用しました", "subHappGroupLinks": "サブスクリプションリンク", - "subHappGroupRouting": "Routing & Rules", - "subHappGroupBanners": "Banners & Announcements", - "subHappGroupNetwork": "Network & TUN Engine", - "subHappGroupThemes": "Appearance & Theme", - "subHappGroupFailover": "Migration & App Management", - "subHappGroupAndroid": "Android Per-App Proxy", + "subHappGroupRouting": "ルーティングとルール", + "subHappGroupBanners": "バナーとお知らせ", + "subHappGroupNetwork": "ネットワークと TUN エンジン", + "subHappGroupThemes": "外観とテーマ", + "subHappGroupFailover": "移行とアプリ管理", + "subHappGroupAndroid": "Android アプリ別プロキシ", "discordSettings": "Discord Bot", "discordBotEnable": "Discord通知を有効化", "discordBotEnableDesc": "Botを介してDiscordチャンネルにシステムおよびイベント通知を送信します", diff --git a/internal/web/translation/pt-BR.json b/internal/web/translation/pt-BR.json index c2174e1b3..bf8fcba79 100644 --- a/internal/web/translation/pt-BR.json +++ b/internal/web/translation/pt-BR.json @@ -1253,6 +1253,8 @@ "noisesSett": "Configurações de Noises", "trustedProxyCidrs": "CIDRs de proxy confiável", "trustedProxyCidrsDesc": "IPs/CIDRs separados por vírgula que podem definir os cabeçalhos host, proto e IP do cliente encaminhados.", + "realityScanCandidates": "Candidatos de varredura Reality", + "realityScanCandidatesDesc": "Lista de alvos host:port (ou CIDRs) separados por vírgula usada como padrão quando Procurar alvos roda com a busca vazia. Personalize com destinos que você usa com frequência.", "ldap": { "enable": "Habilitar sincronização LDAP", "host": "Host LDAP", @@ -1496,63 +1498,63 @@ "subExpiredTemplateDesc": "Modelo para a configuração fictícia quando a assinatura expirou.", "subTrafficDepletedTemplate": "Modelo de tráfego esgotado", "subTrafficDepletedTemplateDesc": "Modelo para a configuração fictícia quando a cota de tráfego foi esgotada.", - "subHappAutoDetect": "Happ Header Auto-Detection", - "subHappAutoDetectDesc": "Automatically inject Happ routing and headers when client User-Agent indicates Happ.", - "subHappProviderId": "Provider ID", - "subHappProviderIdDesc": "Unique provider identifier for Happ client management, remote configuration binding, and migration.", - "subHappNewUrl": "New Subscription URL", - "subHappNewUrlDesc": "Target URL for automatic client migration. When set, Happ clients will migrate to this subscription link.", - "subHappFallbackUrl": "Fallback Subscription URL", - "subHappFallbackUrlDesc": "Backup subscription address used by Happ if the primary subscription URL becomes unreachable.", - "subHappSubInfoText": "Banner Announcement Text", - "subHappSubInfoTextDesc": "Custom announcement banner displayed at the top of the Happ client (max 200 characters).", - "subHappSubInfoColor": "Banner Accent Color", - "subHappSubInfoColorDesc": "Color theme style for the announcement banner.", - "subHappSubInfoButtonText": "Banner Button Text", - "subHappSubInfoButtonTextDesc": "Button label displayed inside the announcement banner (max 25 characters).", - "subHappSubInfoButtonLink": "Banner Button Link", - "subHappSubInfoButtonLinkDesc": "Target URL opened when the user clicks the banner action button.", - "subHappSubExpire": "Expired Subscription Banner", - "subHappSubExpireDesc": "Show an expired subscription banner in Happ when the user's traffic or validity has ended.", - "subHappSubExpireButtonLink": "Renewal Link", - "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", - "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", - "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", - "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", - "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", - "subHappExcludeRoutes": "Exclude CIDR Routes", - "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", - "subHappExcludeApns": "Exclude Apple APNs", - "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", - "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", - "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", - "subHappAutoConnect": "Auto-Connect on Launch", - "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", - "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", - "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", - "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", - "subHappPresetIran": "Iran Bypass", - "subHappPresetChina": "China Direct", + "subHappAutoDetect": "Detecção automática de cabeçalhos do Happ", + "subHappAutoDetectDesc": "Injeta automaticamente o roteamento e os cabeçalhos do Happ quando o User-Agent do cliente indicar o Happ.", + "subHappProviderId": "ID do provedor (Provider ID)", + "subHappProviderIdDesc": "Identificador único do provedor para gerenciamento de clientes Happ, vinculação de configuração remota e migração.", + "subHappNewUrl": "Nova URL de assinatura", + "subHappNewUrlDesc": "URL de destino para a migração automática de clientes. Quando definida, os clientes Happ migrarão para este link de assinatura.", + "subHappFallbackUrl": "URL de assinatura de reserva", + "subHappFallbackUrlDesc": "Endereço de assinatura de reserva usado pelo Happ se a URL de assinatura principal ficar inacessível.", + "subHappSubInfoText": "Texto do banner de anúncio", + "subHappSubInfoTextDesc": "Banner de anúncio personalizado exibido no topo do cliente Happ (máx. 200 caracteres).", + "subHappSubInfoColor": "Cor de destaque do banner", + "subHappSubInfoColorDesc": "Estilo de cor do banner de anúncio.", + "subHappSubInfoButtonText": "Texto do botão do banner", + "subHappSubInfoButtonTextDesc": "Rótulo do botão exibido dentro do banner de anúncio (máx. 25 caracteres).", + "subHappSubInfoButtonLink": "Link do botão do banner", + "subHappSubInfoButtonLinkDesc": "URL de destino aberta quando o usuário clica no botão de ação do banner.", + "subHappSubExpire": "Banner de assinatura expirada", + "subHappSubExpireDesc": "Exibe um banner de assinatura expirada no Happ quando o tráfego do usuário se esgotar ou a validade terminar.", + "subHappSubExpireButtonLink": "Link de renovação", + "subHappSubExpireButtonLinkDesc": "URL de destino aberta quando o usuário clica no botão de renovação de uma assinatura expirada.", + "subHappNotificationExpire": "Notificações de expiração", + "subHappNotificationExpireDesc": "Instrui o Happ a lembrar o usuário 3 dias antes de a assinatura expirar.", + "subHappNoLimit": "Modo sem limites", + "subHappNoLimitDesc": "Aumenta o limite de RAM do xray-core no Happ para mais estabilidade e desempenho (beta).", + "subHappAlwaysHwid": "Forçar ID de hardware (HWID)", + "subHappAlwaysHwidDesc": "Impede que os usuários desativem o envio do HWID nas configurações do Happ.", + "subHappTunMode": "Modo TUN", + "subHappTunModeDesc": "Pilha de rede usada pelo TUN no desktop: sistema (pilha do SO) ou gVisor (pilha em espaço de usuário).", + "subHappTunType": "Mecanismo TUN", + "subHappTunTypeDesc": "Núcleo usado para a conexão TUN no desktop: sing-box, tun2proxy, padrão (Happ TUN) ou Xray.", + "subHappExcludeRoutes": "Excluir rotas CIDR", + "subHappExcludeRoutesDesc": "CIDRs de IP separados por vírgula (ex.: 192.168.0.0/16, 10.0.0.0/8) a serem desviados do túnel VPN.", + "subHappExcludeApns": "Excluir APNs da Apple", + "subHappExcludeApnsDesc": "Desvia do túnel os serviços de notificação push da Apple para manter as notificações em segundo plano confiáveis no iOS.", + "subHappColorProfile": "Tema de cores do cliente", + "subHappColorProfileDesc": "Tema de cores personalizado do iOS como string JSON, ou resetcolors para restaurar as cores padrão.", + "subHappPingType": "Método de ping de latência", + "subHappPingTypeDesc": "Como o Happ mede a latência dos nós: via proxy (GET ou HEAD), TCP ou ICMP.", + "subHappAutoConnect": "Conectar automaticamente ao iniciar", + "subHappAutoConnectDesc": "Instrui o Happ a conectar automaticamente à VPN quando o aplicativo for iniciado.", + "subHappAutoConnectType": "Destino da conexão automática", + "subHappAutoConnectTypeDesc": "Servidor escolhido para a conexão automática: menor latência, último usado ou um nó aleatório.", + "subHappPerAppMode": "Modo de proxy por aplicativo no Android", + "subHappPerAppModeDesc": "Controla o roteamento de aplicativos Android: desativado, ativado (proxy apenas nos apps listados) ou desviar (excluir apps listados).", + "subHappPerAppList": "Nomes de pacotes Android", + "subHappPerAppListDesc": "Nomes de pacotes de aplicativos Android separados por vírgula a incluir ou excluir (ex.: org.telegram.messenger).", + "subHappPresetIran": "Irã (desvio)", + "subHappPresetChina": "China (direto)", "subHappPresetAdblock": "AdBlock", - "subHappPresetGlobal": "Full Proxy", + "subHappPresetGlobal": "Proxy total", "subHappPresetOff": "Desativar roteamento (happ://routing/off)", "subHappColorBlue": "Azul (padrão)", "subHappColorGreen": "Verde (sucesso)", "subHappColorRed": "Vermelho (aviso / perigo)", "subHappTunModeDefault": "Padrão", "subHappTunModeSystem": "Sistema (pilha padrão do SO)", - "subHappTunModeGvisor": "gVisor (pilha de espaço do usuário)", + "subHappTunModeGvisor": "gVisor (pilha em espaço de usuário)", "subHappTunTypeSingbox": "sing-box", "subHappTunTypeTun2proxy": "tun2proxy", "subHappTunTypeDefault": "Padrão (Happ TUN)", @@ -1565,29 +1567,29 @@ "subHappAutoConnectLastUsed": "Último nó usado", "subHappAutoConnectRandom": "Nó aleatório", "subHappPerAppOff": "Desativado", - "subHappPerAppOn": "Ativado (apenas apps listados)", + "subHappPerAppOn": "Ativado (proxy apenas nos apps listados)", "subHappPerAppBypass": "Desviar (excluir apps listados)", - "subHappPresetApplied": "Happ preset applied to routing rules", - "subHappPresets": "Routing Presets", - "subHappPresetsDesc": "Pre-configured routing rule presets tailored for Happ clients.", - "subHappVisualBuilder": "Visual Rule Generator", - "subHappVisualBuilderDesc": "Create custom routing deeplink from domain and IP lists.", - "subHappBuildDeeplink": "Generate Deeplink", - "subHappModalTitle": "Happ Visual Routing Rule Generator", - "subHappDirectDomains": "Direct Domains (Bypass)", - "subHappProxyDomains": "Proxy Domains (Tunnel)", - "subHappBlockDomains": "Blocked Domains (Ad/Malware)", - "subHappDirectIPs": "Direct IPs / CIDRs", - "subHappProxyIPs": "Proxy IPs / CIDRs", - "subHappBlockIPs": "Blocked IPs / CIDRs", - "subHappDeeplinkGenerated": "Deeplink generated and applied to routing rules", + "subHappPresetApplied": "Predefinição do Happ aplicada às regras de roteamento", + "subHappPresets": "Predefinições de roteamento", + "subHappPresetsDesc": "Predefinições de regras de roteamento pré-configuradas para clientes Happ.", + "subHappVisualBuilder": "Gerador visual de regras", + "subHappVisualBuilderDesc": "Crie um deeplink de roteamento personalizado a partir de listas de domínios e IPs.", + "subHappBuildDeeplink": "Gerar deeplink", + "subHappModalTitle": "Gerador visual de regras de roteamento do Happ", + "subHappDirectDomains": "Domínios diretos (desvio)", + "subHappProxyDomains": "Domínios via proxy (túnel)", + "subHappBlockDomains": "Domínios bloqueados (anúncios/malware)", + "subHappDirectIPs": "IPs / CIDRs diretos", + "subHappProxyIPs": "IPs / CIDRs via proxy", + "subHappBlockIPs": "IPs / CIDRs bloqueados", + "subHappDeeplinkGenerated": "Deeplink gerado e aplicado às regras de roteamento", "subHappGroupLinks": "Links de assinatura", - "subHappGroupRouting": "Routing & Rules", - "subHappGroupBanners": "Banners & Announcements", - "subHappGroupNetwork": "Network & TUN Engine", - "subHappGroupThemes": "Appearance & Theme", - "subHappGroupFailover": "Migration & App Management", - "subHappGroupAndroid": "Android Per-App Proxy", + "subHappGroupRouting": "Roteamento e regras", + "subHappGroupBanners": "Banners e anúncios", + "subHappGroupNetwork": "Rede e mecanismo TUN", + "subHappGroupThemes": "Aparência e tema", + "subHappGroupFailover": "Migração e gerenciamento do app", + "subHappGroupAndroid": "Proxy por aplicativo no Android", "discordSettings": "Bot do Discord", "discordBotEnable": "Ativar notificações do Discord", "discordBotEnableDesc": "Enviar alertas de sistema e eventos para um canal do Discord via bot", diff --git a/internal/web/translation/ru-RU.json b/internal/web/translation/ru-RU.json index cf7d4a6b9..d5ef410ab 100644 --- a/internal/web/translation/ru-RU.json +++ b/internal/web/translation/ru-RU.json @@ -1253,6 +1253,8 @@ "noisesSett": "Настройки Noises", "trustedProxyCidrs": "Доверенные CIDR прокси", "trustedProxyCidrsDesc": "IP/CIDR через запятую, которым разрешено устанавливать заголовки forwarded host, proto и client IP.", + "realityScanCandidates": "Кандидаты сканирования Reality", + "realityScanCandidatesDesc": "Список host:port (или CIDR) через запятую — используется по умолчанию в «Найти цели», если поиск пуст. Настройте под часто используемые цели.", "ldap": { "enable": "Включить LDAP-синхронизацию", "host": "LDAP-хост", @@ -1513,35 +1515,35 @@ "subHappSubInfoButtonLink": "Ссылка кнопки баннера", "subHappSubInfoButtonLinkDesc": "URL-адрес, открывающийся при нажатии на кнопку баннера.", "subHappSubExpire": "Баннер об окончании подписки", - "subHappSubExpireDesc": "Отображать баннер о скором окончании или истечении срока действия подписки.", + "subHappSubExpireDesc": "Показывать в Happ баннер об истёкшей подписке, когда у пользователя закончился трафик или срок действия.", "subHappSubExpireButtonLink": "Ссылка для продления подписки", "subHappSubExpireButtonLinkDesc": "URL для кнопки «Продлить» при истечении срока подписки.", "subHappNotificationExpire": "Уведомление об окончании подписки", "subHappNotificationExpireDesc": "Отправлять напоминания пользователю за 3 дня до окончания подписки.", - "subHappNoLimit": "Режим без ограничений (No Limit)", - "subHappNoLimitDesc": "Увеличивает лимит оперативной памяти и снимает ограничения на количество правил.", + "subHappNoLimit": "Режим No-Limit", + "subHappNoLimitDesc": "Повышает лимит оперативной памяти xray-core в Happ для стабильности и производительности (бета).", "subHappAlwaysHwid": "Обязательный HWID", - "subHappAlwaysHwidDesc": "Запрещает пользователю отключать передачу идентификатора устройства (HWID).", + "subHappAlwaysHwidDesc": "Запрещает пользователю отключать отправку HWID в настройках Happ.", "subHappTunMode": "Режим TUN", - "subHappTunModeDesc": "Сетевой стек для TUN: system (системный) или gvisor (пользовательский стек).", - "subHappTunType": "Ядро туنнеля (TUN Type)", - "subHappTunTypeDesc": "Выбор ядра туннеля: singbox, tun2proxy, default (Happ TUN) или xray.", + "subHappTunModeDesc": "Сетевой стек TUN на десктопе: системный (стек ОС) или gVisor (пользовательский стек).", + "subHappTunType": "Движок TUN", + "subHappTunTypeDesc": "Ядро для TUN-подключения на десктопе: sing-box, tun2proxy, по умолчанию (Happ TUN) или Xray.", "subHappExcludeRoutes": "Исключения маршрутов (CIDR)", - "subHappExcludeRoutesDesc": "Список подсетей и IP-адресов через запятую, трафик которых идет мимо туннеля.", + "subHappExcludeRoutesDesc": "IP-подсети (CIDR) через запятую (например, 192.168.0.0/16, 10.0.0.0/8), трафик которых идёт мимо VPN-туннеля.", "subHappExcludeApns": "Исключить push-уведомления Apple (APNS)", "subHappExcludeApnsDesc": "Трафик уведомлений Apple направляется напрямую для надежной доставки на iOS.", "subHappColorProfile": "Цветовая тема клиента", - "subHappColorProfileDesc": "Тема оформления интерфейса Happ: violet, turquoise, cyberpunk или свой JSON.", + "subHappColorProfileDesc": "Своя цветовая тема для iOS в виде JSON-строки или resetcolors для сброса к стандартным цветам.", "subHappPingType": "Метод проверки пинга", - "subHappPingTypeDesc": "Тип проверки задержки: via Proxy (GET), via Proxy (HEAD), TCP или ICMP.", + "subHappPingTypeDesc": "Способ измерения задержки узлов в Happ: через прокси (GET или HEAD), TCP или ICMP.", "subHappAutoConnect": "Автоподключение при запуске", "subHappAutoConnectDesc": "Автоматически подключаться к серверу при запуске приложения.", "subHappAutoConnectType": "Критерий автоподключения", - "subHappAutoConnectTypeDesc": "Сервер для автоподключения: lowestdelay (наименьший пинг), lastused (последний) или random.", + "subHappAutoConnectTypeDesc": "Сервер для автоподключения: минимальная задержка, последний использованный или случайный узел.", "subHappPerAppMode": "Прокси для приложений (Android)", - "subHappPerAppModeDesc": "Режим раздельного туннелирования: off (выкл), on (только выбранные) или bypass (все кроме выбранных).", + "subHappPerAppModeDesc": "Маршрутизация приложений Android: выкл, вкл (прокси только для выбранных) или обход (исключить выбранные).", "subHappPerAppList": "Пакеты приложений Android", - "subHappPerAppListDesc": "Список идентификаторов пакетов через запятую (например, org.telegram.messenger).", + "subHappPerAppListDesc": "Имена пакетов Android-приложений для включения или исключения через запятую (например, org.telegram.messenger).", "subHappPresetIran": "Обход сайтов Ирана (Iran Bypass)", "subHappPresetChina": "Обход сайтов Китая (China Direct)", "subHappPresetAdblock": "Блокировка рекламы (AdBlock)", diff --git a/internal/web/translation/tr-TR.json b/internal/web/translation/tr-TR.json index f2d0d9281..9bc37e3b3 100644 --- a/internal/web/translation/tr-TR.json +++ b/internal/web/translation/tr-TR.json @@ -1253,6 +1253,8 @@ "noisesSett": "Noises Ayarları", "trustedProxyCidrs": "Güvenilir Proxy CIDR'leri", "trustedProxyCidrsDesc": "İletilen host, proto ve istemci IP başlıklarını ayarlamasına izin verilen IP'ler/CIDR'ler (virgülle ayrılmış).", + "realityScanCandidates": "Reality tarama adayları", + "realityScanCandidatesDesc": "Arama boşken Hedef Bul için varsayılan olarak kullanılan, virgülle ayrılmış host:port hedefleri (veya CIDR). Sık kullandığınız hedeflere göre özelleştirin.", "ldap": { "enable": "LDAP senkronizasyonunu etkinleştir", "host": "LDAP sunucusu", @@ -1496,56 +1498,56 @@ "subExpiredTemplateDesc": "Abonelik süresi dolduğunda sahte yapılandırma için kullanılacak şablon.", "subTrafficDepletedTemplate": "Trafik Tükendi Şablonu", "subTrafficDepletedTemplateDesc": "Abonelik trafik kotası bittiğinde sahte yapılandırma için kullanılacak şablon.", - "subHappAutoDetect": "Happ Header Auto-Detection", - "subHappAutoDetectDesc": "Automatically inject Happ routing and headers when client User-Agent indicates Happ.", - "subHappProviderId": "Provider ID", - "subHappProviderIdDesc": "Unique provider identifier for Happ client management, remote configuration binding, and migration.", - "subHappNewUrl": "New Subscription URL", - "subHappNewUrlDesc": "Target URL for automatic client migration. When set, Happ clients will migrate to this subscription link.", - "subHappFallbackUrl": "Fallback Subscription URL", - "subHappFallbackUrlDesc": "Backup subscription address used by Happ if the primary subscription URL becomes unreachable.", - "subHappSubInfoText": "Banner Announcement Text", - "subHappSubInfoTextDesc": "Custom announcement banner displayed at the top of the Happ client (max 200 characters).", - "subHappSubInfoColor": "Banner Accent Color", - "subHappSubInfoColorDesc": "Color theme style for the announcement banner.", - "subHappSubInfoButtonText": "Banner Button Text", - "subHappSubInfoButtonTextDesc": "Button label displayed inside the announcement banner (max 25 characters).", - "subHappSubInfoButtonLink": "Banner Button Link", - "subHappSubInfoButtonLinkDesc": "Target URL opened when the user clicks the banner action button.", - "subHappSubExpire": "Expired Subscription Banner", - "subHappSubExpireDesc": "Show an expired subscription banner in Happ when the user's traffic or validity has ended.", - "subHappSubExpireButtonLink": "Renewal Link", - "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", - "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", - "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", - "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", - "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", - "subHappExcludeRoutes": "Exclude CIDR Routes", - "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", - "subHappExcludeApns": "Exclude Apple APNs", - "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", - "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", - "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", - "subHappAutoConnect": "Auto-Connect on Launch", - "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", - "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", - "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", - "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", - "subHappPresetIran": "Iran Bypass", - "subHappPresetChina": "China Direct", + "subHappAutoDetect": "Happ Başlıkları Otomatik Algılama", + "subHappAutoDetectDesc": "İstemcinin User-Agent değeri Happ'i gösterdiğinde Happ yönlendirmesini ve başlıklarını otomatik olarak ekler.", + "subHappProviderId": "Sağlayıcı Kimliği (Provider ID)", + "subHappProviderIdDesc": "Happ istemci yönetimi, uzak yapılandırma bağlama ve geçiş için benzersiz sağlayıcı tanımlayıcısı.", + "subHappNewUrl": "Yeni Abonelik URL'si", + "subHappNewUrlDesc": "Otomatik istemci geçişi için hedef URL. Ayarlandığında Happ istemcileri bu abonelik bağlantısına geçer.", + "subHappFallbackUrl": "Yedek Abonelik URL'si", + "subHappFallbackUrlDesc": "Birincil abonelik URL'sine erişilemez hale gelirse Happ'in kullandığı yedek abonelik adresi.", + "subHappSubInfoText": "Duyuru Afişi Metni", + "subHappSubInfoTextDesc": "Happ istemcisinin üst kısmında görüntülenen özel duyuru afişi (en fazla 200 karakter).", + "subHappSubInfoColor": "Afiş Vurgu Rengi", + "subHappSubInfoColorDesc": "Duyuru afişinin renk teması.", + "subHappSubInfoButtonText": "Afiş Düğmesi Metni", + "subHappSubInfoButtonTextDesc": "Duyuru afişinin içinde görüntülenen düğme etiketi (en fazla 25 karakter).", + "subHappSubInfoButtonLink": "Afiş Düğmesi Bağlantısı", + "subHappSubInfoButtonLinkDesc": "Kullanıcı afişteki eylem düğmesine tıkladığında açılan hedef URL.", + "subHappSubExpire": "Süresi Dolmuş Abonelik Afişi", + "subHappSubExpireDesc": "Kullanıcının trafiği veya geçerlilik süresi bittiğinde Happ'te süresi dolmuş abonelik afişi gösterir.", + "subHappSubExpireButtonLink": "Yenileme Bağlantısı", + "subHappSubExpireButtonLinkDesc": "Kullanıcı süresi dolmuş bir abonelikte yenileme düğmesine tıkladığında açılan hedef URL.", + "subHappNotificationExpire": "Son Kullanma Bildirimleri", + "subHappNotificationExpireDesc": "Happ'in, abonelik süresi dolmadan 3 gün önce kullanıcıya hatırlatma yapmasını sağlar.", + "subHappNoLimit": "Sınırsız Mod", + "subHappNoLimitDesc": "Daha iyi kararlılık ve performans için Happ'te xray-core RAM sınırını yükseltir (beta).", + "subHappAlwaysHwid": "Donanım Kimliğini (HWID) Zorunlu Kıl", + "subHappAlwaysHwidDesc": "Kullanıcıların Happ ayarlarında HWID gönderimini kapatmasını engeller.", + "subHappTunMode": "TUN Modu", + "subHappTunModeDesc": "Masaüstünde TUN'un kullandığı ağ yığını: sistem (işletim sistemi yığını) veya gVisor (kullanıcı alanı yığını).", + "subHappTunType": "TUN Motoru", + "subHappTunTypeDesc": "Masaüstünde TUN bağlantısı için kullanılan çekirdek: sing-box, tun2proxy, varsayılan (Happ TUN) veya Xray.", + "subHappExcludeRoutes": "CIDR Yönlendirmelerini Hariç Tut", + "subHappExcludeRoutesDesc": "VPN tünelinin dışında tutulacak, virgülle ayrılmış IP CIDR'leri (ör. 192.168.0.0/16, 10.0.0.0/8).", + "subHappExcludeApns": "Apple APNs'i Hariç Tut", + "subHappExcludeApnsDesc": "iOS'ta arka plan bildirimlerinin güvenilir çalışması için Apple Push Notification hizmetlerini VPN'in dışında tutar.", + "subHappColorProfile": "İstemci Renk Teması", + "subHappColorProfileDesc": "JSON dizesi olarak özel iOS renk teması veya varsayılan renkleri geri yüklemek için resetcolors.", + "subHappPingType": "Gecikme Ping Yöntemi", + "subHappPingTypeDesc": "Happ'in düğüm gecikmesini ölçme yöntemi: proxy üzerinden (GET veya HEAD), TCP veya ICMP.", + "subHappAutoConnect": "Açılışta Otomatik Bağlan", + "subHappAutoConnectDesc": "Uygulama başladığında Happ'in VPN'e otomatik olarak bağlanmasını sağlar.", + "subHappAutoConnectType": "Otomatik Bağlantı Hedefi", + "subHappAutoConnectTypeDesc": "Otomatik bağlantı için seçilen sunucu: en düşük gecikme, son kullanılan veya rastgele düğüm.", + "subHappPerAppMode": "Android Uygulama Başına Proxy Modu", + "subHappPerAppModeDesc": "Android uygulama yönlendirmesini denetler: kapalı, açık (yalnızca listelenen uygulamalar proxy üzerinden) veya atla (listelenen uygulamaları hariç tut).", + "subHappPerAppList": "Android Paket Adları", + "subHappPerAppListDesc": "Dahil edilecek veya hariç tutulacak Android uygulamalarının virgülle ayrılmış paket adları (ör. org.telegram.messenger).", + "subHappPresetIran": "İran'ı Atla", + "subHappPresetChina": "Çin Doğrudan", "subHappPresetAdblock": "AdBlock", - "subHappPresetGlobal": "Full Proxy", + "subHappPresetGlobal": "Tam Proxy", "subHappPresetOff": "Yönlendirmeyi Devre Dışı Bırak (happ://routing/off)", "subHappColorBlue": "Mavi (Standart / Varsayılan)", "subHappColorGreen": "Yeşil (Başarılı)", @@ -1560,34 +1562,34 @@ "subHappPingProxy": "Proxy Üzerinden (GET Gecikmesi)", "subHappPingProxyHead": "Proxy Üzerinden (HEAD Gecikmesi)", "subHappPingTcp": "TCP El Sıkışma Pingi", - "subHappPingIcmp": "ICMP Ping", + "subHappPingIcmp": "ICMP Pingi", "subHappAutoConnectLowestDelay": "En Düşük Gecikme (En Hızlı Düğüm)", "subHappAutoConnectLastUsed": "Son Kullanılan Düğüm", "subHappAutoConnectRandom": "Rastgele Düğüm", "subHappPerAppOff": "Kapalı", - "subHappPerAppOn": "Açık (Yalnızca Listelenen Uygulamalar)", + "subHappPerAppOn": "Açık (Yalnızca Listelenen Uygulamalar Proxy Üzerinden)", "subHappPerAppBypass": "Atla (Listelenen Uygulamaları Hariç Tut)", - "subHappPresetApplied": "Happ preset applied to routing rules", - "subHappPresets": "Routing Presets", - "subHappPresetsDesc": "Pre-configured routing rule presets tailored for Happ clients.", - "subHappVisualBuilder": "Visual Rule Generator", - "subHappVisualBuilderDesc": "Create custom routing deeplink from domain and IP lists.", - "subHappBuildDeeplink": "Generate Deeplink", - "subHappModalTitle": "Happ Visual Routing Rule Generator", - "subHappDirectDomains": "Direct Domains (Bypass)", - "subHappProxyDomains": "Proxy Domains (Tunnel)", - "subHappBlockDomains": "Blocked Domains (Ad/Malware)", - "subHappDirectIPs": "Direct IPs / CIDRs", - "subHappProxyIPs": "Proxy IPs / CIDRs", - "subHappBlockIPs": "Blocked IPs / CIDRs", - "subHappDeeplinkGenerated": "Deeplink generated and applied to routing rules", + "subHappPresetApplied": "Happ hazır ayarı yönlendirme kurallarına uygulandı", + "subHappPresets": "Yönlendirme Hazır Ayarları", + "subHappPresetsDesc": "Happ istemcilerine özel, önceden yapılandırılmış yönlendirme kuralı hazır ayarları.", + "subHappVisualBuilder": "Görsel Kural Oluşturucu", + "subHappVisualBuilderDesc": "Alan adı ve IP listelerinden özel yönlendirme derin bağlantısı oluşturur.", + "subHappBuildDeeplink": "Derin Bağlantı Oluştur", + "subHappModalTitle": "Happ Görsel Yönlendirme Kuralı Oluşturucu", + "subHappDirectDomains": "Doğrudan Alan Adları (Atla)", + "subHappProxyDomains": "Proxy Alan Adları (Tünel)", + "subHappBlockDomains": "Engellenen Alan Adları (Reklam/Kötü Amaçlı Yazılım)", + "subHappDirectIPs": "Doğrudan IP'ler / CIDR'ler", + "subHappProxyIPs": "Proxy IP'ler / CIDR'ler", + "subHappBlockIPs": "Engellenen IP'ler / CIDR'ler", + "subHappDeeplinkGenerated": "Derin bağlantı oluşturuldu ve yönlendirme kurallarına uygulandı", "subHappGroupLinks": "Abonelik Bağlantıları", - "subHappGroupRouting": "Routing & Rules", - "subHappGroupBanners": "Banners & Announcements", - "subHappGroupNetwork": "Network & TUN Engine", - "subHappGroupThemes": "Appearance & Theme", - "subHappGroupFailover": "Migration & App Management", - "subHappGroupAndroid": "Android Per-App Proxy", + "subHappGroupRouting": "Yönlendirme ve Kurallar", + "subHappGroupBanners": "Afişler ve Duyurular", + "subHappGroupNetwork": "Ağ ve TUN Motoru", + "subHappGroupThemes": "Görünüm ve Tema", + "subHappGroupFailover": "Geçiş ve Uygulama Yönetimi", + "subHappGroupAndroid": "Android Uygulama Başına Proxy", "discordSettings": "Discord Botu", "discordBotEnable": "Discord Bildirimlerini Etkinleştir", "discordBotEnableDesc": "Sistem ve olay uyarılarını bot aracılığıyla bir Discord kanalına gönderin", diff --git a/internal/web/translation/uk-UA.json b/internal/web/translation/uk-UA.json index 485e10041..11da763f9 100644 --- a/internal/web/translation/uk-UA.json +++ b/internal/web/translation/uk-UA.json @@ -1253,6 +1253,8 @@ "noisesSett": "Налаштування Noises", "trustedProxyCidrs": "Довірені CIDR проксі", "trustedProxyCidrsDesc": "IP/CIDR через кому, яким дозволено встановлювати заголовки forwarded host, proto та client IP.", + "realityScanCandidates": "Кандидати сканування Reality", + "realityScanCandidatesDesc": "Список host:port (або CIDR) через кому — типовий список для «Знайти цілі», коли пошук порожній. Налаштуйте під часто використовувані цілі.", "ldap": { "enable": "Увімкнути LDAP-синхронізацію", "host": "LDAP-хост", @@ -1496,63 +1498,63 @@ "subExpiredTemplateDesc": "Шаблон для фіктивного вузла, коли термін дії підписки закінчився.", "subTrafficDepletedTemplate": "Шаблон вичерпання трафіку", "subTrafficDepletedTemplateDesc": "Шаблон для фіктивного вузла, коли ліміт трафіку вичерпано.", - "subHappAutoDetect": "Happ Header Auto-Detection", - "subHappAutoDetectDesc": "Automatically inject Happ routing and headers when client User-Agent indicates Happ.", - "subHappProviderId": "Provider ID", - "subHappProviderIdDesc": "Unique provider identifier for Happ client management, remote configuration binding, and migration.", - "subHappNewUrl": "New Subscription URL", - "subHappNewUrlDesc": "Target URL for automatic client migration. When set, Happ clients will migrate to this subscription link.", - "subHappFallbackUrl": "Fallback Subscription URL", - "subHappFallbackUrlDesc": "Backup subscription address used by Happ if the primary subscription URL becomes unreachable.", - "subHappSubInfoText": "Banner Announcement Text", - "subHappSubInfoTextDesc": "Custom announcement banner displayed at the top of the Happ client (max 200 characters).", - "subHappSubInfoColor": "Banner Accent Color", - "subHappSubInfoColorDesc": "Color theme style for the announcement banner.", - "subHappSubInfoButtonText": "Banner Button Text", - "subHappSubInfoButtonTextDesc": "Button label displayed inside the announcement banner (max 25 characters).", - "subHappSubInfoButtonLink": "Banner Button Link", - "subHappSubInfoButtonLinkDesc": "Target URL opened when the user clicks the banner action button.", - "subHappSubExpire": "Expired Subscription Banner", - "subHappSubExpireDesc": "Show an expired subscription banner in Happ when the user's traffic or validity has ended.", - "subHappSubExpireButtonLink": "Renewal Link", - "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", - "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", - "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", - "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", - "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", - "subHappExcludeRoutes": "Exclude CIDR Routes", - "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", - "subHappExcludeApns": "Exclude Apple APNs", - "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", - "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", - "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", - "subHappAutoConnect": "Auto-Connect on Launch", - "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", - "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", - "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", - "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", - "subHappPresetIran": "Iran Bypass", - "subHappPresetChina": "China Direct", + "subHappAutoDetect": "Автовизначення заголовків Happ", + "subHappAutoDetectDesc": "Автоматично додавати маршрутизацію та заголовки Happ, коли User-Agent клієнта вказує на Happ.", + "subHappProviderId": "Ідентифікатор провайдера (Provider ID)", + "subHappProviderIdDesc": "Унікальний ідентифікатор провайдера для керування клієнтами Happ, прив'язки віддаленої конфігурації та міграції.", + "subHappNewUrl": "Новий URL підписки", + "subHappNewUrlDesc": "Цільовий URL для автоматичної міграції клієнтів. Якщо задано, клієнти Happ перейдуть на це посилання підписки.", + "subHappFallbackUrl": "Резервний URL підписки", + "subHappFallbackUrlDesc": "Резервна адреса підписки, яку Happ використовує, якщо основний URL підписки стане недоступним.", + "subHappSubInfoText": "Текст оголошення в банері", + "subHappSubInfoTextDesc": "Власний банер з оголошенням угорі клієнта Happ (макс. 200 символів).", + "subHappSubInfoColor": "Акцентний колір банера", + "subHappSubInfoColorDesc": "Колірне оформлення банера з оголошенням.", + "subHappSubInfoButtonText": "Текст кнопки банера", + "subHappSubInfoButtonTextDesc": "Напис на кнопці всередині банера з оголошенням (макс. 25 символів).", + "subHappSubInfoButtonLink": "Посилання кнопки банера", + "subHappSubInfoButtonLinkDesc": "Цільовий URL, який відкривається, коли користувач натискає кнопку дії банера.", + "subHappSubExpire": "Банер про закінчення підписки", + "subHappSubExpireDesc": "Показувати в Happ банер про закінчення підписки, коли в користувача закінчився трафік або термін дії.", + "subHappSubExpireButtonLink": "Посилання для продовження", + "subHappSubExpireButtonLinkDesc": "Цільовий URL, який відкривається, коли користувач натискає кнопку продовження простроченої підписки.", + "subHappNotificationExpire": "Сповіщення про закінчення терміну", + "subHappNotificationExpireDesc": "Доручити Happ нагадати користувачеві за 3 дні до закінчення підписки.", + "subHappNoLimit": "Режим без обмежень", + "subHappNoLimitDesc": "Підвищити ліміт оперативної пам'яті xray-core у Happ для кращої стабільності та продуктивності (бета).", + "subHappAlwaysHwid": "Примусовий апаратний ідентифікатор (HWID)", + "subHappAlwaysHwidDesc": "Не дозволяти користувачам вимикати надсилання HWID у налаштуваннях Happ.", + "subHappTunMode": "Режим TUN", + "subHappTunModeDesc": "Мережевий стек TUN на комп'ютерах: системний (стек ОС) або gVisor (стек у просторі користувача).", + "subHappTunType": "Рушій TUN", + "subHappTunTypeDesc": "Ядро для TUN-з'єднання на комп'ютерах: sing-box, tun2proxy, за замовчуванням (Happ TUN) або Xray.", + "subHappExcludeRoutes": "Виключити маршрути CIDR", + "subHappExcludeRoutesDesc": "IP CIDR через кому (напр. 192.168.0.0/16, 10.0.0.0/8), трафік до яких обходить VPN-тунель.", + "subHappExcludeApns": "Виключити Apple APNs", + "subHappExcludeApnsDesc": "Пропускати служби Apple Push Notification в обхід VPN для надійних фонових сповіщень на iOS.", + "subHappColorProfile": "Колірна тема клієнта", + "subHappColorProfileDesc": "Власна колірна тема iOS у вигляді рядка JSON або resetcolors для відновлення стандартних кольорів.", + "subHappPingType": "Метод вимірювання затримки", + "subHappPingTypeDesc": "Як Happ вимірює затримку вузлів: через проксі (GET або HEAD), TCP або ICMP.", + "subHappAutoConnect": "Автопідключення під час запуску", + "subHappAutoConnectDesc": "Доручити Happ автоматично підключатися до VPN під час запуску програми.", + "subHappAutoConnectType": "Ціль автопідключення", + "subHappAutoConnectTypeDesc": "Сервер для автопідключення: з найменшою затримкою, останній використаний або випадковий вузол.", + "subHappPerAppMode": "Режим проксі для окремих програм Android", + "subHappPerAppModeDesc": "Керування маршрутизацією програм Android: вимкнено, увімкнено (проксі лише для вказаних програм) або обхід (виключити вказані програми).", + "subHappPerAppList": "Назви пакетів Android", + "subHappPerAppListDesc": "Назви пакетів програм Android через кому для включення або виключення (напр. org.telegram.messenger).", + "subHappPresetIran": "Обхід для Ірану", + "subHappPresetChina": "Китай напряму", "subHappPresetAdblock": "AdBlock", - "subHappPresetGlobal": "Full Proxy", + "subHappPresetGlobal": "Усе через проксі", "subHappPresetOff": "Вимкнути маршрутизацію (happ://routing/off)", "subHappColorBlue": "Синій (стандартний / за замовчуванням)", "subHappColorGreen": "Зелений (успіх)", "subHappColorRed": "Червоний (попередження / небезпека)", "subHappTunModeDefault": "За замовчуванням", "subHappTunModeSystem": "Системний (стандартний стек ОС)", - "subHappTunModeGvisor": "gVisor (користувацький стек)", + "subHappTunModeGvisor": "gVisor (стек у просторі користувача)", "subHappTunTypeSingbox": "sing-box", "subHappTunTypeTun2proxy": "tun2proxy", "subHappTunTypeDefault": "За замовчуванням (Happ TUN)", @@ -1565,29 +1567,29 @@ "subHappAutoConnectLastUsed": "Останній використаний вузол", "subHappAutoConnectRandom": "Випадковий вузол", "subHappPerAppOff": "Вимк", - "subHappPerAppOn": "Увімк (тільки обрані програми)", - "subHappPerAppBypass": "Обхід (виключити обрані програми)", - "subHappPresetApplied": "Happ preset applied to routing rules", - "subHappPresets": "Routing Presets", - "subHappPresetsDesc": "Pre-configured routing rule presets tailored for Happ clients.", - "subHappVisualBuilder": "Visual Rule Generator", - "subHappVisualBuilderDesc": "Create custom routing deeplink from domain and IP lists.", - "subHappBuildDeeplink": "Generate Deeplink", - "subHappModalTitle": "Happ Visual Routing Rule Generator", - "subHappDirectDomains": "Direct Domains (Bypass)", - "subHappProxyDomains": "Proxy Domains (Tunnel)", - "subHappBlockDomains": "Blocked Domains (Ad/Malware)", - "subHappDirectIPs": "Direct IPs / CIDRs", - "subHappProxyIPs": "Proxy IPs / CIDRs", - "subHappBlockIPs": "Blocked IPs / CIDRs", - "subHappDeeplinkGenerated": "Deeplink generated and applied to routing rules", + "subHappPerAppOn": "Увімк (проксі лише для вказаних програм)", + "subHappPerAppBypass": "Обхід (виключити вказані програми)", + "subHappPresetApplied": "Шаблон Happ застосовано до правил маршрутизації", + "subHappPresets": "Шаблони маршрутизації", + "subHappPresetsDesc": "Готові шаблони правил маршрутизації, адаптовані для клієнтів Happ.", + "subHappVisualBuilder": "Візуальний генератор правил", + "subHappVisualBuilderDesc": "Створіть власний діплінк маршрутизації зі списків доменів та IP.", + "subHappBuildDeeplink": "Згенерувати діплінк", + "subHappModalTitle": "Візуальний генератор правил маршрутизації Happ", + "subHappDirectDomains": "Домени напряму (обхід)", + "subHappProxyDomains": "Домени через проксі (тунель)", + "subHappBlockDomains": "Заблоковані домени (реклама/шкідливе ПЗ)", + "subHappDirectIPs": "IP / CIDR напряму", + "subHappProxyIPs": "IP / CIDR через проксі", + "subHappBlockIPs": "Заблоковані IP / CIDR", + "subHappDeeplinkGenerated": "Діплінк згенеровано та застосовано до правил маршрутизації", "subHappGroupLinks": "Посилання на підписку", - "subHappGroupRouting": "Routing & Rules", - "subHappGroupBanners": "Banners & Announcements", - "subHappGroupNetwork": "Network & TUN Engine", - "subHappGroupThemes": "Appearance & Theme", - "subHappGroupFailover": "Migration & App Management", - "subHappGroupAndroid": "Android Per-App Proxy", + "subHappGroupRouting": "Маршрутизація та правила", + "subHappGroupBanners": "Банери та оголошення", + "subHappGroupNetwork": "Мережа та рушій TUN", + "subHappGroupThemes": "Зовнішній вигляд і тема", + "subHappGroupFailover": "Міграція та керування програмою", + "subHappGroupAndroid": "Проксі для окремих програм Android", "discordSettings": "Discord бот", "discordBotEnable": "Увімкнути сповіщення Discord", "discordBotEnableDesc": "Надсилати системні сповіщення та події в канал Discord через бота", diff --git a/internal/web/translation/vi-VN.json b/internal/web/translation/vi-VN.json index 274e0eec1..2f93797c3 100644 --- a/internal/web/translation/vi-VN.json +++ b/internal/web/translation/vi-VN.json @@ -1253,6 +1253,8 @@ "noisesSett": "Cài đặt Noises", "trustedProxyCidrs": "CIDR proxy tin cậy", "trustedProxyCidrsDesc": "IPs/CIDRs cách nhau bằng dấu phẩy được phép đặt header host, proto và IP client chuyển tiếp.", + "realityScanCandidates": "Danh sách ứng viên quét Reality", + "realityScanCandidatesDesc": "Danh sách host:port (hoặc CIDR) cách nhau bằng dấu phẩy dùng làm mặc định khi Tìm mục tiêu chạy với ô tìm kiếm trống. Tuỳ chỉnh theo các đích bạn dùng thường xuyên.", "ldap": { "enable": "Bật đồng bộ LDAP", "host": "LDAP host", @@ -1496,56 +1498,56 @@ "subExpiredTemplateDesc": "Mẫu cho cấu hình ảo khi tài khoản đăng ký đã hết hạn.", "subTrafficDepletedTemplate": "Mẫu hết dung lượng", "subTrafficDepletedTemplateDesc": "Mẫu cho cấu hình ảo khi tài khoản đăng ký đã dùng hết dung lượng.", - "subHappAutoDetect": "Happ Header Auto-Detection", - "subHappAutoDetectDesc": "Automatically inject Happ routing and headers when client User-Agent indicates Happ.", - "subHappProviderId": "Provider ID", - "subHappProviderIdDesc": "Unique provider identifier for Happ client management, remote configuration binding, and migration.", - "subHappNewUrl": "New Subscription URL", - "subHappNewUrlDesc": "Target URL for automatic client migration. When set, Happ clients will migrate to this subscription link.", - "subHappFallbackUrl": "Fallback Subscription URL", - "subHappFallbackUrlDesc": "Backup subscription address used by Happ if the primary subscription URL becomes unreachable.", - "subHappSubInfoText": "Banner Announcement Text", - "subHappSubInfoTextDesc": "Custom announcement banner displayed at the top of the Happ client (max 200 characters).", - "subHappSubInfoColor": "Banner Accent Color", - "subHappSubInfoColorDesc": "Color theme style for the announcement banner.", - "subHappSubInfoButtonText": "Banner Button Text", - "subHappSubInfoButtonTextDesc": "Button label displayed inside the announcement banner (max 25 characters).", - "subHappSubInfoButtonLink": "Banner Button Link", - "subHappSubInfoButtonLinkDesc": "Target URL opened when the user clicks the banner action button.", - "subHappSubExpire": "Expired Subscription Banner", - "subHappSubExpireDesc": "Show an expired subscription banner in Happ when the user's traffic or validity has ended.", - "subHappSubExpireButtonLink": "Renewal Link", - "subHappSubExpireButtonLinkDesc": "Target URL opened when the user clicks the renewal button on an expired subscription.", - "subHappNotificationExpire": "Expiration Notifications", - "subHappNotificationExpireDesc": "Instruct Happ to alert the user in advance before their subscription expires.", - "subHappNoLimit": "Bypass Rule Limit", - "subHappNoLimitDesc": "Allow routing rule count to exceed default mobile platform limits without truncation.", - "subHappAlwaysHwid": "Enforce Hardware ID (HWID)", - "subHappAlwaysHwidDesc": "Bind subscription sessions to client device hardware identifier for enhanced security.", - "subHappTunMode": "TUN Mode", - "subHappTunModeDesc": "TUN virtual network interface routing mode: default, system, or strict.", - "subHappTunType": "TUN Engine", - "subHappTunTypeDesc": "Underlying network stack implementation for TUN: system, gVisor, or mixed.", - "subHappExcludeRoutes": "Exclude CIDR Routes", - "subHappExcludeRoutesDesc": "Comma-separated IP CIDRs (e.g. 192.168.0.0/16, 10.0.0.0/8) to bypass the VPN tunnel.", - "subHappExcludeApns": "Exclude Apple APNs", - "subHappExcludeApnsDesc": "Bypass Apple Push Notification services to maintain reliable background notifications on iOS.", - "subHappColorProfile": "Client Color Theme", - "subHappColorProfileDesc": "Client color theme profile: default, violet, turquoise, cyberpunk, or custom JSON theme.", - "subHappPingType": "Latency Ping Method", - "subHappPingTypeDesc": "Measurement protocol used by Happ for node latency testing: icmp, tcp, or http.", - "subHappAutoConnect": "Auto-Connect on Launch", - "subHappAutoConnectDesc": "Instruct Happ to automatically connect to VPN when the application starts.", - "subHappAutoConnectType": "Auto-Connect Target", - "subHappAutoConnectTypeDesc": "Connection target strategy for auto-connect: fastest node or last used node.", - "subHappPerAppMode": "Android Per-App Proxy Mode", - "subHappPerAppModeDesc": "Control Android application routing: off, include (proxy only listed apps), or exclude (bypass listed apps).", - "subHappPerAppList": "Android Package Names", - "subHappPerAppListDesc": "Comma-separated package names of Android applications to include or exclude (e.g. com.telegram.messenger).", - "subHappPresetIran": "Iran Bypass", - "subHappPresetChina": "China Direct", + "subHappAutoDetect": "Tự động nhận diện header Happ", + "subHappAutoDetectDesc": "Tự động chèn định tuyến và header Happ khi User-Agent của ứng dụng khách cho thấy đó là Happ.", + "subHappProviderId": "ID nhà cung cấp (Provider ID)", + "subHappProviderIdDesc": "Mã định danh duy nhất của nhà cung cấp, dùng để quản lý ứng dụng khách Happ, liên kết cấu hình từ xa và di chuyển.", + "subHappNewUrl": "URL đăng ký mới", + "subHappNewUrlDesc": "URL đích để tự động di chuyển ứng dụng khách. Khi được đặt, ứng dụng Happ sẽ chuyển sang liên kết đăng ký này.", + "subHappFallbackUrl": "URL đăng ký dự phòng", + "subHappFallbackUrlDesc": "Địa chỉ đăng ký dự phòng mà Happ dùng khi không thể truy cập URL đăng ký chính.", + "subHappSubInfoText": "Nội dung biểu ngữ thông báo", + "subHappSubInfoTextDesc": "Biểu ngữ thông báo tùy chỉnh hiển thị ở đầu ứng dụng Happ (tối đa 200 ký tự).", + "subHappSubInfoColor": "Màu nhấn biểu ngữ", + "subHappSubInfoColorDesc": "Kiểu màu chủ đề cho biểu ngữ thông báo.", + "subHappSubInfoButtonText": "Chữ trên nút biểu ngữ", + "subHappSubInfoButtonTextDesc": "Nhãn nút hiển thị bên trong biểu ngữ thông báo (tối đa 25 ký tự).", + "subHappSubInfoButtonLink": "Liên kết nút biểu ngữ", + "subHappSubInfoButtonLinkDesc": "URL đích được mở khi người dùng nhấn nút hành động trên biểu ngữ.", + "subHappSubExpire": "Biểu ngữ đăng ký hết hạn", + "subHappSubExpireDesc": "Hiển thị biểu ngữ đăng ký hết hạn trong Happ khi lưu lượng hoặc thời hạn của người dùng đã hết.", + "subHappSubExpireButtonLink": "Liên kết gia hạn", + "subHappSubExpireButtonLinkDesc": "URL đích được mở khi người dùng nhấn nút gia hạn trên đăng ký đã hết hạn.", + "subHappNotificationExpire": "Thông báo hết hạn", + "subHappNotificationExpireDesc": "Yêu cầu Happ nhắc người dùng 3 ngày trước khi đăng ký hết hạn.", + "subHappNoLimit": "Chế độ không giới hạn", + "subHappNoLimitDesc": "Nâng giới hạn RAM của xray-core trong Happ để tăng độ ổn định và hiệu năng (beta).", + "subHappAlwaysHwid": "Bắt buộc ID phần cứng (HWID)", + "subHappAlwaysHwidDesc": "Ngăn người dùng tắt việc gửi HWID trong cài đặt Happ.", + "subHappTunMode": "Chế độ TUN", + "subHappTunModeDesc": "Ngăn xếp mạng mà TUN dùng trên máy tính: hệ thống (ngăn xếp của hệ điều hành) hoặc gVisor (ngăn xếp không gian người dùng).", + "subHappTunType": "Lõi TUN", + "subHappTunTypeDesc": "Lõi dùng cho kết nối TUN trên máy tính: sing-box, tun2proxy, mặc định (Happ TUN) hoặc Xray.", + "subHappExcludeRoutes": "Loại trừ tuyến CIDR", + "subHappExcludeRoutesDesc": "Các IP CIDR cách nhau bằng dấu phẩy (ví dụ 192.168.0.0/16, 10.0.0.0/8) sẽ bỏ qua đường hầm VPN.", + "subHappExcludeApns": "Loại trừ Apple APNs", + "subHappExcludeApnsDesc": "Bỏ qua dịch vụ Apple Push Notification để thông báo nền trên iOS luôn ổn định.", + "subHappColorProfile": "Chủ đề màu ứng dụng khách", + "subHappColorProfileDesc": "Chủ đề màu iOS tùy chỉnh dưới dạng chuỗi JSON, hoặc resetcolors để khôi phục màu mặc định.", + "subHappPingType": "Phương thức đo độ trễ", + "subHappPingTypeDesc": "Cách Happ đo độ trễ của nút: qua proxy (GET hoặc HEAD), TCP hoặc ICMP.", + "subHappAutoConnect": "Tự động kết nối khi khởi động", + "subHappAutoConnectDesc": "Yêu cầu Happ tự động kết nối VPN khi ứng dụng khởi động.", + "subHappAutoConnectType": "Mục tiêu tự động kết nối", + "subHappAutoConnectTypeDesc": "Máy chủ được chọn khi tự động kết nối: độ trễ thấp nhất, dùng gần nhất hoặc một nút ngẫu nhiên.", + "subHappPerAppMode": "Chế độ proxy theo ứng dụng Android", + "subHappPerAppModeDesc": "Kiểm soát định tuyến ứng dụng Android: tắt, bật (chỉ proxy ứng dụng trong danh sách) hoặc bỏ qua (loại trừ ứng dụng trong danh sách).", + "subHappPerAppList": "Tên gói Android", + "subHappPerAppListDesc": "Tên gói ứng dụng Android cách nhau bằng dấu phẩy để bao gồm hoặc loại trừ (ví dụ org.telegram.messenger).", + "subHappPresetIran": "Bỏ qua Iran", + "subHappPresetChina": "Trực tiếp Trung Quốc", "subHappPresetAdblock": "AdBlock", - "subHappPresetGlobal": "Full Proxy", + "subHappPresetGlobal": "Proxy toàn bộ", "subHappPresetOff": "Tắt định tuyến (happ://routing/off)", "subHappColorBlue": "Xanh dương (Tiêu chuẩn / Mặc định)", "subHappColorGreen": "Xanh lá (Thành công)", @@ -1567,27 +1569,27 @@ "subHappPerAppOff": "Tắt", "subHappPerAppOn": "Bật (Chỉ proxy ứng dụng trong danh sách)", "subHappPerAppBypass": "Bỏ qua (Loại trừ ứng dụng trong danh sách)", - "subHappPresetApplied": "Happ preset applied to routing rules", - "subHappPresets": "Routing Presets", - "subHappPresetsDesc": "Pre-configured routing rule presets tailored for Happ clients.", - "subHappVisualBuilder": "Visual Rule Generator", - "subHappVisualBuilderDesc": "Create custom routing deeplink from domain and IP lists.", - "subHappBuildDeeplink": "Generate Deeplink", - "subHappModalTitle": "Happ Visual Routing Rule Generator", - "subHappDirectDomains": "Direct Domains (Bypass)", - "subHappProxyDomains": "Proxy Domains (Tunnel)", - "subHappBlockDomains": "Blocked Domains (Ad/Malware)", - "subHappDirectIPs": "Direct IPs / CIDRs", - "subHappProxyIPs": "Proxy IPs / CIDRs", - "subHappBlockIPs": "Blocked IPs / CIDRs", - "subHappDeeplinkGenerated": "Deeplink generated and applied to routing rules", + "subHappPresetApplied": "Đã áp dụng mẫu Happ vào quy tắc định tuyến", + "subHappPresets": "Mẫu định tuyến", + "subHappPresetsDesc": "Các mẫu quy tắc định tuyến cấu hình sẵn dành cho ứng dụng Happ.", + "subHappVisualBuilder": "Trình tạo quy tắc trực quan", + "subHappVisualBuilderDesc": "Tạo deeplink định tuyến tùy chỉnh từ danh sách tên miền và IP.", + "subHappBuildDeeplink": "Tạo deeplink", + "subHappModalTitle": "Trình tạo quy tắc định tuyến trực quan cho Happ", + "subHappDirectDomains": "Tên miền trực tiếp (bỏ qua)", + "subHappProxyDomains": "Tên miền proxy (đường hầm)", + "subHappBlockDomains": "Tên miền bị chặn (quảng cáo/mã độc)", + "subHappDirectIPs": "IP / CIDR trực tiếp", + "subHappProxyIPs": "IP / CIDR proxy", + "subHappBlockIPs": "IP / CIDR bị chặn", + "subHappDeeplinkGenerated": "Đã tạo deeplink và áp dụng vào quy tắc định tuyến", "subHappGroupLinks": "Liên kết đăng ký", - "subHappGroupRouting": "Routing & Rules", - "subHappGroupBanners": "Banners & Announcements", - "subHappGroupNetwork": "Network & TUN Engine", - "subHappGroupThemes": "Appearance & Theme", - "subHappGroupFailover": "Migration & App Management", - "subHappGroupAndroid": "Android Per-App Proxy", + "subHappGroupRouting": "Định tuyến & quy tắc", + "subHappGroupBanners": "Biểu ngữ & thông báo", + "subHappGroupNetwork": "Mạng & lõi TUN", + "subHappGroupThemes": "Giao diện & chủ đề", + "subHappGroupFailover": "Di chuyển & quản lý ứng dụng", + "subHappGroupAndroid": "Proxy theo ứng dụng Android", "discordSettings": "Bot Discord", "discordBotEnable": "Bật thông báo Discord", "discordBotEnableDesc": "Gửi cảnh báo hệ thống và sự kiện đến kênh Discord qua bot", diff --git a/internal/web/translation/zh-CN.json b/internal/web/translation/zh-CN.json index c11cff237..539337455 100644 --- a/internal/web/translation/zh-CN.json +++ b/internal/web/translation/zh-CN.json @@ -1253,6 +1253,8 @@ "noisesSett": "Noises 设置", "trustedProxyCidrs": "可信代理 CIDR", "trustedProxyCidrsDesc": "允许设置转发 host、proto 和客户端 IP 标头的 IP/CIDR(逗号分隔)。", + "realityScanCandidates": "Reality 扫描候选列表", + "realityScanCandidatesDesc": "逗号分隔的 host:port 目标(或 CIDR),作为“查找目标”在搜索框为空时的默认列表。可按常用目标自定义。", "ldap": { "enable": "启用 LDAP 同步", "host": "LDAP host", @@ -1513,35 +1515,35 @@ "subHappSubInfoButtonLink": "横幅按钮链接", "subHappSubInfoButtonLinkDesc": "点击横幅按钮时打开的目标网址或 DeepLink。", "subHappSubExpire": "订阅到期提醒横幅", - "subHappSubExpireDesc": "当用户订阅即将到期或已过期时在 Happ 中显示续费提示横幅。", + "subHappSubExpireDesc": "当用户流量用尽或订阅已过期时,在 Happ 中显示订阅过期横幅。", "subHappSubExpireButtonLink": "续费链接", "subHappSubExpireButtonLinkDesc": "到期横幅中点击「续费」按钮时跳转的支付或购买页面。", "subHappNotificationExpire": "订阅到期推送提醒", - "subHappNotificationExpireDesc": "在订阅到期前 3 天向用户发送每日一次的客户端到期提醒。", - "subHappNoLimit": "解除规则数量限制 (No Limit)", - "subHappNoLimitDesc": "提升内核内存上限,允许应用超出移动端默认数量的复杂路由规则。", + "subHappNotificationExpireDesc": "让 Happ 在订阅到期前 3 天提醒用户。", + "subHappNoLimit": "No-Limit 模式", + "subHappNoLimitDesc": "提高 Happ 中 xray-core 的内存上限,以提升稳定性与性能(测试版)。", "subHappAlwaysHwid": "强制绑定硬件标识 (HWID)", - "subHappAlwaysHwidDesc": "禁止客户端关闭硬件标识符上报,强化多设备防盗刷安全。", + "subHappAlwaysHwidDesc": "禁止用户在 Happ 设置中关闭 HWID 上报。", "subHappTunMode": "TUN 运行模式", - "subHappTunModeDesc": "TUN 网络接口栈:system (系统网络栈) 或 gvisor (用户态协议栈)。", + "subHappTunModeDesc": "桌面端 TUN 使用的网络栈:system (系统网络栈) 或 gVisor (用户态协议栈)。", "subHappTunType": "TUN 隧道内核 (TUN Type)", - "subHappTunTypeDesc": "隧道实现引擎:singbox、tun2proxy、default (Happ 原生) 或 xray。", + "subHappTunTypeDesc": "桌面端 TUN 连接使用的内核:sing-box、tun2proxy、默认 (Happ TUN) 或 Xray。", "subHappExcludeRoutes": "排除直连网段 (CIDR)", - "subHappExcludeRoutesDesc": "逗号分隔的 IP/CIDR 地址段,此网段流量不走 VPN 隧道直连。", + "subHappExcludeRoutesDesc": "逗号分隔的 IP/CIDR 网段(例如 192.168.0.0/16, 10.0.0.0/8),这些网段的流量不经过 VPN 隧道。", "subHappExcludeApns": "排除苹果推送服务 (APNs)", "subHappExcludeApnsDesc": "让 Apple APNs 流量直连,保障 iOS 设备在后台稳定接收推送通知。", "subHappColorProfile": "客户端外观主题", - "subHappColorProfileDesc": "Happ 界面配色主题:violet、turquoise、cyberpunk 或自定义 JSON 调色板。", + "subHappColorProfileDesc": "以 JSON 字符串自定义 iOS 配色主题,或填写 resetcolors 恢复默认颜色。", "subHappPingType": "延迟测速协议", - "subHappPingTypeDesc": "节点测速协议:via Proxy (GET)、via Proxy (HEAD)、TCP 握手或 ICMP。", + "subHappPingTypeDesc": "Happ 测量节点延迟的方式:经由代理 (GET 或 HEAD)、TCP 或 ICMP。", "subHappAutoConnect": "启动时自动连接", "subHappAutoConnectDesc": "Happ 客户端打开时自动连接代理节点。", "subHappAutoConnectType": "自动连接策略", - "subHappAutoConnectTypeDesc": "连接目标选择:lowestdelay (最低延迟)、lastused (上次使用) 或 random。", + "subHappAutoConnectTypeDesc": "自动连接选择的节点:最低延迟、上次使用或随机节点。", "subHappPerAppMode": "Android 分应用代理", - "subHappPerAppModeDesc": "分应用代理模式:off (关闭)、on (仅代理选定应用) 或 bypass (绕过选定应用)。", + "subHappPerAppModeDesc": "Android 分应用路由:关闭、开启 (仅代理列表中的应用) 或绕过 (排除列表中的应用)。", "subHappPerAppList": "Android 应用包名列表", - "subHappPerAppListDesc": "以逗号分隔的应用包名(例如 org.telegram.messenger, com.google.android.youtube)。", + "subHappPerAppListDesc": "以逗号分隔的 Android 应用包名,用于包含或排除(例如 org.telegram.messenger)。", "subHappPresetIran": "伊朗直连规则 (Iran Bypass)", "subHappPresetChina": "大陆直连规则 (China Direct)", "subHappPresetAdblock": "广告拦截规则 (AdBlock)", diff --git a/internal/web/translation/zh-TW.json b/internal/web/translation/zh-TW.json index 28a2b4d62..401963111 100644 --- a/internal/web/translation/zh-TW.json +++ b/internal/web/translation/zh-TW.json @@ -1253,6 +1253,8 @@ "noisesSett": "Noises 設定", "trustedProxyCidrs": "信任代理 CIDR", "trustedProxyCidrsDesc": "允許設定轉發 host、proto 與客戶端 IP 標頭的 IP/CIDR(逗號分隔)。", + "realityScanCandidates": "Reality 掃描候選清單", + "realityScanCandidatesDesc": "以逗號分隔的 host:port 目標(或 CIDR),作為「尋找目標」在搜尋框為空時的預設清單。可依常用目標自訂。", "ldap": { "enable": "啟用 LDAP 同步", "host": "LDAP host", @@ -1496,98 +1498,98 @@ "subExpiredTemplateDesc": "使用者訂閱過期時提示配置的備註範本。", "subTrafficDepletedTemplate": "流量耗盡範本", "subTrafficDepletedTemplateDesc": "使用者訂閱流量用盡時提示配置的備註範本。", - "subHappAutoDetect": "Happ 客户端请求头自动识别", - "subHappAutoDetectDesc": "当客户端 User-Agent 包含 Happ 时自动注入专属路由规则与响应头。", - "subHappProviderId": "服务提供商标识 (Provider ID)", - "subHappProviderIdDesc": "Happ 客户端管理、远程配置绑定与订阅迁移所需的唯一标识符。", - "subHappNewUrl": "新订阅地址 (迁移)", - "subHappNewUrlDesc": "自动迁移的新订阅 URL。客户端收到后会自动将订阅地址切换为此链接。", - "subHappFallbackUrl": "备用订阅地址 (Fallback)", - "subHappFallbackUrlDesc": "主订阅服务器不可用时 Happ 自动切换的备份订阅链接。", - "subHappSubInfoText": "横幅公告文本", - "subHappSubInfoTextDesc": "显示在 Happ 客户端顶部的自定义通知横幅(最多 200 字符)。", - "subHappSubInfoColor": "横幅配色主题", - "subHappSubInfoColorDesc": "横幅主题颜色:blue (默认蓝色)、green (绿色)、red (红色警告)。", - "subHappSubInfoButtonText": "横幅按钮文字", - "subHappSubInfoButtonTextDesc": "通知横幅内的操作按钮标题(最多 25 字符)。", - "subHappSubInfoButtonLink": "横幅按钮链接", - "subHappSubInfoButtonLinkDesc": "点击横幅按钮时打开的目标网址或 DeepLink。", - "subHappSubExpire": "订阅到期提醒横幅", - "subHappSubExpireDesc": "当用户订阅即将到期或已过期时在 Happ 中显示续费提示横幅。", - "subHappSubExpireButtonLink": "续费链接", - "subHappSubExpireButtonLinkDesc": "到期横幅中点击「续费」按钮时跳转的支付或购买页面。", - "subHappNotificationExpire": "订阅到期推送提醒", - "subHappNotificationExpireDesc": "在订阅到期前 3 天向用户发送每日一次的客户端到期提醒。", - "subHappNoLimit": "解除规则数量限制 (No Limit)", - "subHappNoLimitDesc": "提升内核内存上限,允许应用超出移动端默认数量的复杂路由规则。", - "subHappAlwaysHwid": "强制绑定硬件标识 (HWID)", - "subHappAlwaysHwidDesc": "禁止客户端关闭硬件标识符上报,强化多设备防盗刷安全。", - "subHappTunMode": "TUN 运行模式", - "subHappTunModeDesc": "TUN 网络接口栈:system (系统网络栈) 或 gvisor (用户态协议栈)。", - "subHappTunType": "TUN 隧道内核 (TUN Type)", - "subHappTunTypeDesc": "隧道实现引擎:singbox、tun2proxy、default (Happ 原生) 或 xray。", - "subHappExcludeRoutes": "排除直连网段 (CIDR)", - "subHappExcludeRoutesDesc": "逗号分隔的 IP/CIDR 地址段,此网段流量不走 VPN 隧道直连。", - "subHappExcludeApns": "排除苹果推送服务 (APNs)", - "subHappExcludeApnsDesc": "让 Apple APNs 流量直连,保障 iOS 设备在后台稳定接收推送通知。", - "subHappColorProfile": "客户端外观主题", - "subHappColorProfileDesc": "Happ 界面配色主题:violet、turquoise、cyberpunk 或自定义 JSON 调色板。", - "subHappPingType": "延迟测速协议", - "subHappPingTypeDesc": "节点测速协议:via Proxy (GET)、via Proxy (HEAD)、TCP 握手或 ICMP。", - "subHappAutoConnect": "启动时自动连接", - "subHappAutoConnectDesc": "Happ 客户端打开时自动连接代理节点。", - "subHappAutoConnectType": "自动连接策略", - "subHappAutoConnectTypeDesc": "连接目标选择:lowestdelay (最低延迟)、lastused (上次使用) 或 random。", - "subHappPerAppMode": "Android 分应用代理", - "subHappPerAppModeDesc": "分应用代理模式:off (关闭)、on (仅代理选定应用) 或 bypass (绕过选定应用)。", - "subHappPerAppList": "Android 应用包名列表", - "subHappPerAppListDesc": "以逗号分隔的应用包名(例如 org.telegram.messenger, com.google.android.youtube)。", - "subHappPresetIran": "伊朗直连规则 (Iran Bypass)", - "subHappPresetChina": "大陆直连规则 (China Direct)", - "subHappPresetAdblock": "广告拦截规则 (AdBlock)", - "subHappPresetGlobal": "全局代理规则 (Global)", - "subHappPresetOff": "停用路由 (happ://routing/off)", - "subHappColorBlue": "藍色 (標準 / 預設)", - "subHappColorGreen": "綠色 (成功)", - "subHappColorRed": "紅色 (警告 / 危險)", + "subHappAutoDetect": "Happ 標頭自動識別", + "subHappAutoDetectDesc": "當用戶端 User-Agent 顯示為 Happ 時,自動注入 Happ 路由與標頭。", + "subHappProviderId": "提供者 ID", + "subHappProviderIdDesc": "用於 Happ 用戶端管理、遠端設定綁定與遷移的唯一提供者識別碼。", + "subHappNewUrl": "新訂閱 URL", + "subHappNewUrlDesc": "用戶端自動遷移的目標 URL。設定後,Happ 用戶端將遷移至此訂閱連結。", + "subHappFallbackUrl": "備用訂閱 URL", + "subHappFallbackUrlDesc": "主要訂閱 URL 無法連線時,Happ 使用的備用訂閱位址。", + "subHappSubInfoText": "橫幅公告文字", + "subHappSubInfoTextDesc": "顯示在 Happ 用戶端頂部的自訂公告橫幅(最多 200 個字元)。", + "subHappSubInfoColor": "橫幅強調色", + "subHappSubInfoColorDesc": "公告橫幅的顏色主題樣式。", + "subHappSubInfoButtonText": "橫幅按鈕文字", + "subHappSubInfoButtonTextDesc": "公告橫幅內顯示的按鈕文字(最多 25 個字元)。", + "subHappSubInfoButtonLink": "橫幅按鈕連結", + "subHappSubInfoButtonLinkDesc": "使用者點擊橫幅操作按鈕時開啟的目標 URL。", + "subHappSubExpire": "訂閱過期橫幅", + "subHappSubExpireDesc": "當使用者的流量用盡或有效期結束時,在 Happ 中顯示訂閱過期橫幅。", + "subHappSubExpireButtonLink": "續訂連結", + "subHappSubExpireButtonLinkDesc": "使用者在已過期訂閱上點擊續訂按鈕時開啟的目標 URL。", + "subHappNotificationExpire": "到期通知", + "subHappNotificationExpireDesc": "指示 Happ 在訂閱到期前 3 天提醒使用者。", + "subHappNoLimit": "無限制模式", + "subHappNoLimitDesc": "提高 Happ 中 xray-core 的記憶體上限,以提升穩定性與效能(測試版)。", + "subHappAlwaysHwid": "強制啟用硬體識別碼(HWID)", + "subHappAlwaysHwidDesc": "禁止使用者在 Happ 設定中關閉 HWID 傳送。", + "subHappTunMode": "TUN 模式", + "subHappTunModeDesc": "桌面版 TUN 使用的網路堆疊:系統(作業系統堆疊)或 gVisor(使用者空間堆疊)。", + "subHappTunType": "TUN 引擎", + "subHappTunTypeDesc": "桌面版 TUN 連線使用的核心:sing-box、tun2proxy、預設(Happ TUN)或 Xray。", + "subHappExcludeRoutes": "排除 CIDR 路由", + "subHappExcludeRoutesDesc": "以逗號分隔、要繞過 VPN 通道的 IP CIDR(例如 192.168.0.0/16, 10.0.0.0/8)。", + "subHappExcludeApns": "排除 Apple APNs", + "subHappExcludeApnsDesc": "讓 Apple 推播通知服務繞過 VPN,確保 iOS 在背景穩定接收通知。", + "subHappColorProfile": "用戶端顏色主題", + "subHappColorProfileDesc": "以 JSON 字串自訂 iOS 顏色主題,或填入 resetcolors 以還原預設顏色。", + "subHappPingType": "延遲測試方式", + "subHappPingTypeDesc": "Happ 測量節點延遲的方式:經由代理(GET 或 HEAD)、TCP 或 ICMP。", + "subHappAutoConnect": "啟動時自動連線", + "subHappAutoConnectDesc": "指示 Happ 在應用程式啟動時自動連線至 VPN。", + "subHappAutoConnectType": "自動連線目標", + "subHappAutoConnectTypeDesc": "自動連線時選擇的伺服器:最低延遲、最後使用或隨機節點。", + "subHappPerAppMode": "Android 個別應用程式代理模式", + "subHappPerAppModeDesc": "控制 Android 應用程式路由:關閉、開啟(僅代理清單中的應用程式)或繞過(排除清單中的應用程式)。", + "subHappPerAppList": "Android 套件名稱", + "subHappPerAppListDesc": "要納入或排除的 Android 應用程式套件名稱,以逗號分隔(例如 org.telegram.messenger)。", + "subHappPresetIran": "伊朗直連", + "subHappPresetChina": "中國直連", + "subHappPresetAdblock": "廣告封鎖(AdBlock)", + "subHappPresetGlobal": "全域代理", + "subHappPresetOff": "停用路由(happ://routing/off)", + "subHappColorBlue": "藍色(標準 / 預設)", + "subHappColorGreen": "綠色(成功)", + "subHappColorRed": "紅色(警告 / 危險)", "subHappTunModeDefault": "預設", - "subHappTunModeSystem": "系統 (標準作業系統協議棧)", - "subHappTunModeGvisor": "gVisor (使用者空間協議棧)", + "subHappTunModeSystem": "系統(標準作業系統堆疊)", + "subHappTunModeGvisor": "gVisor(使用者空間堆疊)", "subHappTunTypeSingbox": "sing-box", "subHappTunTypeTun2proxy": "tun2proxy", - "subHappTunTypeDefault": "預設 (Happ TUN)", + "subHappTunTypeDefault": "預設(Happ TUN)", "subHappTunTypeXray": "Xray TUN", - "subHappPingProxy": "經由代理 (GET 延遲)", - "subHappPingProxyHead": "經由代理 (HEAD 延遲)", - "subHappPingTcp": "TCP 握手 Ping", + "subHappPingProxy": "經由代理(GET 延遲)", + "subHappPingProxyHead": "經由代理(HEAD 延遲)", + "subHappPingTcp": "TCP 交握 Ping", "subHappPingIcmp": "ICMP Ping", - "subHappAutoConnectLowestDelay": "最低延遲 (最快節點)", + "subHappAutoConnectLowestDelay": "最低延遲(最快節點)", "subHappAutoConnectLastUsed": "最後使用的節點", "subHappAutoConnectRandom": "隨機節點", "subHappPerAppOff": "關閉", - "subHappPerAppOn": "開啟 (僅代理列表中的應用)", - "subHappPerAppBypass": "繞過 (排除列表中的應用)", - "subHappPresetApplied": "Happ 预设规则已应用", - "subHappPresets": "预设路由规则", - "subHappPresetsDesc": "专为 Happ 客户端预设调优的常用分流规则。", - "subHappVisualBuilder": "可视化规则生成器", - "subHappVisualBuilderDesc": "通过域名与 IP 列表快速生成自定义 Happ 路由 DeepLink。", - "subHappBuildDeeplink": "生成 DeepLink", - "subHappModalTitle": "Happ 路由规则可视化生成器", - "subHappDirectDomains": "直连域名 (Direct)", - "subHappProxyDomains": "代理域名 (Proxy)", - "subHappBlockDomains": "阻止域名 (Block)", - "subHappDirectIPs": "直连 IP / CIDR", + "subHappPerAppOn": "開啟(僅代理清單中的應用程式)", + "subHappPerAppBypass": "繞過(排除清單中的應用程式)", + "subHappPresetApplied": "已將 Happ 範本套用至路由規則", + "subHappPresets": "路由範本", + "subHappPresetsDesc": "為 Happ 用戶端量身打造的預先設定路由規則範本。", + "subHappVisualBuilder": "視覺化規則產生器", + "subHappVisualBuilderDesc": "從網域與 IP 清單建立自訂路由深層連結。", + "subHappBuildDeeplink": "產生深層連結", + "subHappModalTitle": "Happ 視覺化路由規則產生器", + "subHappDirectDomains": "直連網域(繞過)", + "subHappProxyDomains": "代理網域(通道)", + "subHappBlockDomains": "封鎖網域(廣告 / 惡意軟體)", + "subHappDirectIPs": "直連 IP / CIDR", "subHappProxyIPs": "代理 IP / CIDR", - "subHappBlockIPs": "阻止 IP / CIDR", - "subHappDeeplinkGenerated": "DeepLink 已生成并填入路由规则", + "subHappBlockIPs": "封鎖 IP / CIDR", + "subHappDeeplinkGenerated": "已產生深層連結並套用至路由規則", "subHappGroupLinks": "訂閱連結", - "subHappGroupRouting": "路由分流与规则", - "subHappGroupBanners": "横幅公告与通知", - "subHappGroupNetwork": "网络与 TUN 引擎", - "subHappGroupThemes": "界面与主题外观", - "subHappGroupFailover": "迁移与客户端管理", - "subHappGroupAndroid": "Android 分应用代理", + "subHappGroupRouting": "路由與規則", + "subHappGroupBanners": "橫幅與公告", + "subHappGroupNetwork": "網路與 TUN 引擎", + "subHappGroupThemes": "外觀與主題", + "subHappGroupFailover": "遷移與應用程式管理", + "subHappGroupAndroid": "Android 個別應用程式代理", "discordSettings": "Discord 機器人", "discordBotEnable": "啟用 Discord 通知", "discordBotEnableDesc": "透過機器人向 Discord 頻道發送系統與事件警報",