Reboot server button (#553)

* add button Reboot Server
This commit is contained in:
agalehaga 2024-02-04 18:52:03 +02:00 committed by GitHub
parent cdf46c968a
commit fd98ef1250
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 475 additions and 276 deletions

View file

@ -225,6 +225,24 @@ ErrorCode ServerController::uploadFileToHost(const ServerCredentials &credential
return ErrorCode::NoError; return ErrorCode::NoError;
} }
ErrorCode ServerController::rebootServer(const ServerCredentials &credentials)
{
QString script = QString("sudo reboot");
QString stdOut;
auto cbReadStdOut = [&](const QString &data, libssh::Client &) {
stdOut += data;
return ErrorCode::NoError;
};
auto cbReadStdErr = [&](const QString &data, libssh::Client &) {
stdOut += data + "\n";
return ErrorCode::NoError;
};
return runScript(credentials, script, cbReadStdOut, cbReadStdErr);
}
ErrorCode ServerController::removeAllContainers(const ServerCredentials &credentials) ErrorCode ServerController::removeAllContainers(const ServerCredentials &credentials)
{ {
return runScript(credentials, amnezia::scriptData(SharedScriptType::remove_all_containers)); return runScript(credentials, amnezia::scriptData(SharedScriptType::remove_all_containers));

View file

@ -22,6 +22,7 @@ public:
typedef QList<QPair<QString, QString>> Vars; typedef QList<QPair<QString, QString>> Vars;
ErrorCode rebootServer(const ServerCredentials &credentials);
ErrorCode removeAllContainers(const ServerCredentials &credentials); ErrorCode removeAllContainers(const ServerCredentials &credentials);
ErrorCode removeContainer(const ServerCredentials &credentials, DockerContainer container); ErrorCode removeContainer(const ServerCredentials &credentials, DockerContainer container);
ErrorCode setupContainer(const ServerCredentials &credentials, DockerContainer container, QJsonObject &config, ErrorCode setupContainer(const ServerCredentials &credentials, DockerContainer container, QJsonObject &config,

View file

@ -33,6 +33,7 @@ QString amnezia::scriptName(SharedScriptType type)
case SharedScriptType::check_connection: return QLatin1String("check_connection.sh"); case SharedScriptType::check_connection: return QLatin1String("check_connection.sh");
case SharedScriptType::check_server_is_busy: return QLatin1String("check_server_is_busy.sh"); case SharedScriptType::check_server_is_busy: return QLatin1String("check_server_is_busy.sh");
case SharedScriptType::check_user_in_sudo: return QLatin1String("check_user_in_sudo.sh"); case SharedScriptType::check_user_in_sudo: return QLatin1String("check_user_in_sudo.sh");
default: return QString();
} }
} }
@ -46,6 +47,7 @@ QString amnezia::scriptName(ProtocolScriptType type)
case ProtocolScriptType::openvpn_template: return QLatin1String("template.ovpn"); case ProtocolScriptType::openvpn_template: return QLatin1String("template.ovpn");
case ProtocolScriptType::wireguard_template: return QLatin1String("template.conf"); case ProtocolScriptType::wireguard_template: return QLatin1String("template.conf");
case ProtocolScriptType::awg_template: return QLatin1String("template.conf"); case ProtocolScriptType::awg_template: return QLatin1String("template.conf");
default: return QString();
} }
} }

View file

