Compare commits

...

38 commits

Author SHA1 Message Date
JieXu
3db36782ef
Merge 52ad076752 into e4701d6703 2025-10-22 16:06:52 +00:00
JieXu
52ad076752
Update ResUI.fr.resx 2025-10-23 00:06:48 +08:00
JieXu
d1e6094f17
Update ResUI.fr.resx 2025-10-22 23:39:06 +08:00
JieXu
7ebb997f26
Update ResUI.fr.resx 2025-10-22 23:19:55 +08:00
JieXu
34b93c4720
Update ResUI.fr.resx 2025-10-22 23:15:30 +08:00
JieXu
9a2abc18b5
Update ResUI.fr.resx 2025-10-22 23:04:56 +08:00
JieXu
476b85231b
Update ResUI.fr.resx 2025-10-22 22:03:19 +08:00
JieXu
00a3f9fdda
Update ResUI.fr.resx 2025-10-22 21:42:43 +08:00
JieXu
b494b449c8
Merge branch '2dust:master' into master 2025-10-22 21:36:39 +08:00
JieXu
c7039e9c9d
Update ResUI.fr.resx 2025-10-22 21:33:40 +08:00
JieXu
b4903d599f
Update ResUI.fr.resx 2025-10-22 21:24:13 +08:00
JieXu
c357c69aee
Update ResUI.fr.resx 2025-10-22 21:01:40 +08:00
JieXu
52570b07a7
Update ResUI.fr.resx 2025-10-22 20:56:22 +08:00
JieXu
3996aa297e
Update ResUI.fr.resx 2025-10-22 20:32:50 +08:00
JieXu
e956f748be
Update ResUI.fr.resx 2025-10-22 20:20:59 +08:00
JieXu
936ca9e124
Update ResUI.fr.resx 2025-10-22 19:56:00 +08:00
2dust
e4701d6703 Add one-click test of real connection delay
Some checks are pending
release Linux / build (Release) (push) Waiting to run
release macOS / build (Release) (push) Waiting to run
release Windows desktop (Avalonia UI) / build (Release) (push) Waiting to run
release Windows / build (Release) (push) Waiting to run
2025-10-22 19:54:24 +08:00
JieXu
4a1b6daf81
Update package-debian.sh 2025-10-22 19:42:16 +08:00
JieXu
a39caf3c9b
Update package-rhel.sh 2025-10-22 19:41:29 +08:00
mlds23
54a47d00a3
更新繁體中文翻譯 (#8166) 2025-10-22 17:00:19 +08:00
JieXu
7f8af57544
Update ResUI.fr.resx 2025-10-22 08:30:46 +08:00
JieXu
7844bfcadb
Update ResUI.fr.resx 2025-10-22 08:23:26 +08:00
JieXu
d093ab2716
Update ResUI.fr.resx 2025-10-22 08:22:24 +08:00
JieXu
962ec30a08
Update ResUI.fr.resx 2025-10-22 08:16:32 +08:00
JieXu
ff50452be0
Update ResUI.fr.resx 2025-10-22 08:14:35 +08:00
JieXu
0774c09d0a
Update ResUI.fr.resx 2025-10-22 08:12:21 +08:00
JieXu
39690fd404
Update ResUI.fr.resx 2025-10-22 07:57:43 +08:00
JieXu
428413168b
Update ResUI.fr.resx 2025-10-22 07:47:03 +08:00
JieXu
57cab4936a
Update ResUI.fr.resx 2025-10-22 07:35:00 +08:00
JieXu
728bd2497c
Update ResUI.fr.resx 2025-10-22 07:20:04 +08:00
JieXu
2d58938571
Update French translation for auto-scroll message 2025-10-22 06:51:36 +08:00
JieXu
d6882f29ec
Update ResUI.fr.resx 2025-10-22 06:41:28 +08:00
JieXu
2f2f054b26
Update ResUI.fr.resx 2025-10-22 03:54:05 +08:00
JieXu
47f96fb091
Update Resource.fr.resx 2025-10-22 03:31:20 +08:00
JieXu
bdf629fd34
Create Resource.fr.resx 2025-10-22 03:11:56 +08:00
JieXu
2579cc7fa3
Add French resource file to ServiceLib project 2025-10-22 02:55:17 +08:00
JieXu
95c2308ecd
Add French language support to Global.cs 2025-10-22 02:53:42 +08:00
JieXu
d5594aeac7
Create ResUI.fr.resx 2025-10-22 02:39:34 +08:00
19 changed files with 1966 additions and 137 deletions

View file

@ -28,7 +28,7 @@ Package: v2rayN
Version: $Version Version: $Version
Architecture: $Arch2 Architecture: $Arch2
Maintainer: https://github.com/2dust/v2rayN Maintainer: https://github.com/2dust/v2rayN
Depends: desktop-file-utils, xdg-utils Depends: libc6 (>= 2.34), fontconfig (>= 2.14), xdg-utils (>= 1.1.3), libx11-6 (>= 1.7), openssl (>= 3.0), desktop-file-utils (>= 0.26)
Description: A GUI client for Windows and Linux, support Xray core and sing-box-core and others Description: A GUI client for Windows and Linux, support Xray core and sing-box-core and others
EOF EOF

View file

@ -614,8 +614,14 @@ ExclusiveArch: aarch64 x86_64
Source0: __PKGROOT__.tar.gz Source0: __PKGROOT__.tar.gz
# Runtime dependencies (Avalonia / X11 / Fonts / GL) # Runtime dependencies (Avalonia / X11 / Fonts / GL)
Requires: libX11, libXrandr, libXcursor, libXi, libXext, libxcb, libXrender, libXfixes, libXinerama, libxkbcommon Requires: libXrandr, libXcursor, libXi, libXext, libxcb, libXrender, libXfixes, libXinerama, libxkbcommon
Requires: fontconfig, freetype, cairo, pango, mesa-libEGL, mesa-libGL, xdg-utils Requires: freetype, cairo, pango, mesa-libEGL, mesa-libGL
Requires: glibc >= 2.34
Requires: fontconfig >= 2.14
Requires: xdg-utils >= 1.1.3
Requires: libX11 >= 1.7
Requires: openssl >= 1:3.0
Requires: desktop-file-utils >= 0.26
%description %description
v2rayN Linux for Red Hat Enterprise Linux v2rayN Linux for Red Hat Enterprise Linux

View file

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Restartv2rayN" xml:space="preserve">
<value>Redémarrage de v2rayN, veuillez patienter...</value>
</data>
<data name="Guidelines" xml:space="preserve">
<value>Veuillez lexécuter depuis lapplication principale.</value>
</data>
<data name="UpgradeFileNotFound" xml:space="preserve">
<value>Échec de la mise à jour, fichier introuvable.</value>
</data>
<data name="InProgress" xml:space="preserve">
<value>En cours, veuillez patienter...</value>
</data>
<data name="TryTerminateProcess" xml:space="preserve">
<value>Tentative darrêt du processus v2rayN...</value>
</data>
<data name="FailedTerminateProcess" xml:space="preserve">
<value>Veuillez fermer manuellement v2rayN en cours dexécution, sinon la mise à jour peut échouer.</value>
</data>
<data name="StartUnzipping" xml:space="preserve">
<value>Début de lextraction du paquet de mise à jour...</value>
</data>
<data name="SuccessUnzipping" xml:space="preserve">
<value>Extraction du paquet de mise à jour réussie.</value>
</data>
<data name="FailedUnzipping" xml:space="preserve">
<value>Échec de lextraction du paquet de mise à jour.</value>
</data>
<data name="FailedUpgrade" xml:space="preserve">
<value>Échec de la mise à jour.</value>
</data>
<data name="SuccessUpgrade" xml:space="preserve">
<value>Mise à jour réussie.</value>
</data>
<data name="Information" xml:space="preserve">
<value>Information</value>
</data>
</root>

View file

@ -5,5 +5,6 @@ public enum ESpeedActionType
Tcping, Tcping,
Realping, Realping,
Speedtest, Speedtest,
Mixedtest Mixedtest,
FastRealping
} }

