[UI] Added ui for routes management.

This commit is contained in:
Leroy.H.Y 2019-08-23 23:33:24 +08:00
parent b0581f037a
commit 7a85c3e946
No known key found for this signature in database
GPG Key ID: 6AC1673B587DC37D
5 changed files with 834 additions and 535 deletions

View File

@ -8,28 +8,35 @@
#define UPGRADELOG(item, old, _new) LOG(MODULE_CONFIG, "Upgrading " item " from old value " + old + " to " + _new); #define UPGRADELOG(item, old, _new) LOG(MODULE_CONFIG, "Upgrading " item " from old value " + old + " to " + _new);
#define XConfLog(oldVersion, newVersion) LOG(MODULE_CONFIG, "Migrating config from version " + oldVersion + " to " + newVersion); #define XConfLog(oldVersion, newVersion) LOG(MODULE_CONFIG, "Migrating config from version " + oldVersion + " to " + newVersion);
namespace Qv2ray { namespace Qv2ray
namespace QvConfigModels { {
namespace QvConfigModels
{
// Secret member // Secret member
QJsonObject UpgradeConfig_Inc(int fromVersion, QJsonObject root) { QJsonObject UpgradeConfig_Inc(int fromVersion, QJsonObject root)
XConfLog(to_string(fromVersion), to_string(fromVersion + 1)); {
XConfLog(to_string(fromVersion), to_string(fromVersion + 1))
switch (fromVersion) { switch (fromVersion) {
case 1: case 1:
// From 1 to 2, we changed the config_version from 'string' to 'int' // From 1 to 2, we changed the config_version from 'string' to 'int'
auto old_config_version = root["config_version"].toString(); auto old_config_version = root["config_version"].toString();
root.remove("config_version"); root.remove("config_version");
root["config_version"] = 2; root["config_version"] = 2;
UPGRADELOG("config_version", old_config_version.toStdString(), "2") UPGRADELOG("config_version", old_config_version.toStdString(), "2")
break; break;
} }
return root; return root;
} }
// Exported function // Exported function
QJsonObject UpgradeConfig(int fromVersion, int toVersion, QJsonObject root) { QJsonObject UpgradeConfig(int fromVersion, int toVersion, QJsonObject root)
{
for (int i = fromVersion; i < toVersion; i++) { for (int i = fromVersion; i < toVersion; i++) {
root = UpgradeConfig_Inc(i, root); root = UpgradeConfig_Inc(i, root);
} }
return root; return root;
} }

View File

@ -6,169 +6,389 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>946</width> <width>889</width>
<height>569</height> <height>560</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Dialog</string> <string>Dialog</string>
</property> </property>
<widget class="QDialogButtonBox" name="buttonBox"> <layout class="QGridLayout" name="gridLayout" columnstretch="1,2,1">
<property name="geometry"> <item row="0" column="1">
<rect> <layout class="QVBoxLayout" name="routesLayout">
<x>20</x> <item>
<y>520</y> <widget class="QLabel" name="label_4">
<width>901</width> <property name="text">
<height>32</height> <string>#Routes</string>
</rect> </property>
</property> </widget>
<property name="orientation"> </item>
<enum>Qt::Horizontal</enum> <item>
</property> <widget class="QTableWidget" name="tableWidget">
<property name="standardButtons"> <column>
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> <property name="text">
</property> <string>#Type</string>
</widget> </property>
<widget class="QListWidget" name="listWidget"> </column>
<property name="geometry"> <column>
<rect> <property name="text">
<x>670</x> <string>#DomainOrIP</string>
<y>10</y> </property>
<width>256</width> </column>
<height>192</height> <column>
</rect> <property name="text">
</property> <string>#Outbound</string>
</widget> </property>
<widget class="QWidget" name="verticalLayoutWidget"> </column>
<property name="geometry"> </widget>
<rect> </item>
<x>10</x> <item>
<y>10</y> <layout class="QHBoxLayout" name="routesControlButtons">
<width>251</width> <item>
<height>521</height> <spacer name="horizontalSpacer_4">
</rect> <property name="orientation">
</property> <enum>Qt::Horizontal</enum>
<layout class="QVBoxLayout" name="verticalLayout"> </property>
<item> <property name="sizeHint" stdset="0">
<widget class="QLabel" name="label_2"> <size>
<property name="text"> <width>40</width>
<string>#Outbounds</string> <height>20</height>
</property> </size>
</widget> </property>
</item> </spacer>
<item> </item>
<widget class="QListWidget" name="outboundsList"> <item>
<property name="editTriggers"> <widget class="QToolButton" name="toolButton_3">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="outboundDetailGroup">
<property name="title">
<string>#OutboundDetail</string>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text"> <property name="text">
<string>#Tag</string> <string>...</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item>
<widget class="QLabel" name="outboundTagLabel"> <widget class="QToolButton" name="toolButton_4">
<property name="text"> <property name="text">
<string/> <string>...</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item>
<widget class="QLabel" name="label_7"> <widget class="QPushButton" name="pushButton_5">
<property name="text"> <property name="text">
<string>#Type</string> <string>#ChangeIO</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item>
<widget class="QLabel" name="outboundTypeLabel"> <spacer name="horizontalSpacer_3">
<property name="text"> <property name="orientation">
<string/> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> <property name="sizeHint" stdset="0">
</item> <size>
<item row="4" column="0"> <width>40</width>
<widget class="QLabel" name="label_3"> <height>20</height>
<property name="text"> </size>
<string>#Address</string>
</property> </property>
</widget> </spacer>
</item>
<item row="4" column="1">
<widget class="QLabel" name="outboundAddressLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>#Port</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="outboundPortLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>24</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>#EditCurrentOutbound</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>24</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </item>
</item> <item>
</layout> <widget class="QGroupBox" name="groupBox">
</widget> <property name="title">
<string>#RouteDetail</string>
</property>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>#DomainList</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>#IPList</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item row="0" column="0">
<layout class="QVBoxLayout" name="inboundLayout" stretch="0,1,0,1">
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>#Inbounds</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="listWidget">
<property name="selectionMode">
<enum>QAbstractItemView::MultiSelection</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QToolButton" name="toolButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButton_2">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>#FromGlobalConfig</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="outboundDetailGroup_2">
<property name="title">
<string>#InboundDetail</string>
</property>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>#Tag</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="inboundTagLabel">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>#Type</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="inboundTypeLabel">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item row="0" column="2">
<layout class="QVBoxLayout" name="outboundLayout" stretch="0,1,0,1">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>#Outbounds</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="outboundsList">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QToolButton" name="toolButton_5">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButton_6">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>#AddDirect</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="outboundDetailGroup">
<property name="title">
<string>#OutboundDetail</string>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>#Tag</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="outboundTagLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>24</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>#EditCurrentOutbound</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>24</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>#Type</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>#Address</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>#Port</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="outboundTypeLabel">
<property name="text">
<string>xx</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="outboundAddressLabel">
<property name="text">
<string>xx</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="outboundPortLabel">
<property name="text">
<string>xx</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item row="2" column="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="statusLabel">
<property name="text">
<string>#Status</string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
<resources/> <resources>
<include location="../resources.qrc"/>
</resources>
<connections> <connections>
<connection> <connection>
<sender>buttonBox</sender> <sender>buttonBox</sender>

View File

@ -1,206 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RouteEditor</class>
<widget class="QDialog" name="RouteEditor">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>946</width>
<height>569</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="geometry">
<rect>
<x>20</x>
<y>520</y>
<width>901</width>
<height>32</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
<widget class="QListWidget" name="listWidget">
<property name="geometry">
<rect>
<x>670</x>
<y>40</y>
<width>256</width>
<height>192</height>
</rect>
</property>
</widget>
<widget class="QWidget" name="verticalLayoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>251</width>
<height>521</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>#Outbounds</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="outboundsList">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="outboundDetailGroup">
<property name="title">
<string>#OutboundDetail</string>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>#Tag</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="outboundTagLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>#Type</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="outboundTypeLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>#Address</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="outboundAddressLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>#Port</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="outboundPortLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>24</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>#EditCurrentOutbound</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>24</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>RouteEditor</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>RouteEditor</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -211,14 +211,14 @@
<translation>Key</translation> <translation>Key</translation>
</message> </message>
<message> <message>
<location filename="../src/w_ConnectionEditWindow.cpp" line="395"/> <location filename="../src/w_ConnectionEditWindow.cpp" line="398"/>
<location filename="../src/w_ConnectionEditWindow.cpp" line="406"/> <location filename="../src/w_ConnectionEditWindow.cpp" line="409"/>
<source>#JsonPrettify</source> <source>#JsonPrettify</source>
<translation>Prettify JSON</translation> <translation>Prettify JSON</translation>
</message> </message>
<message> <message>
<location filename="../src/w_ConnectionEditWindow.cpp" line="395"/> <location filename="../src/w_ConnectionEditWindow.cpp" line="398"/>
<location filename="../src/w_ConnectionEditWindow.cpp" line="406"/> <location filename="../src/w_ConnectionEditWindow.cpp" line="409"/>
<source>#JsonContainsError</source> <source>#JsonContainsError</source>
<translation>JSON is in a bad syntax</translation> <translation>JSON is in a bad syntax</translation>
</message> </message>
@ -297,18 +297,18 @@
<translation>Open Config File</translation> <translation>Open Config File</translation>
</message> </message>
<message> <message>
<location filename="../src/w_ImportConfig.cpp" line="64"/> <location filename="../src/w_ImportConfig.cpp" line="65"/>
<source>#NotValidVMessProtocolString</source> <source>#NotValidVMessProtocolString</source>
<translation>VMess connection string is invalid</translation> <translation>VMess connection string is invalid</translation>
</message> </message>
<message> <message>
<location filename="../src/w_ImportConfig.cpp" line="64"/> <location filename="../src/w_ImportConfig.cpp" line="65"/>
<location filename="../src/w_ImportConfig.cpp" line="68"/> <location filename="../src/w_ImportConfig.cpp" line="69"/>
<source>#VMessCheck</source> <source>#VMessCheck</source>
<translation>VMess connection string check</translation> <translation>VMess connection string check</translation>
</message> </message>
<message> <message>
<location filename="../src/w_ImportConfig.cpp" line="68"/> <location filename="../src/w_ImportConfig.cpp" line="69"/>
<source>#INTERNAL_ERROR</source> <source>#INTERNAL_ERROR</source>
<translation>Internal Error</translation> <translation>Internal Error</translation>
</message> </message>
@ -588,252 +588,252 @@
<name>PrefrencesWindow</name> <name>PrefrencesWindow</name>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="20"/> <location filename="../src/w_PrefrencesWindow.ui" line="20"/>
<location filename="../src/w_PrefrencesWindow.cpp" line="96"/> <location filename="../src/w_PrefrencesWindow.cpp" line="97"/>
<location filename="../src/w_PrefrencesWindow.cpp" line="168"/> <location filename="../src/w_PrefrencesWindow.cpp" line="169"/>
<source>Prefrences</source> <source>Prefrences</source>
<translation>Preferences</translation> <translation>Preferences</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="33"/> <location filename="../src/w_PrefrencesWindow.ui" line="36"/>
<source>#General</source> <source>#General</source>
<translation>General</translation> <translation>General</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="39"/> <location filename="../src/w_PrefrencesWindow.ui" line="42"/>
<source>#Language</source> <source>#Language</source>
<translation>Language</translation> <translation>Language</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="53"/> <location filename="../src/w_PrefrencesWindow.ui" line="56"/>
<source>zh-CN</source> <source>zh-CN</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="58"/> <location filename="../src/w_PrefrencesWindow.ui" line="61"/>
<source>en-US</source> <source>en-US</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="66"/> <location filename="../src/w_PrefrencesWindow.ui" line="69"/>
<source>#RunAsRoot</source> <source>#RunAsRoot</source>
<translation>Run v2ray as root</translation> <translation>Run v2ray as root</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="73"/> <location filename="../src/w_PrefrencesWindow.ui" line="76"/>
<location filename="../src/w_PrefrencesWindow.ui" line="193"/> <location filename="../src/w_PrefrencesWindow.ui" line="196"/>
<location filename="../src/w_PrefrencesWindow.ui" line="200"/> <location filename="../src/w_PrefrencesWindow.ui" line="203"/>
<location filename="../src/w_PrefrencesWindow.ui" line="256"/> <location filename="../src/w_PrefrencesWindow.ui" line="259"/>
<location filename="../src/w_PrefrencesWindow.ui" line="284"/> <location filename="../src/w_PrefrencesWindow.ui" line="287"/>
<location filename="../src/w_PrefrencesWindow.ui" line="323"/> <location filename="../src/w_PrefrencesWindow.ui" line="326"/>
<location filename="../src/w_PrefrencesWindow.ui" line="357"/> <location filename="../src/w_PrefrencesWindow.ui" line="360"/>
<location filename="../src/w_PrefrencesWindow.ui" line="418"/> <location filename="../src/w_PrefrencesWindow.ui" line="421"/>
<location filename="../src/w_PrefrencesWindow.ui" line="439"/> <location filename="../src/w_PrefrencesWindow.ui" line="442"/>
<location filename="../src/w_PrefrencesWindow.ui" line="446"/> <location filename="../src/w_PrefrencesWindow.ui" line="449"/>
<source>#Enabled</source> <source>#Enabled</source>
<translation>Enabled</translation> <translation>Enabled</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="80"/> <location filename="../src/w_PrefrencesWindow.ui" line="83"/>
<source>#LogLevel</source> <source>#LogLevel</source>
<translation>Log Level</translation> <translation>Log Level</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="105"/> <location filename="../src/w_PrefrencesWindow.ui" line="108"/>
<source>debug</source> <source>debug</source>
<translation>Debug</translation> <translation>Debug</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="110"/> <location filename="../src/w_PrefrencesWindow.ui" line="113"/>
<source>info</source> <source>info</source>
<translation>Info</translation> <translation>Info</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="115"/> <location filename="../src/w_PrefrencesWindow.ui" line="118"/>
<source>warning</source> <source>warning</source>
<translation>Warning</translation> <translation>Warning</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="120"/> <location filename="../src/w_PrefrencesWindow.ui" line="123"/>
<source>error</source> <source>error</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="156"/> <location filename="../src/w_PrefrencesWindow.ui" line="159"/>
<location filename="../src/w_PrefrencesWindow.ui" line="177"/> <location filename="../src/w_PrefrencesWindow.ui" line="180"/>
<source>#Select</source> <source>#Select</source>
<translation>Select</translation> <translation>Select</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="128"/> <location filename="../src/w_PrefrencesWindow.ui" line="131"/>
<source>#AutoStartEntry</source> <source>#AutoStartEntry</source>
<translation>Auto Connect To</translation> <translation>Auto Connect To</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="719"/> <location filename="../src/w_PrefrencesWindow.ui" line="722"/>
<source>#IgnoreNextVersion</source> <source>#IgnoreNextVersion</source>
<translation>Ignore Next Version</translation> <translation>Ignore Next Version</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="726"/> <location filename="../src/w_PrefrencesWindow.ui" line="729"/>
<source>#CancelIngore</source> <source>#CancelIngore</source>
<translation>Cancel Ignore</translation> <translation>Cancel Ignore</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="411"/> <location filename="../src/w_PrefrencesWindow.ui" line="414"/>
<source>#ProxyGlobal</source> <source>#ProxyGlobal</source>
<translation>Use Proxy as Default</translation> <translation>Use Proxy as Default</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="425"/> <location filename="../src/w_PrefrencesWindow.ui" line="428"/>
<source>#ProxyCN</source> <source>#ProxyCN</source>
<translation>Use Proxy for China Mainland</translation> <translation>Use Proxy for China Mainland</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="432"/> <location filename="../src/w_PrefrencesWindow.ui" line="435"/>
<source>#WithLocalDNS</source> <source>#WithLocalDNS</source>
<translation>Use localhost DNS</translation> <translation>Use localhost DNS</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="458"/> <location filename="../src/w_PrefrencesWindow.ui" line="461"/>
<source>#DNSList</source> <source>#DNSList</source>
<translation>DNS Address List</translation> <translation>DNS Address List</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="472"/> <location filename="../src/w_PrefrencesWindow.ui" line="475"/>
<source>#About</source> <source>#About</source>
<translation>About</translation> <translation>About</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="520"/> <location filename="../src/w_PrefrencesWindow.ui" line="523"/>
<source>Qv2ray</source> <source>Qv2ray</source>
<translation>Qv2ray</translation> <translation>Qv2ray</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="542"/> <location filename="../src/w_PrefrencesWindow.ui" line="545"/>
<source>#Version:</source> <source>#Version:</source>
<translation>Version:</translation> <translation>Version:</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="554"/> <location filename="../src/w_PrefrencesWindow.ui" line="557"/>
<source>#QvVersion</source> <source>#QvVersion</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="578"/> <location filename="../src/w_PrefrencesWindow.ui" line="581"/>
<source>#OfficialRepo:</source> <source>#OfficialRepo:</source>
<translation>Official Repo:</translation> <translation>Official Repo:</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="629"/> <location filename="../src/w_PrefrencesWindow.ui" line="632"/>
<source>#License:</source> <source>#License:</source>
<translation>License:</translation> <translation>License:</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="647"/> <location filename="../src/w_PrefrencesWindow.ui" line="650"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://www.gnu.org/licenses/gpl-3.0.txt&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;GPLv3 (https://www.gnu.org/licenses/gpl-3.0.txt)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://www.gnu.org/licenses/gpl-3.0.txt&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;GPLv3 (https://www.gnu.org/licenses/gpl-3.0.txt)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="684"/> <location filename="../src/w_PrefrencesWindow.ui" line="687"/>
<source>#AboutQt</source> <source>#AboutQt</source>
<translation>About Qt</translation> <translation>About Qt</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="596"/> <location filename="../src/w_PrefrencesWindow.ui" line="599"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/lhy0403/Qv2ray&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;https://github.com/lhy0403/Qv2ray&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/lhy0403/Qv2ray&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;https://github.com/lhy0403/Qv2ray&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="100"/> <location filename="../src/w_PrefrencesWindow.ui" line="103"/>
<source>none</source> <source>none</source>
<translation>Do not use</translation> <translation>Do not use</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="144"/> <location filename="../src/w_PrefrencesWindow.ui" line="147"/>
<source>#VCoreExePath</source> <source>#VCoreExePath</source>
<translation>V2ray Kernal Path</translation> <translation>V2ray Kernal Path</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="165"/> <location filename="../src/w_PrefrencesWindow.ui" line="168"/>
<source>#VCoreAssetsPath</source> <source>#VCoreAssetsPath</source>
<translation>V2ray Assets Path</translation> <translation>V2ray Assets Path</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="187"/> <location filename="../src/w_PrefrencesWindow.ui" line="190"/>
<source>#MuxSettings</source> <source>#MuxSettings</source>
<translation>Mux Settings</translation> <translation>Mux Settings</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="228"/> <location filename="../src/w_PrefrencesWindow.ui" line="231"/>
<source>#InBoundSettings</source> <source>#InBoundSettings</source>
<translation>Inbound Settings</translation> <translation>Inbound Settings</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="236"/> <location filename="../src/w_PrefrencesWindow.ui" line="239"/>
<source>#ListenIP</source> <source>#ListenIP</source>
<translation>Listen IP</translation> <translation>Listen IP</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="314"/> <location filename="../src/w_PrefrencesWindow.ui" line="317"/>
<source>#HTTPInBoundSettings</source> <source>#HTTPInBoundSettings</source>
<translation>HTTP Inbound Settings</translation> <translation>HTTP Inbound Settings</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="250"/> <location filename="../src/w_PrefrencesWindow.ui" line="253"/>
<source>#SOCKSBoundSettings</source> <source>#SOCKSBoundSettings</source>
<translation>SOCKS Inbound Settings</translation> <translation>SOCKS Inbound Settings</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="403"/> <location filename="../src/w_PrefrencesWindow.ui" line="406"/>
<source>#RouteSettings</source> <source>#RouteSettings</source>
<translation>Route Settings</translation> <translation>Route Settings</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="207"/> <location filename="../src/w_PrefrencesWindow.ui" line="210"/>
<source>#Concurrency</source> <source>#Concurrency</source>
<translation>Maximum Connections</translation> <translation>Maximum Connections</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="263"/> <location filename="../src/w_PrefrencesWindow.ui" line="266"/>
<location filename="../src/w_PrefrencesWindow.ui" line="330"/> <location filename="../src/w_PrefrencesWindow.ui" line="333"/>
<source>#Port</source> <source>#Port</source>
<translation>Port</translation> <translation>Port</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="291"/> <location filename="../src/w_PrefrencesWindow.ui" line="294"/>
<location filename="../src/w_PrefrencesWindow.ui" line="364"/> <location filename="../src/w_PrefrencesWindow.ui" line="367"/>
<source>#Username</source> <source>#Username</source>
<translation>Username</translation> <translation>Username</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="277"/> <location filename="../src/w_PrefrencesWindow.ui" line="280"/>
<location filename="../src/w_PrefrencesWindow.ui" line="350"/> <location filename="../src/w_PrefrencesWindow.ui" line="353"/>
<source>#Auth</source> <source>#Auth</source>
<translation>Authentication</translation> <translation>Authentication</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="301"/> <location filename="../src/w_PrefrencesWindow.ui" line="304"/>
<location filename="../src/w_PrefrencesWindow.ui" line="374"/> <location filename="../src/w_PrefrencesWindow.ui" line="377"/>
<source>#Password</source> <source>#Password</source>
<translation>Password</translation> <translation>Password</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.cpp" line="96"/> <location filename="../src/w_PrefrencesWindow.cpp" line="97"/>
<source>PortNumbersCannotBeSame</source> <source>PortNumbersCannotBeSame</source>
<translation>Port numbers cannot be the same</translation> <translation>Port numbers cannot be the same</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.cpp" line="168"/> <location filename="../src/w_PrefrencesWindow.cpp" line="169"/>
<source>RunAsRootNotOnWindows</source> <source>RunAsRootNotOnWindows</source>
<translation>Run as root is not avaliable on Windows Platform</translation> <translation>Run as root is not avaliable on Windows Platform</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.cpp" line="285"/> <location filename="../src/w_PrefrencesWindow.cpp" line="286"/>
<source>#OpenVCoreFile</source> <source>#OpenVCoreFile</source>
<translation>Open v2rat-core file</translation> <translation>Open v2rat-core file</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.cpp" line="296"/> <location filename="../src/w_PrefrencesWindow.cpp" line="297"/>
<source>OpenVAssetsDir</source> <source>OpenVAssetsDir</source>
<translation>Open v2ray assets folder</translation> <translation>Open v2ray assets folder</translation>
</message> </message>
@ -876,6 +876,135 @@
<translation>VMess string decode error</translation> <translation>VMess string decode error</translation>
</message> </message>
</context> </context>
<context>
<name>RouteEditor</name>
<message>
<location filename="../src/w_RouteEditor.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="22"/>
<source>#Routes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="30"/>
<location filename="../src/w_RouteEditor.ui" line="201"/>
<location filename="../src/w_RouteEditor.ui" line="326"/>
<source>#Type</source>
<translation type="unfinished">Type</translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="40"/>
<source>#Outbound</source>
<translation type="unfinished">Outbound Type</translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="35"/>
<source>#DomainOrIP</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="63"/>
<location filename="../src/w_RouteEditor.ui" line="74"/>
<location filename="../src/w_RouteEditor.ui" line="150"/>
<location filename="../src/w_RouteEditor.ui" line="161"/>
<location filename="../src/w_RouteEditor.ui" line="238"/>
<location filename="../src/w_RouteEditor.ui" line="249"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="85"/>
<source>#ChangeIO</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="107"/>
<source>#RouteDetail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="113"/>
<source>#DomainList</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="120"/>
<source>#IPList</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="134"/>
<source>#Inbounds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="172"/>
<source>#FromGlobalConfig</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="181"/>
<source>#InboundDetail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="187"/>
<location filename="../src/w_RouteEditor.ui" line="275"/>
<source>#Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="194"/>
<location filename="../src/w_RouteEditor.ui" line="208"/>
<source>TextLabel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="222"/>
<source>#Outbounds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="260"/>
<source>#AddDirect</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="269"/>
<source>#OutboundDetail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="304"/>
<source>#EditCurrentOutbound</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="333"/>
<source>#Address</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="340"/>
<source>#Port</source>
<translation type="unfinished">Port</translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="347"/>
<location filename="../src/w_RouteEditor.ui" line="354"/>
<location filename="../src/w_RouteEditor.ui" line="361"/>
<source>xx</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="383"/>
<source>#Status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>w_SubscribeEditor</name> <name>w_SubscribeEditor</name>
<message> <message>
@ -884,49 +1013,59 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="75"/> <location filename="../src/w_SubscribeEditor.ui" line="92"/>
<source>#Port</source>
<translation type="unfinished">Port</translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="122"/>
<source>#SubsGroupName</source> <source>#SubsGroupName</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="80"/> <location filename="../src/w_SubscribeEditor.ui" line="127"/>
<source>#SubsGroupURL</source> <source>#SubsGroupURL</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="100"/> <location filename="../src/w_SubscribeEditor.ui" line="150"/>
<source>#ConfigList</source> <source>#AddConnection</source>
<translation type="unfinished">Add a connection</translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="153"/>
<source>A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="112"/> <location filename="../src/w_SubscribeEditor.ui" line="170"/>
<source>#RemoveConnection</source>
<translation type="unfinished">Remove a connection</translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="173"/>
<source>R</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="48"/>
<source>#ConfigDetail</source> <source>#ConfigDetail</source>
<translation type="unfinished">Detailed Config Info</translation> <translation type="unfinished">Detailed Config Info</translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="118"/> <location filename="../src/w_SubscribeEditor.ui" line="54"/>
<source>#Type</source> <source>#Type</source>
<translation type="unfinished">Type</translation> <translation type="unfinished">Type</translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="132"/> <location filename="../src/w_SubscribeEditor.ui" line="68"/>
<source>#Server</source> <source>#Server</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="146"/> <location filename="../src/w_SubscribeEditor.ui" line="82"/>
<source>#Config</source> <source>#Config</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="36"/>
<source>+</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="49"/>
<source>-</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
</TS> </TS>

View File

@ -211,14 +211,14 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_ConnectionEditWindow.cpp" line="395"/> <location filename="../src/w_ConnectionEditWindow.cpp" line="398"/>
<location filename="../src/w_ConnectionEditWindow.cpp" line="406"/> <location filename="../src/w_ConnectionEditWindow.cpp" line="409"/>
<source>#JsonPrettify</source> <source>#JsonPrettify</source>
<translation> JSON</translation> <translation> JSON</translation>
</message> </message>
<message> <message>
<location filename="../src/w_ConnectionEditWindow.cpp" line="395"/> <location filename="../src/w_ConnectionEditWindow.cpp" line="398"/>
<location filename="../src/w_ConnectionEditWindow.cpp" line="406"/> <location filename="../src/w_ConnectionEditWindow.cpp" line="409"/>
<source>#JsonContainsError</source> <source>#JsonContainsError</source>
<translation>JSON </translation> <translation>JSON </translation>
</message> </message>
@ -297,18 +297,18 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_ImportConfig.cpp" line="64"/> <location filename="../src/w_ImportConfig.cpp" line="65"/>
<source>#NotValidVMessProtocolString</source> <source>#NotValidVMessProtocolString</source>
<translation>VMess </translation> <translation>VMess </translation>
</message> </message>
<message> <message>
<location filename="../src/w_ImportConfig.cpp" line="64"/> <location filename="../src/w_ImportConfig.cpp" line="65"/>
<location filename="../src/w_ImportConfig.cpp" line="68"/> <location filename="../src/w_ImportConfig.cpp" line="69"/>
<source>#VMessCheck</source> <source>#VMessCheck</source>
<translation>VMess </translation> <translation>VMess </translation>
</message> </message>
<message> <message>
<location filename="../src/w_ImportConfig.cpp" line="68"/> <location filename="../src/w_ImportConfig.cpp" line="69"/>
<source>#INTERNAL_ERROR</source> <source>#INTERNAL_ERROR</source>
<translation></translation> <translation></translation>
</message> </message>
@ -588,252 +588,252 @@
<name>PrefrencesWindow</name> <name>PrefrencesWindow</name>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="20"/> <location filename="../src/w_PrefrencesWindow.ui" line="20"/>
<location filename="../src/w_PrefrencesWindow.cpp" line="96"/> <location filename="../src/w_PrefrencesWindow.cpp" line="97"/>
<location filename="../src/w_PrefrencesWindow.cpp" line="168"/> <location filename="../src/w_PrefrencesWindow.cpp" line="169"/>
<source>Prefrences</source> <source>Prefrences</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="33"/> <location filename="../src/w_PrefrencesWindow.ui" line="36"/>
<source>#General</source> <source>#General</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="39"/> <location filename="../src/w_PrefrencesWindow.ui" line="42"/>
<source>#Language</source> <source>#Language</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="53"/> <location filename="../src/w_PrefrencesWindow.ui" line="56"/>
<source>zh-CN</source> <source>zh-CN</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="58"/> <location filename="../src/w_PrefrencesWindow.ui" line="61"/>
<source>en-US</source> <source>en-US</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="66"/> <location filename="../src/w_PrefrencesWindow.ui" line="69"/>
<source>#RunAsRoot</source> <source>#RunAsRoot</source>
<translation>使 root </translation> <translation>使 root </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="73"/> <location filename="../src/w_PrefrencesWindow.ui" line="76"/>
<location filename="../src/w_PrefrencesWindow.ui" line="193"/> <location filename="../src/w_PrefrencesWindow.ui" line="196"/>
<location filename="../src/w_PrefrencesWindow.ui" line="200"/> <location filename="../src/w_PrefrencesWindow.ui" line="203"/>
<location filename="../src/w_PrefrencesWindow.ui" line="256"/> <location filename="../src/w_PrefrencesWindow.ui" line="259"/>
<location filename="../src/w_PrefrencesWindow.ui" line="284"/> <location filename="../src/w_PrefrencesWindow.ui" line="287"/>
<location filename="../src/w_PrefrencesWindow.ui" line="323"/> <location filename="../src/w_PrefrencesWindow.ui" line="326"/>
<location filename="../src/w_PrefrencesWindow.ui" line="357"/> <location filename="../src/w_PrefrencesWindow.ui" line="360"/>
<location filename="../src/w_PrefrencesWindow.ui" line="418"/> <location filename="../src/w_PrefrencesWindow.ui" line="421"/>
<location filename="../src/w_PrefrencesWindow.ui" line="439"/> <location filename="../src/w_PrefrencesWindow.ui" line="442"/>
<location filename="../src/w_PrefrencesWindow.ui" line="446"/> <location filename="../src/w_PrefrencesWindow.ui" line="449"/>
<source>#Enabled</source> <source>#Enabled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="80"/> <location filename="../src/w_PrefrencesWindow.ui" line="83"/>
<source>#LogLevel</source> <source>#LogLevel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="105"/> <location filename="../src/w_PrefrencesWindow.ui" line="108"/>
<source>debug</source> <source>debug</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="110"/> <location filename="../src/w_PrefrencesWindow.ui" line="113"/>
<source>info</source> <source>info</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="115"/> <location filename="../src/w_PrefrencesWindow.ui" line="118"/>
<source>warning</source> <source>warning</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="120"/> <location filename="../src/w_PrefrencesWindow.ui" line="123"/>
<source>error</source> <source>error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="156"/> <location filename="../src/w_PrefrencesWindow.ui" line="159"/>
<location filename="../src/w_PrefrencesWindow.ui" line="177"/> <location filename="../src/w_PrefrencesWindow.ui" line="180"/>
<source>#Select</source> <source>#Select</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="128"/> <location filename="../src/w_PrefrencesWindow.ui" line="131"/>
<source>#AutoStartEntry</source> <source>#AutoStartEntry</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="719"/> <location filename="../src/w_PrefrencesWindow.ui" line="722"/>
<source>#IgnoreNextVersion</source> <source>#IgnoreNextVersion</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="726"/> <location filename="../src/w_PrefrencesWindow.ui" line="729"/>
<source>#CancelIngore</source> <source>#CancelIngore</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="411"/> <location filename="../src/w_PrefrencesWindow.ui" line="414"/>
<source>#ProxyGlobal</source> <source>#ProxyGlobal</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="425"/> <location filename="../src/w_PrefrencesWindow.ui" line="428"/>
<source>#ProxyCN</source> <source>#ProxyCN</source>
<translation>使</translation> <translation>使</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="432"/> <location filename="../src/w_PrefrencesWindow.ui" line="435"/>
<source>#WithLocalDNS</source> <source>#WithLocalDNS</source>
<translation>使 DNS</translation> <translation>使 DNS</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="458"/> <location filename="../src/w_PrefrencesWindow.ui" line="461"/>
<source>#DNSList</source> <source>#DNSList</source>
<translation>DNS </translation> <translation>DNS </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="472"/> <location filename="../src/w_PrefrencesWindow.ui" line="475"/>
<source>#About</source> <source>#About</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="520"/> <location filename="../src/w_PrefrencesWindow.ui" line="523"/>
<source>Qv2ray</source> <source>Qv2ray</source>
<translation>Qv2ray</translation> <translation>Qv2ray</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="542"/> <location filename="../src/w_PrefrencesWindow.ui" line="545"/>
<source>#Version:</source> <source>#Version:</source>
<translation>:</translation> <translation>:</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="554"/> <location filename="../src/w_PrefrencesWindow.ui" line="557"/>
<source>#QvVersion</source> <source>#QvVersion</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="578"/> <location filename="../src/w_PrefrencesWindow.ui" line="581"/>
<source>#OfficialRepo:</source> <source>#OfficialRepo:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="629"/> <location filename="../src/w_PrefrencesWindow.ui" line="632"/>
<source>#License:</source> <source>#License:</source>
<translation>:</translation> <translation>:</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="647"/> <location filename="../src/w_PrefrencesWindow.ui" line="650"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://www.gnu.org/licenses/gpl-3.0.txt&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;GPLv3 (https://www.gnu.org/licenses/gpl-3.0.txt)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://www.gnu.org/licenses/gpl-3.0.txt&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;GPLv3 (https://www.gnu.org/licenses/gpl-3.0.txt)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="684"/> <location filename="../src/w_PrefrencesWindow.ui" line="687"/>
<source>#AboutQt</source> <source>#AboutQt</source>
<translation> Qt</translation> <translation> Qt</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="596"/> <location filename="../src/w_PrefrencesWindow.ui" line="599"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/lhy0403/Qv2ray&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;https://github.com/lhy0403/Qv2ray&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/lhy0403/Qv2ray&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;https://github.com/lhy0403/Qv2ray&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="100"/> <location filename="../src/w_PrefrencesWindow.ui" line="103"/>
<source>none</source> <source>none</source>
<translation>使</translation> <translation>使</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="144"/> <location filename="../src/w_PrefrencesWindow.ui" line="147"/>
<source>#VCoreExePath</source> <source>#VCoreExePath</source>
<translation>v2ray </translation> <translation>v2ray </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="165"/> <location filename="../src/w_PrefrencesWindow.ui" line="168"/>
<source>#VCoreAssetsPath</source> <source>#VCoreAssetsPath</source>
<translation>v2ray </translation> <translation>v2ray </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="187"/> <location filename="../src/w_PrefrencesWindow.ui" line="190"/>
<source>#MuxSettings</source> <source>#MuxSettings</source>
<translation>Mux </translation> <translation>Mux </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="228"/> <location filename="../src/w_PrefrencesWindow.ui" line="231"/>
<source>#InBoundSettings</source> <source>#InBoundSettings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="236"/> <location filename="../src/w_PrefrencesWindow.ui" line="239"/>
<source>#ListenIP</source> <source>#ListenIP</source>
<translation> IP</translation> <translation> IP</translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="314"/> <location filename="../src/w_PrefrencesWindow.ui" line="317"/>
<source>#HTTPInBoundSettings</source> <source>#HTTPInBoundSettings</source>
<translation>HTTP </translation> <translation>HTTP </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="250"/> <location filename="../src/w_PrefrencesWindow.ui" line="253"/>
<source>#SOCKSBoundSettings</source> <source>#SOCKSBoundSettings</source>
<translation>SOCKS </translation> <translation>SOCKS </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="403"/> <location filename="../src/w_PrefrencesWindow.ui" line="406"/>
<source>#RouteSettings</source> <source>#RouteSettings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="207"/> <location filename="../src/w_PrefrencesWindow.ui" line="210"/>
<source>#Concurrency</source> <source>#Concurrency</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="263"/> <location filename="../src/w_PrefrencesWindow.ui" line="266"/>
<location filename="../src/w_PrefrencesWindow.ui" line="330"/> <location filename="../src/w_PrefrencesWindow.ui" line="333"/>
<source>#Port</source> <source>#Port</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="291"/> <location filename="../src/w_PrefrencesWindow.ui" line="294"/>
<location filename="../src/w_PrefrencesWindow.ui" line="364"/> <location filename="../src/w_PrefrencesWindow.ui" line="367"/>
<source>#Username</source> <source>#Username</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="277"/> <location filename="../src/w_PrefrencesWindow.ui" line="280"/>
<location filename="../src/w_PrefrencesWindow.ui" line="350"/> <location filename="../src/w_PrefrencesWindow.ui" line="353"/>
<source>#Auth</source> <source>#Auth</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.ui" line="301"/> <location filename="../src/w_PrefrencesWindow.ui" line="304"/>
<location filename="../src/w_PrefrencesWindow.ui" line="374"/> <location filename="../src/w_PrefrencesWindow.ui" line="377"/>
<source>#Password</source> <source>#Password</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.cpp" line="96"/> <location filename="../src/w_PrefrencesWindow.cpp" line="97"/>
<source>PortNumbersCannotBeSame</source> <source>PortNumbersCannotBeSame</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.cpp" line="168"/> <location filename="../src/w_PrefrencesWindow.cpp" line="169"/>
<source>RunAsRootNotOnWindows</source> <source>RunAsRootNotOnWindows</source>
<translation>Windows </translation> <translation>Windows </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.cpp" line="285"/> <location filename="../src/w_PrefrencesWindow.cpp" line="286"/>
<source>#OpenVCoreFile</source> <source>#OpenVCoreFile</source>
<translation> v2ray </translation> <translation> v2ray </translation>
</message> </message>
<message> <message>
<location filename="../src/w_PrefrencesWindow.cpp" line="296"/> <location filename="../src/w_PrefrencesWindow.cpp" line="297"/>
<source>OpenVAssetsDir</source> <source>OpenVAssetsDir</source>
<translation> v2ray </translation> <translation> v2ray </translation>
</message> </message>
@ -876,6 +876,135 @@
<translation>VMess </translation> <translation>VMess </translation>
</message> </message>
</context> </context>
<context>
<name>RouteEditor</name>
<message>
<location filename="../src/w_RouteEditor.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="22"/>
<source>#Routes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="30"/>
<location filename="../src/w_RouteEditor.ui" line="201"/>
<location filename="../src/w_RouteEditor.ui" line="326"/>
<source>#Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="40"/>
<source>#Outbound</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="35"/>
<source>#DomainOrIP</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="63"/>
<location filename="../src/w_RouteEditor.ui" line="74"/>
<location filename="../src/w_RouteEditor.ui" line="150"/>
<location filename="../src/w_RouteEditor.ui" line="161"/>
<location filename="../src/w_RouteEditor.ui" line="238"/>
<location filename="../src/w_RouteEditor.ui" line="249"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="85"/>
<source>#ChangeIO</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="107"/>
<source>#RouteDetail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="113"/>
<source>#DomainList</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="120"/>
<source>#IPList</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="134"/>
<source>#Inbounds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="172"/>
<source>#FromGlobalConfig</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="181"/>
<source>#InboundDetail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="187"/>
<location filename="../src/w_RouteEditor.ui" line="275"/>
<source>#Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="194"/>
<location filename="../src/w_RouteEditor.ui" line="208"/>
<source>TextLabel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="222"/>
<source>#Outbounds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="260"/>
<source>#AddDirect</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="269"/>
<source>#OutboundDetail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="304"/>
<source>#EditCurrentOutbound</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="333"/>
<source>#Address</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="340"/>
<source>#Port</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="347"/>
<location filename="../src/w_RouteEditor.ui" line="354"/>
<location filename="../src/w_RouteEditor.ui" line="361"/>
<source>xx</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_RouteEditor.ui" line="383"/>
<source>#Status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>w_SubscribeEditor</name> <name>w_SubscribeEditor</name>
<message> <message>
@ -884,49 +1013,59 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="75"/> <location filename="../src/w_SubscribeEditor.ui" line="92"/>
<source>#Port</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="122"/>
<source>#SubsGroupName</source> <source>#SubsGroupName</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="80"/> <location filename="../src/w_SubscribeEditor.ui" line="127"/>
<source>#SubsGroupURL</source> <source>#SubsGroupURL</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="100"/> <location filename="../src/w_SubscribeEditor.ui" line="150"/>
<source>#ConfigList</source> <source>#AddConnection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="153"/>
<source>A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="112"/> <location filename="../src/w_SubscribeEditor.ui" line="170"/>
<source>#RemoveConnection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="173"/>
<source>R</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="48"/>
<source>#ConfigDetail</source> <source>#ConfigDetail</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="118"/> <location filename="../src/w_SubscribeEditor.ui" line="54"/>
<source>#Type</source> <source>#Type</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="132"/> <location filename="../src/w_SubscribeEditor.ui" line="68"/>
<source>#Server</source> <source>#Server</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/w_SubscribeEditor.ui" line="146"/> <location filename="../src/w_SubscribeEditor.ui" line="82"/>
<source>#Config</source> <source>#Config</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="36"/>
<source>+</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/w_SubscribeEditor.ui" line="49"/>
<source>-</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
</TS> </TS>