@ -133,12 +133,12 @@
<context> <context>
<name>HomeContainersListView</name> <name>HomeContainersListView</name>
<message> <message>
<location filename="../ui/qml/Components/HomeContainersListView.qml" line="58"/> <location filename="../ui/qml/Components/HomeContainersListView.qml" line="76"/>
<source>Unable change protocol while there is an active connection</source> <source>Unable change protocol while there is an active connection</source>
<translation>امکان تغییر پروتکل در هنگام متصل بودن وجود ندارد</translation> <translation>امکان تغییر پروتکل در هنگام متصل بودن وجود ندارد</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Components/HomeContainersListView.qml" line="68"/> <location filename="../ui/qml/Components/HomeContainersListView.qml" line="85"/>
<source>The selected protocol is not supported on the current platform</source> <source>The selected protocol is not supported on the current platform</source>
<translation>پروتکل انتخاب شده بر روی این پلتفرم پشتیبانی نمیشود</translation> <translation>پروتکل انتخاب شده بر روی این پلتفرم پشتیبانی نمیشود</translation>
</message> </message>
@ -150,7 +150,7 @@
<context> <context>
<name>ImportController</name> <name>ImportController</name>
<message> <message>
<location filename="../ui/controllers/importController.cpp" line="411"/> <location filename="../ui/controllers/importController.cpp" line="416"/>
<source>Scanned %1 of %2.</source> <source>Scanned %1 of %2.</source>
<translation>ارزیابی %1 از %2.</translation> <translation>ارزیابی %1 از %2.</translation>
</message> </message>
@ -190,26 +190,31 @@ Already installed containers were found on the server. All installed containers
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="305"/> <location filename="../ui/controllers/installController.cpp" line="305"/>
<source>Server &apos;%1&apos; was rebooted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/controllers/installController.cpp" line="314"/>
<source>Server &apos;%1&apos; was removed</source> <source>Server &apos;%1&apos; was removed</source>
<translation>سرور %1 حذف شد</translation> <translation>سرور %1 حذف شد</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="315"/> <location filename="../ui/controllers/installController.cpp" line="324"/>
<source>All containers from server &apos;%1&apos; have been removed</source> <source>All containers from server &apos;%1&apos; have been removed</source>
<translation>تمام کانتینترها از سرور %1 حذف شدند</translation> <translation>تمام کانتینترها از سرور %1 حذف شدند</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="332"/> <location filename="../ui/controllers/installController.cpp" line="341"/>
<source>%1 has been removed from the server &apos;%2&apos;</source> <source>%1 has been removed from the server &apos;%2&apos;</source>
<translation>%1 از سرور %2 حذف شد</translation> <translation>%1 از سرور %2 حذف شد</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="478"/> <location filename="../ui/controllers/installController.cpp" line="487"/>
<source>Please login as the user</source> <source>Please login as the user</source>
<translation>لطفا به عنوان کاربر وارد شوید</translation> <translation>لطفا به عنوان کاربر وارد شوید</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="506"/> <location filename="../ui/controllers/installController.cpp" line="515"/>
<source>Server added successfully</source> <source>Server added successfully</source>
<translation>سرور با موفقیت اضافه شد</translation> <translation>سرور با موفقیت اضافه شد</translation>
</message> </message>
@ -277,17 +282,17 @@ Already installed containers were found on the server. All installed containers
<context> <context>
<name>PageHome</name> <name>PageHome</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="317"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="318"/>
<source>VPN protocol</source> <source>VPN protocol</source>
<translation>پروتکل ویپیان</translation> <translation>پروتکل ویپیان</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="361"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="362"/>
<source>Servers</source> <source>Servers</source>
<translation>سرورها</translation> <translation>سرورها</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="453"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="454"/>
<source>Unable change server while there is an active connection</source> <source>Unable change server while there is an active connection</source>
<translation>امکان تغییر سرور در هنگام متصل بودن وجود ندارد</translation> <translation>امکان تغییر سرور در هنگام متصل بودن وجود ندارد</translation>
</message> </message>
@ -1220,57 +1225,62 @@ Already installed containers were found on the server. All installed containers
<context> <context>
<name>PageSettingsDns</name> <name>PageSettingsDns</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="45"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="35"/>
<source>Default server does not support custom dns</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="53"/>
<source>DNS servers</source> <source>DNS servers</source>
<translation>سرورهای DNS</translation> <translation>سرورهای DNS</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="50"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="58"/>
<source>If AmneziaDNS is not used or installed</source> <source>If AmneziaDNS is not used or installed</source>
<translation>اگر AmneziaDNS نصب نباشد یا استفاده نشود</translation> <translation>اگر AmneziaDNS نصب نباشد یا استفاده نشود</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="57"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="65"/>
<source>Primary DNS</source> <source>Primary DNS</source>
<translation>DNS اصلی</translation> <translation>DNS اصلی</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="69"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="77"/>
<source>Secondary DNS</source> <source>Secondary DNS</source>
<translation>DNS ثانویه</translation> <translation>DNS ثانویه</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="87"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="95"/>
<source>Restore default</source> <source>Restore default</source>
<translation>بازگشت به پیشفرض</translation> <translation>بازگشت به پیشفرض</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="98"/>
<source>Restore default DNS settings?</source> <source>Restore default DNS settings?</source>
<translation>بازگشت به تنظیمات پیشفرض DNS؟</translation> <translation>بازگشت به تنظیمات پیشفرض DNS؟</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="91"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="99"/>
<source>Continue</source> <source>Continue</source>
<translation>ادامه</translation> <translation>ادامه</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="92"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="100"/>
<source>Cancel</source> <source>Cancel</source>
<translation>کنسل</translation> <translation>کنسل</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="100"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="108"/>
<source>Settings have been reset</source> <source>Settings have been reset</source>
<translation>تنظیمات ریست شد</translation> <translation>تنظیمات ریست شد</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="112"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="120"/>
<source>Save</source> <source>Save</source>
<translation>ذخیره</translation> <translation>ذخیره</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="121"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="129"/>
<source>Settings saved</source> <source>Settings saved</source>
<translation>ذخیره تنظیمات</translation> <translation>ذخیره تنظیمات</translation>
</message> </message>
@ -1288,52 +1298,52 @@ Already installed containers were found on the server. All installed containers
<translation>ذخیره گزارشات</translation> <translation>ذخیره گزارشات</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="86"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="87"/>
<source>Open folder with logs</source> <source>Open folder with logs</source>
<translation>باز کردن پوشه گزارشات</translation> <translation>باز کردن پوشه گزارشات</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="108"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="109"/>
<source>Save</source> <source>Save</source>
<translation>ذخیره</translation> <translation>ذخیره</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="109"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="110"/>
<source>Logs files (*.log)</source> <source>Logs files (*.log)</source>
<translation>Logs files (*.log)</translation> <translation>Logs files (*.log)</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="118"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="119"/>
<source>Logs file saved</source> <source>Logs file saved</source>
<translation>فایل گزارشات ذخیره شد</translation> <translation>فایل گزارشات ذخیره شد</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="127"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="128"/>
<source>Save logs to file</source> <source>Save logs to file</source>
<translation>ذخیره گزارشات در فایل</translation> <translation>ذخیره گزارشات در فایل</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="145"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="146"/>
<source>Clear logs?</source> <source>Clear logs?</source>
<translation>پاک کردن گزارشات؟</translation> <translation>پاک کردن گزارشات؟</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="146"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="147"/>
<source>Continue</source> <source>Continue</source>
<translation>ادامه</translation> <translation>ادامه</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="147"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="148"/>
<source>Cancel</source> <source>Cancel</source>
<translation>کنسل</translation> <translation>کنسل</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="154"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="155"/>
<source>Logs have been cleaned up</source> <source>Logs have been cleaned up</source>
<translation>گزارشات پاک شدند</translation> <translation>گزارشات پاک شدند</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="167"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="168"/>
<source>Clear logs</source> <source>Clear logs</source>
<translation>پاک کردن گزارشات</translation> <translation>پاک کردن گزارشات</translation>
</message> </message>
@ -1346,17 +1356,17 @@ Already installed containers were found on the server. All installed containers
<translation>تمام کانتینرهای نصب شده به نرمافزار اضافه شدند</translation> <translation>تمام کانتینرهای نصب شده به نرمافزار اضافه شدند</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="87"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="91"/>
<source>Clear Amnezia cache</source> <source>Clear Amnezia cache</source>
<translation>پاک کردن حافظه داخلی Amnezia</translation> <translation>پاک کردن حافظه داخلی Amnezia</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="88"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="92"/>
<source>May be needed when changing other settings</source> <source>May be needed when changing other settings</source>
<translation>وقتی تنظیمات دیگر را تغییر دهید ممکن است نیاز باشد</translation> <translation>وقتی تنظیمات دیگر را تغییر دهید ممکن است نیاز باشد</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="91"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="95"/>
<source>Clear cached profiles?</source> <source>Clear cached profiles?</source>
<translation>پاک کردن پروفایل ذخیره شده؟</translation> <translation>پاک کردن پروفایل ذخیره شده؟</translation>
</message> </message>
@ -1371,56 +1381,81 @@ Already installed containers were found on the server. All installed containers
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="93"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="97"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="140"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="145"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="171"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="177"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="208"/>
<source>Continue</source> <source>Continue</source>
<translation>ادامه</translation> <translation>ادامه</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="94"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="98"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="141"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="146"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="172"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="178"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="209"/>
<source>Cancel</source> <source>Cancel</source>
<translation>کنسل</translation> <translation>کنسل</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="117"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="121"/>
<source>Check the server for previously installed Amnezia services</source> <source>Check the server for previously installed Amnezia services</source>
<translation>چک کردن سرویسهای نصب شده Amnezia بر روی سرور</translation> <translation>چک کردن سرویسهای نصب شده Amnezia بر روی سرور</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="118"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="122"/>
<source>Add them to the application if they were not displayed</source> <source>Add them to the application if they were not displayed</source>
<translation>اضافه کردن آنها به نرمافزار اگر نمایش داده نشدهاند</translation> <translation>اضافه کردن آنها به نرمافزار اگر نمایش داده نشدهاند</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="134"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="139"/>
<source>Reboot server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="143"/>
<source>Do you want to reboot the server?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="144"/>
<source>??????????????????????????????</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="175"/>
<source>Do you want to remove the server?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="206"/>
<source>Do you want to clear server from Amnezia software?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="171"/>
<source>Remove server from application</source> <source>Remove server from application</source>
<translation>حذف کردن سرور از نرمافزار</translation> <translation>حذف کردن سرور از نرمافزار</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="138"/>
<source>Remove server?</source> <source>Remove server?</source>
<translation>حذف سرور؟</translation> <translation type="vanished">حذف سرور؟</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="139"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="176"/>
<source>All installed AmneziaVPN services will still remain on the server.</source> <source>All installed AmneziaVPN services will still remain on the server.</source>
<translation>تمام سرویسهای نصبشده Amnezia همچنان بر روی سرور باقی خواهند ماند.</translation> <translation>تمام سرویسهای نصبشده Amnezia همچنان بر روی سرور باقی خواهند ماند.</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="165"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="202"/>
<source>Clear server from Amnezia software</source> <source>Clear server from Amnezia software</source>
<translation>پاک کردن سرور از نرمافزار Amnezia</translation> <translation>پاک کردن سرور از نرمافزار Amnezia</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="169"/>
<source>Clear server from Amnezia software?</source> <source>Clear server from Amnezia software?</source>
<translation>سرور از نرمافزار Amnezia پاک شود؟</translation> <translation type="vanished">سرور از نرمافزار Amnezia پاک شود؟</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="170"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="207"/>
<source>All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted.</source> <source>All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted.</source>
<translation>تمام کانتینرها از سرور پاک شوند، به این معنی که تمام فایلهای پیکربندی، کلیدها و مجوزها حذف خواهند شد.</translation> <translation>تمام کانتینرها از سرور پاک شوند، به این معنی که تمام فایلهای پیکربندی، کلیدها و مجوزها حذف خواهند شد.</translation>
</message> </message>
@ -1501,90 +1536,95 @@ Already installed containers were found on the server. All installed containers
<context> <context>
<name>PageSettingsSplitTunneling</name> <name>PageSettingsSplitTunneling</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="53"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="29"/>
<source>Default server does not support split tunneling function</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="59"/>
<source>Addresses from the list should be accessed via VPN</source> <source>Addresses from the list should be accessed via VPN</source>
<translation>دسترسی به آدرسهای لیست از طریق ویپیان</translation> <translation>دسترسی به آدرسهای لیست از طریق ویپیان</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="58"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="64"/>
<source>Addresses from the list should not be accessed via VPN</source> <source>Addresses from the list should not be accessed via VPN</source>
<translation>دسترسی به آدرسهای لیست بدون ویپیان</translation> <translation>دسترسی به آدرسهای لیست بدون ویپیان</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="96"/>
<source>Split tunneling</source> <source>Split tunneling</source>
<translation>جداسازی ترافیک</translation> <translation>جداسازی ترافیک</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="121"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="127"/>
<source>Mode</source> <source>Mode</source>
<translation>حالت</translation> <translation>حالت</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="199"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="205"/>
<source>Remove </source> <source>Remove </source>
<translation>حذف </translation> <translation>حذف </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="200"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="206"/>
<source>Continue</source> <source>Continue</source>
<translation>ادامه</translation> <translation>ادامه</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="201"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="207"/>
<source>Cancel</source> <source>Cancel</source>
<translation>کنسل</translation> <translation>کنسل</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="248"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="254"/>
<source>Site or IP</source> <source>Site or IP</source>
<translation>سایت یا آیپی</translation> <translation>سایت یا آیپی</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="292"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="298"/>
<source>Import/Export Sites</source> <source>Import/Export Sites</source>
<translation>بارگذاری / خروجیگرفتن از سایتها</translation> <translation>بارگذاری / خروجیگرفتن از سایتها</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="298"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="304"/>
<source>Import</source> <source>Import</source>
<translation>بارگذاری</translation> <translation>بارگذاری</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="310"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="316"/>
<source>Save site list</source> <source>Save site list</source>
<translation>ذخیره لیست سایتها</translation> <translation>ذخیره لیست سایتها</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="317"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="323"/>
<source>Save sites</source> <source>Save sites</source>
<translation>ذخیره سایتها</translation> <translation>ذخیره سایتها</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="318"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="324"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="385"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="391"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="400"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="406"/>
<source>Sites files (*.json)</source> <source>Sites files (*.json)</source>
<translation>Sites files (*.json)</translation> <translation>Sites files (*.json)</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="375"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="381"/>
<source>Import a list of sites</source> <source>Import a list of sites</source>
<translation>بارگذاری لیست سایتها</translation> <translation>بارگذاری لیست سایتها</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="381"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="387"/>
<source>Replace site list</source> <source>Replace site list</source>
<translation>جایگزین کردن لیست سایت</translation> <translation>جایگزین کردن لیست سایت</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="384"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="390"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="399"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="405"/>
<source>Open sites file</source> <source>Open sites file</source>
<translation>باز کردن فایل سایتها</translation> <translation>باز کردن فایل سایتها</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="396"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="402"/>
<source>Add imported sites to existing ones</source> <source>Add imported sites to existing ones</source>
<translation>اضافه کردن سایتهای بارگذاری شده به سایتهای موجود</translation> <translation>اضافه کردن سایتهای بارگذاری شده به سایتهای موجود</translation>
</message> </message>
@ -1711,22 +1751,22 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<translation>سطح کنترل اینترنت در منطقه شما چگونه است؟</translation> <translation>سطح کنترل اینترنت در منطقه شما چگونه است؟</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="137"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="139"/>
<source>Set up a VPN yourself</source> <source>Set up a VPN yourself</source>
<translation>یک ویپیان برای خودتان بسازید</translation> <translation>یک ویپیان برای خودتان بسازید</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="138"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="140"/>
<source>I want to choose a VPN protocol</source> <source>I want to choose a VPN protocol</source>
<translation>میخواهم پروتکل ویپیان را انتخاب کنم</translation> <translation>میخواهم پروتکل ویپیان را انتخاب کنم</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="157"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="159"/>
<source>Continue</source> <source>Continue</source>
<translation>ادامه</translation> <translation>ادامه</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="197"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="199"/>
<source>Set up later</source> <source>Set up later</source>
<translation>بعدا تنظیم شود</translation> <translation>بعدا تنظیم شود</translation>
</message> </message>
@ -1734,7 +1774,7 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<context> <context>
<name>PageSetupWizardInstalling</name> <name>PageSetupWizardInstalling</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="60"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="61"/>
<source>The server has already been added to the application</source> <source>The server has already been added to the application</source>
<translation>سرور در حال حاضر به نرمافزار اضافه شده است</translation> <translation>سرور در حال حاضر به نرمافزار اضافه شده است</translation>
</message> </message>
@ -1747,33 +1787,33 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<translation type="vanished">занят установкой других протоколов или сервисов. Установка Amnesia </translation> <translation type="vanished">занят установкой других протоколов или сервисов. Установка Amnesia </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="66"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="67"/>
<source>Amnezia has detected that your server is currently </source> <source>Amnezia has detected that your server is currently </source>
<translation>برنامه Amnezia تشخیص داده است که سرور در حال حاضر </translation> <translation>برنامه Amnezia تشخیص داده است که سرور در حال حاضر </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="67"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="68"/>
<source>busy installing other software. Amnezia installation </source> <source>busy installing other software. Amnezia installation </source>
<translation>مشغول نصب نرمافزار دیگری است. نصب Amnezia </translation> <translation>مشغول نصب نرمافزار دیگری است. نصب Amnezia </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="68"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="69"/>
<source>will pause until the server finishes installing other software</source> <source>will pause until the server finishes installing other software</source>
<translation>متوقف شده تا زمانی که سرور نصب نرمافزار دیگر را تمام کند</translation> <translation>متوقف شده تا زمانی که سرور نصب نرمافزار دیگر را تمام کند</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="126"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="127"/>
<source>Installing</source> <source>Installing</source>
<translation>در حال نصب</translation> <translation>در حال نصب</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="165"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="166"/>
<source>Cancel installation</source> <source>Cancel installation</source>
<translation>لغو عملیات نصب</translation> <translation>لغو عملیات نصب</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="21"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="21"/>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="72"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="73"/>
<source>Usually it takes no more than 5 minutes</source> <source>Usually it takes no more than 5 minutes</source>
<translation>معمولا بیش از 5 دقیقه طول نمیکشد</translation> <translation>معمولا بیش از 5 دقیقه طول نمیکشد</translation>
</message> </message>
@ -1896,27 +1936,27 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<context> <context>
<name>PageSetupWizardViewConfig</name> <name>PageSetupWizardViewConfig</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="63"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="64"/>
<source>New connection</source> <source>New connection</source>
<translation>ارتباط جدید</translation> <translation>ارتباط جدید</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="91"/>
<source>Do not use connection code from public sources. It could be created to intercept your data.</source> <source>Do not use connection code from public sources. It could be created to intercept your data.</source>
<translation>از کد اتصالی که در منابع عمومی هست استفاده نکنید. ممکن است برای شنود اطلاعات شما ایجاد شده باشد.</translation> <translation>از کد اتصالی که در منابع عمومی هست استفاده نکنید. ممکن است برای شنود اطلاعات شما ایجاد شده باشد.</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="105"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="106"/>
<source>Collapse content</source> <source>Collapse content</source>
<translation>جمع کردن محتوا</translation> <translation>جمع کردن محتوا</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="105"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="106"/>
<source>Show content</source> <source>Show content</source>
<translation>نمایش محتوا</translation> <translation>نمایش محتوا</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="148"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="149"/>
<source>Connect</source> <source>Connect</source>
<translation>اتصال</translation> <translation>اتصال</translation>
</message> </message>
@ -2958,22 +2998,22 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<context> <context>
<name>SettingsController</name> <name>SettingsController</name>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="26"/> <location filename="../ui/controllers/settingsController.cpp" line="27"/>
<source>Software version</source> <source>Software version</source>
<translation>نسخه نرمافزار</translation> <translation>نسخه نرمافزار</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="139"/> <location filename="../ui/controllers/settingsController.cpp" line="148"/>
<source>All settings have been reset to default values</source> <source>All settings have been reset to default values</source>
<translation>تمام تنظیمات به مقادیر پیش فرض ریست شد</translation> <translation>تمام تنظیمات به مقادیر پیش فرض ریست شد</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="145"/> <location filename="../ui/controllers/settingsController.cpp" line="154"/>
<source>Cached profiles cleared</source> <source>Cached profiles cleared</source>
<translation>پروفایل ذخیره شده پاک شد</translation> <translation>پروفایل ذخیره شده پاک شد</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="123"/> <location filename="../ui/controllers/settingsController.cpp" line="132"/>
<source>Backup file is corrupted</source> <source>Backup file is corrupted</source>
<translation>فایل بکآپ خراب شده است</translation> <translation>فایل بکآپ خراب شده است</translation>
</message> </message>
@ -3105,7 +3145,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<context> <context>
<name>VpnConnection</name> <name>VpnConnection</name>
<message> <message>
<location filename="../vpnconnection.cpp" line="432"/> <location filename="../vpnconnection.cpp" line="438"/>
<source>Mbps</source> <source>Mbps</source>
<translation>Mbps</translation> <translation>Mbps</translation>
</message> </message>