View file

@ -427,6 +427,7 @@ public class Global
"zh-Hant", "zh-Hant",
"en", "en",
"fa-Ir", "fa-Ir",
"fr",
"ru", "ru",
"hu" "hu"
]; ];

View file

@ -19,7 +19,7 @@ namespace ServiceLib.Resx {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。 // (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class ResUI { public class ResUI {
@ -1023,6 +1023,15 @@ namespace ServiceLib.Resx {
} }
} }
/// <summary>
/// 查找类似 Test real delay 的本地化字符串。
/// </summary>
public static string menuFastRealPing {
get {
return ResourceManager.GetString("menuFastRealPing", resourceCulture);
}
}
/// <summary> /// <summary>
/// 查找类似 Full Config Template Setting 的本地化字符串。 /// 查找类似 Full Config Template Setting 的本地化字符串。
/// </summary> /// </summary>

View file

@ -1596,4 +1596,7 @@
<data name="TbBootstrapDNSTips" xml:space="preserve"> <data name="TbBootstrapDNSTips" xml:space="preserve">
<value>Resolve DNS server domains, requires IP</value> <value>Resolve DNS server domains, requires IP</value>
</data> </data>
<data name="menuFastRealPing" xml:space="preserve">
<value>Test real delay</value>
</data>
</root> </root>

File diff suppressed because it is too large Load diff

View file

@ -1596,4 +1596,7 @@
<data name="TbBootstrapDNSTips" xml:space="preserve"> <data name="TbBootstrapDNSTips" xml:space="preserve">
<value>Resolve DNS server domains, requires IP</value> <value>Resolve DNS server domains, requires IP</value>
</data> </data>
<data name="menuFastRealPing" xml:space="preserve">
<value>Test real delay</value>
</data>
</root> </root>

View file

@ -1596,4 +1596,7 @@
<data name="TbBootstrapDNSTips" xml:space="preserve"> <data name="TbBootstrapDNSTips" xml:space="preserve">
<value>Resolve DNS server domains, requires IP</value> <value>Resolve DNS server domains, requires IP</value>
</data> </data>
<data name="menuFastRealPing" xml:space="preserve">
<value>Test real delay</value>
</data>
</root> </root>

View file

@ -1596,4 +1596,7 @@
<data name="TbBootstrapDNSTips" xml:space="preserve"> <data name="TbBootstrapDNSTips" xml:space="preserve">
<value>Resolve DNS server domains, requires IP</value> <value>Resolve DNS server domains, requires IP</value>
</data> </data>
<data name="menuFastRealPing" xml:space="preserve">
<value>Test real delay</value>
</data>
</root> </root>

View file

@ -1593,4 +1593,7 @@
<data name="TbBootstrapDNSTips" xml:space="preserve"> <data name="TbBootstrapDNSTips" xml:space="preserve">
<value>解析 DNS 服务器域名,需指定为 IP</value> <value>解析 DNS 服务器域名,需指定为 IP</value>
</data> </data>
<data name="menuFastRealPing" xml:space="preserve">
<value>一键测试真连接延迟</value>
</data>
</root> </root>

View file

