Merge pull request #371 from amnezia-vpn/bugfix/minor-ui-fixes-4-version
Minor UI fixes 4 version
This commit is contained in:
commit
3406ffa7a2
24 changed files with 700 additions and 401 deletions
|
|
@ -74,7 +74,6 @@ qt6_add_resources(QRC ${I18NQRC} ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc)
|
||||||
# -- i18n end
|
# -- i18n end
|
||||||
|
|
||||||
if(IOS)
|
if(IOS)
|
||||||
#execute_process(COMMAND bash ${CMAKE_CURRENT_LIST_DIR}/scripts/run-build-cloak.sh)
|
|
||||||
execute_process(COMMAND bash ${CMAKE_CURRENT_LIST_DIR}/ios/scripts/openvpn.sh args
|
execute_process(COMMAND bash ${CMAKE_CURRENT_LIST_DIR}/ios/scripts/openvpn.sh args
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,6 @@ QMap<DockerContainer, QString> ContainerProps::containerHumanNames()
|
||||||
|
|
||||||
{ DockerContainer::TorWebSite, QObject::tr("Website in Tor network") },
|
{ DockerContainer::TorWebSite, QObject::tr("Website in Tor network") },
|
||||||
{ DockerContainer::Dns, QObject::tr("Amnezia DNS") },
|
{ DockerContainer::Dns, QObject::tr("Amnezia DNS") },
|
||||||
//{DockerContainer::FileShare, QObject::tr("SMB file sharing service")},
|
|
||||||
{ DockerContainer::Sftp, QObject::tr("Sftp file sharing service") } };
|
{ DockerContainer::Sftp, QObject::tr("Sftp file sharing service") } };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -109,7 +108,8 @@ QMap<DockerContainer, QString> ContainerProps::containerDescriptions()
|
||||||
QObject::tr("WireGuard - New popular VPN protocol with high performance, high speed and low power "
|
QObject::tr("WireGuard - New popular VPN protocol with high performance, high speed and low power "
|
||||||
"consumption. Recommended for regions with low levels of censorship.") },
|
"consumption. Recommended for regions with low levels of censorship.") },
|
||||||
{ DockerContainer::Awg,
|
{ DockerContainer::Awg,
|
||||||
QObject::tr("AmneziaWG - Special protocol from Amnezia, based on WireGuard. It's fast like WireGuard, but very resistant to blockages. "
|
QObject::tr("AmneziaWG - Special protocol from Amnezia, based on WireGuard. It's fast like WireGuard, "
|
||||||
|
"but very resistant to blockages. "
|
||||||
"Recommended for regions with high levels of censorship.") },
|
"Recommended for regions with high levels of censorship.") },
|
||||||
{ DockerContainer::Ipsec,
|
{ DockerContainer::Ipsec,
|
||||||
QObject::tr("IKEv2 - Modern stable protocol, a bit faster than others, restores connection after "
|
QObject::tr("IKEv2 - Modern stable protocol, a bit faster than others, restores connection after "
|
||||||
|
|
@ -118,44 +118,108 @@ QMap<DockerContainer, QString> ContainerProps::containerDescriptions()
|
||||||
{ DockerContainer::TorWebSite, QObject::tr("Deploy a WordPress site on the Tor network in two clicks.") },
|
{ DockerContainer::TorWebSite, QObject::tr("Deploy a WordPress site on the Tor network in two clicks.") },
|
||||||
{ DockerContainer::Dns,
|
{ DockerContainer::Dns,
|
||||||
QObject::tr("Replace the current DNS server with your own. This will increase your privacy level.") },
|
QObject::tr("Replace the current DNS server with your own. This will increase your privacy level.") },
|
||||||
//{DockerContainer::FileShare, QObject::tr("SMB file sharing service - is Window file sharing protocol")},
|
|
||||||
{ DockerContainer::Sftp,
|
{ DockerContainer::Sftp,
|
||||||
QObject::tr("Creates a file vault on your server to securely store and transfer files.") } };
|
QObject::tr("Creates a file vault on your server to securely store and transfer files.") } };
|
||||||
}
|
}
|
||||||
|
|
||||||
QMap<DockerContainer, QString> ContainerProps::containerDetailedDescriptions()
|
QMap<DockerContainer, QString> ContainerProps::containerDetailedDescriptions()
|
||||||
{
|
{
|
||||||
return { { DockerContainer::OpenVpn, QObject::tr("OpenVPN container") },
|
return {
|
||||||
{ DockerContainer::ShadowSocks, QObject::tr("Container with OpenVpn and ShadowSocks") },
|
{ DockerContainer::OpenVpn,
|
||||||
|
QObject::tr(
|
||||||
|
"OpenVPN stands as one of the most popular and time-tested VPN protocols available.\n"
|
||||||
|
"It employs its unique security protocol, "
|
||||||
|
"leveraging the strength of SSL/TLS for encryption and key exchange. "
|
||||||
|
"Furthermore, OpenVPN's support for a multitude of authentication methods makes it versatile and adaptable, "
|
||||||
|
"catering to a wide range of devices and operating systems. "
|
||||||
|
"Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, "
|
||||||
|
"which continually reinforces its security. "
|
||||||
|
"With a strong balance of performance, security, and compatibility, "
|
||||||
|
"OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.\n\n"
|
||||||
|
"* Available in the AmneziaVPN across all platforms\n"
|
||||||
|
"* Normal power consumption on mobile devices\n"
|
||||||
|
"* Flexible customisation to suit user needs to work with different operating systems and devices\n"
|
||||||
|
"* Recognised by DPI analysis systems and therefore susceptible to blocking\n"
|
||||||
|
"* Can operate over both TCP and UDP network protocols.") },
|
||||||
|
{ DockerContainer::ShadowSocks,
|
||||||
|
QObject::tr("Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. "
|
||||||
|
"Although Shadowsocks is designed to be discreet and challenging to identify, it isn't identical to a standard HTTPS connection."
|
||||||
|
"However, certain traffic analysis systems might still detect a Shadowsocks connection. "
|
||||||
|
"Due to limited support in Amnezia, it's recommended to use AmneziaWG protocol.\n\n"
|
||||||
|
"* Available in the AmneziaVPN only on desktop platforms\n"
|
||||||
|
"* Normal power consumption on mobile devices\n\n"
|
||||||
|
"* Configurable encryption protocol\n"
|
||||||
|
"* Detectable by some DPI systems\n"
|
||||||
|
"* Works over TCP network protocol.") },
|
||||||
{ DockerContainer::Cloak,
|
{ DockerContainer::Cloak,
|
||||||
QObject::tr("Container with OpenVpn and ShadowSocks protocols "
|
QObject::tr("This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for "
|
||||||
"configured with traffic masking by Cloak plugin") },
|
"blocking protection.\n\n"
|
||||||
{ DockerContainer::WireGuard, QObject::tr("WireGuard container") },
|
"OpenVPN provides a secure VPN connection by encrypting all Internet traffic between the client "
|
||||||
{ DockerContainer::WireGuard, QObject::tr("AmneziaWG container") },
|
"and the server.\n\n"
|
||||||
{ DockerContainer::Ipsec, QObject::tr("IPsec container") },
|
"Cloak protects OpenVPN from detection and blocking. \n\n"
|
||||||
|
"Cloak can modify packet metadata so that it completely masks VPN traffic as normal web traffic, "
|
||||||
|
"and also protects the VPN from detection by Active Probing. This makes it very resistant to "
|
||||||
|
"being detected\n\n"
|
||||||
|
"Immediately after receiving the first data packet, Cloak authenticates the incoming connection. "
|
||||||
|
"If authentication fails, the plugin masks the server as a fake website and your VPN becomes "
|
||||||
|
"invisible to analysis systems.\n\n"
|
||||||
|
"If there is a extreme level of Internet censorship in your region, we advise you to use only "
|
||||||
|
"OpenVPN over Cloak from the first connection\n\n"
|
||||||
|
"* Available in the AmneziaVPN across all platforms\n"
|
||||||
|
"* High power consumption on mobile devices\n"
|
||||||
|
"* Flexible settings\n"
|
||||||
|
"* Not recognised by DPI analysis systems\n"
|
||||||
|
"* Works over TCP network protocol, 443 port.\n") },
|
||||||
|
{ DockerContainer::WireGuard,
|
||||||
|
QObject::tr("A relatively new popular VPN protocol with a simplified architecture.\n"
|
||||||
|
"Provides stable VPN connection, high performance on all devices. Uses hard-coded encryption "
|
||||||
|
"settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.\n"
|
||||||
|
"WireGuard is very susceptible to blocking due to its distinct packet signatures. "
|
||||||
|
"Unlike some other VPN protocols that employ obfuscation techniques, "
|
||||||
|
"the consistent signature patterns of WireGuard packets can be more easily identified and "
|
||||||
|
"thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.\n\n"
|
||||||
|
"* Available in the AmneziaVPN across all platforms\n"
|
||||||
|
"* Low power consumption\n"
|
||||||
|
"* Minimum number of settings\n"
|
||||||
|
"* Easily recognised by DPI analysis systems, susceptible to blocking\n"
|
||||||
|
"* Works over UDP network protocol.") },
|
||||||
|
{ DockerContainer::Awg,
|
||||||
|
QObject::tr("A modern iteration of the popular VPN protocol, "
|
||||||
|
"AmneziaWG builds upon the foundation set by WireGuard, "
|
||||||
|
"retaining its simplified architecture and high-performance capabilities across devices.\n"
|
||||||
|
"While WireGuard is known for its efficiency, "
|
||||||
|
"it had issues with being easily detected due to its distinct packet signatures. "
|
||||||
|
"AmneziaWG solves this problem by using better obfuscation methods, "
|
||||||
|
"making its traffic blend in with regular internet traffic.\n"
|
||||||
|
"This means that AmneziaWG keeps the fast performance of the original "
|
||||||
|
"while adding an extra layer of stealth, "
|
||||||
|
"making it a great choice for those wanting a fast and discreet VPN connection.\n\n"
|
||||||
|
"* Available in the AmneziaVPN across all platforms\n"
|
||||||
|
"* Low power consumption\n"
|
||||||
|
"* Minimum number of settings\n"
|
||||||
|
"* Not recognised by DPI analysis systems, resistant to blocking\n"
|
||||||
|
"* Works over UDP network protocol.") },
|
||||||
|
{ DockerContainer::Ipsec,
|
||||||
|
QObject::tr("IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.\n"
|
||||||
|
"One of its distinguishing features is its ability to swiftly switch between networks and devices, "
|
||||||
|
"making it particularly adaptive in dynamic network environments. \n"
|
||||||
|
"While it offers a blend of security, stability, and speed, "
|
||||||
|
"it's essential to note that IKEv2 can be easily detected and is susceptible to blocking.\n\n"
|
||||||
|
"* Available in the AmneziaVPN only on Windows\n"
|
||||||
|
"* Low power consumption, on mobile devices\n"
|
||||||
|
"* Minimal configuration\n"
|
||||||
|
"* Recognised by DPI analysis systems\n"
|
||||||
|
"* Works over UDP network protocol, ports 500 and 4500.") },
|
||||||
|
|
||||||
{ DockerContainer::TorWebSite, QObject::tr("Website in Tor network") },
|
{ DockerContainer::TorWebSite, QObject::tr("Website in Tor network") },
|
||||||
{ DockerContainer::Dns, QObject::tr("DNS Service") },
|
{ DockerContainer::Dns, QObject::tr("DNS Service") },
|
||||||
//{DockerContainer::FileShare, QObject::tr("SMB file sharing service - is Window file sharing protocol")},
|
{ DockerContainer::Sftp, QObject::tr("Sftp file sharing service - is secure FTP service") }
|
||||||
{ DockerContainer::Sftp, QObject::tr("Sftp file sharing service - is secure FTP service") } };
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
amnezia::ServiceType ContainerProps::containerService(DockerContainer c)
|
amnezia::ServiceType ContainerProps::containerService(DockerContainer c)
|
||||||
{
|
{
|
||||||
switch (c) {
|
return ProtocolProps::protocolService(defaultProtocol(c));
|
||||||
case DockerContainer::None: return ServiceType::None;
|
|
||||||
case DockerContainer::OpenVpn: return ServiceType::Vpn;
|
|
||||||
case DockerContainer::Cloak: return ServiceType::Vpn;
|
|
||||||
case DockerContainer::ShadowSocks: return ServiceType::Vpn;
|
|
||||||
case DockerContainer::WireGuard: return ServiceType::Vpn;
|
|
||||||
case DockerContainer::Awg: return ServiceType::Vpn;
|
|
||||||
case DockerContainer::Ipsec: return ServiceType::Vpn;
|
|
||||||
case DockerContainer::TorWebSite: return ServiceType::Other;
|
|
||||||
case DockerContainer::Dns: return ServiceType::Other;
|
|
||||||
// case DockerContainer::FileShare : return ServiceType::Other;
|
|
||||||
case DockerContainer::Sftp: return ServiceType::Other;
|
|
||||||
default: return ServiceType::Other;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Proto ContainerProps::defaultProtocol(DockerContainer c)
|
Proto ContainerProps::defaultProtocol(DockerContainer c)
|
||||||
|
|
@ -171,7 +235,6 @@ Proto ContainerProps::defaultProtocol(DockerContainer c)
|
||||||
|
|
||||||
case DockerContainer::TorWebSite: return Proto::TorWebSite;
|
case DockerContainer::TorWebSite: return Proto::TorWebSite;
|
||||||
case DockerContainer::Dns: return Proto::Dns;
|
case DockerContainer::Dns: return Proto::Dns;
|
||||||
// case DockerContainer::FileShare : return Protocol::FileShare;
|
|
||||||
case DockerContainer::Sftp: return Proto::Sftp;
|
case DockerContainer::Sftp: return Proto::Sftp;
|
||||||
default: return Proto::Any;
|
default: return Proto::Any;
|
||||||
}
|
}
|
||||||
|
|
@ -254,7 +317,8 @@ QString ContainerProps::easySetupDescription(DockerContainer container)
|
||||||
switch (container) {
|
switch (container) {
|
||||||
case DockerContainer::WireGuard: return tr("I just want to increase the level of my privacy.");
|
case DockerContainer::WireGuard: return tr("I just want to increase the level of my privacy.");
|
||||||
case DockerContainer::Awg: return tr("I want to bypass censorship. This option recommended in most cases.");
|
case DockerContainer::Awg: return tr("I want to bypass censorship. This option recommended in most cases.");
|
||||||
case DockerContainer::Cloak: return tr("Most VPN protocols are blocked. Recommended if other options are not working.");
|
case DockerContainer::Cloak:
|
||||||
|
return tr("Most VPN protocols are blocked. Recommended if other options are not working.");
|
||||||
default: return "";
|
default: return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ namespace amnezia
|
||||||
// non-vpn
|
// non-vpn
|
||||||
TorWebSite,
|
TorWebSite,
|
||||||
Dns,
|
Dns,
|
||||||
// FileShare,
|
|
||||||
Sftp
|
Sftp
|
||||||
};
|
};
|
||||||
Q_ENUM_NS(DockerContainer)
|
Q_ENUM_NS(DockerContainer)
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ QString amnezia::scriptFolder(amnezia::DockerContainer container)
|
||||||
|
|
||||||
case DockerContainer::TorWebSite: return QLatin1String("website_tor");
|
case DockerContainer::TorWebSite: return QLatin1String("website_tor");
|
||||||
case DockerContainer::Dns: return QLatin1String("dns");
|
case DockerContainer::Dns: return QLatin1String("dns");
|
||||||
// case DockerContainer::FileShare: return QLatin1String("file_share");
|
|
||||||
case DockerContainer::Sftp: return QLatin1String("sftp");
|
case DockerContainer::Sftp: return QLatin1String("sftp");
|
||||||
default: return "";
|
default: return "";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -66,13 +66,12 @@ QMap<amnezia::Proto, QString> ProtocolProps::protocolHumanNames()
|
||||||
{ Proto::ShadowSocks, "ShadowSocks" },
|
{ Proto::ShadowSocks, "ShadowSocks" },
|
||||||
{ Proto::Cloak, "Cloak" },
|
{ Proto::Cloak, "Cloak" },
|
||||||
{ Proto::WireGuard, "WireGuard" },
|
{ Proto::WireGuard, "WireGuard" },
|
||||||
{ Proto::WireGuard, "AmneziaWG" },
|
{ Proto::Awg, "AmneziaWG" },
|
||||||
{ Proto::Ikev2, "IKEv2" },
|
{ Proto::Ikev2, "IKEv2" },
|
||||||
{ Proto::L2tp, "L2TP" },
|
{ Proto::L2tp, "L2TP" },
|
||||||
|
|
||||||
{ Proto::TorWebSite, "Website in Tor network" },
|
{ Proto::TorWebSite, "Website in Tor network" },
|
||||||
{ Proto::Dns, "DNS Service" },
|
{ Proto::Dns, "DNS Service" },
|
||||||
{ Proto::FileShare, "File Sharing Service" },
|
|
||||||
{ Proto::Sftp, QObject::tr("Sftp service") } };
|
{ Proto::Sftp, QObject::tr("Sftp service") } };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -90,9 +89,11 @@ amnezia::ServiceType ProtocolProps::protocolService(Proto p)
|
||||||
case Proto::ShadowSocks: return ServiceType::Vpn;
|
case Proto::ShadowSocks: return ServiceType::Vpn;
|
||||||
case Proto::WireGuard: return ServiceType::Vpn;
|
case Proto::WireGuard: return ServiceType::Vpn;
|
||||||
case Proto::Awg: return ServiceType::Vpn;
|
case Proto::Awg: return ServiceType::Vpn;
|
||||||
|
case Proto::Ikev2: return ServiceType::Vpn;
|
||||||
|
|
||||||
case Proto::TorWebSite: return ServiceType::Other;
|
case Proto::TorWebSite: return ServiceType::Other;
|
||||||
case Proto::Dns: return ServiceType::Other;
|
case Proto::Dns: return ServiceType::Other;
|
||||||
case Proto::FileShare: return ServiceType::Other;
|
case Proto::Sftp: return ServiceType::Other;
|
||||||
default: return ServiceType::Other;
|
default: return ServiceType::Other;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -111,7 +112,6 @@ int ProtocolProps::defaultPort(Proto p)
|
||||||
|
|
||||||
case Proto::TorWebSite: return -1;
|
case Proto::TorWebSite: return -1;
|
||||||
case Proto::Dns: return 53;
|
case Proto::Dns: return 53;
|
||||||
case Proto::FileShare: return 139;
|
|
||||||
case Proto::Sftp: return 222;
|
case Proto::Sftp: return 222;
|
||||||
default: return -1;
|
default: return -1;
|
||||||
}
|
}
|
||||||
|
|
@ -129,10 +129,10 @@ bool ProtocolProps::defaultPortChangeable(Proto p)
|
||||||
case Proto::Ikev2: return false;
|
case Proto::Ikev2: return false;
|
||||||
case Proto::L2tp: return false;
|
case Proto::L2tp: return false;
|
||||||
|
|
||||||
case Proto::TorWebSite: return true;
|
case Proto::TorWebSite: return false;
|
||||||
case Proto::Dns: return false;
|
case Proto::Dns: return false;
|
||||||
case Proto::FileShare: return false;
|
case Proto::Sftp: return true;
|
||||||
default: return -1;
|
default: return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -150,7 +150,6 @@ TransportProto ProtocolProps::defaultTransportProto(Proto p)
|
||||||
// non-vpn
|
// non-vpn
|
||||||
case Proto::TorWebSite: return TransportProto::Tcp;
|
case Proto::TorWebSite: return TransportProto::Tcp;
|
||||||
case Proto::Dns: return TransportProto::Udp;
|
case Proto::Dns: return TransportProto::Udp;
|
||||||
case Proto::FileShare: return TransportProto::Udp;
|
|
||||||
case Proto::Sftp: return TransportProto::Tcp;
|
case Proto::Sftp: return TransportProto::Tcp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -169,7 +168,6 @@ bool ProtocolProps::defaultTransportProtoChangeable(Proto p)
|
||||||
// non-vpn
|
// non-vpn
|
||||||
case Proto::TorWebSite: return false;
|
case Proto::TorWebSite: return false;
|
||||||
case Proto::Dns: return false;
|
case Proto::Dns: return false;
|
||||||
case Proto::FileShare: return false;
|
|
||||||
case Proto::Sftp: return false;
|
case Proto::Sftp: return false;
|
||||||
default: return false;
|
default: return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -195,7 +195,6 @@ namespace amnezia
|
||||||
// non-vpn
|
// non-vpn
|
||||||
TorWebSite,
|
TorWebSite,
|
||||||
Dns,
|
Dns,
|
||||||
FileShare,
|
|
||||||
Sftp
|
Sftp
|
||||||
};
|
};
|
||||||
Q_ENUM_NS(Proto)
|
Q_ENUM_NS(Proto)
|
||||||
|
|
|
||||||
|
|
@ -69,31 +69,19 @@
|
||||||
<context>
|
<context>
|
||||||
<name>ConnectionTypeSelectionDrawer</name>
|
<name>ConnectionTypeSelectionDrawer</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Connection data</source>
|
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="30"/>
|
||||||
<translation type="vanished">Данные для подлкючения</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Server IP, login and password</source>
|
|
||||||
<translation type="vanished">IP сервера, логин и пароль</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>QR code, key or configuration file</source>
|
|
||||||
<translation type="vanished">QR-код, ключ, файл настроек или бекап</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="31"/>
|
|
||||||
<source>Add new connection</source>
|
<source>Add new connection</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Добавить новое соединение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="40"/>
|
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="38"/>
|
||||||
<source>Configure your server</source>
|
<source>Configure your server</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Настроить ваш сервер</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="54"/>
|
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="52"/>
|
||||||
<source>Open QR code, key or config file</source>
|
<source>Open config file, key or QR code</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Открыть файл конфига, ключ или QR код</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
@ -177,32 +165,32 @@ Already installed containers were found on the server. All installed containers
|
||||||
На сервере обнаружены установленные протоколы и сервисы, все они добавлены в приложение</translation>
|
На сервере обнаружены установленные протоколы и сервисы, все они добавлены в приложение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="264"/>
|
<location filename="../ui/controllers/installController.cpp" line="266"/>
|
||||||
<source>Settings updated successfully</source>
|
<source>Settings updated successfully</source>
|
||||||
<translation>Настройки успешно обновлены</translation>
|
<translation>Настройки успешно обновлены</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="279"/>
|
<location filename="../ui/controllers/installController.cpp" line="281"/>
|
||||||
<source>Server '%1' was removed</source>
|
<source>Server '%1' was removed</source>
|
||||||
<translation>Сервер '%1' был удален</translation>
|
<translation>Сервер '%1' был удален</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="289"/>
|
<location filename="../ui/controllers/installController.cpp" line="291"/>
|
||||||
<source>All containers from server '%1' have been removed</source>
|
<source>All containers from server '%1' have been removed</source>
|
||||||
<translation>Все протоклы и сервисы были удалены с сервера '%1'</translation>
|
<translation>Все протоклы и сервисы были удалены с сервера '%1'</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="306"/>
|
<location filename="../ui/controllers/installController.cpp" line="308"/>
|
||||||
<source>%1 has been removed from the server '%2'</source>
|
<source>%1 has been removed from the server '%2'</source>
|
||||||
<translation>%1 был удален с сервера '%2'</translation>
|
<translation>%1 был удален с сервера '%2'</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="452"/>
|
<location filename="../ui/controllers/installController.cpp" line="454"/>
|
||||||
<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="479"/>
|
<location filename="../ui/controllers/installController.cpp" line="481"/>
|
||||||
<source>Server added successfully</source>
|
<source>Server added successfully</source>
|
||||||
<translation>Сервер успешно добавлен</translation>
|
<translation>Сервер успешно добавлен</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -743,49 +731,49 @@ Already installed containers were found on the server. All installed containers
|
||||||
<translation>Пароль</translation>
|
<translation>Пароль</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="183"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="171"/>
|
||||||
<source>Mount folder on device</source>
|
<source>Mount folder on device</source>
|
||||||
<translation>Смонтировать папку на вашем устройстве</translation>
|
<translation>Смонтировать папку на вашем устройстве</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="208"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="196"/>
|
||||||
<source>In order to mount remote SFTP folder as local drive, perform following steps: <br></source>
|
<source>In order to mount remote SFTP folder as local drive, perform following steps: <br></source>
|
||||||
<translation>Чтобы смонтировать SFTP-папку как локальный диск на вашем устройстве, выполните следующие действия</translation>
|
<translation>Чтобы смонтировать SFTP-папку как локальный диск на вашем устройстве, выполните следующие действия</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="210"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="198"/>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="213"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="201"/>
|
||||||
<source><br>1. Install the latest version of </source>
|
<source><br>1. Install the latest version of </source>
|
||||||
<translation><br>1. Установите последнюю версию </translation>
|
<translation><br>1. Установите последнюю версию </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="211"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="199"/>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="214"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="202"/>
|
||||||
<source><br>2. Install the latest version of </source>
|
<source><br>2. Install the latest version of </source>
|
||||||
<translation><br>2. Установите последнюю версию </translation>
|
<translation><br>2. Установите последнюю версию </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="242"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="230"/>
|
||||||
<source>Detailed instructions</source>
|
<source>Detailed instructions</source>
|
||||||
<translation>Подробные инструкции</translation>
|
<translation>Подробные инструкции</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="260"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="248"/>
|
||||||
<source>Remove SFTP and all data stored there</source>
|
<source>Remove SFTP and all data stored there</source>
|
||||||
<translation>Удалите SFTP-хранилище со всеми данными</translation>
|
<translation>Удалите SFTP-хранилище со всеми данными</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="263"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="251"/>
|
||||||
<source>Remove SFTP and all data stored there?</source>
|
<source>Remove SFTP and all data stored there?</source>
|
||||||
<translation>Удалить SFTP-хранилище и все хранящиеся на нем данные?</translation>
|
<translation>Удалить SFTP-хранилище и все хранящиеся на нем данные?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="264"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="252"/>
|
||||||
<source>Continue</source>
|
<source>Continue</source>
|
||||||
<translation>Продолжить</translation>
|
<translation>Продолжить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="265"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="253"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>Отменить</translation>
|
<translation>Отменить</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -813,37 +801,41 @@ Already installed containers were found on the server. All installed containers
|
||||||
<translation>Скопировано</translation>
|
<translation>Скопировано</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="106"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="94"/>
|
||||||
<source>Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url.</source>
|
<source>Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url.</source>
|
||||||
<translation>Используйте <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> для открытия этой ссылки.</translation>
|
<translation>Используйте <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> для открытия этой ссылки.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="115"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="103"/>
|
||||||
<source>After installation it takes several minutes while your onion site will become available in the Tor Network.</source>
|
<source>After installation it takes several minutes while your onion site will become available in the Tor Network.</source>
|
||||||
<translation>Через несколько минут после установки ваш Onion сайт станет доступен в сети Tor.</translation>
|
<translation>Через несколько минут после установки ваш Onion сайт станет доступен в сети Tor.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="124"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="112"/>
|
||||||
<source>When configuring WordPress set the domain as this onion address.</source>
|
<source>When configuring WordPress set the this onion address as domain.</source>
|
||||||
<translation>При настройке WordPress, укажите этот адрес в качестве домена.</translation>
|
<translation>При настройке WordPress укажите этот onion адрес в качестве домена.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="138"/>
|
<source>When configuring WordPress set the this address as domain.</source>
|
||||||
|
<translation type="vanished">При настройке WordPress укажите этот onion адрес в качестве домена.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="126"/>
|
||||||
<source>Remove website</source>
|
<source>Remove website</source>
|
||||||
<translation>Удалить сайт</translation>
|
<translation>Удалить сайт</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="141"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="129"/>
|
||||||
<source>The site with all data will be removed from the tor network.</source>
|
<source>The site with all data will be removed from the tor network.</source>
|
||||||
<translation>Сайт со всеми данными будет удален из сети tor.</translation>
|
<translation>Сайт со всеми данными будет удален из сети tor.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="142"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="130"/>
|
||||||
<source>Continue</source>
|
<source>Continue</source>
|
||||||
<translation>Продолжить</translation>
|
<translation>Продолжить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="143"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="131"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>Отменить</translation>
|
<translation>Отменить</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -881,7 +873,7 @@ Already installed containers were found on the server. All installed containers
|
||||||
<translation>Об AmneziaVPN</translation>
|
<translation>Об AmneziaVPN</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettings.qml" line="116"/>
|
<location filename="../ui/qml/Pages2/PageSettings.qml" line="117"/>
|
||||||
<source>Close application</source>
|
<source>Close application</source>
|
||||||
<translation>Закрыть приложение</translation>
|
<translation>Закрыть приложение</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1086,37 +1078,42 @@ Already installed containers were found on the server. All installed containers
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="97"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="97"/>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="125"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="126"/>
|
||||||
<source>Backup files (*.backup)</source>
|
<source>Backup files (*.backup)</source>
|
||||||
<translation>Файлы резервного копирования (*.backup)</translation>
|
<translation>Файлы резервного копирования (*.backup)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="121"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="106"/>
|
||||||
|
<source>Backup file saved</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="122"/>
|
||||||
<source>Restore from backup</source>
|
<source>Restore from backup</source>
|
||||||
<translation>Восстановить из бэкапа</translation>
|
<translation>Восстановить из бэкапа</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="124"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="125"/>
|
||||||
<source>Open backup file</source>
|
<source>Open backup file</source>
|
||||||
<translation>Открыть бэкап файл</translation>
|
<translation>Открыть бэкап файл</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="135"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="136"/>
|
||||||
<source>Import settings from a backup file?</source>
|
<source>Import settings from a backup file?</source>
|
||||||
<translation>Импортировать настройки из бэкап файла?</translation>
|
<translation>Импортировать настройки из бэкап файла?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="136"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="137"/>
|
||||||
<source>All current settings will be reset</source>
|
<source>All current settings will be reset</source>
|
||||||
<translation>Все текущие настройки будут сброшены</translation>
|
<translation>Все текущие настройки будут сброшены</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="137"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="138"/>
|
||||||
<source>Continue</source>
|
<source>Continue</source>
|
||||||
<translation>Продолжить</translation>
|
<translation>Продолжить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="138"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="139"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>Отменить</translation>
|
<translation>Отменить</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1159,22 +1156,22 @@ Already installed containers were found on the server. All installed containers
|
||||||
<translation>Эти серверы будут использоваться, если не включен AmneziaDNS</translation>
|
<translation>Эти серверы будут использоваться, если не включен AmneziaDNS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="99"/>
|
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="101"/>
|
||||||
<source>Site-based split tunneling</source>
|
<source>Site-based split tunneling</source>
|
||||||
<translation>Раздельное туннелирование сайтов</translation>
|
<translation>Раздельное туннелирование сайтов</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="100"/>
|
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="102"/>
|
||||||
<source>Allows you to select which sites you want to access through the VPN</source>
|
<source>Allows you to select which sites you want to access through the VPN</source>
|
||||||
<translation>Позволяет подключаться к одним сайтам через VPN, а к другим в обход него</translation>
|
<translation>Позволяет подключаться к одним сайтам через VPN, а к другим в обход него</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="114"/>
|
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="119"/>
|
||||||
<source>App-based split tunneling</source>
|
<source>App-based split tunneling</source>
|
||||||
<translation>Раздельное VPN-туннелирование приложений</translation>
|
<translation>Раздельное VPN-туннелирование приложений</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="115"/>
|
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="120"/>
|
||||||
<source>Allows you to use the VPN only for certain applications</source>
|
<source>Allows you to use the VPN only for certain applications</source>
|
||||||
<translation>Позволяет использовать VPN только для определённых приложений</translation>
|
<translation>Позволяет использовать VPN только для определённых приложений</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1265,32 +1262,37 @@ Already installed containers were found on the server. All installed containers
|
||||||
<translation>Logs files (*.log)</translation>
|
<translation>Logs files (*.log)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="126"/>
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="118"/>
|
||||||
|
<source>Logs file saved</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="127"/>
|
||||||
<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="144"/>
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="145"/>
|
||||||
<source>Clear logs?</source>
|
<source>Clear logs?</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>Continue</source>
|
<source>Continue</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>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>Отменить</translation>
|
<translation>Отменить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="153"/>
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="154"/>
|
||||||
<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="166"/>
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="167"/>
|
||||||
<source>Clear logs</source>
|
<source>Clear logs</source>
|
||||||
<translation>Удалить логи</translation>
|
<translation>Удалить логи</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1454,90 +1456,90 @@ 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="49"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="53"/>
|
||||||
<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="54"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="58"/>
|
||||||
<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="84"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="90"/>
|
||||||
<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="120"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="128"/>
|
||||||
<source>Mode</source>
|
<source>Mode</source>
|
||||||
<translation>Режим</translation>
|
<translation>Режим</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="198"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="206"/>
|
||||||
<source>Remove </source>
|
<source>Remove </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="207"/>
|
||||||
<source>Continue</source>
|
<source>Continue</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="208"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>Отменить</translation>
|
<translation>Отменить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="238"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="255"/>
|
||||||
<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="282"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="299"/>
|
||||||
<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="288"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="305"/>
|
||||||
<source>Import</source>
|
<source>Import</source>
|
||||||
<translation>Импорт</translation>
|
<translation>Импорт</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="300"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="317"/>
|
||||||
<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="307"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="324"/>
|
||||||
<source>Save sites</source>
|
<source>Save sites</source>
|
||||||
<translation>Сохранить</translation>
|
<translation>Сохранить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="308"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="325"/>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="375"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="392"/>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="390"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="407"/>
|
||||||
<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="365"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="382"/>
|
||||||
<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="371"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="388"/>
|
||||||
<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="374"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="391"/>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="389"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="406"/>
|
||||||
<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="386"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="403"/>
|
||||||
<source>Add imported sites to existing ones</source>
|
<source>Add imported sites to existing ones</source>
|
||||||
<translation>Добавление импортированных сайтов к существующим</translation>
|
<translation>Добавление импортированных сайтов к существующим</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1592,9 +1594,8 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<context>
|
<context>
|
||||||
<name>PageSetupWizardCredentials</name>
|
<name>PageSetupWizardCredentials</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="44"/>
|
|
||||||
<source>Server connection</source>
|
<source>Server connection</source>
|
||||||
<translation>Подключение к серверу</translation>
|
<translation type="vanished">Подключение к серверу</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="51"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="51"/>
|
||||||
|
|
@ -1617,7 +1618,13 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>Продолжить</translation>
|
<translation>Продолжить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="120"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="115"/>
|
||||||
|
<source>All data you enter will remain strictly confidential
|
||||||
|
and will not be shared or disclosed to the Amnezia or any third parties</source>
|
||||||
|
<translation>Все данные, которые вы вводите, останутся строго конфиденциальными и не будут переданы или раскрыты Amnezia или каким-либо третьим сторонам</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="128"/>
|
||||||
<source>Enter the address in the format 255.255.255.255:88</source>
|
<source>Enter the address in the format 255.255.255.255:88</source>
|
||||||
<translation>Введите адрес в формате 255.255.255.255:88</translation>
|
<translation>Введите адрес в формате 255.255.255.255:88</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1627,17 +1634,22 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>Login to connect via SSH</translation>
|
<translation>Login to connect via SSH</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="117"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="44"/>
|
||||||
|
<source>Configure your server</source>
|
||||||
|
<translation>Настроить ваш сервер</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="125"/>
|
||||||
<source>Ip address cannot be empty</source>
|
<source>Ip address cannot be empty</source>
|
||||||
<translation>Поле Ip address не может быть пустым</translation>
|
<translation>Поле Ip address не может быть пустым</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="124"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="132"/>
|
||||||
<source>Login cannot be empty</source>
|
<source>Login cannot be empty</source>
|
||||||
<translation>Поле Login не может быть пустым</translation>
|
<translation>Поле Login не может быть пустым</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="128"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="136"/>
|
||||||
<source>Password/private key cannot be empty</source>
|
<source>Password/private key cannot be empty</source>
|
||||||
<translation>Поле Password/private key не может быть пустым</translation>
|
<translation>Поле Password/private key не может быть пустым</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1678,14 +1690,22 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>Сервер уже был добавлен в приложение</translation>
|
<translation>Сервер уже был добавлен в приложение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="62"/>
|
|
||||||
<source>Amnesia has detected that your server is currently </source>
|
<source>Amnesia has detected that your server is currently </source>
|
||||||
<translation>Amnesia обнаружила, что ваш сервер в настоящее время </translation>
|
<translation type="vanished">Amnesia обнаружила, что ваш сервер в настоящее время </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>busy installing other software. Amnesia installation </source>
|
||||||
|
<translation type="vanished">занят установкой других протоколов или сервисов. Установка Amnesia </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="62"/>
|
||||||
|
<source>Amnezia has detected that your server is currently </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="63"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="63"/>
|
||||||
<source>busy installing other software. Amnesia installation </source>
|
<source>busy installing other software. Amnezia installation </source>
|
||||||
<translation>занят установкой других протоколов или сервисов. Установка Amnesia </translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="64"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="64"/>
|
||||||
|
|
@ -1717,22 +1737,22 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>Подробнее</translation>
|
<translation>Подробнее</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="183"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="166"/>
|
||||||
<source>Close</source>
|
<source>Close</source>
|
||||||
<translation>Закрыть</translation>
|
<translation>Закрыть</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="198"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="181"/>
|
||||||
<source>Network protocol</source>
|
<source>Network protocol</source>
|
||||||
<translation>Сетевой протокол</translation>
|
<translation>Сетевой протокол</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="214"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="197"/>
|
||||||
<source>Port</source>
|
<source>Port</source>
|
||||||
<translation>Порт</translation>
|
<translation>Порт</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="230"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="213"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Установка</translation>
|
<translation>Установка</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1869,6 +1889,11 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<source>VPN access without the ability to manage the server</source>
|
<source>VPN access without the ability to manage the server</source>
|
||||||
<translation>Доступ к VPN, без возможности управления сервером</translation>
|
<translation>Доступ к VPN, без возможности управления сервером</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageShare.qml" line="175"/>
|
||||||
|
<source>Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the server, as well as change settings.</source>
|
||||||
|
<translation>Доступ к управлению сервером. Пользователь, с которым вы делитесь полным доступом к соединению, сможет добавлять и удалять ваши протоколы и службы на сервере, а также изменять настройки.</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageShare.qml" line="190"/>
|
<location filename="../ui/qml/Pages2/PageShare.qml" line="190"/>
|
||||||
<location filename="../ui/qml/Pages2/PageShare.qml" line="191"/>
|
<location filename="../ui/qml/Pages2/PageShare.qml" line="191"/>
|
||||||
|
|
@ -1915,11 +1940,6 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<source>Full access</source>
|
<source>Full access</source>
|
||||||
<translation>Полный доступ</translation>
|
<translation>Полный доступ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../ui/qml/Pages2/PageShare.qml" line="175"/>
|
|
||||||
<source>Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the servers, as well as change settings.</source>
|
|
||||||
<translation>Доступ к управлению серверами. Пользователь, с которым вы поделились полным доступ к VPN, сможет добавлять и удалять ваши протоколы и сервисы на сервере, а также менять настройки.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageShare.qml" line="251"/>
|
<location filename="../ui/qml/Pages2/PageShare.qml" line="251"/>
|
||||||
<location filename="../ui/qml/Pages2/PageShare.qml" line="252"/>
|
<location filename="../ui/qml/Pages2/PageShare.qml" line="252"/>
|
||||||
|
|
@ -2394,18 +2414,18 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>IPsec</translation>
|
<translation>IPsec</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="138"/>
|
<location filename="../containers/containers_defs.cpp" line="216"/>
|
||||||
<source>DNS Service</source>
|
<source>DNS Service</source>
|
||||||
<translation>DNS Сервис</translation>
|
<translation>DNS Сервис</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="93"/>
|
<location filename="../containers/containers_defs.cpp" line="92"/>
|
||||||
<source>Sftp file sharing service</source>
|
<source>Sftp file sharing service</source>
|
||||||
<translation>Сервис обмена файлами Sftp</translation>
|
<translation>Сервис обмена файлами Sftp</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="90"/>
|
<location filename="../containers/containers_defs.cpp" line="90"/>
|
||||||
<location filename="../containers/containers_defs.cpp" line="137"/>
|
<location filename="../containers/containers_defs.cpp" line="215"/>
|
||||||
<source>Website in Tor network</source>
|
<source>Website in Tor network</source>
|
||||||
<translation>Веб-сайт в сети Tor</translation>
|
<translation>Веб-сайт в сети Tor</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -2415,27 +2435,27 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>Amnezia DNS</translation>
|
<translation>Amnezia DNS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="99"/>
|
<location filename="../containers/containers_defs.cpp" line="98"/>
|
||||||
<source>OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange.</source>
|
<source>OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange.</source>
|
||||||
<translation>OpenVPN - популярный VPN-протокол, с гибкой настройкой. Имеет собственный протокол безопасности с SSL/TLS для обмена ключами.</translation>
|
<translation>OpenVPN - популярный VPN-протокол, с гибкой настройкой. Имеет собственный протокол безопасности с SSL/TLS для обмена ключами.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="102"/>
|
<location filename="../containers/containers_defs.cpp" line="101"/>
|
||||||
<source>ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions.</source>
|
<source>ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions.</source>
|
||||||
<translation>ShadowSocks - маскирует VPN-трафик под обычный веб-трафик, но распознается системами анализа в некоторых регионах с высоким уровнем цензуры.</translation>
|
<translation>ShadowSocks - маскирует VPN-трафик под обычный веб-трафик, но распознается системами анализа в некоторых регионах с высоким уровнем цензуры.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="105"/>
|
<location filename="../containers/containers_defs.cpp" line="104"/>
|
||||||
<source>OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probbing detection. Ideal for bypassing blocking in regions with the highest levels of censorship.</source>
|
<source>OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probbing detection. Ideal for bypassing blocking in regions with the highest levels of censorship.</source>
|
||||||
<translation>OpenVPN over Cloak - OpenVPN с маскировкой VPN под web-трафик и защитой от обнаружения active-probbing. Подходит для регионов с самым высоким уровнем цензуры.</translation>
|
<translation>OpenVPN over Cloak - OpenVPN с маскировкой VPN под web-трафик и защитой от обнаружения active-probbing. Подходит для регионов с самым высоким уровнем цензуры.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="109"/>
|
<location filename="../containers/containers_defs.cpp" line="108"/>
|
||||||
<source>WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship.</source>
|
<source>WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship.</source>
|
||||||
<translation>WireGuard - Популярный VPN-протокол с высокой производительностью, высокой скоростью и низким энергопотреблением. Для регионов с низким уровнем цензуры.</translation>
|
<translation>WireGuard - Популярный VPN-протокол с высокой производительностью, высокой скоростью и низким энергопотреблением. Для регионов с низким уровнем цензуры.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="112"/>
|
<location filename="../containers/containers_defs.cpp" line="111"/>
|
||||||
<source>AmneziaWG - Special protocol from Amnezia, based on WireGuard. It's fast like WireGuard, but very resistant to blockages. Recommended for regions with high levels of censorship.</source>
|
<source>AmneziaWG - Special protocol from Amnezia, based on WireGuard. It's fast like WireGuard, but very resistant to blockages. Recommended for regions with high levels of censorship.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -2455,47 +2475,106 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>Замените адрес DNS-сервера на собственный. Это повысит уровень конфиденциальности.</translation>
|
<translation>Замените адрес DNS-сервера на собственный. Это повысит уровень конфиденциальности.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="123"/>
|
<location filename="../containers/containers_defs.cpp" line="122"/>
|
||||||
<source>Creates a file vault on your server to securely store and transfer files.</source>
|
<source>Creates a file vault on your server to securely store and transfer files.</source>
|
||||||
<translation>Создайте на сервере файловое хранилище для безопасного хранения и передачи файлов.</translation>
|
<translation>Создайте на сервере файловое хранилище для безопасного хранения и передачи файлов.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../containers/containers_defs.cpp" line="128"/>
|
|
||||||
<source>OpenVPN container</source>
|
|
||||||
<translation>OpenVPN протокол</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="129"/>
|
<location filename="../containers/containers_defs.cpp" line="129"/>
|
||||||
<source>Container with OpenVpn and ShadowSocks</source>
|
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
|
||||||
<translation>Связка протоколов OpenVPN и ShadowSocks</translation>
|
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN's support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN across all platforms
|
||||||
|
* Normal power consumption on mobile devices
|
||||||
|
* Flexible customisation to suit user needs to work with different operating systems and devices
|
||||||
|
* Recognised by DPI analysis systems and therefore susceptible to blocking
|
||||||
|
* Can operate over both TCP and UDP network protocols.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="131"/>
|
<location filename="../containers/containers_defs.cpp" line="145"/>
|
||||||
<source>Container with OpenVpn and ShadowSocks protocols configured with traffic masking by Cloak plugin</source>
|
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn't identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it's recommended to use AmneziaWG protocol.
|
||||||
<translation>Протоколы OpenVpn и ShadowSocks, с плагином маскировки трафика Cloak</translation>
|
|
||||||
|
* Available in the AmneziaVPN only on desktop platforms
|
||||||
|
* Normal power consumption on mobile devices
|
||||||
|
|
||||||
|
* Configurable encryption protocol
|
||||||
|
* Detectable by some DPI systems
|
||||||
|
* Works over TCP network protocol.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="133"/>
|
<location filename="../containers/containers_defs.cpp" line="155"/>
|
||||||
<source>WireGuard container</source>
|
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for blocking protection.
|
||||||
<translation>WireGuard протокол</translation>
|
|
||||||
|
OpenVPN provides a secure VPN connection by encrypting all Internet traffic between the client and the server.
|
||||||
|
|
||||||
|
Cloak protects OpenVPN from detection and blocking.
|
||||||
|
|
||||||
|
Cloak can modify packet metadata so that it completely masks VPN traffic as normal web traffic, and also protects the VPN from detection by Active Probing. This makes it very resistant to being detected
|
||||||
|
|
||||||
|
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
|
||||||
|
|
||||||
|
If there is a extreme level of Internet censorship in your region, we advise you to use only OpenVPN over Cloak from the first connection
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN across all platforms
|
||||||
|
* High power consumption on mobile devices
|
||||||
|
* Flexible settings
|
||||||
|
* Not recognised by DPI analysis systems
|
||||||
|
* Works over TCP network protocol, 443 port.
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="174"/>
|
||||||
|
<source>A relatively new popular VPN protocol with a simplified architecture.
|
||||||
|
Provides stable VPN connection, high performance on all devices. Uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
|
||||||
|
WireGuard is very susceptible to blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN across all platforms
|
||||||
|
* Low power consumption
|
||||||
|
* Minimum number of settings
|
||||||
|
* Easily recognised by DPI analysis systems, susceptible to blocking
|
||||||
|
* Works over UDP network protocol.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="187"/>
|
||||||
|
<source>A modern iteration of the popular VPN protocol, AmneziaWG builds upon the foundation set by WireGuard, retaining its simplified architecture and high-performance capabilities across devices.
|
||||||
|
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
|
||||||
|
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN across all platforms
|
||||||
|
* Low power consumption
|
||||||
|
* Minimum number of settings
|
||||||
|
* Not recognised by DPI analysis systems, resistant to blocking
|
||||||
|
* Works over UDP network protocol.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="203"/>
|
||||||
|
<source>A modern stable protocol.
|
||||||
|
|
||||||
|
IKEv2 with IPSec encryption layer. Transmits data over fixed UDP ports 500 and 4500 protecting them with strong 3DES and AES crypto algorithms. Allows very fast switching between networks and devices. Due to its security, stability and speed, IKEv2 is currently one of the best VPN solutions for mobile devices. Vulnerable to detection and blocking.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN only on Windows
|
||||||
|
* Low power consumption, on mobile devices
|
||||||
|
* Minimal configuration
|
||||||
|
* Recognised by DPI analysis systems
|
||||||
|
* Works over UDP network protocol</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="134"/>
|
|
||||||
<source>AmneziaWG container</source>
|
<source>AmneziaWG container</source>
|
||||||
<translation>AmneziaWG протокол</translation>
|
<translation type="vanished">AmneziaWG протокол</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="135"/>
|
<location filename="../containers/containers_defs.cpp" line="217"/>
|
||||||
<source>IPsec container</source>
|
|
||||||
<translation>IPsec протокол</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../containers/containers_defs.cpp" line="140"/>
|
|
||||||
<source>Sftp file sharing service - is secure FTP service</source>
|
<source>Sftp file sharing service - is secure FTP service</source>
|
||||||
<translation>Сервис обмена файлами Sftp - безопасный FTP-сервис</translation>
|
<translation>Сервис обмена файлами Sftp - безопасный FTP-сервис</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../protocols/protocols_defs.cpp" line="76"/>
|
<location filename="../protocols/protocols_defs.cpp" line="75"/>
|
||||||
<source>Sftp service</source>
|
<source>Sftp service</source>
|
||||||
<translation>Сервис SFTP</translation>
|
<translation>Сервис SFTP</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -2777,34 +2856,34 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<context>
|
<context>
|
||||||
<name>amnezia::ContainerProps</name>
|
<name>amnezia::ContainerProps</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="245"/>
|
<location filename="../containers/containers_defs.cpp" line="309"/>
|
||||||
<source>Low</source>
|
<source>Low</source>
|
||||||
<translation>Низкий</translation>
|
<translation>Низкий</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="246"/>
|
<location filename="../containers/containers_defs.cpp" line="310"/>
|
||||||
<source>Medium or High</source>
|
<source>Medium or High</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Спедний или Высокий</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="247"/>
|
<location filename="../containers/containers_defs.cpp" line="311"/>
|
||||||
<source>Extreme</source>
|
<source>Extreme</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Экстремальный</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="255"/>
|
<location filename="../containers/containers_defs.cpp" line="319"/>
|
||||||
<source>I just want to increase the level of my privacy.</source>
|
<source>I just want to increase the level of my privacy.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Я просто хочу повысить уровень своей приватности.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="256"/>
|
<location filename="../containers/containers_defs.cpp" line="320"/>
|
||||||
<source>I want to bypass censorship. This option recommended in most cases.</source>
|
<source>I want to bypass censorship. This option recommended in most cases.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Я хочу обойти блокировки. Этот вариант рекомендуется в большинстве случаев.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="257"/>
|
<location filename="../containers/containers_defs.cpp" line="322"/>
|
||||||
<source>Most VPN protocols are blocked. Recommended if other options are not working.</source>
|
<source>Most VPN protocols are blocked. Recommended if other options are not working.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Большинство VPN протоколов заблокированы. Рекомендуется, если другие варианты не работают.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>High</source>
|
<source>High</source>
|
||||||
|
|
|
||||||
|
|
@ -68,19 +68,31 @@
|
||||||
<context>
|
<context>
|
||||||
<name>ConnectionTypeSelectionDrawer</name>
|
<name>ConnectionTypeSelectionDrawer</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="31"/>
|
|
||||||
<source>Connection data</source>
|
<source>Connection data</source>
|
||||||
<translation>连接方式</translation>
|
<translation type="vanished">连接方式</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="30"/>
|
||||||
|
<source>Add new connection</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="38"/>
|
||||||
|
<source>Configure your server</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="52"/>
|
||||||
|
<source>Open config file, key or QR code</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="40"/>
|
|
||||||
<source>Server IP, login and password</source>
|
<source>Server IP, login and password</source>
|
||||||
<translation>服务器IP,用户名和密码</translation>
|
<translation type="vanished">服务器IP,用户名和密码</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Components/ConnectionTypeSelectionDrawer.qml" line="54"/>
|
|
||||||
<source>QR code, key or configuration file</source>
|
<source>QR code, key or configuration file</source>
|
||||||
<translation>二维码,授权码或者配置文件</translation>
|
<translation type="vanished">二维码,授权码或者配置文件</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
@ -171,22 +183,22 @@ Already installed containers were found on the server. All installed containers
|
||||||
在服务上发现已经安装协议并添加至应用</translation>
|
在服务上发现已经安装协议并添加至应用</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="264"/>
|
<location filename="../ui/controllers/installController.cpp" line="266"/>
|
||||||
<source>Settings updated successfully</source>
|
<source>Settings updated successfully</source>
|
||||||
<translation>配置更新成功</translation>
|
<translation>配置更新成功</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="279"/>
|
<location filename="../ui/controllers/installController.cpp" line="281"/>
|
||||||
<source>Server '%1' was removed</source>
|
<source>Server '%1' was removed</source>
|
||||||
<translation>已移除服务器 '%1'</translation>
|
<translation>已移除服务器 '%1'</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="289"/>
|
<location filename="../ui/controllers/installController.cpp" line="291"/>
|
||||||
<source>All containers from server '%1' have been removed</source>
|
<source>All containers from server '%1' have been removed</source>
|
||||||
<translation>服务器 '%1' 的所有容器已移除</translation>
|
<translation>服务器 '%1' 的所有容器已移除</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/controllers/installController.cpp" line="306"/>
|
<location filename="../ui/controllers/installController.cpp" line="308"/>
|
||||||
<source>%1 has been removed from the server '%2'</source>
|
<source>%1 has been removed from the server '%2'</source>
|
||||||
<translation>%1 已从服务器 '%2' 上移除</translation>
|
<translation>%1 已从服务器 '%2' 上移除</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -207,12 +219,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="452"/>
|
<location filename="../ui/controllers/installController.cpp" line="454"/>
|
||||||
<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="479"/>
|
<location filename="../ui/controllers/installController.cpp" line="481"/>
|
||||||
<source>Server added successfully</source>
|
<source>Server added successfully</source>
|
||||||
<translation>增加服务器成功</translation>
|
<translation>增加服务器成功</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -766,49 +778,49 @@ Already installed containers were found on the server. All installed containers
|
||||||
<translation>密码</translation>
|
<translation>密码</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="183"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="171"/>
|
||||||
<source>Mount folder on device</source>
|
<source>Mount folder on device</source>
|
||||||
<translation>挂载文件夹</translation>
|
<translation>挂载文件夹</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="208"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="196"/>
|
||||||
<source>In order to mount remote SFTP folder as local drive, perform following steps: <br></source>
|
<source>In order to mount remote SFTP folder as local drive, perform following steps: <br></source>
|
||||||
<translation>为将远程 SFTP 文件夹挂载到本地,请执行以下步骤: <br></translation>
|
<translation>为将远程 SFTP 文件夹挂载到本地,请执行以下步骤: <br></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="210"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="198"/>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="213"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="201"/>
|
||||||
<source><br>1. Install the latest version of </source>
|
<source><br>1. Install the latest version of </source>
|
||||||
<translation><br>1. 安装最新版的 </translation>
|
<translation><br>1. 安装最新版的 </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="211"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="199"/>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="214"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="202"/>
|
||||||
<source><br>2. Install the latest version of </source>
|
<source><br>2. Install the latest version of </source>
|
||||||
<translation><br>2. 安装最新版的 </translation>
|
<translation><br>2. 安装最新版的 </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="242"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="230"/>
|
||||||
<source>Detailed instructions</source>
|
<source>Detailed instructions</source>
|
||||||
<translation>详细说明</translation>
|
<translation>详细说明</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="260"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="248"/>
|
||||||
<source>Remove SFTP and all data stored there</source>
|
<source>Remove SFTP and all data stored there</source>
|
||||||
<translation>移除SFTP和其本地所有数据</translation>
|
<translation>移除SFTP和其本地所有数据</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="263"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="251"/>
|
||||||
<source>Remove SFTP and all data stored there?</source>
|
<source>Remove SFTP and all data stored there?</source>
|
||||||
<translation>移除SFTP和其本地所有数据?</translation>
|
<translation>移除SFTP和其本地所有数据?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="264"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="252"/>
|
||||||
<source>Continue</source>
|
<source>Continue</source>
|
||||||
<translation>继续</translation>
|
<translation>继续</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="265"/>
|
<location filename="../ui/qml/Pages2/PageServiceSftpSettings.qml" line="253"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>取消</translation>
|
<translation>取消</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -836,37 +848,41 @@ Already installed containers were found on the server. All installed containers
|
||||||
<translation>已拷贝</translation>
|
<translation>已拷贝</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="106"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="94"/>
|
||||||
<source>Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url.</source>
|
<source>Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url.</source>
|
||||||
<translation>用 <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor 浏览器</a> 打开上面网址</translation>
|
<translation>用 <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor 浏览器</a> 打开上面网址</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="115"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="103"/>
|
||||||
<source>After installation it takes several minutes while your onion site will become available in the Tor Network.</source>
|
<source>After installation it takes several minutes while your onion site will become available in the Tor Network.</source>
|
||||||
<translation>完成安装几分钟后,洋葱站点才会在 Tor 网络中生效。</translation>
|
<translation>完成安装几分钟后,洋葱站点才会在 Tor 网络中生效。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="124"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="112"/>
|
||||||
<source>When configuring WordPress set the domain as this onion address.</source>
|
<source>When configuring WordPress set the this onion address as domain.</source>
|
||||||
<translation>配置 WordPress 时,将域设置为此洋葱地址。</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="138"/>
|
<source>When configuring WordPress set the domain as this onion address.</source>
|
||||||
|
<translation type="vanished">配置 WordPress 时,将域设置为此洋葱地址。</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="126"/>
|
||||||
<source>Remove website</source>
|
<source>Remove website</source>
|
||||||
<translation>移除网站</translation>
|
<translation>移除网站</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="141"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="129"/>
|
||||||
<source>The site with all data will be removed from the tor network.</source>
|
<source>The site with all data will be removed from the tor network.</source>
|
||||||
<translation>网站及其所有数据将从 Tor 网络中删除</translation>
|
<translation>网站及其所有数据将从 Tor 网络中删除</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="142"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="130"/>
|
||||||
<source>Continue</source>
|
<source>Continue</source>
|
||||||
<translation>继续</translation>
|
<translation>继续</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="143"/>
|
<location filename="../ui/qml/Pages2/PageServiceTorWebsiteSettings.qml" line="131"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>取消</translation>
|
<translation>取消</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -904,7 +920,7 @@ Already installed containers were found on the server. All installed containers
|
||||||
<translation>关于</translation>
|
<translation>关于</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettings.qml" line="116"/>
|
<location filename="../ui/qml/Pages2/PageSettings.qml" line="117"/>
|
||||||
<source>Close application</source>
|
<source>Close application</source>
|
||||||
<translation>关闭应用</translation>
|
<translation>关闭应用</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1128,37 +1144,42 @@ And if you don't like the app, all the more support it - the donation will
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="97"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="97"/>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="125"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="126"/>
|
||||||
<source>Backup files (*.backup)</source>
|
<source>Backup files (*.backup)</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="121"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="106"/>
|
||||||
|
<source>Backup file saved</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="122"/>
|
||||||
<source>Restore from backup</source>
|
<source>Restore from backup</source>
|
||||||
<translation>从备份还原</translation>
|
<translation>从备份还原</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="124"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="125"/>
|
||||||
<source>Open backup file</source>
|
<source>Open backup file</source>
|
||||||
<translation>打开备份文件</translation>
|
<translation>打开备份文件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="135"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="136"/>
|
||||||
<source>Import settings from a backup file?</source>
|
<source>Import settings from a backup file?</source>
|
||||||
<translation>从备份文件导入设置?</translation>
|
<translation>从备份文件导入设置?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="136"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="137"/>
|
||||||
<source>All current settings will be reset</source>
|
<source>All current settings will be reset</source>
|
||||||
<translation>当前所有设置将重置</translation>
|
<translation>当前所有设置将重置</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="137"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="138"/>
|
||||||
<source>Continue</source>
|
<source>Continue</source>
|
||||||
<translation>继续</translation>
|
<translation>继续</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="138"/>
|
<location filename="../ui/qml/Pages2/PageSettingsBackup.qml" line="139"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>取消</translation>
|
<translation>取消</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1205,17 +1226,17 @@ And if you don't like the app, all the more support it - the donation will
|
||||||
<translation>如果未使用或未安装AmneziaDNS</translation>
|
<translation>如果未使用或未安装AmneziaDNS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="99"/>
|
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="101"/>
|
||||||
<source>Site-based split tunneling</source>
|
<source>Site-based split tunneling</source>
|
||||||
<translation>基于网站的隧道分离</translation>
|
<translation>基于网站的隧道分离</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="100"/>
|
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="102"/>
|
||||||
<source>Allows you to select which sites you want to access through the VPN</source>
|
<source>Allows you to select which sites you want to access through the VPN</source>
|
||||||
<translation>配置想要通过VPN访问网站</translation>
|
<translation>配置想要通过VPN访问网站</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="114"/>
|
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="119"/>
|
||||||
<source>App-based split tunneling</source>
|
<source>App-based split tunneling</source>
|
||||||
<translation>基于应用的隧道分离</translation>
|
<translation>基于应用的隧道分离</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1232,7 +1253,7 @@ And if you don'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/PageSettingsConnection.qml" line="115"/>
|
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="120"/>
|
||||||
<source>Allows you to use the VPN only for certain applications</source>
|
<source>Allows you to use the VPN only for certain applications</source>
|
||||||
<translation>仅指定应用使用VPN</translation>
|
<translation>仅指定应用使用VPN</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1323,32 +1344,37 @@ And if you don'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="126"/>
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="118"/>
|
||||||
|
<source>Logs file saved</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="127"/>
|
||||||
<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="144"/>
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="145"/>
|
||||||
<source>Clear logs?</source>
|
<source>Clear logs?</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>Continue</source>
|
<source>Continue</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>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>取消</translation>
|
<translation>取消</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="153"/>
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="154"/>
|
||||||
<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="166"/>
|
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="167"/>
|
||||||
<source>Clear logs</source>
|
<source>Clear logs</source>
|
||||||
<translation>清理日志</translation>
|
<translation>清理日志</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1532,90 +1558,90 @@ And if you don'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="49"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="53"/>
|
||||||
<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="54"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="58"/>
|
||||||
<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="84"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="90"/>
|
||||||
<source>Split tunneling</source>
|
<source>Split tunneling</source>
|
||||||
<translation>隧道分离</translation>
|
<translation>隧道分离</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="120"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="128"/>
|
||||||
<source>Mode</source>
|
<source>Mode</source>
|
||||||
<translation>规则</translation>
|
<translation>规则</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="198"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="206"/>
|
||||||
<source>Remove </source>
|
<source>Remove </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="207"/>
|
||||||
<source>Continue</source>
|
<source>Continue</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="208"/>
|
||||||
<source>Cancel</source>
|
<source>Cancel</source>
|
||||||
<translation>取消</translation>
|
<translation>取消</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="238"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="255"/>
|
||||||
<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="282"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="299"/>
|
||||||
<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="288"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="305"/>
|
||||||
<source>Import</source>
|
<source>Import</source>
|
||||||
<translation>导入</translation>
|
<translation>导入</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="300"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="317"/>
|
||||||
<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="307"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="324"/>
|
||||||
<source>Save sites</source>
|
<source>Save sites</source>
|
||||||
<translation>保存网址</translation>
|
<translation>保存网址</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="308"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="325"/>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="375"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="392"/>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="390"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="407"/>
|
||||||
<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="365"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="382"/>
|
||||||
<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="371"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="388"/>
|
||||||
<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="374"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="391"/>
|
||||||
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="389"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="406"/>
|
||||||
<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="386"/>
|
<location filename="../ui/qml/Pages2/PageSettingsSplitTunneling.qml" line="403"/>
|
||||||
<source>Add imported sites to existing ones</source>
|
<source>Add imported sites to existing ones</source>
|
||||||
<translation>将导入的网址添加到现有网址中</translation>
|
<translation>将导入的网址添加到现有网址中</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1669,9 +1695,13 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<context>
|
<context>
|
||||||
<name>PageSetupWizardCredentials</name>
|
<name>PageSetupWizardCredentials</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="44"/>
|
|
||||||
<source>Server connection</source>
|
<source>Server connection</source>
|
||||||
<translation>连接服务器</translation>
|
<translation type="vanished">连接服务器</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="44"/>
|
||||||
|
<source>Configure your server</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="51"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="51"/>
|
||||||
|
|
@ -1699,22 +1729,28 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>继续</translation>
|
<translation>继续</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="117"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="115"/>
|
||||||
|
<source>All data you enter will remain strictly confidential
|
||||||
|
and will not be shared or disclosed to the Amnezia or any third parties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="125"/>
|
||||||
<source>Ip address cannot be empty</source>
|
<source>Ip address cannot be empty</source>
|
||||||
<translation>IP不能为空</translation>
|
<translation>IP不能为空</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="120"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="128"/>
|
||||||
<source>Enter the address in the format 255.255.255.255:88</source>
|
<source>Enter the address in the format 255.255.255.255:88</source>
|
||||||
<translation>按照这种格式输入 255.255.255.255:88</translation>
|
<translation>按照这种格式输入 255.255.255.255:88</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="124"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="132"/>
|
||||||
<source>Login cannot be empty</source>
|
<source>Login cannot be empty</source>
|
||||||
<translation>账号不能为空</translation>
|
<translation>账号不能为空</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="128"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardCredentials.qml" line="136"/>
|
||||||
<source>Password/private key cannot be empty</source>
|
<source>Password/private key cannot be empty</source>
|
||||||
<translation>密码或私钥不能为空</translation>
|
<translation>密码或私钥不能为空</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1762,13 +1798,21 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="62"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="62"/>
|
||||||
<source>Amnesia has detected that your server is currently </source>
|
<source>Amnezia has detected that your server is currently </source>
|
||||||
<translation>Amnezia 检测到您的服务器当前</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="63"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="63"/>
|
||||||
|
<source>busy installing other software. Amnezia installation </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Amnesia has detected that your server is currently </source>
|
||||||
|
<translation type="vanished">Amnezia 检测到您的服务器当前</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
<source>busy installing other software. Amnesia installation </source>
|
<source>busy installing other software. Amnesia installation </source>
|
||||||
<translation>正安装其他软件。Amnezia安装</translation>
|
<translation type="vanished">正安装其他软件。Amnezia安装</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="64"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardInstalling.qml" line="64"/>
|
||||||
|
|
@ -1794,22 +1838,22 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>更多细节</translation>
|
<translation>更多细节</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="183"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="166"/>
|
||||||
<source>Close</source>
|
<source>Close</source>
|
||||||
<translation>关闭</translation>
|
<translation>关闭</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="198"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="181"/>
|
||||||
<source>Network protocol</source>
|
<source>Network protocol</source>
|
||||||
<translation>网络协议</translation>
|
<translation>网络协议</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="214"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="197"/>
|
||||||
<source>Port</source>
|
<source>Port</source>
|
||||||
<translation>端口</translation>
|
<translation>端口</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="230"/>
|
<location filename="../ui/qml/Pages2/PageSetupWizardProtocolSettings.qml" line="213"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>安装</translation>
|
<translation>安装</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -1968,8 +2012,12 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/qml/Pages2/PageShare.qml" line="175"/>
|
<location filename="../ui/qml/Pages2/PageShare.qml" line="175"/>
|
||||||
|
<source>Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the server, as well as change settings.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
<source>Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the servers, as well as change settings.</source>
|
<source>Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the servers, as well as change settings.</source>
|
||||||
<translation>除访问VPN外,用户还能添加和删除协议、服务以及更改配置信息</translation>
|
<translation type="vanished">除访问VPN外,用户还能添加和删除协议、服务以及更改配置信息</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Full access to server</source>
|
<source>Full access to server</source>
|
||||||
|
|
@ -2273,7 +2321,7 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<context>
|
<context>
|
||||||
<name>QObject</name>
|
<name>QObject</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../protocols/protocols_defs.cpp" line="76"/>
|
<location filename="../protocols/protocols_defs.cpp" line="75"/>
|
||||||
<source>Sftp service</source>
|
<source>Sftp service</source>
|
||||||
<translation>Sftp 服务</translation>
|
<translation>Sftp 服务</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -2489,7 +2537,7 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="90"/>
|
<location filename="../containers/containers_defs.cpp" line="90"/>
|
||||||
<location filename="../containers/containers_defs.cpp" line="137"/>
|
<location filename="../containers/containers_defs.cpp" line="215"/>
|
||||||
<source>Website in Tor network</source>
|
<source>Website in Tor network</source>
|
||||||
<translation>在 Tor 网络中架设网站</translation>
|
<translation>在 Tor 网络中架设网站</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -2499,31 +2547,35 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="93"/>
|
<location filename="../containers/containers_defs.cpp" line="92"/>
|
||||||
<source>Sftp file sharing service</source>
|
<source>Sftp file sharing service</source>
|
||||||
<translation>SFTP文件共享服务</translation>
|
<translation>SFTP文件共享服务</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="99"/>
|
<location filename="../containers/containers_defs.cpp" line="98"/>
|
||||||
<source>OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange.</source>
|
<source>OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange.</source>
|
||||||
<translation>OpenVPN 是最流行的 VPN 协议,具有灵活的配置选项。它使用自己的安全协议与 SSL/TLS 进行密钥交换。</translation>
|
<translation>OpenVPN 是最流行的 VPN 协议,具有灵活的配置选项。它使用自己的安全协议与 SSL/TLS 进行密钥交换。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="102"/>
|
<location filename="../containers/containers_defs.cpp" line="101"/>
|
||||||
<source>ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions.</source>
|
<source>ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions.</source>
|
||||||
<translation>ShadowSocks - 混淆 VPN 流量,使其与正常的 Web 流量相似,但在一些审查力度高的地区可以被分析系统识别。</translation>
|
<translation>ShadowSocks - 混淆 VPN 流量,使其与正常的 Web 流量相似,但在一些审查力度高的地区可以被分析系统识别。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="105"/>
|
<location filename="../containers/containers_defs.cpp" line="104"/>
|
||||||
<source>OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probbing detection. Ideal for bypassing blocking in regions with the highest levels of censorship.</source>
|
<source>OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probbing detection. Ideal for bypassing blocking in regions with the highest levels of censorship.</source>
|
||||||
<translation>OpenVPN over Cloak - OpenVPN 与 VPN 具有伪装成网络流量和防止主动探测检测的保护。非常适合绕过审查力度特别强的地区的封锁。</translation>
|
<translation>OpenVPN over Cloak - OpenVPN 与 VPN 具有伪装成网络流量和防止主动探测检测的保护。非常适合绕过审查力度特别强的地区的封锁。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="109"/>
|
<location filename="../containers/containers_defs.cpp" line="108"/>
|
||||||
<location filename="../containers/containers_defs.cpp" line="112"/>
|
|
||||||
<source>WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship.</source>
|
<source>WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship.</source>
|
||||||
<translation>WireGuard - 新型流行的VPN协议,具有高性能、高速度和低功耗。建议用于审查力度较低的地区</translation>
|
<translation>WireGuard - 新型流行的VPN协议,具有高性能、高速度和低功耗。建议用于审查力度较低的地区</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="111"/>
|
||||||
|
<source>AmneziaWG - Special protocol from Amnezia, based on WireGuard. It's fast like WireGuard, but very resistant to blockages. Recommended for regions with high levels of censorship.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="115"/>
|
<location filename="../containers/containers_defs.cpp" line="115"/>
|
||||||
<source>IKEv2 - Modern stable protocol, a bit faster than others, restores connection after signal loss. It has native support on the latest versions of Android and iOS.</source>
|
<source>IKEv2 - Modern stable protocol, a bit faster than others, restores connection after signal loss. It has native support on the latest versions of Android and iOS.</source>
|
||||||
|
|
@ -2540,47 +2592,122 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<translation>将当前的 DNS 服务器替换为您自己的。这将提高您的隐私保护级别。</translation>
|
<translation>将当前的 DNS 服务器替换为您自己的。这将提高您的隐私保护级别。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="123"/>
|
<location filename="../containers/containers_defs.cpp" line="122"/>
|
||||||
<source>Creates a file vault on your server to securely store and transfer files.</source>
|
<source>Creates a file vault on your server to securely store and transfer files.</source>
|
||||||
<translation>在您的服务器上创建文件仓库,以便安全地存储和传输文件</translation>
|
<translation>在您的服务器上创建文件仓库,以便安全地存储和传输文件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../containers/containers_defs.cpp" line="128"/>
|
|
||||||
<source>OpenVPN container</source>
|
|
||||||
<translation>OpenVPN容器</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="129"/>
|
<location filename="../containers/containers_defs.cpp" line="129"/>
|
||||||
|
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
|
||||||
|
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN's support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN across all platforms
|
||||||
|
* Normal power consumption on mobile devices
|
||||||
|
* Flexible customisation to suit user needs to work with different operating systems and devices
|
||||||
|
* Recognised by DPI analysis systems and therefore susceptible to blocking
|
||||||
|
* Can operate over both TCP and UDP network protocols.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="145"/>
|
||||||
|
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn't identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it's recommended to use AmneziaWG protocol.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN only on desktop platforms
|
||||||
|
* Normal power consumption on mobile devices
|
||||||
|
|
||||||
|
* Configurable encryption protocol
|
||||||
|
* Detectable by some DPI systems
|
||||||
|
* Works over TCP network protocol.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="155"/>
|
||||||
|
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for blocking protection.
|
||||||
|
|
||||||
|
OpenVPN provides a secure VPN connection by encrypting all Internet traffic between the client and the server.
|
||||||
|
|
||||||
|
Cloak protects OpenVPN from detection and blocking.
|
||||||
|
|
||||||
|
Cloak can modify packet metadata so that it completely masks VPN traffic as normal web traffic, and also protects the VPN from detection by Active Probing. This makes it very resistant to being detected
|
||||||
|
|
||||||
|
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
|
||||||
|
|
||||||
|
If there is a extreme level of Internet censorship in your region, we advise you to use only OpenVPN over Cloak from the first connection
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN across all platforms
|
||||||
|
* High power consumption on mobile devices
|
||||||
|
* Flexible settings
|
||||||
|
* Not recognised by DPI analysis systems
|
||||||
|
* Works over TCP network protocol, 443 port.
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="174"/>
|
||||||
|
<source>A relatively new popular VPN protocol with a simplified architecture.
|
||||||
|
Provides stable VPN connection, high performance on all devices. Uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
|
||||||
|
WireGuard is very susceptible to blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN across all platforms
|
||||||
|
* Low power consumption
|
||||||
|
* Minimum number of settings
|
||||||
|
* Easily recognised by DPI analysis systems, susceptible to blocking
|
||||||
|
* Works over UDP network protocol.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="187"/>
|
||||||
|
<source>A modern iteration of the popular VPN protocol, AmneziaWG builds upon the foundation set by WireGuard, retaining its simplified architecture and high-performance capabilities across devices.
|
||||||
|
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
|
||||||
|
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN across all platforms
|
||||||
|
* Low power consumption
|
||||||
|
* Minimum number of settings
|
||||||
|
* Not recognised by DPI analysis systems, resistant to blocking
|
||||||
|
* Works over UDP network protocol.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="203"/>
|
||||||
|
<source>A modern stable protocol.
|
||||||
|
|
||||||
|
IKEv2 with IPSec encryption layer. Transmits data over fixed UDP ports 500 and 4500 protecting them with strong 3DES and AES crypto algorithms. Allows very fast switching between networks and devices. Due to its security, stability and speed, IKEv2 is currently one of the best VPN solutions for mobile devices. Vulnerable to detection and blocking.
|
||||||
|
|
||||||
|
* Available in the AmneziaVPN only on Windows
|
||||||
|
* Low power consumption, on mobile devices
|
||||||
|
* Minimal configuration
|
||||||
|
* Recognised by DPI analysis systems
|
||||||
|
* Works over UDP network protocol</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OpenVPN container</source>
|
||||||
|
<translation type="vanished">OpenVPN容器</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
<source>Container with OpenVpn and ShadowSocks</source>
|
<source>Container with OpenVpn and ShadowSocks</source>
|
||||||
<translation>含 OpenVpn 和 ShadowSocks 的容器</translation>
|
<translation type="vanished">含 OpenVpn 和 ShadowSocks 的容器</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="131"/>
|
|
||||||
<source>Container with OpenVpn and ShadowSocks protocols configured with traffic masking by Cloak plugin</source>
|
<source>Container with OpenVpn and ShadowSocks protocols configured with traffic masking by Cloak plugin</source>
|
||||||
<translation>含 OpenVpn 和 ShadowSocks 协议的容器,通过 Cloak 插件配置混淆流量</translation>
|
<translation type="vanished">含 OpenVpn 和 ShadowSocks 协议的容器,通过 Cloak 插件配置混淆流量</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="133"/>
|
|
||||||
<source>WireGuard container</source>
|
<source>WireGuard container</source>
|
||||||
<translation>WireGuard 容器</translation>
|
<translation type="vanished">WireGuard 容器</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="134"/>
|
|
||||||
<source>AmneziaWG container</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../containers/containers_defs.cpp" line="135"/>
|
|
||||||
<source>IPsec container</source>
|
<source>IPsec container</source>
|
||||||
<translation>IPsec 容器</translation>
|
<translation type="vanished">IPsec 容器</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="138"/>
|
<location filename="../containers/containers_defs.cpp" line="216"/>
|
||||||
<source>DNS Service</source>
|
<source>DNS Service</source>
|
||||||
<translation>DNS 服务</translation>
|
<translation>DNS 服务</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="140"/>
|
<location filename="../containers/containers_defs.cpp" line="217"/>
|
||||||
<source>Sftp file sharing service - is secure FTP service</source>
|
<source>Sftp file sharing service - is secure FTP service</source>
|
||||||
<translation>Sftp 文件共享服务 - 安全的 FTP 服务</translation>
|
<translation>Sftp 文件共享服务 - 安全的 FTP 服务</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -2866,34 +2993,54 @@ It's okay as long as it's from someone you trust.</source>
|
||||||
<context>
|
<context>
|
||||||
<name>amnezia::ContainerProps</name>
|
<name>amnezia::ContainerProps</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="245"/>
|
<location filename="../containers/containers_defs.cpp" line="309"/>
|
||||||
<source>Low</source>
|
<source>Low</source>
|
||||||
<translation>低</translation>
|
<translation>低</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="246"/>
|
<location filename="../containers/containers_defs.cpp" line="310"/>
|
||||||
|
<source>Medium or High</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="311"/>
|
||||||
|
<source>Extreme</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="319"/>
|
||||||
|
<source>I just want to increase the level of my privacy.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="320"/>
|
||||||
|
<source>I want to bypass censorship. This option recommended in most cases.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../containers/containers_defs.cpp" line="322"/>
|
||||||
|
<source>Most VPN protocols are blocked. Recommended if other options are not working.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
<source>High</source>
|
<source>High</source>
|
||||||
<translation>高</translation>
|
<translation type="vanished">高</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="247"/>
|
|
||||||
<source>Medium</source>
|
<source>Medium</source>
|
||||||
<translation>中</translation>
|
<translation type="vanished">中</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="255"/>
|
|
||||||
<source>I just want to increase the level of privacy</source>
|
<source>I just want to increase the level of privacy</source>
|
||||||
<translation>我只是想提高隐私保护级别</translation>
|
<translation type="vanished">我只是想提高隐私保护级别</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="256"/>
|
|
||||||
<source>Many foreign websites and VPN providers are blocked</source>
|
<source>Many foreign websites and VPN providers are blocked</source>
|
||||||
<translation>大多国外网站和VPN提供商被屏蔽</translation>
|
<translation type="vanished">大多国外网站和VPN提供商被屏蔽</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../containers/containers_defs.cpp" line="257"/>
|
|
||||||
<source>Some foreign sites are blocked, but VPN providers are not blocked</source>
|
<source>Some foreign sites are blocked, but VPN providers are not blocked</source>
|
||||||
<translation>一些国外网站被屏蔽,但VPN提供商未被屏蔽</translation>
|
<translation type="vanished">一些国外网站被屏蔽,但VPN提供商未被屏蔽</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,9 @@ void InstallController::installContainer(DockerContainer container, QJsonObject
|
||||||
"All installed containers have been added to the application");
|
"All installed containers have been added to the application");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ContainerProps::containerService(container) == ServiceType::Vpn) {
|
||||||
m_containersModel->setData(m_containersModel->index(0, 0), container, ContainersModel::Roles::IsDefaultRole);
|
m_containersModel->setData(m_containersModel->index(0, 0), container, ContainersModel::Roles::IsDefaultRole);
|
||||||
|
}
|
||||||
emit installContainerFinished(finishMessage, ContainerProps::containerService(container) == ServiceType::Other);
|
emit installContainerFinished(finishMessage, ContainerProps::containerService(container) == ServiceType::Other);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,12 +78,11 @@ PageLoader::PageEnum ProtocolsModel::protocolPage(Proto protocol) const
|
||||||
case Proto::ShadowSocks: return PageLoader::PageEnum::PageProtocolShadowSocksSettings;
|
case Proto::ShadowSocks: return PageLoader::PageEnum::PageProtocolShadowSocksSettings;
|
||||||
case Proto::WireGuard: return PageLoader::PageEnum::PageProtocolWireGuardSettings;
|
case Proto::WireGuard: return PageLoader::PageEnum::PageProtocolWireGuardSettings;
|
||||||
case Proto::Ikev2: return PageLoader::PageEnum::PageProtocolIKev2Settings;
|
case Proto::Ikev2: return PageLoader::PageEnum::PageProtocolIKev2Settings;
|
||||||
case Proto::L2tp: return PageLoader::PageEnum::PageProtocolOpenVpnSettings;
|
case Proto::L2tp: return PageLoader::PageEnum::PageProtocolIKev2Settings;
|
||||||
// non-vpn
|
// non-vpn
|
||||||
case Proto::TorWebSite: return PageLoader::PageEnum::PageProtocolOpenVpnSettings;
|
case Proto::TorWebSite: return PageLoader::PageEnum::PageServiceTorWebsiteSettings;
|
||||||
case Proto::Dns: return PageLoader::PageEnum::PageProtocolOpenVpnSettings;
|
case Proto::Dns: return PageLoader::PageEnum::PageServiceDnsSettings;
|
||||||
case Proto::FileShare: return PageLoader::PageEnum::PageProtocolOpenVpnSettings;
|
case Proto::Sftp: return PageLoader::PageEnum::PageServiceSftpSettings;
|
||||||
case Proto::Sftp: return PageLoader::PageEnum::PageProtocolOpenVpnSettings;
|
|
||||||
default: return PageLoader::PageEnum::PageProtocolOpenVpnSettings;
|
default: return PageLoader::PageEnum::PageProtocolOpenVpnSettings;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,16 +20,14 @@ DrawerType {
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
spacing: 0
|
spacing: 0
|
||||||
|
|
||||||
Header2TextType {
|
Header2Type {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.topMargin: 24
|
Layout.topMargin: 24
|
||||||
Layout.rightMargin: 16
|
Layout.rightMargin: 16
|
||||||
Layout.leftMargin: 16
|
Layout.leftMargin: 16
|
||||||
Layout.bottomMargin: 32
|
Layout.bottomMargin: 16
|
||||||
Layout.alignment: Qt.AlignHCenter
|
|
||||||
|
|
||||||
text: qsTr("Add new connection")
|
headerText: qsTr("Add new connection")
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LabelWithButtonType {
|
LabelWithButtonType {
|
||||||
|
|
@ -51,7 +49,7 @@ DrawerType {
|
||||||
LabelWithButtonType {
|
LabelWithButtonType {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
text: qsTr("Open QR code, key or config file")
|
text: qsTr("Open config file, key or QR code")
|
||||||
rightImageSource: "qrc:/images/controls/chevron-right.svg"
|
rightImageSource: "qrc:/images/controls/chevron-right.svg"
|
||||||
|
|
||||||
clickedFunction: function() {
|
clickedFunction: function() {
|
||||||
|
|
|
||||||
|
|
@ -26,4 +26,16 @@ Item {
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TextEdit{
|
||||||
|
id: clipboard
|
||||||
|
visible: false
|
||||||
|
}
|
||||||
|
|
||||||
|
function copyToClipBoard(text) {
|
||||||
|
clipboard.text = text
|
||||||
|
clipboard.selectAll()
|
||||||
|
clipboard.copy()
|
||||||
|
clipboard.select(0, 0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,9 @@ Item {
|
||||||
property bool isLeftImageHoverEnabled: true //todo separete this qml file to 3
|
property bool isLeftImageHoverEnabled: true //todo separete this qml file to 3
|
||||||
|
|
||||||
property string textColor: "#d7d8db"
|
property string textColor: "#d7d8db"
|
||||||
|
property string textDisabledColor: "#878B91"
|
||||||
property string descriptionColor: "#878B91"
|
property string descriptionColor: "#878B91"
|
||||||
|
property string descriptionDisabledColor: "#494B50"
|
||||||
property real textOpacity: 1.0
|
property real textOpacity: 1.0
|
||||||
|
|
||||||
property string rightImageColor: "#d7d8db"
|
property string rightImageColor: "#d7d8db"
|
||||||
|
|
@ -71,7 +73,14 @@ Item {
|
||||||
|
|
||||||
ListItemTitleType {
|
ListItemTitleType {
|
||||||
text: root.text
|
text: root.text
|
||||||
color: root.descriptionOnTop ? root.descriptionColor : root.textColor
|
color: {
|
||||||
|
if (root.enabled) {
|
||||||
|
return root.descriptionOnTop ? root.descriptionColor : root.textColor
|
||||||
|
} else {
|
||||||
|
return root.descriptionOnTop ? root.descriptionDisabledColor : root.textDisabledColor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
maximumLineCount: root.textMaximumLineCount
|
maximumLineCount: root.textMaximumLineCount
|
||||||
elide: root.textElide
|
elide: root.textElide
|
||||||
|
|
||||||
|
|
@ -96,7 +105,13 @@ Item {
|
||||||
id: description
|
id: description
|
||||||
|
|
||||||
text: root.descriptionText
|
text: root.descriptionText
|
||||||
color: root.descriptionOnTop ? root.textColor : root.descriptionColor
|
color: {
|
||||||
|
if (root.enabled) {
|
||||||
|
return root.descriptionOnTop ? root.textColor : root.descriptionColor
|
||||||
|
} else {
|
||||||
|
return root.descriptionOnTop ? root.textDisabledColor : root.descriptionDisabledColor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
opacity: root.textOpacity
|
opacity: root.textOpacity
|
||||||
|
|
||||||
|
|
@ -157,7 +172,7 @@ Item {
|
||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
cursorShape: Qt.PointingHandCursor
|
cursorShape: Qt.PointingHandCursor
|
||||||
hoverEnabled: true
|
hoverEnabled: root.enabled
|
||||||
|
|
||||||
onEntered: {
|
onEntered: {
|
||||||
if (rightImageSource) {
|
if (rightImageSource) {
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ PageType {
|
||||||
rightImageColor: "#D7D8DB"
|
rightImageColor: "#D7D8DB"
|
||||||
|
|
||||||
clickedFunction: function() {
|
clickedFunction: function() {
|
||||||
col.copyToClipBoard(descriptionText)
|
GC.copyToClipBoard(descriptionText)
|
||||||
PageController.showNotificationMessage(qsTr("Copied"))
|
PageController.showNotificationMessage(qsTr("Copied"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -113,7 +113,7 @@ PageType {
|
||||||
rightImageColor: "#D7D8DB"
|
rightImageColor: "#D7D8DB"
|
||||||
|
|
||||||
clickedFunction: function() {
|
clickedFunction: function() {
|
||||||
col.copyToClipBoard(descriptionText)
|
GC.copyToClipBoard(descriptionText)
|
||||||
PageController.showNotificationMessage(qsTr("Copied"))
|
PageController.showNotificationMessage(qsTr("Copied"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -130,7 +130,7 @@ PageType {
|
||||||
rightImageColor: "#D7D8DB"
|
rightImageColor: "#D7D8DB"
|
||||||
|
|
||||||
clickedFunction: function() {
|
clickedFunction: function() {
|
||||||
col.copyToClipBoard(descriptionText)
|
GC.copyToClipBoard(descriptionText)
|
||||||
PageController.showNotificationMessage(qsTr("Copied"))
|
PageController.showNotificationMessage(qsTr("Copied"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -147,23 +147,11 @@ PageType {
|
||||||
rightImageColor: "#D7D8DB"
|
rightImageColor: "#D7D8DB"
|
||||||
|
|
||||||
clickedFunction: function() {
|
clickedFunction: function() {
|
||||||
col.copyToClipBoard(descriptionText)
|
GC.copyToClipBoard(descriptionText)
|
||||||
PageController.showNotificationMessage(qsTr("Copied"))
|
PageController.showNotificationMessage(qsTr("Copied"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TextEdit{
|
|
||||||
id: clipboard
|
|
||||||
visible: false
|
|
||||||
}
|
|
||||||
|
|
||||||
function copyToClipBoard(text) {
|
|
||||||
clipboard.text = text
|
|
||||||
clipboard.selectAll()
|
|
||||||
clipboard.copy()
|
|
||||||
clipboard.select(0, 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
BasicButtonType {
|
BasicButtonType {
|
||||||
visible: !GC.isMobile()
|
visible: !GC.isMobile()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,23 +78,11 @@ PageType {
|
||||||
rightImageColor: "#D7D8DB"
|
rightImageColor: "#D7D8DB"
|
||||||
|
|
||||||
clickedFunction: function() {
|
clickedFunction: function() {
|
||||||
content.copyToClipBoard(descriptionText)
|
GC.copyToClipBoard(descriptionText)
|
||||||
PageController.showNotificationMessage(qsTr("Copied"))
|
PageController.showNotificationMessage(qsTr("Copied"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TextEdit{
|
|
||||||
id: clipboard
|
|
||||||
visible: false
|
|
||||||
}
|
|
||||||
|
|
||||||
function copyToClipBoard(text) {
|
|
||||||
clipboard.text = text
|
|
||||||
clipboard.selectAll()
|
|
||||||
clipboard.copy()
|
|
||||||
clipboard.select(0, 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
ParagraphTextType {
|
ParagraphTextType {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.topMargin: 40
|
Layout.topMargin: 40
|
||||||
|
|
@ -121,7 +109,7 @@ PageType {
|
||||||
Layout.leftMargin: 16
|
Layout.leftMargin: 16
|
||||||
Layout.rightMargin: 16
|
Layout.rightMargin: 16
|
||||||
|
|
||||||
text: qsTr("When configuring WordPress set the domain as this onion address.")
|
text: qsTr("When configuring WordPress set the this onion address as domain.")
|
||||||
}
|
}
|
||||||
|
|
||||||
BasicButtonType {
|
BasicButtonType {
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,7 @@ PageType {
|
||||||
DividerType {}
|
DividerType {}
|
||||||
|
|
||||||
LabelWithButtonType {
|
LabelWithButtonType {
|
||||||
|
visible: GC.isDesktop()
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.preferredHeight: about.height
|
Layout.preferredHeight: about.height
|
||||||
|
|
||||||
|
|
@ -122,7 +123,9 @@ PageType {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DividerType {}
|
DividerType {
|
||||||
|
visible: GC.isDesktop()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,7 @@ PageType {
|
||||||
PageController.showBusyIndicator(true)
|
PageController.showBusyIndicator(true)
|
||||||
SettingsController.backupAppConfig(fileName)
|
SettingsController.backupAppConfig(fileName)
|
||||||
PageController.showBusyIndicator(false)
|
PageController.showBusyIndicator(false)
|
||||||
|
PageController.showNotificationMessage(qsTr("Backup file saved"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,8 @@ PageType {
|
||||||
DividerType {}
|
DividerType {}
|
||||||
|
|
||||||
LabelWithButtonType {
|
LabelWithButtonType {
|
||||||
|
visible: !GC.isMobile()
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
text: qsTr("Site-based split tunneling")
|
text: qsTr("Site-based split tunneling")
|
||||||
|
|
@ -105,11 +107,14 @@ PageType {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DividerType {}
|
DividerType {
|
||||||
|
visible: !GC.isMobile()
|
||||||
|
}
|
||||||
|
|
||||||
LabelWithButtonType {
|
LabelWithButtonType {
|
||||||
|
visible: !GC.isMobile()
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
visible: false
|
|
||||||
|
|
||||||
text: qsTr("App-based split tunneling")
|
text: qsTr("App-based split tunneling")
|
||||||
descriptionText: qsTr("Allows you to use the VPN only for certain applications")
|
descriptionText: qsTr("Allows you to use the VPN only for certain applications")
|
||||||
|
|
@ -119,7 +124,9 @@ PageType {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DividerType {}
|
DividerType {
|
||||||
|
visible: !GC.isMobile()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,6 +115,7 @@ PageType {
|
||||||
PageController.showBusyIndicator(true)
|
PageController.showBusyIndicator(true)
|
||||||
SettingsController.exportLogsFile(fileName)
|
SettingsController.exportLogsFile(fileName)
|
||||||
PageController.showBusyIndicator(false)
|
PageController.showBusyIndicator(false)
|
||||||
|
PageController.showNotificationMessage(qsTr("Logs file saved"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,10 @@ import "../Components"
|
||||||
PageType {
|
PageType {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
|
property bool pageEnabled: {
|
||||||
|
return !ConnectionController.isConnected
|
||||||
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
target: SitesController
|
target: SitesController
|
||||||
|
|
||||||
|
|
@ -78,6 +82,8 @@ PageType {
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
HeaderType {
|
HeaderType {
|
||||||
|
enabled: root.pageEnabled
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.leftMargin: 16
|
Layout.leftMargin: 16
|
||||||
|
|
||||||
|
|
@ -89,6 +95,8 @@ PageType {
|
||||||
|
|
||||||
property int lastActiveRouteMode: routeMode.onlyForwardSites
|
property int lastActiveRouteMode: routeMode.onlyForwardSites
|
||||||
|
|
||||||
|
enabled: root.pageEnabled
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.rightMargin: 16
|
Layout.rightMargin: 16
|
||||||
|
|
||||||
|
|
@ -115,7 +123,7 @@ PageType {
|
||||||
|
|
||||||
drawerHeight: 0.4375
|
drawerHeight: 0.4375
|
||||||
|
|
||||||
enabled: switcher.checked
|
enabled: switcher.checked && root.pageEnabled
|
||||||
|
|
||||||
headerText: qsTr("Mode")
|
headerText: qsTr("Mode")
|
||||||
|
|
||||||
|
|
@ -155,9 +163,9 @@ PageType {
|
||||||
FlickableType {
|
FlickableType {
|
||||||
anchors.top: header.bottom
|
anchors.top: header.bottom
|
||||||
anchors.topMargin: 16
|
anchors.topMargin: 16
|
||||||
contentHeight: col.implicitHeight + connectButton.implicitHeight + connectButton.anchors.bottomMargin + connectButton.anchors.topMargin
|
contentHeight: col.implicitHeight + addSiteButton.implicitHeight + addSiteButton.anchors.bottomMargin + addSiteButton.anchors.topMargin
|
||||||
|
|
||||||
enabled: switcher.checked
|
enabled: switcher.checked && root.pageEnabled
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: col
|
id: col
|
||||||
|
|
@ -221,8 +229,17 @@ PageType {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.fill: addSiteButton
|
||||||
|
anchors.bottomMargin: -24
|
||||||
|
color: "#0E0E11"
|
||||||
|
opacity: 0.8
|
||||||
|
}
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
id: connectButton
|
id: addSiteButton
|
||||||
|
|
||||||
|
enabled: root.pageEnabled
|
||||||
|
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,8 @@ PageType {
|
||||||
|
|
||||||
function onServerIsBusy(isBusy) {
|
function onServerIsBusy(isBusy) {
|
||||||
if (isBusy) {
|
if (isBusy) {
|
||||||
root.progressBarText = qsTr("Amnesia has detected that your server is currently ") +
|
root.progressBarText = qsTr("Amnezia has detected that your server is currently ") +
|
||||||
qsTr("busy installing other software. Amnesia installation ") +
|
qsTr("busy installing other software. Amnezia installation ") +
|
||||||
qsTr("will pause until the server finishes installing other software")
|
qsTr("will pause until the server finishes installing other software")
|
||||||
root.isTimerRunning = false
|
root.isTimerRunning = false
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -144,33 +144,16 @@ PageType {
|
||||||
headerText: name
|
headerText: name
|
||||||
}
|
}
|
||||||
|
|
||||||
TextField {
|
ParagraphTextType {
|
||||||
implicitWidth: parent.width
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.topMargin: 16
|
Layout.topMargin: 16
|
||||||
Layout.bottomMargin: 16
|
Layout.bottomMargin: 16
|
||||||
|
|
||||||
padding: 0
|
|
||||||
leftPadding: 0
|
|
||||||
height: 24
|
|
||||||
|
|
||||||
color: "#D7D8DB"
|
|
||||||
|
|
||||||
font.pixelSize: 16
|
|
||||||
font.weight: Font.Medium
|
|
||||||
font.family: "PT Root UI VF"
|
|
||||||
|
|
||||||
text: detailedDescription
|
text: detailedDescription
|
||||||
|
textFormat: Text.MarkdownText
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
|
|
||||||
readOnly: true
|
|
||||||
background: Rectangle {
|
|
||||||
anchors.fill: parent
|
|
||||||
color: "transparent"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ PageType {
|
||||||
Layout.bottomMargin: 24
|
Layout.bottomMargin: 24
|
||||||
|
|
||||||
text: accessTypeSelector.currentIndex === 0 ? qsTr("VPN access without the ability to manage the server") :
|
text: accessTypeSelector.currentIndex === 0 ? qsTr("VPN access without the ability to manage the server") :
|
||||||
qsTr("Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the servers, as well as change settings.")
|
qsTr("Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the server, as well as change settings.")
|
||||||
color: "#878B91"
|
color: "#878B91"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,9 +44,9 @@ PageType {
|
||||||
tabBar.enabled = !visible
|
tabBar.enabled = !visible
|
||||||
}
|
}
|
||||||
|
|
||||||
function onShowTopCloseButton(visible) {
|
// function onShowTopCloseButton(visible) {
|
||||||
topCloseButton.visible = visible
|
// topCloseButton.visible = visible
|
||||||
}
|
// }
|
||||||
|
|
||||||
function onEnableTabBar(enabled) {
|
function onEnableTabBar(enabled) {
|
||||||
tabBar.enabled = enabled
|
tabBar.enabled = enabled
|
||||||
|
|
@ -137,10 +137,10 @@ PageType {
|
||||||
tabBarStackView.push(pagePath, { "objectName" : pagePath })
|
tabBarStackView.push(pagePath, { "objectName" : pagePath })
|
||||||
}
|
}
|
||||||
|
|
||||||
onWidthChanged: {
|
// onWidthChanged: {
|
||||||
topCloseButton.x = tabBarStackView.x + tabBarStackView.width -
|
// topCloseButton.x = tabBarStackView.x + tabBarStackView.width -
|
||||||
topCloseButton.buttonWidth - topCloseButton.rightPadding
|
// topCloseButton.buttonWidth - topCloseButton.rightPadding
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
TabBar {
|
TabBar {
|
||||||
|
|
@ -234,11 +234,12 @@ PageType {
|
||||||
z: 1
|
z: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
TopCloseButtonType {
|
// TopCloseButtonType {
|
||||||
id: topCloseButton
|
// id: topCloseButton
|
||||||
x: tabBarStackView.width - topCloseButton.buttonWidth - topCloseButton.rightPadding
|
|
||||||
z: 1
|
// x: tabBarStackView.width - topCloseButton.buttonWidth - topCloseButton.rightPadding
|
||||||
}
|
// z: 1
|
||||||
|
// }
|
||||||
|
|
||||||
ConnectionTypeSelectionDrawer {
|
ConnectionTypeSelectionDrawer {
|
||||||
id: connectionTypeSelection
|
id: connectionTypeSelection
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue