Skip to content

Commit 8525d5e

Browse files
authored
Merge pull request #2189 from veto9292/merge-routing-with-route-rule
Merge routing with route rule
2 parents fbc6cbd + 116c79e commit 8525d5e

136 files changed

Lines changed: 5918 additions & 2807 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

assets/translations/ar.i18n.json

Lines changed: 174 additions & 110 deletions
Large diffs are not rendered by default.

assets/translations/en.i18n.json

Lines changed: 170 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
"exit": "Exit",
4343
"reset": "Reset",
4444
"done": "Done",
45-
"search": "Search",
4645
"decline": "Decline",
4746
"agree": "Agree",
4847
"empty": "Empty",
@@ -51,6 +50,10 @@
5150
"timeout": "Timeout",
5251
"sort": "Sort",
5352
"dashboard": "Dashboard",
53+
"disable": "Disable",
54+
"psiphon": "Psiphon",
55+
"profile": "Profile",
56+
"configuration": "Configuration",
5457
"interval": {
5558
"day": {
5659
"zero": "",
@@ -82,6 +85,9 @@
8285
"confirm": "Confirm import",
8386
"success": "Imported successfully",
8487
"failure": "Failed to import"
88+
},
89+
"autoSave": {
90+
"success": "Changes auto-saved successfully"
8591
}
8692
}
8793
},
@@ -93,7 +99,7 @@
9399
"pages": {
94100
"home": {
95101
"title": "Home",
96-
"quickSettings": "Quick settings"
102+
"quickSettings": "Quick setting options"
97103
},
98104
"proxies": {
99105
"title": "Proxies",
@@ -231,76 +237,10 @@
231237
},
232238
"routing": {
233239
"title": "Routing",
234-
"perAppProxy": {
235-
"title": "Per-app proxy",
236-
"hideSysApps": "Hide system apps",
237-
"options": {
238-
"import": {
239-
"clipboard": "Import selection from clipboard",
240-
"file": "Import selection from file",
241-
"msg": "Importing will replace your current selections. Are you sure you want to continue?"
242-
},
243-
"export": {
244-
"clipboard": "Copy selection to clipboard",
245-
"file": "Export selection to file"
246-
},
247-
"shareToAll": "Share to all",
248-
"clearAllSelections": "Clear all selections"
249-
},
250-
"modes": {
251-
"all": "All",
252-
"proxy": "Proxy",
253-
"bypass": "Bypass",
254-
"allMsg": "Proxy all apps",
255-
"proxyMsg": "Proxy only selected apps",
256-
"bypassMsg": "Do not proxy selected apps"
257-
},
258-
"autoSelection": {
259-
"title": "Auto selection",
260-
"performNow": "Perform now",
261-
"resetToDefault": "Reset to default",
262-
"autoUpdateInterval": "Auto update interval",
263-
"toast": {
264-
"success": "Auto apps selection completed successfully",
265-
"failure": "Auto selection failed",
266-
"regionNotFound": "Auto selection not found, region \"${region}\"",
267-
"alreadyInAuto": "Your selections are already in the auto-list"
268-
},
269-
"dialog": {
270-
"title": "Auto apps selection",
271-
"msg": "The auto selection feature for per-app proxy was disabled due to the region change to \"${region}\""
272-
}
273-
}
274-
},
275-
"region": "Region",
276-
"regions": {
277-
"ir": "Iran (ir)",
278-
"cn": "China (cn)",
279-
"ru": "Russia (ru)",
280-
"af": "Afghanistan (af)",
281-
"id": "Indonesia (id)",
282-
"tr": "Türkiye (tr)",
283-
"br": "Brazil (br)",
284-
"other": "Other"
285-
},
286-
"balancerStrategy": {
287-
"title": "Balancer strategy",
288-
"roundRobin": "Round robin",
289-
"consistentHash": "Consistent hash",
290-
"stickySession": "Sticky session"
291-
},
292-
"blockAds": "Block advertisements",
293-
"bypassLan": "Bypass LAN",
294-
"resolveDestination": "Resolve destination",
295-
"ipv6Route": "IPv6 route",
296-
"ipv6Modes": {
297-
"disable": "Disable",
298-
"enable": "Enable",
299-
"prefer": "Preferred",
300-
"only": "Exclusive"
301-
},
302240
"routeRule": {
303-
"title": "Route rules",
241+
"empty": "No rules added yet\n\nTap the + button to create a new rule or choose from predefined rules",
242+
"delete": "Delete rule",
243+
"create": "Create new rule",
304244
"options": {
305245
"import": {
306246
"clipboard": "Import rules from clipboard",
@@ -312,12 +252,8 @@
312252
},
313253
"reset": "Reset rules"
314254
},
315-
"deleteRule": "Delete rule",
316-
"createRule": "Create new rule",
317255
"rule": {
318256
"title": "Rule",
319-
"ruleChanged": "Rule changed",
320-
"ruleChangedMsg": "Do you want to save your edits?",
321257
"onlyTunMode": "Available only in tun mode",
322258
"notAvailabeInThisPlatform": "Not available in this platform",
323259
"canNotBeEmpty": "Can not be empty",
@@ -327,7 +263,7 @@
327263
"validProcessName": "Valid \"Process Name\" like\n@:pages.settings.routing.routeRule.rule.validProcessNameEx",
328264
"validProcessPathEx": "C:\\Pro...\\chrome.exe\n/App.../Google Chrome\n/usr/lib.../chrome",
329265
"validProcessPath": "Valid \"Process Path\" like\n@:pages.settings.routing.routeRule.rule.validProcessPathEx",
330-
"validPortRangeEx": "80 or 1-65000",
266+
"validPortRangeEx": "80 or 1:65000",
331267
"validPortRange": "Valid \"Port\" or \"Port Range\" like\n@:pages.settings.routing.routeRule.rule.validPortRangeEx",
332268
"validIpCidrEx": "8.8.8.8 or 10.0.0.0/24",
333269
"validIpCidr": "Valid IP CIDR like\n@:pages.settings.routing.routeRule.rule.validIpCidrEx",
@@ -379,13 +315,86 @@
379315
"update": "Update value",
380316
"clearList": "Clear list",
381317
"clearListMsg": "All items are deleted"
318+
}
319+
},
320+
"generalOptions": {
321+
"title": "Route general options",
322+
"region": "Region",
323+
"regions": {
324+
"ir": "Iran (ir)",
325+
"cn": "China (cn)",
326+
"ru": "Russia (ru)",
327+
"af": "Afghanistan (af)",
328+
"id": "Indonesia (id)",
329+
"tr": "Türkiye (tr)",
330+
"br": "Brazil (br)",
331+
"other": "Other"
332+
},
333+
"balancerStrategy": {
334+
"title": "Balancer strategy",
335+
"roundRobin": "Round robin",
336+
"consistentHash": "Consistent hash",
337+
"stickySession": "Sticky session"
382338
},
383-
"androidApps": {
384-
"pageTitle": "Android apps",
385-
"showSystemApps": "Show system apps",
386-
"hideSystemApps": "Hide system apps",
387-
"clearSelection": "Clear selection",
388-
"uninstalled": "Uninstalled"
339+
"resolveDestination": "Resolve destination",
340+
"ipv6Route": "IPv6 route",
341+
"ipv6Modes": {
342+
"disable": "Disable",
343+
"enable": "Enable",
344+
"prefer": "Preferred",
345+
"only": "Exclusive"
346+
},
347+
"perAppProxy": {
348+
"title": "Per-app proxy",
349+
"hideSysApps": "Hide system apps",
350+
"options": {
351+
"import": {
352+
"clipboard": "Import selection from clipboard",
353+
"file": "Import selection from file",
354+
"msg": "Importing will replace your current selections. Are you sure you want to continue?"
355+
},
356+
"export": {
357+
"clipboard": "Copy selection to clipboard",
358+
"file": "Export selection to file"
359+
},
360+
"shareToAll": "Share to all",
361+
"clearAllSelections": "Clear all selections"
362+
},
363+
"modes": {
364+
"all": "All",
365+
"proxy": "Proxy",
366+
"bypass": "Bypass",
367+
"allMsg": "Proxy all apps",
368+
"proxyMsg": "Proxy only selected apps",
369+
"bypassMsg": "Do not proxy selected apps"
370+
},
371+
"autoSelection": {
372+
"title": "Auto selection",
373+
"performNow": "Perform now",
374+
"resetToDefault": "Reset to default",
375+
"autoUpdateInterval": "Auto update interval",
376+
"toast": {
377+
"success": "Auto apps selection completed successfully",
378+
"failure": "Auto selection failed",
379+
"regionNotFound": "Auto selection not found, region \"${region}\"",
380+
"alreadyInAuto": "Your selections are already in the auto-list"
381+
},
382+
"dialog": {
383+
"title": "Auto apps selection",
384+
"msg": "The auto selection feature for per-app proxy was disabled due to the region change to \"${region}\""
385+
}
386+
}
387+
}
388+
},
389+
"predefinedRules": {
390+
"title": "Predefined rules",
391+
"ads": {
392+
"name": "Block ads",
393+
"description": ""
394+
},
395+
"bypassLan": {
396+
"name": "Bypass LAN",
397+
"description": ""
389398
}
390399
}
391400
},
@@ -395,7 +404,6 @@
395404
"remoteDnsDomainStrategy": "Remote DNS domain strategy",
396405
"directDns": "Outbound server resolver (direct)",
397406
"directDnsDomainStrategy": "Outbound domain strategy",
398-
"enableDnsRouting": "Enable DNS routing",
399407
"enableFakeDns": "Enable fake DNS",
400408
"domainStrategy": {
401409
"auto": "Auto",
@@ -411,14 +419,12 @@
411419
"serviceModes": {
412420
"proxy": "Proxy service only",
413421
"systemProxy": "Set system proxy",
414-
"tun": "VPN",
415-
"tunService": "VPN service"
422+
"tun": "VPN"
416423
},
417424
"shortServiceModes": {
418425
"proxy": "Proxy",
419426
"systemProxy": "System proxy",
420-
"tun": "VPN",
421-
"tunService": "VPN service"
427+
"tun": "VPN"
422428
},
423429
"strictRoute": "Strict route",
424430
"tunImplementation": "Tun implementation",
@@ -453,27 +459,83 @@
453459
"size": "Padding size"
454460
}
455461
},
456-
"warp": {
457-
"title": "WARP",
458-
"enable": "Enable WARP",
459-
"generateConfig": "Generate WARP config",
460-
"configGenerated": "Warp config is generated",
461-
"missingConfig": "Missing WARP config",
462-
"detourMode": "Detour mode",
463-
"detourModes": {
464-
"proxyOverWarp": "Detour proxies through WARP ",
465-
"warpOverProxy": "Detour WARP through proxies",
466-
"proxyOverWarpExplain": "Unblock proxies by WARP",
467-
"warpOverProxyExplain": "Extra security by WARP"
462+
"chain": {
463+
"title": "Chain",
464+
"subtitle": "Extra security & Unblocker",
465+
"finalIp": "Final IP",
466+
"levels": {
467+
"app": {
468+
"title": "App",
469+
"msg": "Start point: Your app traffic enters the chain here and passes through the next layers to prepare for the final bypass"
470+
},
471+
"extraSecurity": {
472+
"title": "Extra security",
473+
"msg": "Adds an extra shield to keep your data private, even if your main profile is untrusted"
474+
},
475+
"mainProfile": {
476+
"title": "Main profile"
477+
},
478+
"unblocker": {
479+
"title": "Unblocker",
480+
"msg": "Helps bypass network restrictions. If the helper connects, your main profile can still work even if it's currently blocked"
481+
},
482+
"filtering": {
483+
"title": "Filtering",
484+
"msg": "Final exit: After passing through the active layers (Extra Security, Main Profile, or Unblocker) and applying their effects, your traffic is finally routed to bypass local network filtering"
485+
}
486+
},
487+
"warp": {
488+
"missingConfig": "Missing WARP config",
489+
"licenseKey": "License key",
490+
"cleanIp": "Clean IP",
491+
"port": "Port",
492+
"noise": {
493+
"count": "Noise count",
494+
"mode": "Noise mode",
495+
"size": "Noise size",
496+
"delay": "Noise delay"
497+
}
498+
},
499+
"psiphon": {
500+
"selectServerRegion": "Select server region",
501+
"regions": {
502+
"auto": "@:common.auto",
503+
"at": "Austria (at)",
504+
"au": "Australia (au)",
505+
"be": "Belgium (be)",
506+
"bg": "Bulgaria (bg)",
507+
"ca": "Canada (ca)",
508+
"ch": "Switzerland (ch)",
509+
"cz": "Czech Republic (cz)",
510+
"de": "Germany (de)",
511+
"dk": "Denmark (dk)",
512+
"ee": "Estonia (ee)",
513+
"es": "Spain (es)",
514+
"fi": "Finland (fi)",
515+
"fr": "France (fr)",
516+
"gb": "United Kingdom (gb)",
517+
"hr": "Croatia (hr)",
518+
"hu": "Hungary (hu)",
519+
"ie": "Ireland (ie)",
520+
"in": "India (in)",
521+
"it": "Italy (it)",
522+
"jp": "Japan (jp)",
523+
"lv": "Latvia (lv)",
524+
"nl": "Netherlands (nl)",
525+
"no": "Norway (no)",
526+
"pl": "Poland (pl)",
527+
"pt": "Portugal (pt)",
528+
"ro": "Romania (ro)",
529+
"rs": "Serbia (rs)",
530+
"se": "Sweden (se)",
531+
"sg": "Singapore (sg)",
532+
"sk": "Slovakia (sk)",
533+
"us": "United States (us)"
534+
}
468535
},
469-
"licenseKey": "License key",
470-
"cleanIp": "Clean IP",
471-
"port": "Port",
472-
"noise": {
473-
"count": "Noise count",
474-
"mode": "Noise mode",
475-
"size": "Noise size",
476-
"delay": "Noise delay"
536+
"profile": {
537+
"selectProfile": "Select profile",
538+
"conduitPairingId": "Conduit pairing ID"
477539
}
478540
}
479541
}
@@ -606,8 +668,7 @@
606668
"disconnect": "Disconnect",
607669
"disconnecting": "Disconnecting...",
608670
"reconnect": "Reconnect",
609-
"reconnectMsg": "Reconnecting for taking into account the changes...",
610-
"secure": "Secured by WARP"
671+
"reconnectMsg": "Reconnecting for taking into account the changes..."
611672
},
612673
"errors": {
613674
"unexpected": "Unexpected error",

0 commit comments

Comments
 (0)