View file

@ -132,12 +132,12 @@
<context> <context>
<name>HomeContainersListView</name> <name>HomeContainersListView</name>
<message> <message>
<location filename="../ui/qml/Components/HomeContainersListView.qml" line="58"/> <location filename="../ui/qml/Components/HomeContainersListView.qml" line="76"/>
<source>Unable change protocol while there is an active connection</source> <source>Unable change protocol while there is an active connection</source>
<translation>Невозможно изменить протокол при активном соединении</translation> <translation>Невозможно изменить протокол при активном соединении</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Components/HomeContainersListView.qml" line="68"/> <location filename="../ui/qml/Components/HomeContainersListView.qml" line="85"/>
<source>The selected protocol is not supported on the current platform</source> <source>The selected protocol is not supported on the current platform</source>
<translation>Выбранный протокол не поддерживается на данном устройстве</translation> <translation>Выбранный протокол не поддерживается на данном устройстве</translation>
</message> </message>
@ -149,7 +149,7 @@
<context> <context>
<name>ImportController</name> <name>ImportController</name>
<message> <message>
<location filename="../ui/controllers/importController.cpp" line="411"/> <location filename="../ui/controllers/importController.cpp" line="416"/>
<source>Scanned %1 of %2.</source> <source>Scanned %1 of %2.</source>
<translation>Отсканировано %1 из%2.</translation> <translation>Отсканировано %1 из%2.</translation>
</message> </message>
@ -188,26 +188,31 @@ Already installed containers were found on the server. All installed containers
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="305"/> <location filename="../ui/controllers/installController.cpp" line="305"/>
<source>Server &apos;%1&apos; was rebooted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/controllers/installController.cpp" line="314"/>
<source>Server &apos;%1&apos; was removed</source> <source>Server &apos;%1&apos; was removed</source>
<translation>Сервер &apos;%1&apos; был удален</translation> <translation>Сервер &apos;%1&apos; был удален</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="315"/> <location filename="../ui/controllers/installController.cpp" line="324"/>
<source>All containers from server &apos;%1&apos; have been removed</source> <source>All containers from server &apos;%1&apos; have been removed</source>
<translation>Все протоколы и сервисы были удалены с сервера &apos;%1&apos;</translation> <translation>Все протоколы и сервисы были удалены с сервера &apos;%1&apos;</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="332"/> <location filename="../ui/controllers/installController.cpp" line="341"/>
<source>%1 has been removed from the server &apos;%2&apos;</source> <source>%1 has been removed from the server &apos;%2&apos;</source>
<translation>%1 был удален с сервера &apos;%2&apos;</translation> <translation>%1 был удален с сервера &apos;%2&apos;</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="478"/> <location filename="../ui/controllers/installController.cpp" line="487"/>
<source>Please login as the user</source> <source>Please login as the user</source>
<translation>Пожалуйста, войдите в систему от имени пользователя</translation> <translation>Пожалуйста, войдите в систему от имени пользователя</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="506"/> <location filename="../ui/controllers/installController.cpp" line="515"/>
<source>Server added successfully</source> <source>Server added successfully</source>
<translation>Сервер успешно добавлен</translation> <translation>Сервер успешно добавлен</translation>
</message> </message>
@ -275,17 +280,17 @@ Already installed containers were found on the server. All installed containers
<context> <context>
<name>PageHome</name> <name>PageHome</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="317"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="318"/>
<source>VPN protocol</source> <source>VPN protocol</source>
<translation>VPN протокол</translation> <translation>VPN протокол</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="361"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="362"/>
<source>Servers</source> <source>Servers</source>
<translation>Серверы</translation> <translation>Серверы</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="453"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="454"/>
<source>Unable change server while there is an active connection</source> <source>Unable change server while there is an active connection</source>
<translation>Невозможно изменить сервер при активном соединении</translation> <translation>Невозможно изменить сервер при активном соединении</translation>
</message> </message>
@ -1218,57 +1223,62 @@ Already installed containers were found on the server. All installed containers
<context> <context>
<name>PageSettingsDns</name> <name>PageSettingsDns</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="45"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="35"/>
<source>Default server does not support custom dns</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="53"/>
<source>DNS servers</source> <source>DNS servers</source>
<translation>DNS сервер</translation> <translation>DNS сервер</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="50"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="58"/>
<source>If AmneziaDNS is not used or installed</source> <source>If AmneziaDNS is not used or installed</source>
<translation>Эти адреса будут использоваться, если не включен или не установлен AmneziaDNS</translation> <translation>Эти адреса будут использоваться, если не включен или не установлен AmneziaDNS</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="57"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="65"/>
<source>Primary DNS</source> <source>Primary DNS</source>
<translation>Первичный DNS</translation> <translation>Первичный DNS</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="69"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="77"/>
<source>Secondary DNS</source> <source>Secondary DNS</source>
<translation>Вторичный DNS</translation> <translation>Вторичный DNS</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="87"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="95"/>
<source>Restore default</source> <source>Restore default</source>
<translation>Восстановить по умолчанию</translation> <translation>Восстановить по умолчанию</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="98"/>
<source>Restore default DNS settings?</source> <source>Restore default DNS settings?</source>
<translation>Восстановить настройки DNS по умолчанию?</translation> <translation>Восстановить настройки DNS по умолчанию?</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="91"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="99"/>
<source>Continue</source> <source>Continue</source>
<translation>Продолжить</translation> <translation>Продолжить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="92"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="100"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Отменить</translation> <translation>Отменить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="100"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="108"/>
<source>Settings have been reset</source> <source>Settings have been reset</source>
<translation>Настройки сброшены</translation> <translation>Настройки сброшены</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="112"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="120"/>
<source>Save</source> <source>Save</source>
<translation>Сохранить</translation> <translation>Сохранить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="121"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="129"/>
<source>Settings saved</source> <source>Settings saved</source>
<translation>Сохранить настройки</translation> <translation>Сохранить настройки</translation>
</message> </message>
@ -1286,52 +1296,52 @@ Already installed containers were found on the server. All installed containers
<translation>Сохранять логи</translation> <translation>Сохранять логи</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="86"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="87"/>
<source>Open folder with logs</source> <source>Open folder with logs</source>
<translation>Открыть папку с логами</translation> <translation>Открыть папку с логами</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="108"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="109"/>
<source>Save</source> <source>Save</source>
<translation>Сохранить</translation> <translation>Сохранить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="109"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="110"/>
<source>Logs files (*.log)</source> <source>Logs files (*.log)</source>
<translation>Logs files (*.log)</translation> <translation>Logs files (*.log)</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="118"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="119"/>
<source>Logs file saved</source> <source>Logs file saved</source>
<translation>Файл с логами сохранен</translation> <translation>Файл с логами сохранен</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="127"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="128"/>
<source>Save logs to file</source> <source>Save logs to file</source>
<translation>Сохранить логи в файл</translation> <translation>Сохранить логи в файл</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="145"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="146"/>
<source>Clear logs?</source> <source>Clear logs?</source>
<translation>Очистить логи?</translation> <translation>Очистить логи?</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="146"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="147"/>
<source>Continue</source> <source>Continue</source>
<translation>Продолжить</translation> <translation>Продолжить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="147"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="148"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Отменить</translation> <translation>Отменить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="154"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="155"/>
<source>Logs have been cleaned up</source> <source>Logs have been cleaned up</source>
<translation>Логи удалены</translation> <translation>Логи удалены</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="167"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="168"/>
<source>Clear logs</source> <source>Clear logs</source>
<translation>Удалить логи</translation> <translation>Удалить логи</translation>
</message> </message>
@ -1344,17 +1354,17 @@ Already installed containers were found on the server. All installed containers
<translation>Все установленные протоколы и сервисы были добавлены в приложение</translation> <translation>Все установленные протоколы и сервисы были добавлены в приложение</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="87"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="91"/>
<source>Clear Amnezia cache</source> <source>Clear Amnezia cache</source>
<translation>Очистить кэш Amnezia</translation> <translation>Очистить кэш Amnezia</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="88"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="92"/>
<source>May be needed when changing other settings</source> <source>May be needed when changing other settings</source>
<translation>Может понадобиться при изменении других настроек</translation> <translation>Может понадобиться при изменении других настроек</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="91"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="95"/>
<source>Clear cached profiles?</source> <source>Clear cached profiles?</source>
<translation>Удалить кэш Amnezia?</translation> <translation>Удалить кэш Amnezia?</translation>
</message> </message>
@ -1369,56 +1379,81 @@ Already installed containers were found on the server. All installed containers
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="93"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="97"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="140"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="145"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="171"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="177"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="208"/>
<source>Continue</source> <source>Continue</source>
<translation>Продолжить</translation> <translation>Продолжить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="94"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="98"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="141"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="146"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="172"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="178"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="209"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Отменить</translation> <translation>Отменить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="117"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="121"/>
<source>Check the server for previously installed Amnezia services</source> <source>Check the server for previously installed Amnezia services</source>
<translation>Проверить сервер на наличие ранее установленных сервисов Amnezia</translation> <translation>Проверить сервер на наличие ранее установленных сервисов Amnezia</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="118"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="122"/>
<source>Add them to the application if they were not displayed</source> <source>Add them to the application if they were not displayed</source>
<translation>Добавить их в приложение, если они не были отображены</translation> <translation>Добавить их в приложение, если они не были отображены</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="134"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="139"/>
<source>Reboot server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="143"/>
<source>Do you want to reboot the server?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="144"/>
<source>??????????????????????????????</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="175"/>
<source>Do you want to remove the server?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="206"/>
<source>Do you want to clear server from Amnezia software?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="171"/>
<source>Remove server from application</source> <source>Remove server from application</source>
<translation>Удалить сервер из приложения</translation> <translation>Удалить сервер из приложения</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="138"/>
<source>Remove server?</source> <source>Remove server?</source>
<translation>Удалить сервер?</translation> <translation type="vanished">Удалить сервер?</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="139"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="176"/>
<source>All installed AmneziaVPN services will still remain on the server.</source> <source>All installed AmneziaVPN services will still remain on the server.</source>
<translation>Все установленные сервисы и протоколы Amnezia всё ещё останутся на сервере.</translation> <translation>Все установленные сервисы и протоколы Amnezia всё ещё останутся на сервере.</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="165"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="202"/>
<source>Clear server from Amnezia software</source> <source>Clear server from Amnezia software</source>
<translation>Очистить сервер от протоколов и сервисов Amnezia</translation> <translation>Очистить сервер от протоколов и сервисов Amnezia</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="169"/>
<source>Clear server from Amnezia software?</source> <source>Clear server from Amnezia software?</source>
<translation>Удалить все сервисы и протоколы Amnezia с сервера?</translation> <translation type="vanished">Удалить все сервисы и протоколы Amnezia с сервера?</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="170"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="207"/>
<source>All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted.</source> <source>All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted.</source>
<translation>На сервере будут удалены все данные, связанные с Amnezia: протоколы, сервисы, конфигурационные файлы, ключи и сертификаты.</translation> <translation>На сервере будут удалены все данные, связанные с Amnezia: протоколы, сервисы, конфигурационные файлы, ключи и сертификаты.</translation>
</message> </message>
@ -1499,90 +1534,95 @@ Already installed containers were found on the server. All installed containers
<context> <context>
<name>PageSettingsSplitTunneling</name> <name>PageSettingsSplitTunneling</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="53"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="29"/>
<source>Default server does not support split tunneling function</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="59"/>
<source>Addresses from the list should be accessed via VPN</source> <source>Addresses from the list should be accessed via VPN</source>
<translation>Только адреса из списка должны открываться через VPN</translation> <translation>Только адреса из списка должны открываться через VPN</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="58"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="64"/>
<source>Addresses from the list should not be accessed via VPN</source> <source>Addresses from the list should not be accessed via VPN</source>
<translation>Адреса из списка не должны открываться через VPN</translation> <translation>Адреса из списка не должны открываться через VPN</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="96"/>
<source>Split tunneling</source> <source>Split tunneling</source>
<translation>Раздельное VPN-туннелирование</translation> <translation>Раздельное VPN-туннелирование</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="121"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="127"/>
<source>Mode</source> <source>Mode</source>
<translation>Режим</translation> <translation>Режим</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="199"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="205"/>
<source>Remove </source> <source>Remove </source>
<translation>Удалить </translation> <translation>Удалить </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="200"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="206"/>
<source>Continue</source> <source>Continue</source>
<translation>Продолжить</translation> <translation>Продолжить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="201"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="207"/>
<source>Cancel</source> <source>Cancel</source>
<translation>Отменить</translation> <translation>Отменить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="248"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="254"/>
<source>Site or IP</source> <source>Site or IP</source>
<translation>Сайт или IP</translation> <translation>Сайт или IP</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="292"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="298"/>
<source>Import/Export Sites</source> <source>Import/Export Sites</source>
<translation>Импорт/экспорт Сайтов</translation> <translation>Импорт/экспорт Сайтов</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="298"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="304"/>
<source>Import</source> <source>Import</source>
<translation>Импорт</translation> <translation>Импорт</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="310"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="316"/>
<source>Save site list</source> <source>Save site list</source>
<translation>Сохранить список сайтов</translation> <translation>Сохранить список сайтов</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="317"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="323"/>
<source>Save sites</source> <source>Save sites</source>
<translation>Сохранить</translation> <translation>Сохранить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="318"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="324"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="385"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="391"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="400"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="406"/>
<source>Sites files (*.json)</source> <source>Sites files (*.json)</source>
<translation>Sites files (*.json)</translation> <translation>Sites files (*.json)</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="375"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="381"/>
<source>Import a list of sites</source> <source>Import a list of sites</source>
<translation>Импортировать список с сайтами</translation> <translation>Импортировать список с сайтами</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="381"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="387"/>
<source>Replace site list</source> <source>Replace site list</source>
<translation>Заменить список сайтов</translation> <translation>Заменить список сайтов</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="384"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="390"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="399"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="405"/>
<source>Open sites file</source> <source>Open sites file</source>
<translation>Открыть список с сайтами</translation> <translation>Открыть список с сайтами</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="396"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="402"/>
<source>Add imported sites to existing ones</source> <source>Add imported sites to existing ones</source>
<translation>Добавить импортированные сайты к существующим</translation> <translation>Добавить импортированные сайты к существующим</translation>
</message> </message>
@ -1709,22 +1749,22 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<translation>Какой уровень контроля интернета в вашем регионе?</translation> <translation>Какой уровень контроля интернета в вашем регионе?</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="137"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="139"/>
<source>Set up a VPN yourself</source> <source>Set up a VPN yourself</source>
<translation>Настроить VPN самостоятельно</translation> <translation>Настроить VPN самостоятельно</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="138"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="140"/>
<source>I want to choose a VPN protocol</source> <source>I want to choose a VPN protocol</source>
<translation>Выбрать VPN-протокол</translation> <translation>Выбрать VPN-протокол</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="157"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="159"/>
<source>Continue</source> <source>Continue</source>
<translation>Продолжить</translation> <translation>Продолжить</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="197"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="199"/>
<source>Set up later</source> <source>Set up later</source>
<translation>Настроить позднее</translation> <translation>Настроить позднее</translation>
</message> </message>
@ -1732,7 +1772,7 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<context> <context>
<name>PageSetupWizardInstalling</name> <name>PageSetupWizardInstalling</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="60"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="61"/>
<source>The server has already been added to the application</source> <source>The server has already been added to the application</source>
<translation>Сервер уже был добавлен в приложение</translation> <translation>Сервер уже был добавлен в приложение</translation>
</message> </message>
@ -1745,33 +1785,33 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<translation type="vanished">занят установкой других протоколов или сервисов. Установка Amnesia </translation> <translation type="vanished">занят установкой других протоколов или сервисов. Установка Amnesia </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="66"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="67"/>
<source>Amnezia has detected that your server is currently </source> <source>Amnezia has detected that your server is currently </source>
<translation>Amnezia обнаружила, что ваш сервер в настоящее время </translation> <translation>Amnezia обнаружила, что ваш сервер в настоящее время </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="67"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="68"/>
<source>busy installing other software. Amnezia installation </source> <source>busy installing other software. Amnezia installation </source>
<translation>занят установкой другого программного обеспечения. Установка Amnezia </translation> <translation>занят установкой другого программного обеспечения. Установка Amnezia </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="68"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="69"/>
<source>will pause until the server finishes installing other software</source> <source>will pause until the server finishes installing other software</source>
<translation>будет приостановлена до тех пор, пока сервер не завершит установку</translation> <translation>будет приостановлена до тех пор, пока сервер не завершит установку</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="126"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="127"/>
<source>Installing</source> <source>Installing</source>
<translation>Установка</translation> <translation>Установка</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="165"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="166"/>
<source>Cancel installation</source> <source>Cancel installation</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="21"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="21"/>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="72"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="73"/>
<source>Usually it takes no more than 5 minutes</source> <source>Usually it takes no more than 5 minutes</source>
<translation>Обычно это занимает не более 5 минут</translation> <translation>Обычно это занимает не более 5 минут</translation>
</message> </message>
@ -1894,27 +1934,27 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<context> <context>
<name>PageSetupWizardViewConfig</name> <name>PageSetupWizardViewConfig</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="63"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="64"/>
<source>New connection</source> <source>New connection</source>
<translation>Новое соединение</translation> <translation>Новое соединение</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="91"/>
<source>Do not use connection code from public sources. It could be created to intercept your data.</source> <source>Do not use connection code from public sources. It could be created to intercept your data.</source>
<translation>Не используйте код подключения из публичных источников. Его могли создать, чтобы перехватывать ваши данные.</translation> <translation>Не используйте код подключения из публичных источников. Его могли создать, чтобы перехватывать ваши данные.</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="105"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="106"/>
<source>Collapse content</source> <source>Collapse content</source>
<translation>Свернуть</translation> <translation>Свернуть</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="105"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="106"/>
<source>Show content</source> <source>Show content</source>
<translation>Показать содержимое ключа</translation> <translation>Показать содержимое ключа</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="148"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="149"/>
<source>Connect</source> <source>Connect</source>
<translation>Подключиться</translation> <translation>Подключиться</translation>
</message> </message>
@ -2925,22 +2965,22 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<context> <context>
<name>SettingsController</name> <name>SettingsController</name>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="26"/> <location filename="../ui/controllers/settingsController.cpp" line="27"/>
<source>Software version</source> <source>Software version</source>
<translation>Версия ПО</translation> <translation>Версия ПО</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="139"/> <location filename="../ui/controllers/settingsController.cpp" line="148"/>
<source>All settings have been reset to default values</source> <source>All settings have been reset to default values</source>
<translation>Все настройки были сброшены к значению &quot;По умолчанию&quot;</translation> <translation>Все настройки были сброшены к значению &quot;По умолчанию&quot;</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="145"/> <location filename="../ui/controllers/settingsController.cpp" line="154"/>
<source>Cached profiles cleared</source> <source>Cached profiles cleared</source>
<translation>Кэш профиля очищен</translation> <translation>Кэш профиля очищен</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="123"/> <location filename="../ui/controllers/settingsController.cpp" line="132"/>
<source>Backup file is corrupted</source> <source>Backup file is corrupted</source>
<translation>Backup файл поврежден</translation> <translation>Backup файл поврежден</translation>
</message> </message>
@ -3072,7 +3112,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<context> <context>
<name>VpnConnection</name> <name>VpnConnection</name>
<message> <message>
<location filename="../vpnconnection.cpp" line="432"/> <location filename="../vpnconnection.cpp" line="438"/>
<source>Mbps</source> <source>Mbps</source>
<translation>Mbps</translation> <translation>Mbps</translation>
</message> </message>

