From 68095700a2eb6b79cce6677df7a9d07085e3c02b Mon Sep 17 00:00:00 2001 From: ronoaer Date: Thu, 28 Sep 2023 23:21:13 +0800 Subject: [PATCH] added i18n for v4 --- client/CMakeLists.txt | 22 +- client/amnezia_application.cpp | 20 +- client/main.cpp | 2 +- client/translations/amneziavpn_ru.ts | 2969 ++++++++--------------- client/translations/amneziavpn_zh_CN.ts | 2666 ++++++++++++++++++++ client/ui/models/languageModel.cpp | 19 +- client/ui/models/languageModel.h | 5 +- 7 files changed, 3729 insertions(+), 1974 deletions(-) create mode 100644 client/translations/amneziavpn_zh_CN.ts diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 63810ed3..f149e204 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -50,10 +50,30 @@ endif() qt6_add_resources(QRC ${QRC} ${CMAKE_CURRENT_LIST_DIR}/resources.qrc) -qt6_add_translations(${PROJECT} TS_FILES +set(AMNEZIAVPN_TR_FILES ${CMAKE_CURRENT_LIST_DIR}/translations/amneziavpn_ru.ts + ${CMAKE_CURRENT_LIST_DIR}/translations/amneziavpn_zh_CN.ts ) +file(GLOB_RECURSE AMNEZIAVPN_TR_SOURCES *.qrc *.cpp *.h *.ui) +if ( BUILD_TRANSLATIONS ) + qt_create_translation(AMNEZIAVPN_MESSAGES ${AMNEZIAVPN_TR_SOURCES} ${AMNEZIAVPN_TR_FILES}) + qt_add_translation(AMNEZIAVPN_QM_FILES ${AMNEZIAVPN_TR_FILES}) + add_custom_target(amnezia_messages DEPENDS ${AMNEZIAVPN_MESSAGES}) + add_custom_target(amnezia_translations DEPENDS ${AMNEZIAVPN_QM_FILES} amnezia_messages) + add_dependencies(${PROJECT} amnezia_translations) + + if (BUILD_TRANSLATIONS_AS_RESOURCES) + set(QM_FILE_LIST "") + foreach(FILE ${AMNEZIAVPN_QM_FILES}) + list(APPEND QM_FILE_LIST "${FILE}") + endforeach() + string(REPLACE ";" "" QM_FILE_LIST ${QM_FILE_LIST}) + configure_file(${CMAKE_CURRENT_LIST_DIR}/translations/translations.qrc ${CMAKE_CURRENT_LIST_DIR}/translations.qrc) + target_sources(${PROJECT} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/translations.qrc) + endif() +endif( BUILD_TRANSLATIONS ) + 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 diff --git a/client/amnezia_application.cpp b/client/amnezia_application.cpp index 23157468..d87f326e 100644 --- a/client/amnezia_application.cpp +++ b/client/amnezia_application.cpp @@ -221,27 +221,21 @@ void AmneziaApplication::loadTranslator() { auto locale = m_settings->getAppLanguage(); m_translator.reset(new QTranslator()); - if (locale != QLocale::English) { - if (m_translator->load(locale, QString("amneziavpn"), QLatin1String("_"), QLatin1String(":/i18n"))) { - if (QCoreApplication::installTranslator(m_translator.get())) { - m_settings->setAppLanguage(locale); - } - } - } + updateTranslator(locale); } + void AmneziaApplication::updateTranslator(const QLocale &locale) { QResource::registerResource(":/translations.qrc"); - if (!m_translator->isEmpty()) + if (!m_translator->isEmpty()) { QCoreApplication::removeTranslator(m_translator.get()); - - if (locale == QLocale::English) { - m_settings->setAppLanguage(locale); - m_engine->retranslate(); } - if (m_translator->load(locale, QString("amneziavpn"), QLatin1String("_"), QLatin1String(":/i18n"))) { + m_settings->setAppLanguage(locale); + + QString strFileName = QString("amneziavpn")+QLatin1String("_")+locale.name()+".qm"; + if (m_translator->load(strFileName, "../../../")) { if (QCoreApplication::installTranslator(m_translator.get())) { m_settings->setAppLanguage(locale); } diff --git a/client/main.cpp b/client/main.cpp index e78a74ff..53c3238f 100644 --- a/client/main.cpp +++ b/client/main.cpp @@ -53,13 +53,13 @@ int main(int argc, char *argv[]) app.setOrganizationName(ORGANIZATION_NAME); app.setApplicationDisplayName(APPLICATION_NAME); - app.loadTranslator(); app.loadFonts(); bool doExec = app.parseCommands(); if (doExec) { app.init(); + app.loadTranslator(); qInfo().noquote() << QString("Started %1 version %2").arg(APPLICATION_NAME, APP_VERSION); qInfo().noquote() << QString("%1 (%2)").arg(QSysInfo::prettyProductName(), QSysInfo::currentCpuArchitecture()); diff --git a/client/translations/amneziavpn_ru.ts b/client/translations/amneziavpn_ru.ts index f338216b..e6c60a33 100644 --- a/client/translations/amneziavpn_ru.ts +++ b/client/translations/amneziavpn_ru.ts @@ -2,138 +2,65 @@ - AdvancedServerSettingsLogic + AmneziaApplication - - - Clear server from Amnezia software - - - - - Service: - - - - - Uninstalling Amnezia software... - - - - - Error occurred while cleaning the server. - - - - - - Error message: - - - - - - See logs for details. - - - - - Amnezia server successfully uninstalled - - - - - Error occurred while scanning the server. - - - - - All containers installed on the server are added to the GUI - - - - - No installed containers found on the server + + Split tunneling for WireGuard is not implemented, the option was disabled - AppSettingsLogic + AndroidController - - Software version + + AmneziaVPN - - Save log - - - - - Open backup - - - - - Can't import config, file is corrupted. - - - - - ClientInfoLogic - - - Service: - - - - - ClientManagementLogic - - - Service: - - - - - An error occurred while getting the list of clients. + + VPN Connected + Refers to the app - which is currently running the background and waiting ConnectionController - + VPN Protocols is not installed. Please install VPN container at first - + Connection... - - Disconnect + + Connected - + + Settings updated successfully, Reconnnection... + + + + Reconnection... - - - - + + + + Connect - + Disconnection... @@ -157,24 +84,24 @@ - ContextMenu + ContextMenuType - + C&ut - + &Copy - + &Paste - + &SelectAll @@ -182,70 +109,106 @@ ExportController - + Access error! + + + HomeContainersListView - - Save AmneziaVPN config + + The selected protocol is not supported on the current platform + + + + + Reconnect via VPN Procotol: ImportController - - Open config file + + Scanned %1 of %2. InstallController - - + + installed successfully. - - + + is already installed on the server. - - + + Already installed containers were found on the server. All installed containers have been added to the application - + + Settings updated successfully + + + + Server ' - + ' was removed - + All containers from server ' - + has been removed from the server ' - + Please login as the user + + + Server added successfully + + + + + KeyChainClass + + + Read key failed: %1 + + + + + Write key failed: %1 + + + + + Delete key failed: %1 + + NotificationHandler @@ -276,742 +239,57 @@ Already installed containers were found on the server. All installed containers - - PageAbout - - - About Amnezia - - - - - AmneziaVPN is opensource software, it's free forever. Our goal is to make the best VPN client in the world. -<ul> -<li>Sources on <a href="https://github.com/amnezia-vpn/desktop-client">GitHub</a></li> -<li><a href="https://amnezia.org/">Web Site</a></li> -<li><a href="https://t.me/amnezia_vpn_en">Telegram group</a></li> -<li><a href="https://signal.group/#CjQKIB2gUf8QH_IXnOJMGQWMDjYz9cNfmRQipGWLFiIgc4MwEhAKBONrSiWHvoUFbbD0xwdh">Signal group</a></li> -</ul> - - - - - - Support - - - - - Have questions? You can get support by: -<ul> -<li><a href="https://t.me/amnezia_vpn_en">Telegram group</a> (preferred way)</li> -<li>Create issue on <a href="https://github.com/amnezia-vpn/desktop-client/issues">GitHub</a></li> -<li>Email to: <a href="support@amnezia.org">support@amnezia.org</a></li> -</ul> - - - - - Donate - - - - - Please support Amnezia project by donation, we really need it now more than ever. -<ul> -<li>By credit card on <a href="https://www.patreon.com/amneziavpn">Patreon</a> (starting from $1)</li> -<li>Send some coins to addresses listed <a href="https://github.com/amnezia-vpn/desktop-client/blob/master/README.md">on GitHub page</a></li> -</ul> - - - - - - PageAdvancedServerSettings - - - Advanced server settings - - - - - Clients Management - - - - - PageAppSetting - - - Application Settings - - - - - Auto connect - - - - - Auto start - - - - - Start minimized - - - - - Check for updates - - - - - Keep logs - - - - - Open logs folder - - - - - Export logs - - - - - Clear logs - - - - - Cleared - - - - - Backup and restore configuration - - - - - Backup app config - - - - - Restore app config - - - - - PageClientInfoOpenVPN - - - Client Info - - - - - Client name - - - - - Certificate id - - - - - Certificate - - - - - Revoke Certificate - - - - - PageClientInfoWireGuard - - - Client Info - - - - - Client name - - - - - Public Key - - - - - Revoke Key - - - - - PageClientManagement - - - Clients Management - - - PageDeinstalling - + Removing services from - + Usually it takes no more than 5 minutes - - PageGeneralSettings - - - App settings - - - - - Network settings - - - - - Server Settings - - - - - Share connection - - - - - Servers - - - - - Add server - - - - - Exit - - - PageHome - + VPN protocol - + Servers - - PageNetworkSetting - - - DNS Servers - - - - - Use AmneziaDNS service (recommended) - - - - - Use AmneziaDNS container on your server, when it installed. - -Your AmneziaDNS server available only when it installed and VPN connected, it has internal IP address 172.29.172.254 - -If AmneziaDNS service is not installed on the same server, or this option is unchecked, the following DNS servers will be used: - - - - - Primary DNS server - - - - - - Reset to default - - - - - Secondary DNS server - - - - - PageNewServer - - - Setup your server to use VPN - - - - - If you want easily configure your server just run Wizard - - - - - Run Setup Wizard - - - - - Press configure manually to choose VPN protocols you want to install - - - - - Configure - - - - - PageNewServerProtocols - - - Select VPN protocols - - - - - Setup server - - - - - Select protocol container - - - - - Port - - - - - Network Protocol - - - - - udp - - - - - tcp - - - - - PageProtoCloak - - - Cloak Settings - - - - - Cipher - - - - - chacha20-poly1305 - - - - - aes-256-gcm - - - - - aes-192-gcm - - - - - aes-128-gcm - - - - - Fake Web Site - - - - - Port - - - - - Save and restart VPN - - - - - Cancel - - - - - PageProtoOpenVPN - - - OpenVPN Settings - - - - - VPN Addresses Subnet - - - - - Network protocol - - - - - TCP - - - - - UDP - - - - - Port - - - - - Auto-negotiate encryption - - - - - Cipher - - - - - AES-256-GCM - - - - - AES-192-GCM - - - - - AES-128-GCM - - - - - AES-256-CBC - - - - - AES-192-CBC - - - - - AES-128-CBC - - - - - ChaCha20-Poly1305 - - - - - ARIA-256-CBC - - - - - CAMELLIA-256-CBC - - - - - none - - - - - Hash - - - - - SHA512 - - - - - SHA384 - - - - - SHA256 - - - - - SHA3-512 - - - - - SHA3-384 - - - - - SHA3-256 - - - - - whirlpool - - - - - BLAKE2b512 - - - - - BLAKE2s256 - - - - - SHA1 - - - - - Enable TLS auth - - - - - Block DNS requests outside of VPN - - - - - Additional client config commands → - - - - - Additional server config commands → - - - - - Save and restart VPN - - - - - Cancel - - - - - PageProtoSftp - - - SFTP settings - - - - - Port - - - - - User Name - - - - - Password - - - - - Restore drive when client starts - - - - - Mount drive - - - - - PageProtoShadowSocks - - - ShadowSocks Settings - - - - - Cipher - - - - - chacha20-ietf-poly1305 - - - - - xchacha20-ietf-poly1305 - - - - - aes-256-gcm - - - - - aes-192-gcm - - - - - aes-128-gcm - - - - - Port - - - - - Save and restart VPN - - - - - Cancel - - - - - PageProtoTorWebSite - - - Tor Web Site settings - - - - - Web site onion address - - - - - Notes:<ul> -<li>Use <a href="https://www.torproject.org/download/">Tor Browser</a> to open this url.</li> -<li>After installation it takes several minutes while your onion site will become available in the Tor Network.</li> -<li>When configuring WordPress set the domain as this onion address.</li> -</ul> - - - - - - PageProtoWireGuard - - - WireGuard Settings - - - PageProtocolCloakSettings - - Settings updated successfully - - - - + Cloak settings - + Disguised as traffic from - + Port + - Cipher - + Save and Restart Amnezia @@ -1019,195 +297,195 @@ If AmneziaDNS service is not installed on the same server, or this option is unc PageProtocolOpenVpnSettings - - Settings updated successfully - - - - + OpenVPN settings - + VPN Addresses Subnet - + Network protocol - + Port - + Auto-negotiate encryption - - + + Hash - + SHA512 - + SHA384 - + SHA256 - + SHA3-512 - + SHA3-384 - + SHA3-256 - + whirlpool - + BLAKE2b512 - + BLAKE2s256 - + SHA1 - - + + Cipher - + AES-256-GCM - + AES-192-GCM - + AES-128-GCM - + AES-256-CBC - + AES-192-CBC - + AES-128-CBC - + ChaCha20-Poly1305 - + ARIA-256-CBC - + CAMELLIA-256-CBC - + none - + TLS auth - + Block DNS requests outside of VPN - + Additional client configuration commands - - + + Commands: - + Additional server configuration commands - + Remove OpenVPN - + Remove OpenVpn from server? - + + All users with whom you shared a connection will no longer be able to connect to it + + + + Continue Продолжить - + Cancel - + Save and Restart Amnezia @@ -1242,11 +520,16 @@ If AmneziaDNS service is not installed on the same server, or this option is unc + All users with whom you shared a connection will no longer be able to connect to it + + + + Continue Продолжить - + Cancel @@ -1254,177 +537,96 @@ If AmneziaDNS service is not installed on the same server, or this option is unc PageProtocolShadowSocksSettings - - Settings updated successfully - - - - + ShadowSocks settings - + Port - - + + Cipher - + Save and Restart Amnezia - - PageQrDecoderIos - - - Import configuration - - - - - PageServerConfiguringProgress - - - Configuring... - - - - - Please wait. - - - - - Cancel - - - PageServerContainers - - - Install new service + Continue + Продолжить + + + + PageServiceDnsSettings + + + A DNS service is installed on your server, and it is only accessible via VPN. + - - Installed services + + The DNS address is the same as the address of your server. You can configure DNS in the settings, under the connections tab. - - Default + + + Remove - - Port + + from server? - - Network Protocol - - - - - udp - - - - - tcp - - - - - Cancel - - - - + Continue Продолжить - - Installed Protocols and Services - - - - - Remove container - - - - - This action will erase all data of this container on the server. - - - - - PageServerList - - - Servers - - - - - PageServerSettings - - - Server settings - - - - - Protocols and Services - - - - - Share Server (FULL ACCESS) - - - - - Advanced server settings - - - - - Forget this server + + Cancel PageServiceSftpSettings - + Settings updated successfully - + SFTP settings - + Host - + + + + + Copied + + + + Port @@ -1434,54 +636,54 @@ If AmneziaDNS service is not installed on the same server, or this option is unc - + Password - + Mount folder on device - + In order to mount remote SFTP folder as local drive, perform following steps: <br> - - + + <br>1. Install the latest version of - - + + <br>2. Install the latest version of - + Detailed instructions - + Remove SFTP and all data stored there - - Some description + + Remove SFTP and all data stored there? - + Continue Продолжить - + Cancel @@ -1489,52 +691,57 @@ If AmneziaDNS service is not installed on the same server, or this option is unc PageServiceTorWebsiteSettings - + Settings updated successfully - + Tor website settings - + Website address - + + Copied + + + + Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url. - + After installation it takes several minutes while your onion site will become available in the Tor Network. - + When configuring WordPress set the domain as this onion address. - + Remove website - - Some description + + The site with all data will be removed from the tor network. - + Continue Продолжить - + Cancel @@ -1542,32 +749,32 @@ If AmneziaDNS service is not installed on the same server, or this option is unc PageSettings - + Settings - + Servers - + Connection - + Application - + Backup - + About AmneziaVPN @@ -1591,47 +798,67 @@ And if you don't like the app, all the more support it - the donation will - + + https://www.patreon.com/amneziavpn + + + + Show other methods on Github - + Contacts - + Telegram group - + To discuss features - - Mail + + https://t.me/amnezia_vpn_en + Mail + + + + For reviews and bug reports - + Github - + + https://github.com/amnezia-vpn/amnezia-client + + + + Website - + + https://amnezia.org + + + + Check for updates @@ -1644,47 +871,72 @@ And if you don't like the app, all the more support it - the donation will - + + Auto start + + + + + Launch the application every time + + + + + starts + + + + + Start minimized + + + + + Launch application minimized + + + + Language - + Logging - + Enabled - + Disabled - + Reset settings and remove all data from the application - + Reset settings and remove all data from the application? - + All settings will be reset to default. All installed AmneziaVPN services will still remain on the server. - + Continue Продолжить - + Cancel @@ -1692,35 +944,71 @@ And if you don't like the app, all the more support it - the donation will PageSettingsBackup - + Backup - + Settings restored from backup file - + Configuration backup - + It will help you instantly restore connection settings at the next installation - + Make a backup - + + Save backup file + + + + + + Backup files (*.backup) + + + + Restore from backup + + + Open backup file + + + + + Import settings from a backup file? + + + + + All current settings will be reset + + + + + Continue + Продолжить + + + + Cancel + + PageSettingsConnection @@ -1729,43 +1017,48 @@ And if you don't like the app, all the more support it - the donation will Connection + + + Auto connect + + + Connect to VPN on app start + + + + Use AmneziaDNS if installed on the server - - Internal IP address 172.29.172.254 - - - - + DNS servers - + If AmneziaDNS is not used or installed - + Split site tunneling - + Allows you to connect to some sites through a secure connection, and to others bypassing it - + Separate application tunneling - + Allows you to use the VPN only for certain applications @@ -1773,45 +1066,101 @@ And if you don't like the app, all the more support it - the donation will PageSettingsDns - + DNS servers - + If AmneziaDNS is not used or installed - + + Restore default + + + + + Restore default DNS settings? + + + + + Continue + Продолжить + + + + Cancel + + + + + Settings have been reset + + + + Save + + + Settings saved + + PageSettingsLogging - + Logging - + + Save logs - + Open folder with logs - + + Logs files (*.log) + + + + Save logs to file - + + Clear logs? + + + + + Continue + Продолжить + + + + Cancel + + + + + Logs have been cleaned up + + + + Clear logs @@ -1824,109 +1173,109 @@ And if you don't like the app, all the more support it - the donation will - - No installed containers found - - - - + Clear Amnezia cache - + May be needed when changing other settings - + Clear cached profiles? Очистить закешированные профили - - some description + + No new installed containers found - - - + + + + + + + + Continue Продолжить - - - + + + Cancel - + Check the server for previously installed Amnezia services - + Add them to the application if they were not displayed - + Remove server from application - + Remove server? - + All installed AmneziaVPN services will still remain on the server. - + Clear server from Amnezia software - + Clear server from Amnezia software? - - All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. + + All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. PageSettingsServerInfo - + Server name - + Save - + Protocols - + Services - + Data @@ -1939,23 +1288,28 @@ And if you don't like the app, all the more support it - the donation will - - + + Remove - + from server? - + + All users with whom you shared a connection will no longer be able to connect to it + + + + Continue Продолжить - + Cancel @@ -1969,85 +1323,137 @@ And if you don't like the app, all the more support it - the donation will - PageSetupWizard + PageSettingsSplitTunneling - - Setup your server to use VPN + + Only the addresses in the list must be opened via VPN - - High censorship level + + Addresses from the list should never be opened via VPN - - I'm living in a country with a high censorship level. Many of the foreign websites and VPNs are blocked by my government. I want to setup a reliable VPN, which can not be detected by my internet provider and my government. -OpenVPN and ShadowSocks over Cloak (VPN obfuscation) profiles will be installed. - + + Split site tunneling - - Medium censorship level + + Mode - - I'm living in a country with a medium censorship level. Some websites are blocked by my government, but VPNs are not blocked at all. I want to setup a flexible solution. -OpenVPN over ShadowSocks profile will be installed. - + + Remove - - Low censorship level + + Continue + Продолжить + + + + Cancel - - I want to improve my privacy on the internet. -OpenVPN profile will be installed. - + + Site or IP - - Next + + Import/Export Sites + + + + + Import + + + + + Save site list + + + + + Save sites + + + + + + + Sites files (*.json) + + + + + Import a list of sites + + + + + Replace site list + + + + + + Open sites file + + + + + Add imported sites to existing ones PageSetupWizardConfigSource - + Server connection - + Do not use connection code from public sources. It may have been created to intercept your data. -It's okay if a friend passed the code. +It's okay as long as it's from someone you trust. - + What do you have? - + File with connection settings - + + File with connection settings or backup + + + + + Open config file + + + + QR-code - + Key as text @@ -2070,43 +1476,37 @@ It's okay if a friend passed the code. - - - Insert - - - - + Password / SSH private key - + Continue Продолжить - + Enter the address in the format 255.255.255.255:88 - + Login to connect via SSH - + Ip address cannot be empty - + Login cannot be empty - + Password/private key cannot be empty @@ -2119,123 +1519,60 @@ It's okay if a friend passed the code. - + Set up a VPN yourself - + I want to choose a VPN protocol - + Continue Продолжить - - - PageSetupWizardHighLevel - - Setup Wizard - - - - - AmneziaVPN will install a VPN protocol which is not visible to your internet provider and government firewall. Your VPN connection will be seen by your internet provider as regular web traffic to a particular website. - -You SHOULD set this website address to some foreign website which is not blocked by your internet provider. In other words, you need to type some foreign website address which is accessible to you without a VPN. - - - - - Type another web site address for masking or keep it by default. Your internet provider will think you working on this web site when you connected to VPN. - - - - - OpenVPN and ShadowSocks over Cloak (VPN obfuscation) profiles will be installed. - -This protocol support exporting connection profiles to mobile devices by exporting ShadowSocks and Cloak configs (you should launch the 3rd party open source VPN client - ShadowSocks VPN and install Cloak plugin). - - - - - Next + + Set up later PageSetupWizardInstalling - + The server has already been added to the application - + + Amnesia has detected that your server is currently + + + + + busy installing other software. Amnesia installation + + + + + will pause until the server finishes installing other software + + + + Installing - + + Usually it takes no more than 5 minutes - - PageSetupWizardLowLevel - - - Setup Wizard - - - - - AmneziaVPN will install the OpenVPN protocol with public/private key pairs generated on both server and client sides. - -You can also configure the connection on your mobile device by copying the exported ".ovpn" file to your device, and setting up the official OpenVPN client. - -We recommend not to use messaging applications for sending the connection profile - it contains VPN private keys. - - - - - OpenVPN profile will be installed - - - - - Start configuring - - - - - PageSetupWizardMediumLevel - - - Setup Wizard - - - - - AmneziaVPN will install a VPN protocol which is difficult to detect by your internet provider and government firewall (but possible). In most cases, this is the most suitable protocol. This protocol is faster compared to the VPN protocols with "VPN masking". - -This protocol supports exporting connection profiles to mobile devices by using QR codes (you should launch the 3rd party open source VPN client - ShadowSocks VPN). - - - - - OpenVPN over ShadowSocks profile will be installed - - - - - Next - - - PageSetupWizardProtocolSettings @@ -2243,38 +1580,28 @@ This protocol supports exporting connection profiles to mobile devices by using Installing - - - protocol description - - More detailed - - detailed protocol description - - - - + Close - + Network protocol - + Port - + Install @@ -2295,30 +1622,35 @@ This protocol supports exporting connection profiles to mobile devices by using PageSetupWizardQrReader - - Point the camera at the QR code and hold for a couple of seconds. + + Point the camera at the QR code and hold for a couple of seconds. PageSetupWizardStart - + + Settings restored from backup file + + + + Free service for creating a personal VPN on your server. - + Helps you access blocked content without revealing your privacy, even to VPN providers. - + I have the data to connect - + I have nothing @@ -2351,33 +1683,6 @@ This protocol supports exporting connection profiles to mobile devices by using Продолжить - - PageSetupWizardVPNMode - - - Setup Wizard - - - - - Optional. - -You can enable VPN mode "For selected sites" and add blocked sites you need to visit manually. If you will choose this option, you will need add every blocked site you want to visit to the access list. You may switch between modes later. - -Please note, you should add addresses to the list after VPN connection established. You may add any domain, URL or IP address, it will be resolved to IP address. - - - - - Turn on mode "VPN for selected sites" - - - - - Start configuring - - - PageSetupWizardViewConfig @@ -2386,22 +1691,22 @@ Please note, you should add addresses to the list after VPN connection establish - + Do not use connection code from public sources. It could be created to intercept your data. - + Collapse content - + Show content - + Connect @@ -2409,76 +1714,91 @@ Please note, you should add addresses to the list after VPN connection establish PageShare - + OpenVpn native format - + WireGuard native format - + VPN Access - + Connection - + VPN access without the ability to manage the server - + Full access to server - - Server and service - - - - + Server - + Accessing - - Protocols and services - - - - + Connection to - - + + File with connection settings to - + + Save OpenVPN config + + + + + Save WireGuard config + + + + For the AmneziaVPN app - + Full access + + + Servers + + + + + Protocols + + + + + Protocol + + @@ -2486,454 +1806,11 @@ Please note, you should add addresses to the list after VPN connection establish - + Share - - PageShareConnection - - - Share protocol config - - - - - Share for Amnezia - - - - - Share for - - - - - PageShareProtoAmnezia - - - Share for Amnezia - - - - - Anyone who logs in with this code will have the same permissions to use VPN and YOUR SERVER as you. - -This code includes your server credentials! - -Provide this code only to TRUSTED users. - - - - - Anyone who logs in with this code will be able to connect to this VPN server. - -This code does not include server credentials. - -New encryption keys pair will be generated. - - - - - Share - - - - - Save to file - - - - - Save AmneziaVPN config - - - - - Scan QR code using AmneziaVPN mobile - - - - - PageShareProtoCloak - - - Share Cloak Settings - - - - - Note: Cloak protocol using same password for all connections - - - - - Share - - - - - Save to file - - - - - Save AmneziaVPN config - - - - - PageShareProtoIkev2 - - - Share IKEv2 Settings - - - - - - Export p12 certificate - - - - - - Export config for Apple - - - - - - Export config for StrongSwan - - - - - PageShareProtoOpenVPN - - - Share OpenVPN Settings - - - - - New encryption keys pair will be generated. - - - - - Share - - - - - Save to file - - - - - Save OpenVPN config - - - - - PageShareProtoSftp - - - Share SFTP settings - - - - - PageShareProtoShadowSocks - - - Share ShadowSocks Settings - - - - - Note: ShadowSocks protocol using same password for all connections - - - - - Copy config - - - - - Connection string - - - - - Copy string - - - - - PageShareProtoTorWebSite - - - Share Tor Web site - - - - - PageShareProtoWireGuard - - - Share WireGuard Settings - - - - - New encryption keys pair will be generated. - - - - - Share - - - - - Save to file - - - - - Save OpenVPN config - - - - - PageShareProtocolBase - - - Generate config - - - - - Generating config... - - - - - Show config - - - - - PageSites - - - Web site/Hostname/IP address/Subnet - - - - - yousite.com or IP address - - - - - Import IP addresses - - - - - Delete selected - - - - - Select all - - - - - Export all - - - - - PageStart - - - Setup your server to use VPN - - - - - Connect to the already created VPN server - - - - - - Set up your own server - - - - - Import connection - - - - - Connection code - - - - - Connect - - - - - Open file - - - - - Scan QR code - - - - - Restore app config - - - - - How to get own server? → - - - - - Server IP address [:port] - - - - - Login to connect via SSH - - - - - - Password - - - - - - Connect using SSH key - - - - - Private key - - - - - Connect using SSH password - - - - - PageVPN - - - Donate - - - - - Server - - - - - Profile - - - - - Proto - - - - - DNS - - - - - How to use VPN - - - - - For all connections - - - - - Except selected sites - - - - - For selected sites - - - - - + Add site - - - - - PageViewConfig - - - Check config - - - - - Attention! -The config above contains cached OpenVPN connection profile. -AmneziaVPN detected this profile may contain malicious scripts. Please, carefully review the config and import this config only if you completely trust it. - - - - - Suspicious string: - - - - - Cached connection profile: - - - - - Cancel - - - - - Import config - - - PopupType @@ -2942,6 +1819,241 @@ AmneziaVPN detected this profile may contain malicious scripts. Please, carefull + + QKeychain::DeletePasswordJobPrivate + + + Password entry not found + + + + + Could not decrypt data + + + + + + Unknown error + + + + + Could not open wallet: %1; %2 + + + + + Password not found + + + + + Could not open keystore + + + + + Could not remove private key from keystore + + + + + QKeychain::JobPrivate + + + Unknown error + + + + + Access to keychain denied + + + + + QKeychain::PlainTextStore + + + Could not store data in settings: access error + + + + + Could not store data in settings: format error + + + + + Could not delete data from settings: access error + + + + + Could not delete data from settings: format error + + + + + Entry not found + + + + + QKeychain::ReadPasswordJobPrivate + + + Password entry not found + + + + + + Could not decrypt data + + + + + D-Bus is not running + + + + + + Unknown error + + + + + No keychain service available + + + + + Could not open wallet: %1; %2 + + + + + Access to keychain denied + + + + + Could not determine data type: %1; %2 + + + + + + Entry not found + + + + + Unsupported entry type 'Map' + + + + + Unknown kwallet entry type '%1' + + + + + Password not found + + + + + Could not open keystore + + + + + Could not retrieve private key from keystore + + + + + Could not create decryption cipher + + + + + QKeychain::WritePasswordJobPrivate + + + Credential size exceeds maximum size of %1 + + + + + Credential key exceeds maximum size of %1 + + + + + Writing credentials failed: Win32 error code %1 + + + + + Encryption failed + + + + + D-Bus is not running + + + + + + Unknown error + + + + + Could not open wallet: %1; %2 + + + + + Password not found + + + + + Could not open keystore + + + + + Could not create private key generator + + + + + Could not generate new private key + + + + + Could not retrieve private key from keystore + + + + + Could not create encryption cipher + + + + + Could not encrypt data + + + QObject @@ -3155,13 +2267,7 @@ AmneziaVPN detected this profile may contain malicious scripts. Please, carefull - - - Web site in Tor network - - - - + DNS Service @@ -3170,62 +2276,150 @@ AmneziaVPN detected this profile may contain malicious scripts. Please, carefull Sftp file sharing service + + + + Website in Tor network + + Amnezia DNS - - - OpenVPN container - - - Container with OpenVpn and ShadowSocks + OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange. - - Container with OpenVpn and ShadowSocks protocols configured with traffic masking by Cloak plugin + + ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions. - - WireGuard container - - - - - IPsec container + + 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. + WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship. + + + + + 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. + + + + + Deploy a WordPress site on the Tor network in two clicks. + + + + + Replace the current DNS server with your own. This will increase your privacy level. + + + + + Creates a file vault on your server to securely store and transfer files. + + + + + OpenVPN container + + + + + Container with OpenVpn and ShadowSocks + + + + + Container with OpenVpn and ShadowSocks protocols configured with traffic masking by Cloak plugin + + + + + WireGuard container + + + + + IPsec container + + + + Sftp file sharing service - is secure FTP service - + Sftp service - - An error occurred while saving the list of clients. - - - - - SelectContainer - - - VPN containers + + Entry not found - - Other containers + + Access to keychain denied + + + + + No keyring daemon + + + + + Already unlocked + + + + + No such keyring + + + + + Bad arguments + + + + + I/O error + + + + + Cancelled + + + + + Keyring already exists + + + + + No match + + + + + Unknown error + + + + + error 0x%1: %2 @@ -3237,62 +2431,6 @@ AmneziaVPN detected this profile may contain malicious scripts. Please, carefull - - ServerConfiguringProgressLogic - - - - Please wait, configuring process may take up to 5 minutes - - - - - Configuring... - - - - - Operation finished - - - - - ServerContainersLogic - - - Error occurred while configuring server. - - - - - Error message: - - - - - See logs for details. - - - - - ServerSettingsLogic - - - - Clear client cached profile - - - - - Service: - - - - - Cache cleared - - - Settings @@ -3310,130 +2448,100 @@ AmneziaVPN detected this profile may contain malicious scripts. Please, carefull SettingsController - + Software version - - Save log + + All settings have been reset to default values - - Backup application config + + Cached profiles cleared - - Open backup - - - - - Backup file is empty - - - - + Backup file is corrupted - - ShareConnectionButtonCopyType - - - Copy - - - - - Copied - - - ShareConnectionDrawer - + + + Save AmneziaVPN config + + + + Share - + Copy - + + Copied + + + + Show content - - To read the QR code in the Amnezia app, select "Add Server" → "I have connection details" + + To read the QR code in the Amnezia app, select "Add server" → "I have data to connect" → "QR code, key or settings file" - ShareConnectionLogic + SitesController - - Error while generating connection profile + + Hostname not look like ip adress or domain name - - Error occurred while generating the config. + + New site added: - - Error message: + + Site removed: - - See logs for details. - - - - - SitesLogic - - - These sites will be opened using VPN + + Can't open file: - - These sites will be excepted from VPN - - - - - StartPageLogic - - - - Connect + + Failed to parse JSON data from file: - - - Please fill in all fields + + The JSON data is not an array in file: - - Connecting... + + Import completed - - Open config file + + Export completed @@ -3465,57 +2573,14 @@ AmneziaVPN detected this profile may contain malicious scripts. Please, carefull - - UiLogic - - - Error occurred while configuring server. - - - - - Error message: - - - - - See logs for details. - - - VpnConnection - + Mbps - - VpnLogic - - - - 0 Mbps - - - - - AmneziaVPN not supporting selected protocol on this device. Select another protocol. - - - - - VPN Protocols is not installed. - Please install VPN container at first - - - - - VPN Protocol not chosen - - - VpnProtocol @@ -3562,56 +2627,46 @@ AmneziaVPN detected this profile may contain malicious scripts. Please, carefull amnezia::ContainerProps - + Low - + High - + Medium - + Many foreign websites and VPN providers are blocked - + Some foreign sites are blocked, but VPN providers are not blocked - + I just want to increase the level of privacy - main + main2 - - It's public key. Private key required + + Private key passphrase - - Ssh log - - - - - App log - - - - - Wrap words + + Save diff --git a/client/translations/amneziavpn_zh_CN.ts b/client/translations/amneziavpn_zh_CN.ts new file mode 100644 index 00000000..257a3378 --- /dev/null +++ b/client/translations/amneziavpn_zh_CN.ts @@ -0,0 +1,2666 @@ + + + + + AmneziaApplication + + + Split tunneling for WireGuard is not implemented, the option was disabled + + + + + AndroidController + + + AmneziaVPN + + + + + VPN Connected + Refers to the app - which is currently running the background and waiting + + + + + ConnectionController + + + + + + Connect + 连接 + + + + VPN Protocols is not installed. + Please install VPN container at first + 未安装VPN协议,请安装 + + + + Connection... + 连接中 + + + + Connected + 已连接 + + + + Reconnection... + 重连中 + + + + Disconnection... + 断开中 + + + + Settings updated successfully, Reconnnection... + 配置已更新,重连中 + + + + ConnectionTypeSelectionDrawer + + + Connection data + + + + + Server IP, login and password + + + + + QR code, key or configuration file + + + + + ContextMenuType + + + C&ut + + + + + &Copy + + + + + &Paste + + + + + &SelectAll + + + + + ExportController + + + Access error! + + + + + HomeContainersListView + + + The selected protocol is not supported on the current platform + + + + + Reconnect via VPN Procotol: + + + + + ImportController + + + Scanned %1 of %2. + + + + + InstallController + + + + installed successfully. + + + + + + is already installed on the server. + + + + + + +Already installed containers were found on the server. All installed containers have been added to the application + + + + + Settings updated successfully + + + + + Server ' + + + + + ' was removed + + + + + All containers from server ' + + + + + has been removed from the server ' + + + + + Please login as the user + + + + + Server added successfully + + + + + KeyChainClass + + + Read key failed: %1 + + + + + Write key failed: %1 + + + + + Delete key failed: %1 + + + + + NotificationHandler + + + + AmneziaVPN + + + + + VPN Connected + + + + + VPN Disconnected + + + + + AmneziaVPN notification + + + + + Unsecured network detected: + + + + + PageDeinstalling + + + Removing services from + + + + + Usually it takes no more than 5 minutes + + + + + PageHome + + + VPN protocol + + + + + Servers + + + + + PageProtocolCloakSettings + + + Cloak settings + + + + + Disguised as traffic from + + + + + Port + + + + + + Cipher + + + + + Save and Restart Amnezia + + + + + PageProtocolOpenVpnSettings + + + OpenVPN settings + + + + + VPN Addresses Subnet + + + + + Network protocol + + + + + Port + + + + + Auto-negotiate encryption + + + + + + Hash + + + + + SHA512 + + + + + SHA384 + + + + + SHA256 + + + + + SHA3-512 + + + + + SHA3-384 + + + + + SHA3-256 + + + + + whirlpool + + + + + BLAKE2b512 + + + + + BLAKE2s256 + + + + + SHA1 + + + + + + Cipher + + + + + AES-256-GCM + + + + + AES-192-GCM + + + + + AES-128-GCM + + + + + AES-256-CBC + + + + + AES-192-CBC + + + + + AES-128-CBC + + + + + ChaCha20-Poly1305 + + + + + ARIA-256-CBC + + + + + CAMELLIA-256-CBC + + + + + none + + + + + TLS auth + + + + + Block DNS requests outside of VPN + + + + + Additional client configuration commands + + + + + + Commands: + + + + + Additional server configuration commands + + + + + Remove OpenVPN + + + + + Remove OpenVpn from server? + + + + + All users with whom you shared a connection will no longer be able to connect to it + + + + + Continue + + + + + Cancel + + + + + Save and Restart Amnezia + + + + + PageProtocolRaw + + + settings + + + + + Show connection options + + + + + Connection options + + + + + + Remove + + + + + from server? + + + + + All users with whom you shared a connection will no longer be able to connect to it + + + + + Continue + + + + + Cancel + + + + + PageProtocolShadowSocksSettings + + + ShadowSocks settings + + + + + Port + + + + + + Cipher + + + + + Save and Restart Amnezia + + + + + PageServiceDnsSettings + + + A DNS service is installed on your server, and it is only accessible via VPN. + + + + + + The DNS address is the same as the address of your server. You can configure DNS in the settings, under the connections tab. + + + + + + Remove + + + + + from server? + + + + + Continue + + + + + Cancel + + + + + PageServiceSftpSettings + + + Settings updated successfully + + + + + SFTP settings + + + + + Host + + + + + + + + Copied + + + + + Port + + + + + Login + + + + + Password + + + + + Mount folder on device + + + + + In order to mount remote SFTP folder as local drive, perform following steps: <br> + + + + + + <br>1. Install the latest version of + + + + + + <br>2. Install the latest version of + + + + + Detailed instructions + + + + + Remove SFTP and all data stored there + + + + + Remove SFTP and all data stored there? + + + + + Continue + + + + + Cancel + + + + + PageServiceTorWebsiteSettings + + + Settings updated successfully + + + + + Tor website settings + + + + + Website address + + + + + Copied + + + + + Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url. + + + + + After installation it takes several minutes while your onion site will become available in the Tor Network. + + + + + When configuring WordPress set the domain as this onion address. + + + + + Remove website + + + + + The site with all data will be removed from the tor network. + + + + + Continue + + + + + Cancel + + + + + PageSettings + + + Settings + + + + + Servers + + + + + Connection + + + + + Application + + + + + Backup + + + + + About AmneziaVPN + + + + + PageSettingsAbout + + + Support the project with a donation + + + + + This is a free and open source application. If you like it, support the developers with a donation. +And if you don't like the app, all the more support it - the donation will be used to improve the app. + + + + + Card on Patreon + + + + + https://www.patreon.com/amneziavpn + + + + + Show other methods on Github + + + + + Contacts + + + + + Telegram group + + + + + To discuss features + + + + + https://t.me/amnezia_vpn_en + + + + + Mail + + + + + For reviews and bug reports + + + + + Github + + + + + https://github.com/amnezia-vpn/amnezia-client + + + + + Website + + + + + https://amnezia.org + + + + + Check for updates + + + + + PageSettingsApplication + + + Application + + + + + Auto start + + + + + Launch the application every time + + + + + starts + + + + + Start minimized + + + + + Launch application minimized + + + + + Language + + + + + Logging + + + + + Enabled + + + + + Disabled + + + + + Reset settings and remove all data from the application + + + + + Reset settings and remove all data from the application? + + + + + All settings will be reset to default. All installed AmneziaVPN services will still remain on the server. + + + + + Continue + + + + + Cancel + + + + + PageSettingsBackup + + + Settings restored from backup file + + + + + Backup + + + + + Configuration backup + + + + + It will help you instantly restore connection settings at the next installation + + + + + Make a backup + + + + + Save backup file + + + + + + Backup files (*.backup) + + + + + Restore from backup + + + + + Open backup file + + + + + Import settings from a backup file? + + + + + All current settings will be reset + + + + + Continue + + + + + Cancel + + + + + PageSettingsConnection + + + Connection + + + + + Auto connect + + + + + Connect to VPN on app start + + + + + Use AmneziaDNS if installed on the server + + + + + DNS servers + + + + + If AmneziaDNS is not used or installed + + + + + Split site tunneling + + + + + Allows you to connect to some sites through a secure connection, and to others bypassing it + + + + + Separate application tunneling + + + + + Allows you to use the VPN only for certain applications + + + + + PageSettingsDns + + + DNS servers + + + + + If AmneziaDNS is not used or installed + + + + + Restore default + + + + + Restore default DNS settings? + + + + + Continue + + + + + Cancel + + + + + Settings have been reset + + + + + Save + + + + + Settings saved + + + + + PageSettingsLogging + + + Logging + + + + + + Save logs + + + + + Open folder with logs + + + + + Logs files (*.log) + + + + + Save logs to file + + + + + Clear logs? + + + + + Continue + + + + + Cancel + + + + + Logs have been cleaned up + + + + + Clear logs + + + + + PageSettingsServerData + + + All installed containers have been added to the application + + + + + No new installed containers found + + + + + Clear Amnezia cache + + + + + May be needed when changing other settings + + + + + Clear cached profiles? + + + + + + + + + + + + Continue + + + + + + + Cancel + + + + + Check the server for previously installed Amnezia services + + + + + Add them to the application if they were not displayed + + + + + Remove server from application + + + + + Remove server? + + + + + All installed AmneziaVPN services will still remain on the server. + + + + + Clear server from Amnezia software + + + + + Clear server from Amnezia software? + + + + + All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. + + + + + PageSettingsServerInfo + + + Server name + + + + + Save + + + + + Protocols + + + + + Services + + + + + Data + + + + + PageSettingsServerProtocol + + + settings + + + + + + Remove + + + + + from server? + + + + + All users with whom you shared a connection will no longer be able to connect to it + + + + + Continue + + + + + Cancel + + + + + PageSettingsServersList + + + Servers + + + + + PageSettingsSplitTunneling + + + Only the addresses in the list must be opened via VPN + + + + + Addresses from the list should never be opened via VPN + + + + + Split site tunneling + + + + + Mode + + + + + Remove + + + + + Continue + + + + + Cancel + + + + + Site or IP + + + + + Import/Export Sites + + + + + Import + + + + + Save site list + + + + + Save sites + + + + + + + Sites files (*.json) + + + + + Import a list of sites + + + + + Replace site list + + + + + + Open sites file + + + + + Add imported sites to existing ones + + + + + PageSetupWizardConfigSource + + + Server connection + + + + + Do not use connection code from public sources. It may have been created to intercept your data. + +It's okay as long as it's from someone you trust. + + + + + What do you have? + + + + + File with connection settings or backup + + + + + File with connection settings + + + + + Open config file + + + + + QR-code + + + + + Key as text + + + + + PageSetupWizardCredentials + + + Server connection + + + + + Server IP address [:port] + + + + + 255.255.255.255:88 + + + + + Login to connect via SSH + + + + + Password / SSH private key + + + + + Continue + + + + + Ip address cannot be empty + + + + + Enter the address in the format 255.255.255.255:88 + + + + + Login cannot be empty + + + + + Password/private key cannot be empty + + + + + PageSetupWizardEasy + + + What is the level of internet control in your region? + + + + + Set up a VPN yourself + + + + + I want to choose a VPN protocol + + + + + Continue + + + + + Set up later + + + + + PageSetupWizardInstalling + + + + Usually it takes no more than 5 minutes + + + + + The server has already been added to the application + + + + + Amnesia has detected that your server is currently + + + + + busy installing other software. Amnesia installation + + + + + will pause until the server finishes installing other software + + + + + Installing + + + + + PageSetupWizardProtocolSettings + + + Installing + + + + + More detailed + + + + + Close + + + + + Network protocol + + + + + Port + + + + + Install + + + + + PageSetupWizardProtocols + + + VPN protocol + + + + + Choose the one with the highest priority for you. Later, you can install other protocols and additional services, such as DNS proxy and SFTP. + + + + + PageSetupWizardQrReader + + + Point the camera at the QR code and hold for a couple of seconds. + + + + + PageSetupWizardStart + + + Settings restored from backup file + + + + + Free service for creating a personal VPN on your server. + + + + + Helps you access blocked content without revealing your privacy, even to VPN providers. + + + + + I have the data to connect + + + + + I have nothing + + + + + PageSetupWizardTextKey + + + Connection key + + + + + A line that starts with vpn://... + + + + + Key + + + + + Insert + + + + + Continue + + + + + PageSetupWizardViewConfig + + + New connection + + + + + Do not use connection code from public sources. It could be created to intercept your data. + + + + + Collapse content + + + + + Show content + + + + + Connect + 连接 + + + + PageShare + + + Save OpenVPN config + + + + + Save WireGuard config + + + + + For the AmneziaVPN app + + + + + OpenVpn native format + + + + + WireGuard native format + + + + + VPN Access + + + + + Connection + + + + + Full access + + + + + VPN access without the ability to manage the server + + + + + Full access to server + + + + + Servers + + + + + Server + + + + + Accessing + + + + + + File with connection settings to + + + + + Protocols + + + + + Protocol + + + + + Connection to + + + + + + Connection format + + + + + Share + + + + + PopupType + + + Close + + + + + QKeychain::DeletePasswordJobPrivate + + + Password entry not found + + + + + Could not decrypt data + + + + + + Unknown error + + + + + Could not open wallet: %1; %2 + + + + + Password not found + + + + + Could not open keystore + + + + + Could not remove private key from keystore + + + + + QKeychain::JobPrivate + + + Unknown error + + + + + Access to keychain denied + + + + + QKeychain::PlainTextStore + + + Could not store data in settings: access error + + + + + Could not store data in settings: format error + + + + + Could not delete data from settings: access error + + + + + Could not delete data from settings: format error + + + + + Entry not found + + + + + QKeychain::ReadPasswordJobPrivate + + + Password entry not found + + + + + + Could not decrypt data + + + + + D-Bus is not running + + + + + + Unknown error + + + + + No keychain service available + + + + + Could not open wallet: %1; %2 + + + + + Access to keychain denied + + + + + Could not determine data type: %1; %2 + + + + + + Entry not found + + + + + Unsupported entry type 'Map' + + + + + Unknown kwallet entry type '%1' + + + + + Password not found + + + + + Could not open keystore + + + + + Could not retrieve private key from keystore + + + + + Could not create decryption cipher + + + + + QKeychain::WritePasswordJobPrivate + + + Credential size exceeds maximum size of %1 + + + + + Credential key exceeds maximum size of %1 + + + + + Writing credentials failed: Win32 error code %1 + + + + + Encryption failed + + + + + D-Bus is not running + + + + + + Unknown error + + + + + Could not open wallet: %1; %2 + + + + + Password not found + + + + + Could not open keystore + + + + + Could not create private key generator + + + + + Could not generate new private key + + + + + Could not retrieve private key from keystore + + + + + Could not create encryption cipher + + + + + Could not encrypt data + + + + + QObject + + + Sftp service + + + + + No error + + + + + Unknown Error + + + + + Function not implemented + + + + + Server check failed + + + + + Server port already used. Check for another software + + + + + Server error: Docker container missing + + + + + Server error: Docker failed + + + + + Installation canceled by user + + + + + The user does not have permission to use sudo + + + + + Ssh request was denied + + + + + Ssh request was interrupted + + + + + Ssh internal error + + + + + Invalid private key or invalid passphrase entered + + + + + The selected private key format is not supported, use openssh ED25519 key types or PEM key types + + + + + Timeout connecting to server + + + + + Sftp error: End-of-file encountered + + + + + Sftp error: File does not exist + + + + + Sftp error: Permission denied + + + + + Sftp error: Generic failure + + + + + Sftp error: Garbage received from server + + + + + Sftp error: No connection has been set up + + + + + Sftp error: There was a connection, but we lost it + + + + + Sftp error: Operation not supported by libssh yet + + + + + Sftp error: Invalid file handle + + + + + Sftp error: No such file or directory path exists + + + + + Sftp error: An attempt to create an already existing file or directory has been made + + + + + Sftp error: Write-protected filesystem + + + + + Sftp error: No media was in remote drive + + + + + Failed to save config to disk + + + + + OpenVPN config missing + + + + + OpenVPN management server error + + + + + OpenVPN executable missing + + + + + ShadowSocks (ss-local) executable missing + + + + + Cloak (ck-client) executable missing + + + + + Amnezia helper service error + + + + + OpenSSL failed + + + + + Can't connect: another VPN connection is active + + + + + Can't setup OpenVPN TAP network adapter + + + + + VPN pool error: no available addresses + + + + + The config does not contain any containers and credentiaks for connecting to the server + + + + + Internal error + + + + + IPsec + + + + + + Website in Tor network + + + + + Amnezia DNS + + + + + Sftp file sharing service + + + + + OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange. + + + + + ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions. + + + + + 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. + + + + + WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship. + + + + + 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. + + + + + Deploy a WordPress site on the Tor network in two clicks. + + + + + Replace the current DNS server with your own. This will increase your privacy level. + + + + + Creates a file vault on your server to securely store and transfer files. + + + + + OpenVPN container + + + + + Container with OpenVpn and ShadowSocks + + + + + Container with OpenVpn and ShadowSocks protocols configured with traffic masking by Cloak plugin + + + + + WireGuard container + + + + + IPsec container + + + + + DNS Service + + + + + Sftp file sharing service - is secure FTP service + + + + + Entry not found + + + + + Access to keychain denied + + + + + No keyring daemon + + + + + Already unlocked + + + + + No such keyring + + + + + Bad arguments + + + + + I/O error + + + + + Cancelled + + + + + Keyring already exists + + + + + No match + + + + + Unknown error + + + + + error 0x%1: %2 + + + + + SelectLanguageDrawer + + + Choose language + + + + + Settings + + + Server #1 + + + + + + Server + + + + + SettingsController + + + Software version + + + + + Backup file is corrupted + + + + + All settings have been reset to default values + + + + + Cached profiles cleared + + + + + ShareConnectionDrawer + + + + Save AmneziaVPN config + + + + + Share + + + + + Copy + + + + + Copied + + + + + Show content + + + + + To read the QR code in the Amnezia app, select "Add server" → "I have data to connect" → "QR code, key or settings file" + + + + + SitesController + + + Hostname not look like ip adress or domain name + + + + + New site added: + + + + + Site removed: + + + + + Can't open file: + + + + + Failed to parse JSON data from file: + + + + + The JSON data is not an array in file: + + + + + Import completed + + + + + Export completed + + + + + SystemTrayNotificationHandler + + + Show + + + + + Connect + 连接 + + + + Disconnect + + + + + Visit Website + + + + + Quit + + + + + VpnConnection + + + Mbps + + + + + VpnProtocol + + + Unknown + + + + + Disconnected + + + + + Preparing + + + + + Connecting... + + + + + Connected + 已连接 + + + + Disconnecting... + + + + + Reconnecting... + + + + + Error + + + + + amnezia::ContainerProps + + + Low + + + + + High + + + + + Medium + + + + + I just want to increase the level of privacy + + + + + Many foreign websites and VPN providers are blocked + + + + + Some foreign sites are blocked, but VPN providers are not blocked + + + + + main2 + + + Private key passphrase + + + + + Save + + + + diff --git a/client/ui/models/languageModel.cpp b/client/ui/models/languageModel.cpp index 5135f348..b860b9da 100644 --- a/client/ui/models/languageModel.cpp +++ b/client/ui/models/languageModel.cpp @@ -6,7 +6,8 @@ LanguageModel::LanguageModel(std::shared_ptr settings, QObject *parent QMetaEnum metaEnum = QMetaEnum::fromType(); for (int i = 0; i < metaEnum.keyCount(); i++) { m_availableLanguages.push_back( - LanguageModelData { metaEnum.valueToKey(i), static_cast(i) }); + LanguageModelData {getLocalLanguageName(static_cast(i)), + static_cast(i) }); } } @@ -36,11 +37,26 @@ QHash LanguageModel::roleNames() const return roles; } +QString LanguageModel::getLocalLanguageName(const LanguageSettings::AvailableLanguageEnum language) +{ + QString strLanguage(""); + switch (language) { + case LanguageSettings::AvailableLanguageEnum::English: strLanguage = "English"; break; + case LanguageSettings::AvailableLanguageEnum::Russian: strLanguage = "Русский"; break; + case LanguageSettings::AvailableLanguageEnum::China_cn: strLanguage = "\347\256\200\344\275\223\344\270\255\346\226\207"; break; + default: + break; + } + + return strLanguage; +} + void LanguageModel::changeLanguage(const LanguageSettings::AvailableLanguageEnum language) { switch (language) { case LanguageSettings::AvailableLanguageEnum::English: emit updateTranslations(QLocale::English); break; case LanguageSettings::AvailableLanguageEnum::Russian: emit updateTranslations(QLocale::Russian); break; + case LanguageSettings::AvailableLanguageEnum::China_cn: emit updateTranslations(QLocale::Chinese); break; default: emit updateTranslations(QLocale::English); break; } } @@ -51,6 +67,7 @@ int LanguageModel::getCurrentLanguageIndex() switch (locale.language()) { case QLocale::English: return static_cast(LanguageSettings::AvailableLanguageEnum::English); break; case QLocale::Russian: return static_cast(LanguageSettings::AvailableLanguageEnum::Russian); break; + case QLocale::Chinese: return static_cast(LanguageSettings::AvailableLanguageEnum::China_cn); break; default: return static_cast(LanguageSettings::AvailableLanguageEnum::English); break; } } diff --git a/client/ui/models/languageModel.h b/client/ui/models/languageModel.h index b64862dd..c8879a34 100644 --- a/client/ui/models/languageModel.h +++ b/client/ui/models/languageModel.h @@ -11,7 +11,8 @@ namespace LanguageSettings Q_NAMESPACE enum class AvailableLanguageEnum { English, - Russian + Russian, + China_cn }; Q_ENUM_NS(AvailableLanguageEnum) @@ -59,6 +60,8 @@ protected: QHash roleNames() const override; private: + QString getLocalLanguageName(const LanguageSettings::AvailableLanguageEnum language); + QVector m_availableLanguages; std::shared_ptr m_settings;