@ -121,7 +121,7 @@
<value>匯出分享連結至剪貼簿成功</value> <value>匯出分享連結至剪貼簿成功</value>
</data> </data>
<data name="CheckServerSettings" xml:space="preserve"> <data name="CheckServerSettings" xml:space="preserve">
<value>請先檢查設定檔設定</value> <value>請先檢查設定</value>
</data> </data>
<data name="ConfigurationFormatIncorrect" xml:space="preserve"> <data name="ConfigurationFormatIncorrect" xml:space="preserve">
<value>設定格式不正確</value> <value>設定格式不正確</value>
@ -133,7 +133,7 @@
<value>下載開始...</value> <value>下載開始...</value>
</data> </data>
<data name="FailedConversionConfiguration" xml:space="preserve"> <data name="FailedConversionConfiguration" xml:space="preserve">
<value>轉換設定失敗</value> <value>轉換設定失敗</value>
</data> </data>
<data name="FailedGenDefaultConfiguration" xml:space="preserve"> <data name="FailedGenDefaultConfiguration" xml:space="preserve">
<value>生成預設設定檔失敗</value> <value>生成預設設定檔失敗</value>
@ -142,10 +142,10 @@
<value>獲取預設設定失敗</value> <value>獲取預設設定失敗</value>
</data> </data>
<data name="FailedImportedCustomServer" xml:space="preserve"> <data name="FailedImportedCustomServer" xml:space="preserve">
<value>匯入自訂設定設定檔失敗</value> <value>匯入自訂設定失敗</value>
</data> </data>
<data name="FailedReadConfiguration" xml:space="preserve"> <data name="FailedReadConfiguration" xml:space="preserve">
<value>讀取設定失敗</value> <value>讀取設定失敗</value>
</data> </data>
<data name="FillCorrectServerPort" xml:space="preserve"> <data name="FillCorrectServerPort" xml:space="preserve">
<value>請填寫正確格式的埠</value> <value>請填寫正確格式的埠</value>
@ -265,13 +265,13 @@
<value>請選擇協定</value> <value>請選擇協定</value>
</data> </data>
<data name="PleaseSelectServer" xml:space="preserve"> <data name="PleaseSelectServer" xml:space="preserve">
<value>請先選擇設定</value> <value>請先選擇設定</value>
</data> </data>
<data name="RemoveDuplicateServerResult" xml:space="preserve"> <data name="RemoveDuplicateServerResult" xml:space="preserve">
<value>設定檔去重完成。原數量: {0},現數量: {1}。</value> <value>去重完成。原數量: {0},現數量: {1}。</value>
</data> </data>
<data name="RemoveServer" xml:space="preserve"> <data name="RemoveServer" xml:space="preserve">
<value>是否確定移除設定檔</value> <value>是否確定移除?</value>
</data> </data>
<data name="SaveClientConfigurationIn" xml:space="preserve"> <data name="SaveClientConfigurationIn" xml:space="preserve">
<value>用戶端設定檔儲存在:{0}</value> <value>用戶端設定檔儲存在:{0}</value>
@ -283,10 +283,10 @@
<value>設定成功。{0}</value> <value>設定成功。{0}</value>
</data> </data>
<data name="SuccessfullyImportedCustomServer" xml:space="preserve"> <data name="SuccessfullyImportedCustomServer" xml:space="preserve">
<value>成功匯入自訂設定設定檔</value> <value>成功匯入自訂節點</value>
</data> </data>
<data name="SuccessfullyImportedServerViaClipboard" xml:space="preserve"> <data name="SuccessfullyImportedServerViaClipboard" xml:space="preserve">
<value>成功從剪貼簿匯入 {0} 個設定檔</value> <value>成功從剪貼簿匯入 {0} 個節點</value>
</data> </data>
<data name="SuccessfullyImportedServerViaScan" xml:space="preserve"> <data name="SuccessfullyImportedServerViaScan" xml:space="preserve">
<value>掃描匯入分享連結成功</value> <value>掃描匯入分享連結成功</value>
@ -385,7 +385,7 @@
<value>所有</value> <value>所有</value>
</data> </data>
<data name="FillServerAddressCustom" xml:space="preserve"> <data name="FillServerAddressCustom" xml:space="preserve">
<value>請瀏覽匯入設定檔設定</value> <value>請瀏覽匯入設定</value>
</data> </data>
<data name="Speedtesting" xml:space="preserve"> <data name="Speedtesting" xml:space="preserve">
<value>測試中...</value> <value>測試中...</value>
@ -397,7 +397,7 @@
<value>本機</value> <value>本機</value>
</data> </data>
<data name="MsgServerTitle" xml:space="preserve"> <data name="MsgServerTitle" xml:space="preserve">
<value>設定檔過濾,按 Enter 執行</value> <value>過濾,按 Enter 執行</value>
</data> </data>
<data name="menuCheckUpdate" xml:space="preserve"> <data name="menuCheckUpdate" xml:space="preserve">
<value>檢查更新</value> <value>檢查更新</value>
@ -478,55 +478,55 @@
<value>掃描螢幕上的二維碼 (Ctrl+S)</value> <value>掃描螢幕上的二維碼 (Ctrl+S)</value>
</data> </data>
<data name="menuCopyServer" xml:space="preserve"> <data name="menuCopyServer" xml:space="preserve">
<value>複製所選設定檔</value> <value>複製所選</value>
</data> </data>
<data name="menuRemoveDuplicateServer" xml:space="preserve"> <data name="menuRemoveDuplicateServer" xml:space="preserve">
<value>移除重複的設定檔</value> <value>移除重複</value>
</data> </data>
<data name="menuRemoveServer" xml:space="preserve"> <data name="menuRemoveServer" xml:space="preserve">
<value>移除所選設定檔 (多選) (Delete)</value> <value>移除所選 (多選) (Delete)</value>
</data> </data>
<data name="menuSetDefaultServer" xml:space="preserve"> <data name="menuSetDefaultServer" xml:space="preserve">
<value>設為活動設定檔 (Enter)</value> <value>設為活動 (Enter)</value>
</data> </data>
<data name="menuClearServerStatistics" xml:space="preserve"> <data name="menuClearServerStatistics" xml:space="preserve">
<value>清除所有服務統計資料</value> <value>清除所有服務統計資料</value>
</data> </data>
<data name="menuRealPingServer" xml:space="preserve"> <data name="menuRealPingServer" xml:space="preserve">
<value>測試設定檔真連線延遲 (多選) (Ctrl+R)</value> <value>測試真連線延遲 (多選) (Ctrl+R)</value>
</data> </data>
<data name="menuSortServerResult" xml:space="preserve"> <data name="menuSortServerResult" xml:space="preserve">
<value>按測試結果排序</value> <value>按測試結果排序</value>
</data> </data>
<data name="menuSpeedServer" xml:space="preserve"> <data name="menuSpeedServer" xml:space="preserve">
<value>測試設定檔速度 (多選) (Ctrl+T)</value> <value>測試速度 (多選) (Ctrl+T)</value>
</data> </data>
<data name="menuTcpingServer" xml:space="preserve"> <data name="menuTcpingServer" xml:space="preserve">
<value>測試設定檔延遲 Tcping (多選) (Ctrl+O)</value> <value>測試延遲 Tcping (多選) (Ctrl+O)</value>
</data> </data>
<data name="menuExport2ClientConfig" xml:space="preserve"> <data name="menuExport2ClientConfig" xml:space="preserve">
<value>匯出所選設定檔完整設定</value> <value>匯出所選完整設定</value>
</data> </data>
<data name="menuExport2ShareUrl" xml:space="preserve"> <data name="menuExport2ShareUrl" xml:space="preserve">
<value>匯出分享連結至剪貼簿 (多選) (Ctrl+C)</value> <value>匯出分享連結至剪貼簿 (多選) (Ctrl+C)</value>
</data> </data>
<data name="menuAddCustomServer" xml:space="preserve"> <data name="menuAddCustomServer" xml:space="preserve">
<value>新增自訂設定設定檔</value> <value>新增自訂節點</value>
</data> </data>
<data name="menuAddShadowsocksServer" xml:space="preserve"> <data name="menuAddShadowsocksServer" xml:space="preserve">
<value>新增 [Shadowsocks] 設定檔</value> <value>新增 [Shadowsocks] 節點</value>
</data> </data>
<data name="menuAddSocksServer" xml:space="preserve"> <data name="menuAddSocksServer" xml:space="preserve">
<value>新增 [SOCKS] 設定檔</value> <value>新增 [SOCKS] 節點</value>
</data> </data>
<data name="menuAddTrojanServer" xml:space="preserve"> <data name="menuAddTrojanServer" xml:space="preserve">
<value>新增 [Trojan] 設定檔</value> <value>新增 [Trojan] 節點</value>
</data> </data>
<data name="menuAddVlessServer" xml:space="preserve"> <data name="menuAddVlessServer" xml:space="preserve">
<value>新增 [VLESS] 設定檔</value> <value>新增 [VLESS] 節點</value>
</data> </data>
<data name="menuAddVmessServer" xml:space="preserve"> <data name="menuAddVmessServer" xml:space="preserve">
<value>新增 [VMess] 設定檔</value> <value>新增 [VMess] 節點</value>
</data> </data>
<data name="menuSelectAll" xml:space="preserve"> <data name="menuSelectAll" xml:space="preserve">
<value>全選 (Ctrl+A)</value> <value>全選 (Ctrl+A)</value>
@ -676,7 +676,7 @@
<value>Core: 基礎設定</value> <value>Core: 基礎設定</value>
</data> </data>
<data name="TbCustomDnsRay" xml:space="preserve"> <data name="TbCustomDnsRay" xml:space="preserve">
<value>V2ray Custom DNS</value> <value>v2ray 自訂 DNS</value>
</data> </data>
<data name="TbSettingsCoreKcp" xml:space="preserve"> <data name="TbSettingsCoreKcp" xml:space="preserve">
<value>Core: KCP 設定</value> <value>Core: KCP 設定</value>
@ -691,7 +691,7 @@
<value>Outbound Freedom domainStrategy</value> <value>Outbound Freedom domainStrategy</value>
</data> </data>
<data name="TbSettingsEnableAutoAdjustMainLvColWidth" xml:space="preserve"> <data name="TbSettingsEnableAutoAdjustMainLvColWidth" xml:space="preserve">
<value>在更新訂閱後自動調整設定檔列寬</value> <value>在更新訂閱後自動調整列寬</value>
</data> </data>
<data name="TbSettingsEnableCheckPreReleaseUpdate" xml:space="preserve"> <data name="TbSettingsEnableCheckPreReleaseUpdate" xml:space="preserve">
<value>檢查 Pre-Release 更新 (請謹慎啟用)</value> <value>檢查 Pre-Release 更新 (請謹慎啟用)</value>
@ -700,7 +700,7 @@
<value>例外</value> <value>例外</value>
</data> </data>
<data name="TbSettingsExceptionTip" xml:space="preserve"> <data name="TbSettingsExceptionTip" xml:space="preserve">
<value>例外:對於下列字元開頭的位址,不使用代理設定檔。使用分號 (;) 分隔。</value> <value>例外:對於下列字元開頭的位址,不使用代理。使用分號 (;) 分隔。</value>
</data> </data>
<data name="TbSettingsDisplayRealTimeSpeed" xml:space="preserve"> <data name="TbSettingsDisplayRealTimeSpeed" xml:space="preserve">
<value>顯示即時速度(需重啟)</value> <value>顯示即時速度(需重啟)</value>
@ -748,7 +748,7 @@
<value>系統代理設定</value> <value>系統代理設定</value>
</data> </data>
<data name="TbSettingsTrayMenuServersLimit" xml:space="preserve"> <data name="TbSettingsTrayMenuServersLimit" xml:space="preserve">
<value>工具列右鍵選單設定展示數量限制</value> <value>工具列右鍵選單設定展示數量限制</value>
</data> </data>
<data name="TbSettingsUdpEnabled" xml:space="preserve"> <data name="TbSettingsUdpEnabled" xml:space="preserve">
<value>開啟 UDP</value> <value>開啟 UDP</value>
@ -781,7 +781,7 @@
<value>PAC 模式</value> <value>PAC 模式</value>
</data> </data>
<data name="menuShareServer" xml:space="preserve"> <data name="menuShareServer" xml:space="preserve">
<value>分享設定檔 (Ctrl+F)</value> <value>分享 (Ctrl+F)</value>
</data> </data>
<data name="menuRouting" xml:space="preserve"> <data name="menuRouting" xml:space="preserve">
<value>路由</value> <value>路由</value>
@ -883,7 +883,7 @@
<value>請勿將代理伺服器用於本機Intranet位址</value> <value>請勿將代理伺服器用於本機Intranet位址</value>
</data> </data>
<data name="menuMixedTestServer" xml:space="preserve"> <data name="menuMixedTestServer" xml:space="preserve">
<value>一鍵多執行緒測試延遲和速度 (Ctrl+E)</value> <value>一鍵延遲與速度測試 (Ctrl+E)</value>
</data> </data>
<data name="LvTestDelay" xml:space="preserve"> <data name="LvTestDelay" xml:space="preserve">
<value>延遲 (ms)</value> <value>延遲 (ms)</value>
@ -913,7 +913,7 @@
<value>移至訂閱分組</value> <value>移至訂閱分組</value>
</data> </data>
<data name="TbSettingsEnableDragDropSort" xml:space="preserve"> <data name="TbSettingsEnableDragDropSort" xml:space="preserve">
<value>啟動設定檔拖放排序 (需重啟)</value> <value>啟拖放排序 (需重啟)</value>
</data> </data>
<data name="TbAutoRefresh" xml:space="preserve"> <data name="TbAutoRefresh" xml:space="preserve">
<value>自動重新整理</value> <value>自動重新整理</value>
@ -922,10 +922,10 @@
<value>跳過測試</value> <value>跳過測試</value>
</data> </data>
<data name="menuEditServer" xml:space="preserve"> <data name="menuEditServer" xml:space="preserve">
<value>編輯設定檔 (Ctrl+D)</value> <value>編輯 (Ctrl+D)</value>
</data> </data>
<data name="TbSettingsDoubleClick2Activate" xml:space="preserve"> <data name="TbSettingsDoubleClick2Activate" xml:space="preserve">
<value>主介面輕按兩下設為活動設定檔</value> <value>主介面輕按兩下設為活動</value>
</data> </data>
<data name="SpeedtestingCompleted" xml:space="preserve"> <data name="SpeedtestingCompleted" xml:space="preserve">
<value>測試完成</value> <value>測試完成</value>
@ -943,7 +943,7 @@
<value>目前字型 (需重啟)</value> <value>目前字型 (需重啟)</value>
</data> </data>
<data name="TbSettingsCurrentFontFamilyTip" xml:space="preserve"> <data name="TbSettingsCurrentFontFamilyTip" xml:space="preserve">
<value>複製字型 TTF/TTC 檔案到目錄 guiFonts啟設定</value> <value>複製字型 TTF/TTC 檔案到目錄 guiFonts新啟動後生效</value>
</data> </data>
<data name="TbSettingsSocksPortTip" xml:space="preserve"> <data name="TbSettingsSocksPortTip" xml:space="preserve">
<value>Pac 連接埠 = +3Xray API 連接埠 = +4mihomo API 連接埠 = +5</value> <value>Pac 連接埠 = +3Xray API 連接埠 = +4mihomo API 連接埠 = +5</value>
@ -1003,10 +1003,10 @@
<value>不需要轉換時請留空</value> <value>不需要轉換時請留空</value>
</data> </data>
<data name="menuDNSSetting" xml:space="preserve"> <data name="menuDNSSetting" xml:space="preserve">
<value>DNS 設定</value> <value>DNS設定</value>
</data> </data>
<data name="TbCustomDnsSingbox" xml:space="preserve"> <data name="TbCustomDnsSingbox" xml:space="preserve">
<value>sing-box Custom DNS</value> <value>sing-box 自訂 DNS</value>
</data> </data>
<data name="TbDnsSingboxObjectDoc" xml:space="preserve"> <data name="TbDnsSingboxObjectDoc" xml:space="preserve">
<value>請填寫 DNS JSON 結構,點擊查看檔案</value> <value>請填寫 DNS JSON 結構,點擊查看檔案</value>
@ -1030,7 +1030,7 @@
<value>Domain</value> <value>Domain</value>
</data> </data>
<data name="menuAddHysteria2Server" xml:space="preserve"> <data name="menuAddHysteria2Server" xml:space="preserve">
<value>添加 [Hysteria2] 設定檔</value> <value>新增 [Hysteria2] 節點</value>
</data> </data>
<data name="TbSettingsHysteriaBandwidth" xml:space="preserve"> <data name="TbSettingsHysteriaBandwidth" xml:space="preserve">
<value>Hysteria 最大頻寬 (Up/Dw)</value> <value>Hysteria 最大頻寬 (Up/Dw)</value>
@ -1039,19 +1039,19 @@
<value>使用系統 hosts</value> <value>使用系統 hosts</value>
</data> </data>
<data name="menuAddTuicServer" xml:space="preserve"> <data name="menuAddTuicServer" xml:space="preserve">
<value>新增 [TUIC] 設定檔</value> <value>新增 [TUIC] 節點</value>
</data> </data>
<data name="TbHeaderType8" xml:space="preserve"> <data name="TbHeaderType8" xml:space="preserve">
<value>擁塞控制算法</value> <value>擁塞控制算法</value>
</data> </data>
<data name="LvPrevProfile" xml:space="preserve"> <data name="LvPrevProfile" xml:space="preserve">
<value>前置代理設定檔別名</value> <value>前置代理節點別名</value>
</data> </data>
<data name="LvNextProfile" xml:space="preserve"> <data name="LvNextProfile" xml:space="preserve">
<value>落地代理設定檔別名</value> <value>落地代理節點別名</value>
</data> </data>
<data name="LvPrevProfileTip" xml:space="preserve"> <data name="LvPrevProfileTip" xml:space="preserve">
<value>請確保設定檔別名存在並且唯一</value> <value>請確保節點別名存在並且唯一</value>
</data> </data>
<data name="TbSettingsTunAutoRoute" xml:space="preserve"> <data name="TbSettingsTunAutoRoute" xml:space="preserve">
<value>自動路由</value> <value>自動路由</value>
@ -1072,7 +1072,7 @@
<value>啟用 IPv6</value> <value>啟用 IPv6</value>
</data> </data>
<data name="menuAddWireguardServer" xml:space="preserve"> <data name="menuAddWireguardServer" xml:space="preserve">
<value>添加 [WireGuard] 設定檔</value> <value>新增 [WireGuard] 節點</value>
</data> </data>
<data name="TbPrivateKey" xml:space="preserve"> <data name="TbPrivateKey" xml:space="preserve">
<value>PrivateKey</value> <value>PrivateKey</value>
@ -1105,7 +1105,7 @@
<value>*grpc Authority</value> <value>*grpc Authority</value>
</data> </data>
<data name="menuAddHttpServer" xml:space="preserve"> <data name="menuAddHttpServer" xml:space="preserve">
<value>新增 [HTTP] 設定檔</value> <value>新增 [HTTP] 節點</value>
</data> </data>
<data name="TbSettingsEnableFragmentTips" xml:space="preserve"> <data name="TbSettingsEnableFragmentTips" xml:space="preserve">
<value>和分組前置代理衝突</value> <value>和分組前置代理衝突</value>
@ -1219,13 +1219,13 @@
<value>匯出分享連結至剪貼簿 (多選) Base64 編碼</value> <value>匯出分享連結至剪貼簿 (多選) Base64 編碼</value>
</data> </data>
<data name="menuExport2ClientConfigClipboard" xml:space="preserve"> <data name="menuExport2ClientConfigClipboard" xml:space="preserve">
<value>匯出所選設定檔完整設定至剪貼簿</value> <value>匯出所選完整設定至剪貼簿</value>
</data> </data>
<data name="menuShowOrHideMainWindow" xml:space="preserve"> <data name="menuShowOrHideMainWindow" xml:space="preserve">
<value>顯示或隱藏主介面</value> <value>顯示或隱藏主介面</value>
</data> </data>
<data name="TbPreSocksPort4Sub" xml:space="preserve"> <data name="TbPreSocksPort4Sub" xml:space="preserve">
<value>自訂設定的 Socks 連接埠</value> <value>自訂 Socks 連接埠</value>
</data> </data>
<data name="menuBackupAndRestore" xml:space="preserve"> <data name="menuBackupAndRestore" xml:space="preserve">
<value>備份和還原</value> <value>備份和還原</value>
@ -1309,7 +1309,7 @@
<value>請不要使用不安全的 HTTP 協定訂閱位址</value> <value>請不要使用不安全的 HTTP 協定訂閱位址</value>
</data> </data>
<data name="TbSettingsCurrentFontFamilyLinuxTip" xml:space="preserve"> <data name="TbSettingsCurrentFontFamilyLinuxTip" xml:space="preserve">
<value>安裝字體到系統中,選擇或填入字體名稱,重新啟動設定</value> <value>安裝字體到系統中,選擇或填入字體名稱,重新啟動後生效</value>
</data> </data>
<data name="menuExitTips" xml:space="preserve"> <data name="menuExitTips" xml:space="preserve">
<value>是否確定退出?</value> <value>是否確定退出?</value>
@ -1336,7 +1336,7 @@
<value>多執行緒測試時的並發數量</value> <value>多執行緒測試時的並發數量</value>
</data> </data>
<data name="TbSettingsExceptionTip2" xml:space="preserve"> <data name="TbSettingsExceptionTip2" xml:space="preserve">
<value>例外:對於下列位址不使用代理設定檔,使用逗號 (,) 分隔。</value> <value>例外:對於下列位址不使用代理,使用逗號 (,) 分隔。</value>
</data> </data>
<data name="TbSettingsDestOverride" xml:space="preserve"> <data name="TbSettingsDestOverride" xml:space="preserve">
<value>流量探測類型</value> <value>流量探測類型</value>
@ -1372,31 +1372,31 @@
<value>會覆蓋埠,多組時用逗號 (,) 隔開</value> <value>會覆蓋埠,多組時用逗號 (,) 隔開</value>
</data> </data>
<data name="menuGenGroupMultipleServer" xml:space="preserve"> <data name="menuGenGroupMultipleServer" xml:space="preserve">
<value>Generate Policy Group from Multiple Profiles</value> <value>多選生成策略組</value>
</data> </data>
<data name="menuGenGroupMultipleServerXrayRandom" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayRandom" xml:space="preserve">
<value>多設定檔隨機 Xray</value> <value>多隨機 Xray</value>
</data> </data>
<data name="menuGenGroupMultipleServerXrayRoundRobin" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayRoundRobin" xml:space="preserve">
<value>多設定檔負載平衡 Xray</value> <value>多負載平衡 Xray</value>
</data> </data>
<data name="menuGenGroupMultipleServerXrayLeastPing" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayLeastPing" xml:space="preserve">
<value>多設定檔最低延遲 Xray</value> <value>多最低延遲 Xray</value>
</data> </data>
<data name="menuGenGroupMultipleServerXrayLeastLoad" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayLeastLoad" xml:space="preserve">
<value>多設定檔最穩定 Xray</value> <value>多最穩定 Xray</value>
</data> </data>
<data name="menuGenGroupMultipleServerSingBoxLeastPing" xml:space="preserve"> <data name="menuGenGroupMultipleServerSingBoxLeastPing" xml:space="preserve">
<value>多設定檔最低延遲 sing-box</value> <value>多最低延遲 sing-box</value>
</data> </data>
<data name="menuExportConfig" xml:space="preserve"> <data name="menuExportConfig" xml:space="preserve">
<value>匯出設定檔</value> <value>匯出</value>
</data> </data>
<data name="TbSettingsIPAPIUrl" xml:space="preserve"> <data name="TbSettingsIPAPIUrl" xml:space="preserve">
<value>目前連接資訊測試地址</value> <value>目前連接資訊測試地址</value>
</data> </data>
<data name="TbRuleOutboundTagTip" xml:space="preserve"> <data name="TbRuleOutboundTagTip" xml:space="preserve">
<value>可以填寫設定檔別名,請確保存在並唯一</value> <value>可以填寫節點別名,請確保存在並唯一</value>
</data> </data>
<data name="SudoIncorrectPasswordTip" xml:space="preserve"> <data name="SudoIncorrectPasswordTip" xml:space="preserve">
<value>密碼錯誤,請重試。</value> <value>密碼錯誤,請重試。</value>
@ -1405,192 +1405,195 @@
<value>Mldsa65Verify</value> <value>Mldsa65Verify</value>
</data> </data>
<data name="menuAddAnytlsServer" xml:space="preserve"> <data name="menuAddAnytlsServer" xml:space="preserve">
<value>新增 [Anytls] 設定檔</value> <value>新增 [Anytls] 節點</value>
</data> </data>
<data name="TbRemoteDNS" xml:space="preserve"> <data name="TbRemoteDNS" xml:space="preserve">
<value>Remote DNS</value> <value>遠程 DNS</value>
</data> </data>
<data name="TbDomesticDNS" xml:space="preserve"> <data name="TbDomesticDNS" xml:space="preserve">
<value>Domestic DNS</value> <value>直連 DNS</value>
</data> </data>
<data name="TbRemoteDNSTips" xml:space="preserve"> <data name="TbRemoteDNSTips" xml:space="preserve">
<value>Via proxy — please ensure remote availability</value> <value>通过代理,请确保远程可用</value>
</data> </data>
<data name="TbXrayFreedomStrategy" xml:space="preserve"> <data name="TbXrayFreedomStrategy" xml:space="preserve">
<value>xray Freedom Resolution Strategy</value> <value>xray freedom 解析策略</value>
</data> </data>
<data name="TbSBDirectResolveStrategy" xml:space="preserve"> <data name="TbSBDirectResolveStrategy" xml:space="preserve">
<value>sing-box Direct Resolution Strategy</value> <value>sing-box 直連解析策略</value>
</data> </data>
<data name="TbSBRemoteResolveStrategy" xml:space="preserve"> <data name="TbSBRemoteResolveStrategy" xml:space="preserve">
<value>sing-box Remote Resolution Strategy</value> <value>sing-box 遠程解析策略</value>
</data> </data>
<data name="TbAddCommonDNSHosts" xml:space="preserve"> <data name="TbAddCommonDNSHosts" xml:space="preserve">
<value>Add Common DNS Hosts</value> <value>新增常用 DNS Hosts</value>
</data> </data>
<data name="TbFakeIP" xml:space="preserve"> <data name="TbFakeIP" xml:space="preserve">
<value>FakeIP</value> <value>FakeIP</value>
</data> </data>
<data name="TbBlockSVCBHTTPSQueries" xml:space="preserve"> <data name="TbBlockSVCBHTTPSQueries" xml:space="preserve">
<value>Block SVCB and HTTPS Queries</value> <value>阻止 SVCB 和 HTTPS 查詢</value>
</data> </data>
<data name="TbDNSHostsConfig" xml:space="preserve"> <data name="TbDNSHostsConfig" xml:space="preserve">
<value>DNS Hosts: ("domain1 ip1 ip2" per line)</value> <value>DNS Hosts“網域名稱1 ip1 ip2” 一行一個)</value>
</data> </data>
<data name="ThBasicDNSSettings" xml:space="preserve"> <data name="ThBasicDNSSettings" xml:space="preserve">
<value>Basic DNS Settings</value> <value>DNS 基礎設定</value>
</data> </data>
<data name="ThAdvancedDNSSettings" xml:space="preserve"> <data name="ThAdvancedDNSSettings" xml:space="preserve">
<value>Advanced DNS Settings</value> <value>DNS 進階設定</value>
</data> </data>
<data name="TbValidateDirectExpectedIPs" xml:space="preserve"> <data name="TbValidateDirectExpectedIPs" xml:space="preserve">
<value>Validate Regional Domain IPs</value> <value>校驗相應地區域名 IP</value>
</data> </data>
<data name="TbValidateDirectExpectedIPsDesc" xml:space="preserve"> <data name="TbValidateDirectExpectedIPsDesc" xml:space="preserve">
<value>When configured, validates IPs returned for regional domains (e.g., geosite:cn), returning only expected IPs</value> <value>配置後,會對相應地區域名(如 geosite:cn的返回 IP 進行校驗,僅返回期望 IP</value>
</data> </data>
<data name="TbCustomDNSEnable" xml:space="preserve"> <data name="TbCustomDNSEnable" xml:space="preserve">
<value>Enable Custom DNS</value> <value>啟用自訂 DNS</value>
</data> </data>
<data name="TbCustomDNSEnabledPageInvalid" xml:space="preserve"> <data name="TbCustomDNSEnabledPageInvalid" xml:space="preserve">
<value>Custom DNS Enabled, This Page's Settings Invalid</value> <value>自訂 DNS 已啟用,此頁面配置將無效</value>
</data> </data>
<data name="TbBlockSVCBHTTPSQueriesTips" xml:space="preserve"> <data name="TbBlockSVCBHTTPSQueriesTips" xml:space="preserve">
<value>Block ECH and HTTP/3 availability checks when enabled</value> <value>開啟後將阻止 ECH 和 HTTP/3 可用性查詢</value>
</data> </data>
<data name="FillCorrectConfigTemplateText" xml:space="preserve"> <data name="FillCorrectConfigTemplateText" xml:space="preserve">
<value>Please fill in the correct config template</value> <value>請填寫正確的配置範本</value>
</data> </data>
<data name="menuFullConfigTemplate" xml:space="preserve"> <data name="menuFullConfigTemplate" xml:space="preserve">
<value>Full Config Template Setting</value> <value>完整配置範本設定</value>
</data> </data>
<data name="TbFullConfigTemplateEnable" xml:space="preserve"> <data name="TbFullConfigTemplateEnable" xml:space="preserve">
<value>Enable Full Config Template</value> <value>啟用完整配置範本</value>
</data> </data>
<data name="TbRayFullConfigTemplate" xml:space="preserve"> <data name="TbRayFullConfigTemplate" xml:space="preserve">
<value>v2ray Full Config Template</value> <value>v2ray 完整配置範本</value>
</data> </data>
<data name="TbRayFullConfigTemplateDesc" xml:space="preserve"> <data name="TbRayFullConfigTemplateDesc" xml:space="preserve">
<value>Add Outbound Config Only, routing.balancers and routing.rules.outboundTag, Click to view the document</value> <value>僅添加出站配置routing.balancers 和 routing.rules.outboundTag點擊查看文檔</value>
</data> </data>
<data name="TbAddProxyProtocolOutboundOnly" xml:space="preserve"> <data name="TbAddProxyProtocolOutboundOnly" xml:space="preserve">
<value>Do Not Add Non-Proxy Protocol Outbound</value> <value>不添加非代理協定出站</value>
</data> </data>
<data name="TbSetUpstreamProxyDetour" xml:space="preserve"> <data name="TbSetUpstreamProxyDetour" xml:space="preserve">
<value>Set Upstream Proxy Tag</value> <value>設定上游代理 tag</value>
</data> </data>
<data name="TbSBFullConfigTemplate" xml:space="preserve"> <data name="TbSBFullConfigTemplate" xml:space="preserve">
<value>sing-box Full Config Template</value> <value>sing-box 完整配置範本</value>
</data> </data>
<data name="TbSBFullConfigTemplateDesc" xml:space="preserve"> <data name="TbSBFullConfigTemplateDesc" xml:space="preserve">
<value>Add Outbound and Endpoint Config Only, Click to view the document</value> <value>僅添加出站和端點配置,點擊查看文檔</value>
</data> </data>
<data name="TbFullConfigTemplateDesc" xml:space="preserve"> <data name="TbFullConfigTemplateDesc" xml:space="preserve">
<value>This feature is intended for advanced users and those with special requirements. Once enabled, it will ignore the Core's basic settings, DNS settings, and routing settings. You must ensure that the system proxy port, traffic statistics, and other related configurations are set correctly — everything will be configured by you.</value> <value>此功能供高級用戶和有特殊需求的用戶使用。 啟用此功能後,將忽略 Core 的基礎設定DNS 設定 ,路由設定。你需要保證系統代理的埠和流量統計等功能的配置正確,一切都由你來設定。</value>
</data> </data>
<data name="MsgStartParsingSubscription" xml:space="preserve"> <data name="MsgStartParsingSubscription" xml:space="preserve">
<value>開始解析和處理訂閱內容</value> <value>開始解析和處理訂閱內容</value>
</data> </data>
<data name="TbSelectProfile" xml:space="preserve"> <data name="TbSelectProfile" xml:space="preserve">
<value>Select Profile</value> <value>選擇節點</value>
</data> </data>
<data name="TbFakeIPTips" xml:space="preserve"> <data name="TbFakeIPTips" xml:space="preserve">
<value>Applies globally by default, with built-in FakeIP filtering (sing-box only).</value> <value>默認全域生效,內置 FakeIP 過濾,僅在 sing-box 中生效</value>
</data> </data>
<data name="PleaseAddAtLeastOneServer" xml:space="preserve"> <data name="PleaseAddAtLeastOneServer" xml:space="preserve">
<value>Please Add At Least One Configuration</value> <value>請至少添加一個節點</value>
</data> </data>
<data name="TbConfigTypePolicyGroup" xml:space="preserve"> <data name="TbConfigTypePolicyGroup" xml:space="preserve">
<value>Policy Group</value> <value>策略組</value>
</data> </data>
<data name="TbConfigTypeProxyChain" xml:space="preserve"> <data name="TbConfigTypeProxyChain" xml:space="preserve">
<value>Proxy Chain</value> <value>鏈式代理</value>
</data> </data>
<data name="TbLeastPing" xml:space="preserve"> <data name="TbLeastPing" xml:space="preserve">
<value>Lowest Latency</value> <value>最低延遲</value>
</data> </data>
<data name="TbRandom" xml:space="preserve"> <data name="TbRandom" xml:space="preserve">
<value>Random</value> <value>隨機</value>
</data> </data>
<data name="TbRoundRobin" xml:space="preserve"> <data name="TbRoundRobin" xml:space="preserve">
<value>Round Robin</value> <value>負載均衡</value>
</data> </data>
<data name="TbLeastLoad" xml:space="preserve"> <data name="TbLeastLoad" xml:space="preserve">
<value>Most Stable</value> <value>最穩定</value>
</data> </data>
<data name="TbPolicyGroupType" xml:space="preserve"> <data name="TbPolicyGroupType" xml:space="preserve">
<value>Policy Group Type</value> <value>策略組類型</value>
</data> </data>
<data name="menuAddPolicyGroupServer" xml:space="preserve"> <data name="menuAddPolicyGroupServer" xml:space="preserve">
<value>Add Policy Group Configuration</value> <value>添加策略組</value>
</data> </data>
<data name="menuAddProxyChainServer" xml:space="preserve"> <data name="menuAddProxyChainServer" xml:space="preserve">
<value>Add Proxy Chain Configuration</value> <value>添加鏈式代理</value>
</data> </data>
<data name="menuAddChildServer" xml:space="preserve"> <data name="menuAddChildServer" xml:space="preserve">
<value>Add Child Configuration</value> <value>添加子項</value>
</data> </data>
<data name="menuRemoveChildServer" xml:space="preserve"> <data name="menuRemoveChildServer" xml:space="preserve">
<value>Remove Child Configuration</value> <value>刪除子項</value>
</data> </data>
<data name="menuServerList" xml:space="preserve"> <data name="menuServerList" xml:space="preserve">
<value>Server List</value> <value>子項清單</value>
</data> </data>
<data name="TbFallback" xml:space="preserve"> <data name="TbFallback" xml:space="preserve">
<value>Fallback</value> <value>容錯移轉</value>
</data> </data>
<data name="menuGenGroupMultipleServerSingBoxFallback" xml:space="preserve"> <data name="menuGenGroupMultipleServerSingBoxFallback" xml:space="preserve">
<value>Multi-Configuration Fallback by sing-box</value> <value>多選容錯移轉 sing-box</value>
</data> </data>
<data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve">
<value>Multi-Configuration Fallback by Xray</value> <value>多選容錯移轉 Xray</value>
</data> </data>
<data name="CoreNotSupportNetwork" xml:space="preserve"> <data name="CoreNotSupportNetwork" xml:space="preserve">
<value>Core '{0}' does not support network type '{1}'.</value> <value>核心 '{0}' 不支援網路類型 '{1}'.</value>
</data> </data>
<data name="CoreNotSupportProtocolTransport" xml:space="preserve"> <data name="CoreNotSupportProtocolTransport" xml:space="preserve">
<value>Core '{0}' does not support protocol '{1}' when using transport '{2}'.</value> <value>核心 '{0}' 在使用傳輸方式 '{2}' 時不支援協定 '{1}'.</value>
</data> </data>
<data name="CoreNotSupportProtocol" xml:space="preserve"> <data name="CoreNotSupportProtocol" xml:space="preserve">
<value>Core '{0}' does not support protocol '{1}'.</value> <value>核心 '{0}' 不支援協定 '{1}'.</value>
</data> </data>
<data name="ProxyChainedPrefix" xml:space="preserve"> <data name="ProxyChainedPrefix" xml:space="preserve">
<value>Proxy chained: </value> <value>代理鏈: </value>
</data> </data>
<data name="RoutingRuleOutboundPrefix" xml:space="preserve"> <data name="RoutingRuleOutboundPrefix" xml:space="preserve">
<value>Routing rule outbound: </value> <value>路由規則出站: </value>
</data> </data>
<data name="PolicyGroupPrefix" xml:space="preserve"> <data name="PolicyGroupPrefix" xml:space="preserve">
<value>Policy group: </value> <value>策略組: </value>
</data> </data>
<data name="NodeTagNotExist" xml:space="preserve"> <data name="NodeTagNotExist" xml:space="preserve">
<value>Node alias '{0}' does not exist.</value> <value>別名 '{0}' 不存在。</value>
</data> </data>
<data name="GroupEmpty" xml:space="preserve"> <data name="GroupEmpty" xml:space="preserve">
<value>Group '{0}' is empty. Please add at least one node.</value> <value>組“{0}”為空.請至少添加一個配置。</value>
</data> </data>
<data name="InvalidProperty" xml:space="preserve"> <data name="InvalidProperty" xml:space="preserve">
<value>The {0} property is invalid, please check.</value> <value>{0}屬性無效,請檢查</value>
</data> </data>
<data name="GroupSelfReference" xml:space="preserve"> <data name="GroupSelfReference" xml:space="preserve">
<value>{0} 分組不能引用自身或循環引用</value> <value>{0} 分組不能引用自身或循環引用</value>
</data> </data>
<data name="NotSupportProtocol" xml:space="preserve"> <data name="NotSupportProtocol" xml:space="preserve">
<value>Not support protocol '{0}'.</value> <value>不支援協定 '{0}'.</value>
</data> </data>
<data name="TbSettingsHide2TrayWhenCloseTip" xml:space="preserve"> <data name="TbSettingsHide2TrayWhenCloseTip" xml:space="preserve">
<value>如果系統沒有盤功能,請不要開啟</value> <value>如果系統沒有盤功能,請不要開啟</value>
</data> </data>
<data name="TbRuleType" xml:space="preserve"> <data name="TbRuleType" xml:space="preserve">
<value>规则类型</value> <value>規則類型</value>
</data> </data>
<data name="TbRuleTypeTips" xml:space="preserve"> <data name="TbRuleTypeTips" xml:space="preserve">
<value>可对 Routing 和 DNS 单独设定规则ALL 则都生效</value> <value>可對 Routing 和 DNS 單獨設定規則ALL 則都生效</value>
</data> </data>
<data name="TbBootstrapDNS" xml:space="preserve"> <data name="TbBootstrapDNS" xml:space="preserve">
<value>Bootstrap DNS</value> <value>Bootstrap DNS</value>
</data> </data>
<data name="TbBootstrapDNSTips" xml:space="preserve"> <data name="TbBootstrapDNSTips" xml:space="preserve">
<value>Resolve DNS server domains, requires IP</value> <value>解析 DNS 伺服器網域名稱,需指定為 IP</value>
</data>
<data name="menuFastRealPing" xml:space="preserve">
<value>一鍵測試真連線延遲</value>
</data> </data>
</root> </root>

View file

@ -57,6 +57,9 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>PublicResXFileCodeGenerator</Generator> <Generator>PublicResXFileCodeGenerator</Generator>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Update="Resx\ResUI.fr.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
</EmbeddedResource>
<EmbeddedResource Update="Resx\ResUI.hu.resx"> <EmbeddedResource Update="Resx\ResUI.hu.resx">
<Generator>PublicResXFileCodeGenerator</Generator> <Generator>PublicResXFileCodeGenerator</Generator>
</EmbeddedResource> </EmbeddedResource>
@ -79,4 +82,4 @@
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
</Project> </Project>

View file

@ -66,6 +66,7 @@ public class ProfilesViewModel : MyReactiveObject
public ReactiveCommand<Unit, Unit> SpeedServerCmd { get; } public ReactiveCommand<Unit, Unit> SpeedServerCmd { get; }
public ReactiveCommand<Unit, Unit> SortServerResultCmd { get; } public ReactiveCommand<Unit, Unit> SortServerResultCmd { get; }
public ReactiveCommand<Unit, Unit> RemoveInvalidServerResultCmd { get; } public ReactiveCommand<Unit, Unit> RemoveInvalidServerResultCmd { get; }
public ReactiveCommand<Unit, Unit> FastRealPingCmd { get; }
//servers export //servers export
public ReactiveCommand<Unit, Unit> Export2ClientConfigCmd { get; } public ReactiveCommand<Unit, Unit> Export2ClientConfigCmd { get; }
@ -179,6 +180,10 @@ public class ProfilesViewModel : MyReactiveObject
}, canEditRemove); }, canEditRemove);
//servers ping //servers ping
FastRealPingCmd = ReactiveCommand.CreateFromTask(async () =>
{
await ServerSpeedtest(ESpeedActionType.FastRealping);
});
MixedTestServerCmd = ReactiveCommand.CreateFromTask(async () => MixedTestServerCmd = ReactiveCommand.CreateFromTask(async () =>
{ {
await ServerSpeedtest(ESpeedActionType.Mixedtest); await ServerSpeedtest(ESpeedActionType.Mixedtest);
@ -729,6 +734,12 @@ public class ProfilesViewModel : MyReactiveObject
{ {
SelectedProfiles = ProfileItems; SelectedProfiles = ProfileItems;
} }
else if (actionType == ESpeedActionType.FastRealping)
{
SelectedProfiles = ProfileItems;
actionType = ESpeedActionType.Realping;
}
var lstSelected = await GetProfileItems(false); var lstSelected = await GetProfileItems(false);
if (lstSelected == null) if (lstSelected == null)
{ {

View file

@ -49,6 +49,13 @@
</Button.Content> </Button.Content>
</Button> </Button>
<TextBox
x:Name="txtServerFilter"
Width="200"
Margin="{StaticResource MarginLr4}"
VerticalContentAlignment="Center"
Watermark="{x:Static resx:ResUI.MsgServerTitle}" />
<Button <Button
x:Name="btnAutofitColumnWidth" x:Name="btnAutofitColumnWidth"
Margin="{StaticResource MarginLr4}" Margin="{StaticResource MarginLr4}"
@ -59,12 +66,16 @@
</Button.Content> </Button.Content>
</Button> </Button>
<TextBox <Button
x:Name="txtServerFilter" x:Name="btnFastRealPing"
Width="200"
Margin="{StaticResource MarginLr4}" Margin="{StaticResource MarginLr4}"
VerticalContentAlignment="Center" Classes="IconButton Success"
Watermark="{x:Static resx:ResUI.MsgServerTitle}" /> ToolTip.Tip="{x:Static resx:ResUI.menuFastRealPing}">
<Button.Content>
<PathIcon Data="{StaticResource SemiIconBolt}" />
</Button.Content>
</Button>
</WrapPanel> </WrapPanel>
<DataGrid <DataGrid
x:Name="lstProfiles" x:Name="lstProfiles"
@ -127,7 +138,8 @@
<Separator /> <Separator />
<MenuItem x:Name="menuExport2ShareUrl" Header="{x:Static resx:ResUI.menuExport2ShareUrl}" /> <MenuItem x:Name="menuExport2ShareUrl" Header="{x:Static resx:ResUI.menuExport2ShareUrl}" />
<MenuItem x:Name="menuExport2ShareUrlBase64" Header="{x:Static resx:ResUI.menuExport2ShareUrlBase64}" /> <MenuItem x:Name="menuExport2ShareUrlBase64" Header="{x:Static resx:ResUI.menuExport2ShareUrlBase64}" />
</MenuItem><Separator /> </MenuItem>
<Separator />
<MenuItem Header="{x:Static resx:ResUI.menuGenGroupMultipleServer}"> <MenuItem Header="{x:Static resx:ResUI.menuGenGroupMultipleServer}">
<MenuItem x:Name="menuGenGroupMultipleServerXrayRandom" Header="{x:Static resx:ResUI.menuGenGroupMultipleServerXrayRandom}" /> <MenuItem x:Name="menuGenGroupMultipleServerXrayRandom" Header="{x:Static resx:ResUI.menuGenGroupMultipleServerXrayRandom}" />
<MenuItem x:Name="menuGenGroupMultipleServerXrayRoundRobin" Header="{x:Static resx:ResUI.menuGenGroupMultipleServerXrayRoundRobin}" /> <MenuItem x:Name="menuGenGroupMultipleServerXrayRoundRobin" Header="{x:Static resx:ResUI.menuGenGroupMultipleServerXrayRoundRobin}" />

View file

@ -80,6 +80,7 @@ public partial class ProfilesView : ReactiveUserControl<ProfilesViewModel>
this.BindCommand(ViewModel, vm => vm.SpeedServerCmd, v => v.menuSpeedServer).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SpeedServerCmd, v => v.menuSpeedServer).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.SortServerResultCmd, v => v.menuSortServerResult).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SortServerResultCmd, v => v.menuSortServerResult).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.RemoveInvalidServerResultCmd, v => v.menuRemoveInvalidServerResult).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.RemoveInvalidServerResultCmd, v => v.menuRemoveInvalidServerResult).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.FastRealPingCmd, v => v.btnFastRealPing).DisposeWith(disposables);
//servers export //servers export
this.BindCommand(ViewModel, vm => vm.Export2ClientConfigCmd, v => v.menuExport2ClientConfig).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.Export2ClientConfigCmd, v => v.menuExport2ClientConfig).DisposeWith(disposables);