View file

@ -135,12 +135,12 @@
<context> <context>
<name>HomeContainersListView</name> <name>HomeContainersListView</name>
<message> <message>
<location filename="../ui/qml/Components/HomeContainersListView.qml" line="58"/> <location filename="../ui/qml/Components/HomeContainersListView.qml" line="76"/>
<source>Unable change protocol while there is an active connection</source> <source>Unable change protocol while there is an active connection</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Components/HomeContainersListView.qml" line="68"/> <location filename="../ui/qml/Components/HomeContainersListView.qml" line="85"/>
<source>The selected protocol is not supported on the current platform</source> <source>The selected protocol is not supported on the current platform</source>
<translation></translation> <translation></translation>
</message> </message>
@ -152,7 +152,7 @@
<context> <context>
<name>ImportController</name> <name>ImportController</name>
<message> <message>
<location filename="../ui/controllers/importController.cpp" line="411"/> <location filename="../ui/controllers/importController.cpp" line="416"/>
<source>Scanned %1 of %2.</source> <source>Scanned %1 of %2.</source>
<translation> %1 of %2.</translation> <translation> %1 of %2.</translation>
</message> </message>
@ -199,16 +199,21 @@ Already installed containers were found on the server. All installed containers
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="305"/> <location filename="../ui/controllers/installController.cpp" line="305"/>
<source>Server &apos;%1&apos; was rebooted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/controllers/installController.cpp" line="314"/>
<source>Server &apos;%1&apos; was removed</source> <source>Server &apos;%1&apos; was removed</source>
<translation> &apos;%1&apos;</translation> <translation> &apos;%1&apos;</translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="315"/> <location filename="../ui/controllers/installController.cpp" line="324"/>
<source>All containers from server &apos;%1&apos; have been removed</source> <source>All containers from server &apos;%1&apos; have been removed</source>
<translation> &apos;%1&apos; </translation> <translation> &apos;%1&apos; </translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="332"/> <location filename="../ui/controllers/installController.cpp" line="341"/>
<source>%1 has been removed from the server &apos;%2&apos;</source> <source>%1 has been removed from the server &apos;%2&apos;</source>
<translation>%1 &apos;%2&apos; </translation> <translation>%1 &apos;%2&apos; </translation>
</message> </message>
@ -229,12 +234,12 @@ Already installed containers were found on the server. All installed containers
<translation type="obsolete"> </translation> <translation type="obsolete"> </translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="478"/> <location filename="../ui/controllers/installController.cpp" line="487"/>
<source>Please login as the user</source> <source>Please login as the user</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/installController.cpp" line="506"/> <location filename="../ui/controllers/installController.cpp" line="515"/>
<source>Server added successfully</source> <source>Server added successfully</source>
<translation></translation> <translation></translation>
</message> </message>
@ -302,17 +307,17 @@ Already installed containers were found on the server. All installed containers
<context> <context>
<name>PageHome</name> <name>PageHome</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="317"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="318"/>
<source>VPN protocol</source> <source>VPN protocol</source>
<translation>VPN协议</translation> <translation>VPN协议</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="361"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="362"/>
<source>Servers</source> <source>Servers</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageHome.qml" line="453"/> <location filename="../ui/qml/Pages2/PageHome.qml" line="454"/>
<source>Unable change server while there is an active connection</source> <source>Unable change server while there is an active connection</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1297,57 +1302,62 @@ And if you don&apos;t like the app, all the more support it - the donation will
<context> <context>
<name>PageSettingsDns</name> <name>PageSettingsDns</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="45"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="35"/>
<source>Default server does not support custom dns</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="53"/>
<source>DNS servers</source> <source>DNS servers</source>
<translation>DNS服务器</translation> <translation>DNS服务器</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="50"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="58"/>
<source>If AmneziaDNS is not used or installed</source> <source>If AmneziaDNS is not used or installed</source>
<translation>使AmneziaDNS</translation> <translation>使AmneziaDNS</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="57"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="65"/>
<source>Primary DNS</source> <source>Primary DNS</source>
<translation> DNS</translation> <translation> DNS</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="69"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="77"/>
<source>Secondary DNS</source> <source>Secondary DNS</source>
<translation> DNS</translation> <translation> DNS</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="87"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="95"/>
<source>Restore default</source> <source>Restore default</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="98"/>
<source>Restore default DNS settings?</source> <source>Restore default DNS settings?</source>
<translation>DNS配置</translation> <translation>DNS配置</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="91"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="99"/>
<source>Continue</source> <source>Continue</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="92"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="100"/>
<source>Cancel</source> <source>Cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="100"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="108"/>
<source>Settings have been reset</source> <source>Settings have been reset</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="112"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="120"/>
<source>Save</source> <source>Save</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="121"/> <location filename="../ui/qml/Pages2/PageSettingsDns.qml" line="129"/>
<source>Settings saved</source> <source>Settings saved</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1365,52 +1375,52 @@ And if you don&apos;t like the app, all the more support it - the donation will
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="86"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="87"/>
<source>Open folder with logs</source> <source>Open folder with logs</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="108"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="109"/>
<source>Save</source> <source>Save</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="109"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="110"/>
<source>Logs files (*.log)</source> <source>Logs files (*.log)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="118"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="119"/>
<source>Logs file saved</source> <source>Logs file saved</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="127"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="128"/>
<source>Save logs to file</source> <source>Save logs to file</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="145"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="146"/>
<source>Clear logs?</source> <source>Clear logs?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="146"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="147"/>
<source>Continue</source> <source>Continue</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="147"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="148"/>
<source>Cancel</source> <source>Cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="154"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="155"/>
<source>Logs have been cleaned up</source> <source>Logs have been cleaned up</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="167"/> <location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="168"/>
<source>Clear logs</source> <source>Clear logs</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1428,76 +1438,101 @@ And if you don&apos;t like the app, all the more support it - the donation will
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="87"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="91"/>
<source>Clear Amnezia cache</source> <source>Clear Amnezia cache</source>
<translation> Amnezia </translation> <translation> Amnezia </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="88"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="92"/>
<source>May be needed when changing other settings</source> <source>May be needed when changing other settings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="91"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="95"/>
<source>Clear cached profiles?</source> <source>Clear cached profiles?</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="143"/>
<source>Do you want to reboot the server?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="144"/>
<source>??????????????????????????????</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="175"/>
<source>Do you want to remove the server?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="206"/>
<source>Do you want to clear server from Amnezia software?</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="92"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="92"/>
<source></source> <source></source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="93"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="97"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="140"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="145"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="171"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="177"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="208"/>
<source>Continue</source> <source>Continue</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="94"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="98"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="141"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="146"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="172"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="178"/>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="209"/>
<source>Cancel</source> <source>Cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="117"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="121"/>
<source>Check the server for previously installed Amnezia services</source> <source>Check the server for previously installed Amnezia services</source>
<translation> Amnezia </translation> <translation> Amnezia </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="118"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="122"/>
<source>Add them to the application if they were not displayed</source> <source>Add them to the application if they were not displayed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="134"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="139"/>
<source>Reboot server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="171"/>
<source>Remove server from application</source> <source>Remove server from application</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="138"/>
<source>Remove server?</source> <source>Remove server?</source>
<translation>?</translation> <translation type="vanished">?</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="139"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="176"/>
<source>All installed AmneziaVPN services will still remain on the server.</source> <source>All installed AmneziaVPN services will still remain on the server.</source>
<translation> AmneziaVPN </translation> <translation> AmneziaVPN </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="165"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="202"/>
<source>Clear server from Amnezia software</source> <source>Clear server from Amnezia software</source>
<translation>Amnezia中服务器信息</translation> <translation>Amnezia中服务器信息</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="169"/>
<source>Clear server from Amnezia software?</source> <source>Clear server from Amnezia software?</source>
<translation>Amnezia中服务器信息</translation> <translation type="vanished">Amnezia中服务器信息</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="170"/> <location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="207"/>
<source>All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted.</source> <source>All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted.</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1598,90 +1633,95 @@ And if you don&apos;t like the app, all the more support it - the donation will
<translation type="obsolete">VPN分流</translation> <translation type="obsolete">VPN分流</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="53"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="29"/>
<source>Default server does not support split tunneling function</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="59"/>
<source>Addresses from the list should be accessed via VPN</source> <source>Addresses from the list should be accessed via VPN</source>
<translation>使VPN访问</translation> <translation>使VPN访问</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="58"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="64"/>
<source>Addresses from the list should not be accessed via VPN</source> <source>Addresses from the list should not be accessed via VPN</source>
<translation>使VPN访问</translation> <translation>使VPN访问</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="96"/>
<source>Split tunneling</source> <source>Split tunneling</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="121"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="127"/>
<source>Mode</source> <source>Mode</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="199"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="205"/>
<source>Remove </source> <source>Remove </source>
<translation> </translation> <translation> </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="200"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="206"/>
<source>Continue</source> <source>Continue</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="201"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="207"/>
<source>Cancel</source> <source>Cancel</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="248"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="254"/>
<source>Site or IP</source> <source>Site or IP</source>
<translation>IP地址</translation> <translation>IP地址</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="292"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="298"/>
<source>Import/Export Sites</source> <source>Import/Export Sites</source>
<translation>/</translation> <translation>/</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="298"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="304"/>
<source>Import</source> <source>Import</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="310"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="316"/>
<source>Save site list</source> <source>Save site list</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="317"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="323"/>
<source>Save sites</source> <source>Save sites</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="318"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="324"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="385"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="391"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="400"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="406"/>
<source>Sites files (*.json)</source> <source>Sites files (*.json)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="375"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="381"/>
<source>Import a list of sites</source> <source>Import a list of sites</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="381"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="387"/>
<source>Replace site list</source> <source>Replace site list</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="384"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="390"/>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="399"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="405"/>
<source>Open sites file</source> <source>Open sites file</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="396"/> <location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="402"/>
<source>Add imported sites to existing ones</source> <source>Add imported sites to existing ones</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1808,22 +1848,22 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="137"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="139"/>
<source>Set up a VPN yourself</source> <source>Set up a VPN yourself</source>
<translation>VPN</translation> <translation>VPN</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="138"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="140"/>
<source>I want to choose a VPN protocol</source> <source>I want to choose a VPN protocol</source>
<translation>VPN协议</translation> <translation>VPN协议</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="157"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="159"/>
<source>Continue</source> <source>Continue</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="197"/> <location filename="../ui/qml/Pages2/PageSetupWizardEasy.qml" line="199"/>
<source>Set up later</source> <source>Set up later</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1832,27 +1872,27 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<name>PageSetupWizardInstalling</name> <name>PageSetupWizardInstalling</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="21"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="21"/>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="72"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="73"/>
<source>Usually it takes no more than 5 minutes</source> <source>Usually it takes no more than 5 minutes</source>
<translation>5</translation> <translation>5</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="60"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="61"/>
<source>The server has already been added to the application</source> <source>The server has already been added to the application</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="66"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="67"/>
<source>Amnezia has detected that your server is currently </source> <source>Amnezia has detected that your server is currently </source>
<translation>Amnezia </translation> <translation>Amnezia </translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="67"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="68"/>
<source>busy installing other software. Amnezia installation </source> <source>busy installing other software. Amnezia installation </source>
<translation>Amnezia安装</translation> <translation>Amnezia安装</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="165"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="166"/>
<source>Cancel installation</source> <source>Cancel installation</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1865,12 +1905,12 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<translation type="vanished">Amnezia安装</translation> <translation type="vanished">Amnezia安装</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="68"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="69"/>
<source>will pause until the server finishes installing other software</source> <source>will pause until the server finishes installing other software</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="126"/> <location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="127"/>
<source>Installing</source> <source>Installing</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1993,27 +2033,27 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<context> <context>
<name>PageSetupWizardViewConfig</name> <name>PageSetupWizardViewConfig</name>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="63"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="64"/>
<source>New connection</source> <source>New connection</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="90"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="91"/>
<source>Do not use connection code from public sources. It could be created to intercept your data.</source> <source>Do not use connection code from public sources. It could be created to intercept your data.</source>
<translation>使</translation> <translation>使</translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="105"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="106"/>
<source>Collapse content</source> <source>Collapse content</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="105"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="106"/>
<source>Show content</source> <source>Show content</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="148"/> <location filename="../ui/qml/Pages2/PageSetupWizardViewConfig.qml" line="149"/>
<source>Connect</source> <source>Connect</source>
<translation></translation> <translation></translation>
</message> </message>
@ -3069,22 +3109,22 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context> <context>
<name>SettingsController</name> <name>SettingsController</name>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="26"/> <location filename="../ui/controllers/settingsController.cpp" line="27"/>
<source>Software version</source> <source>Software version</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="123"/> <location filename="../ui/controllers/settingsController.cpp" line="132"/>
<source>Backup file is corrupted</source> <source>Backup file is corrupted</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="139"/> <location filename="../ui/controllers/settingsController.cpp" line="148"/>
<source>All settings have been reset to default values</source> <source>All settings have been reset to default values</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ui/controllers/settingsController.cpp" line="145"/> <location filename="../ui/controllers/settingsController.cpp" line="154"/>
<source>Cached profiles cleared</source> <source>Cached profiles cleared</source>
<translation></translation> <translation></translation>
</message> </message>
@ -3220,7 +3260,7 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context> <context>
<name>VpnConnection</name> <name>VpnConnection</name>
<message> <message>
<location filename="../vpnconnection.cpp" line="432"/> <location filename="../vpnconnection.cpp" line="438"/>
<source>Mbps</source> <source>Mbps</source>
<translation></translation> <translation></translation>
</message> </message>

