feat(settings): add setting for Reality scan candidates (#6471)

* feat(settings): allow customizing Reality scan candidate list

Persist a realityScanCandidates panel setting (defaulting to the previous
hardcoded list), expose it in General Settings with i18n, and have the
Find Targets scanner use it when the search box is empty.

Fixes #5847

* style(frontend): oxfmt realityScanCandidates in setting.ts

* Fix locale JSON syntax

This change removes the malformed duplicate key and missing comma in the Android per-app proxy translations across the bundled locale files. The JSON now parses correctly while preserving the translated labels for each language.

* docs(i18n): update Happ translations

Localize the remaining Happ subscription settings strings across the translation files and refine the English copy. This aligns the labels and descriptions with the current Happ behavior for notifications, TUN options, HWID enforcement, routing presets, and per-app proxy settings.

* refactor(reality): drop test-only scaffolding from the candidate setting

TestDefaultRealityScanCandidatesCSV compared the CSV against its own
initializer and a defaultValueMap lookup, and
TestRealityScanCandidateTokensFallsBackWithoutDB drove a no-database
state no production caller reaches (the only caller is the
scanRealityTargets handler, served after InitDB). The
s != nil && GetDB() != nil guard existed only for that second test.
None of them could fail except in lockstep with the code they restate.

* docs(api): describe the setting-driven scanRealityTargets fallback

An empty targets value now probes the realityScanCandidates setting,
but the endpoint summary, parameter description and handler comment
still promised the built-in seed list, so API consumers were told the
wrong target set. Regenerated openapi.json and synced the docs copy,
which also lacked the new AllSetting field in the settings reference.

---------

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