View file

@ -57,16 +57,6 @@
<materialDesign:PackIcon VerticalAlignment="Center" Kind="Plus" /> <materialDesign:PackIcon VerticalAlignment="Center" Kind="Plus" />
</Button> </Button>
<Button
x:Name="btnAutofitColumnWidth"
Width="30"
Height="30"
Margin="{StaticResource MarginLeftRight8}"
AutomationProperties.Name="{x:Static resx:ResUI.menuProfileAutofitColumnWidth}"
Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}"
ToolTip="{x:Static resx:ResUI.menuProfileAutofitColumnWidth}">
<materialDesign:PackIcon VerticalAlignment="Center" Kind="ArrowSplitVertical" />
</Button>
<TextBox <TextBox
x:Name="txtServerFilter" x:Name="txtServerFilter"
Width="200" Width="200"
@ -76,6 +66,27 @@
materialDesign:TextFieldAssist.HasClearButton="True" materialDesign:TextFieldAssist.HasClearButton="True"
AutomationProperties.Name="{x:Static resx:ResUI.MsgServerTitle}" AutomationProperties.Name="{x:Static resx:ResUI.MsgServerTitle}"
Style="{StaticResource DefTextBox}" /> Style="{StaticResource DefTextBox}" />
<Button
x:Name="btnAutofitColumnWidth"
Width="30"
Height="30"
Margin="{StaticResource MarginLeftRight4}"
AutomationProperties.Name="{x:Static resx:ResUI.menuProfileAutofitColumnWidth}"
Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}"
ToolTip="{x:Static resx:ResUI.menuProfileAutofitColumnWidth}">
<materialDesign:PackIcon VerticalAlignment="Center" Kind="ArrowSplitVertical" />
</Button>
<Button
x:Name="btnFastRealPing"
Width="30"
Height="30"
Margin="{StaticResource MarginLeftRight4}"
Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}"
ToolTip="{x:Static resx:ResUI.menuFastRealPing}">
<materialDesign:PackIcon VerticalAlignment="Center" Kind="LightningBolt" />
</Button>
</WrapPanel> </WrapPanel>
<DataGrid <DataGrid
x:Name="lstProfiles" x:Name="lstProfiles"

View file

@ -77,6 +77,7 @@ public partial class ProfilesView
this.BindCommand(ViewModel, vm => vm.SpeedServerCmd, v => v.menuSpeedServer).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SpeedServerCmd, v => v.menuSpeedServer).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.SortServerResultCmd, v => v.menuSortServerResult).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SortServerResultCmd, v => v.menuSortServerResult).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.RemoveInvalidServerResultCmd, v => v.menuRemoveInvalidServerResult).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.RemoveInvalidServerResultCmd, v => v.menuRemoveInvalidServerResult).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.FastRealPingCmd, v => v.btnFastRealPing).DisposeWith(disposables);
//servers export //servers export
this.BindCommand(ViewModel, vm => vm.Export2ClientConfigCmd, v => v.menuExport2ClientConfig).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.Export2ClientConfigCmd, v => v.menuExport2ClientConfig).DisposeWith(disposables);