View file

@ -296,6 +296,15 @@ void InstallController::updateContainer(QJsonObject config)
emit installationErrorOccurred(errorString(errorCode)); emit installationErrorOccurred(errorString(errorCode));
} }
void InstallController::rebootCurrentlyProcessedServer()
{
int serverIndex = m_serversModel->getCurrentlyProcessedServerIndex();
QString serverName = m_serversModel->data(serverIndex, ServersModel::Roles::NameRole).toString();
m_serversModel->rebootServer();
emit rebootCurrentlyProcessedServerFinished(tr("Server '%1' was rebooted").arg(serverName));
}
void InstallController::removeCurrentlyProcessedServer() void InstallController::removeCurrentlyProcessedServer()
{ {
int serverIndex = m_serversModel->getCurrentlyProcessedServerIndex(); int serverIndex = m_serversModel->getCurrentlyProcessedServerIndex();

View file

@ -31,6 +31,7 @@ public slots:
void updateContainer(QJsonObject config); void updateContainer(QJsonObject config);
void removeCurrentlyProcessedServer(); void removeCurrentlyProcessedServer();
void rebootCurrentlyProcessedServer();
void removeAllContainers(); void removeAllContainers();
void removeCurrentlyProcessedContainer(); void removeCurrentlyProcessedContainer();
@ -53,6 +54,7 @@ signals:
void scanServerFinished(bool isInstalledContainerFound); void scanServerFinished(bool isInstalledContainerFound);
void rebootCurrentlyProcessedServerFinished(const QString &finishedMessage);
void removeCurrentlyProcessedServerFinished(const QString &finishedMessage); void removeCurrentlyProcessedServerFinished(const QString &finishedMessage);
void removeAllContainersFinished(const QString &finishedMessage); void removeAllContainersFinished(const QString &finishedMessage);
void removeCurrentlyProcessedContainerFinished(const QString &finishedMessage); void removeCurrentlyProcessedContainerFinished(const QString &finishedMessage);

View file

@ -435,6 +435,15 @@ ErrorCode ServersModel::removeAllContainers()
return errorCode; return errorCode;
} }
ErrorCode ServersModel::rebootServer()
{
ServerController serverController(m_settings);
auto credentials = m_settings->serverCredentials(m_currentlyProcessedServerIndex);
ErrorCode errorCode = serverController.rebootServer(credentials);
return errorCode;
}
ErrorCode ServersModel::removeContainer(const int containerIndex) ErrorCode ServersModel::removeContainer(const int containerIndex)
{ {
ServerController serverController(m_settings); ServerController serverController(m_settings);

View file

@ -88,6 +88,7 @@ public slots:
ErrorCode removeContainer(const int containerIndex); ErrorCode removeContainer(const int containerIndex);
ErrorCode removeAllContainers(); ErrorCode removeAllContainers();
ErrorCode rebootServer();
void setDefaultContainer(const int containerIndex); void setDefaultContainer(const int containerIndex);
DockerContainer getDefaultContainer(); DockerContainer getDefaultContainer();

View file

@ -38,6 +38,10 @@ PageType {
PageController.showNotificationMessage(finishedMessage) PageController.showNotificationMessage(finishedMessage)
} }
function onRebootCurrentlyProcessedServerFinished(finishedMessage) {
PageController.showNotificationMessage(finishedMessage)
}
function onRemoveAllContainersFinished(finishedMessage) { function onRemoveAllContainersFinished(finishedMessage) {
PageController.closePage() // close deInstalling page PageController.closePage() // close deInstalling page
PageController.showNotificationMessage(finishedMessage) PageController.showNotificationMessage(finishedMessage)
@ -128,6 +132,39 @@ PageType {
visible: content.isServerWithWriteAccess visible: content.isServerWithWriteAccess
} }
LabelWithButtonType {
visible: content.isServerWithWriteAccess
Layout.fillWidth: true
text: qsTr("Reboot server")
textColor: "#EB5757"
clickedFunction: function() {
questionDrawer.headerText = qsTr("Do you want to reboot the server?")
questionDrawer.descriptionText = qsTr("The reboot process may take approximately 30 seconds. Are you sure you wish to proceed?")
questionDrawer.yesButtonText = qsTr("Continue")
questionDrawer.noButtonText = qsTr("Cancel")
questionDrawer.yesButtonFunction = function() {
questionDrawer.visible = false
PageController.showBusyIndicator(true)
if (ServersModel.isDefaultServerCurrentlyProcessed() && ConnectionController.isConnected) {
ConnectionController.closeConnection()
}
InstallController.rebootCurrentlyProcessedServer()
PageController.showBusyIndicator(false)
}
questionDrawer.noButtonFunction = function() {
questionDrawer.visible = false
}
questionDrawer.visible = true
}
}
DividerType {
visible: content.isServerWithWriteAccess
}
LabelWithButtonType { LabelWithButtonType {
Layout.fillWidth: true Layout.fillWidth: true
@ -135,7 +172,7 @@ PageType {
textColor: "#EB5757" textColor: "#EB5757"
clickedFunction: function() { clickedFunction: function() {
questionDrawer.headerText = qsTr("Remove server?") questionDrawer.headerText = qsTr("Do you want to remove the server?")
questionDrawer.descriptionText = qsTr("All installed AmneziaVPN services will still remain on the server.") questionDrawer.descriptionText = qsTr("All installed AmneziaVPN services will still remain on the server.")
questionDrawer.yesButtonText = qsTr("Continue") questionDrawer.yesButtonText = qsTr("Continue")
questionDrawer.noButtonText = qsTr("Cancel") questionDrawer.noButtonText = qsTr("Cancel")
@ -166,7 +203,7 @@ PageType {
textColor: "#EB5757" textColor: "#EB5757"
clickedFunction: function() { clickedFunction: function() {
questionDrawer.headerText = qsTr("Clear server from Amnezia software?") questionDrawer.headerText = qsTr("Do you want to clear server from Amnezia software?")
questionDrawer.descriptionText = qsTr("All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted.") questionDrawer.descriptionText = qsTr("All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted.")
questionDrawer.yesButtonText = qsTr("Continue") questionDrawer.yesButtonText = qsTr("Continue")
questionDrawer.noButtonText = qsTr("Cancel") questionDrawer.noButtonText = qsTr("Cancel")
@ -188,7 +225,7 @@ PageType {
DividerType { DividerType {
visible: content.isServerWithWriteAccess visible: content.isServerWithWriteAccess
} }
QuestionDrawer { QuestionDrawer {
id: questionDrawer id: questionDrawer