diff options
Diffstat (limited to '')
29 files changed, 2960 insertions, 2389 deletions
@@ -109,9 +109,8 @@ Read the animated pictures in the [Document](https://gpgfrontend.pub/#/quick-sta 0. If command `gpg` is not available, please use homebrew to install it first. 1. [Download GpgFrontend](https://github.com/saturneric/GpgFrontend/releases) macOS edition from the latest release 2. Double-Click GpgFrontend.dmg to load it - - macOS will automatically decompress the zip file and then you will be able to see the dmg 3. Double click and run it - (due to macOS security policy, you may need a little more step). + - Every Release App is Now Code-Signed By Develop ID Certificate and Checked By Apple Inc. 4. If it satisfies you, you can drag it into your Application folder. #### Debian/Ubuntu/CentOS diff --git a/include/GpgFrontend.h.in b/include/GpgFrontend.h.in index 555f4589..6460967c 100644 --- a/include/GpgFrontend.h.in +++ b/include/GpgFrontend.h.in @@ -25,6 +25,9 @@ #ifndef GPGFRONTEND_H_IN #define GPGFRONTEND_H_IN +/** + * STD Headers + */ #include <iostream> #include <string> #include <cmath> @@ -33,22 +36,37 @@ #include <utility> #include <list> +/** + * QT Headers + */ #include <QtCore> #include <QtWidgets> #include <QtNetwork/QtNetwork> #include <QtPrintSupport/QtPrintSupport> +/** + * GpgME Headers + */ #include <gpgme.h> +/** + * Platform Vars + */ #define WINDOWS 0 #define MACOS 1 #define LINUX 2 +#define OS_PLATFORM @OS_PLATFORM@ + +/** + * Build Options Vars + */ #define RELEASE 0 #define DEBUG 1 -#define OS_PLATFORM @OS_PLATFORM@ - +/** + * Resources File(s) Path Vars + */ #if OS_PLATFORM == MACOS && BUILD_FLAG == RELEASE # define RESOURCE_DIR(appDir) (appDir + "/../Resources/") #elif OS_PLATFORM == LINUX && BUILD_FLAG == RELEASE diff --git a/include/GpgFrontendBuildInfo.h.in b/include/GpgFrontendBuildInfo.h.in index 1da57de9..bf1d3f8a 100644 --- a/include/GpgFrontendBuildInfo.h.in +++ b/include/GpgFrontendBuildInfo.h.in @@ -25,19 +25,30 @@ #ifndef GPGFRONTEND_BUILD_INFO_H_IN #define GPGFRONTEND_BUILD_INFO_H_IN +/** + * Logic Version (*.*.*) + */ #define VERSION_MAJOR @CMAKE_PROJECT_VERSION_MAJOR@ #define VERSION_MINOR @CMAKE_PROJECT_VERSION_MINOR@ #define VERSION_PATCH @CMAKE_PROJECT_VERSION_PATCH@ +/** + * Code Version (According to Git) + */ #define GIT_BRANCH_NAME "@GIT_BRANCH_NAME@" #define GIT_COMMIT_HASH "@GIT_COMMIT_HASH@" +/** + * Generated Information (According to CMake) + */ #define PROJECT_NAME "@PROJECT_NAME@" #define BUILD_VERSION "@BUILD_VERSION@" #define GIT_VERSION "@GIT_VERSION@" +/** + * Build Information + */ #define BUILD_FLAG @BUILD_FLAG@ - #define BUILD_TIMESTAMP "@BUILD_TIMESTAMP@" #endif // GPGFRONTEND_BUILD_INFO_H_IN diff --git a/include/MainWindow.h b/include/MainWindow.h index 20f9a0b5..176a8914 100644 --- a/include/MainWindow.h +++ b/include/MainWindow.h @@ -314,6 +314,16 @@ private: void saveSettings(); /** + * @details Get full crypto text + */ + QString getCryptText(const QString& shortenCryptoText); + + /** + * @details Shorten crypto text + */ + void shortenCryptText(); + + /** * @brief return true, if restart is needed */ [[nodiscard]] bool getRestartNeeded() const; diff --git a/include/gpg/GpgContext.h b/include/gpg/GpgContext.h index b25a5f81..ac01c532 100644 --- a/include/gpg/GpgContext.h +++ b/include/gpg/GpgContext.h @@ -25,7 +25,7 @@ #ifndef __SGPGMEPP_CONTEXT_H__ #define __SGPGMEPP_CONTEXT_H__ -#include <GpgFrontend.h> +#include "GpgFrontend.h" #include "GpgConstants.h" #include "GpgGenKeyInfo.h" @@ -63,10 +63,14 @@ public: namespace GpgME { + /** + * Custom Encapsulation of GpgME APIs + */ class GpgContext : public QObject { Q_OBJECT public: + GpgContext(); ~GpgContext() override; @@ -114,7 +118,8 @@ namespace GpgME { gpgme_error_t verify(QByteArray *inBuffer, QByteArray *sigBuffer, gpgme_verify_result_t *result); gpg_error_t - sign(const QVector<GpgKey> &keys, const QByteArray &inBuffer, QByteArray *outBuffer, bool detached = false, + sign(const QVector<GpgKey> &keys, const QByteArray &inBuffer, QByteArray *outBuffer, + gpgme_sig_mode_t mode = GPGME_SIG_MODE_NORMAL, gpgme_sign_result_t *result = nullptr); bool addUID(const GpgKey &key, const GpgUID &uid); @@ -125,7 +130,7 @@ namespace GpgME { bool setExpire(const GpgKey &key, const GpgSubKey *subkey, QDateTime *expires); - QProcess * generateRevokeCert(const GpgKey &key, const QString &outputFileName); + QProcess *generateRevokeCert(const GpgKey &key, const QString &outputFileName); static bool checkIfKeyCanSign(const GpgKey &key); @@ -207,9 +212,9 @@ namespace GpgME { const char *passphrase_info, int last_was_bad, int fd); - QProcess * executeGpgCommand(const QStringList &arguments, - QByteArray *stdOut, - QByteArray *stdErr, const std::function<void(QProcess *)> &interactFunc); + QProcess *executeGpgCommand(const QStringList &arguments, + QByteArray *stdOut, + QByteArray *stdErr, const std::function<void(QProcess *)> &interactFunc); QString gpgExec; QString gpgKeys; diff --git a/include/gpg/GpgUID.h b/include/gpg/GpgUID.h index 99fe828f..6fb09446 100644 --- a/include/gpg/GpgUID.h +++ b/include/gpg/GpgUID.h @@ -28,7 +28,6 @@ #include <utility> #include "GpgFrontend.h" - #include "GpgKeySignature.h" struct GpgUID { @@ -41,9 +40,9 @@ struct GpgUID { QString uid{}; - bool revoked; + bool revoked{}; - bool invalid; + bool invalid{}; QVector<GpgKeySignature> signatures; diff --git a/include/server/ComUtils.h b/include/server/ComUtils.h new file mode 100644 index 00000000..64f80e87 --- /dev/null +++ b/include/server/ComUtils.h @@ -0,0 +1,57 @@ +/** + * This file is part of GPGFrontend. + * + * GPGFrontend is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Foobar is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <https://www.gnu.org/licenses/>. + * + * The initial version of the source code is inherited from gpg4usb-team. + * Their source code version also complies with GNU General Public License. + * + * The source code version of this software was modified and released + * by Saturneric<[email protected]> starting on May 12, 2021. + * + */ + +#ifndef GPGFRONTEND_ZH_CN_TS_COMUTILS_H +#define GPGFRONTEND_ZH_CN_TS_COMUTILS_H + +#include "GpgFrontend.h" +#include "rapidjson/document.h" + +class ComUtils : public QWidget { +Q_OBJECT +public: + + explicit ComUtils(QWidget *parent) : QWidget(parent), appPath(qApp->applicationDirPath()), + settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini", + QSettings::IniFormat) { + + } + + bool checkServerReply(const QByteArray &reply); + + QString getDataValue(const QString &key); + + [[nodiscard]] bool good() const { return is_good; } + +private: + + QString appPath; + QSettings settings; + rapidjson::Document replyDoc; + rapidjson::Value dataVal; + bool is_good = false; +}; + + +#endif //GPGFRONTEND_ZH_CN_TS_COMUTILS_H diff --git a/include/ui/KeyImportDetailDialog.h b/include/ui/KeyImportDetailDialog.h index 0c6f5813..216cdcd0 100644 --- a/include/ui/KeyImportDetailDialog.h +++ b/include/ui/KeyImportDetailDialog.h @@ -27,7 +27,6 @@ #include "gpg/GpgContext.h" - class KeyImportDetailDialog : public QDialog { Q_OBJECT diff --git a/include/ui/SettingsDialog.h b/include/ui/SettingsDialog.h index 133a8ec7..358ab2d1 100755 --- a/include/ui/SettingsDialog.h +++ b/include/ui/SettingsDialog.h @@ -42,24 +42,34 @@ private: QString appPath; QSettings settings; - QCheckBox *rememberPasswordCheckBox; + QComboBox *serverSelectBox; QCheckBox *saveCheckedKeysCheckBox; QCheckBox *importConfirmationCheckBox; QComboBox *langSelectBox; QComboBox *ownKeySelectBox; + QPushButton *getServiceTokenButton; + QLabel *serviceTokenLabel; QHash<QString, QString> lang; QHash<QString, QString> keyIds; QVector<QString> keyIdsList; - QString ownKeyId; + QString serviceToken; KeyList *mKeyList; GpgME::GpgContext *mCtx; /** The current gpg context */ + QNetworkAccessManager manager; + + QRegularExpression re_uuid{R"(\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b)"}; + + bool checkUUIDFormat(const QString& uuid); + private slots: void slotOwnKeyIdChanged(); void slotLanguageChanged(); + void slotGetServiceToken(); + signals: void signalRestartNeeded(bool needed); @@ -196,7 +206,7 @@ public: void applySettings(); private: - static QString getRelativePath(const QString& dir1, const QString& dir2); + static QString getRelativePath(const QString &dir1, const QString &dir2); QString appPath; QSettings settings; diff --git a/include/ui/ShowCopyDialog.h b/include/ui/ShowCopyDialog.h new file mode 100644 index 00000000..04ea4bab --- /dev/null +++ b/include/ui/ShowCopyDialog.h @@ -0,0 +1,25 @@ +// +// Created by Administrator on 2021/7/21. +// + +#ifndef GPGFRONTEND_ZH_CN_TS_SHOWCOPYDIALOG_H +#define GPGFRONTEND_ZH_CN_TS_SHOWCOPYDIALOG_H + +#include "GpgFrontend.h" + +class ShowCopyDialog : public QDialog { +Q_OBJECT +public: + explicit ShowCopyDialog(const QString &text, QWidget *parent = nullptr); + +private slots: + + void slotCopyText(); + +private: + QTextEdit *textEdit; + QPushButton *copyButton; +}; + + +#endif //GPGFRONTEND_ZH_CN_TS_SHOWCOPYDIALOG_H diff --git a/resource/ts/gpgfrontend_en_us.ts b/resource/ts/gpgfrontend_en_us.ts index 0042e061..01d5c2f9 100644 --- a/resource/ts/gpgfrontend_en_us.ts +++ b/resource/ts/gpgfrontend_en_us.ts @@ -27,12 +27,12 @@ <context> <name>AdvancedTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="679"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="762"/> <source>Show Steganography Options [Advanced]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="681"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="764"/> <source>Show Steganographic Options.</source> <translation type="unfinished"></translation> </message> @@ -40,62 +40,62 @@ <context> <name>AppearanceTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="444"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="527"/> <source>Iconsize</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="446"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="529"/> <source>small</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="447"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="530"/> <source>medium</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="448"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="531"/> <source>large</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="464"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="547"/> <source>Iconstyle</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="466"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="549"/> <source>just text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="467"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="550"/> <source>just icons</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="468"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="551"/> <source>text and icons</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="484"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="567"/> <source>Windowstate</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="570"/> <source>Save window size and position on exit.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="495"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="578"/> <source>Information Board</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="501"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="584"/> <source> Front Size</source> <translation type="unfinished"></translation> </message> @@ -103,58 +103,58 @@ <context> <name>ChoosePage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="165"/> + <location filename="../../src/ui/Wizard.cpp" line="121"/> <source>Choose your action...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="166"/> + <location filename="../../src/ui/Wizard.cpp" line="122"/> <source>...by clicking on the appropriate link.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="168"/> + <location filename="../../src/ui/Wizard.cpp" line="124"/> <source>If you have never used GPGFrontend before and also don't own a gpg key yet you may possibly want to read how to</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="170"/> + <location filename="../../src/ui/Wizard.cpp" line="127"/> <source>Generate Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="176"/> + <location filename="../../src/ui/Wizard.cpp" line="134"/> <source>If you want to learn how to encrypt, decrypt, sign and verify text, you can read </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> <source>Encrypt & Decrypt Text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>or</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="180"/> + <location filename="../../src/ui/Wizard.cpp" line="138"/> <source>Sign & Verify Text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="188"/> + <location filename="../../src/ui/Wizard.cpp" line="146"/> <source>If you want to operate file, you can read </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>Encrypt & Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="192"/> + <location filename="../../src/ui/Wizard.cpp" line="152"/> <source>Sign & Verify File</source> <translation type="unfinished"></translation> </message> @@ -162,37 +162,37 @@ <context> <name>ConclusionPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="407"/> + <location filename="../../src/ui/Wizard.cpp" line="224"/> <source>Ready.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="408"/> + <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Have fun with GPGFrontend!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="410"/> + <location filename="../../src/ui/Wizard.cpp" line="227"/> <source>You are ready to use GPGFrontend now.<br><br></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="412"/> + <location filename="../../src/ui/Wizard.cpp" line="229"/> <source>The Online Document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="413"/> + <location filename="../../src/ui/Wizard.cpp" line="231"/> <source> will get you started with GPGFrontend. It will open in the main window.<br></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="420"/> + <location filename="../../src/ui/Wizard.cpp" line="238"/> <source>Open offline help.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="423"/> + <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Dont show the wizard again.</source> <translation type="unfinished"></translation> </message> @@ -360,195 +360,146 @@ <context> <name>GeneralTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="137"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> <source>Remember Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="143"/> <source>Remember password until closing gpg4usb</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="147"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> <source>Save Checked Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="153"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="159"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> <source>Confirm drag'n'drop key import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="165"/> <source>Import files dropped on the keylist without confirmation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="169"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="172"/> <source>Language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="178"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="181"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="187"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="190"/> <source>Own key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="195"/> - <source><none></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="209"/> - <source>Key pair for synchronization and identity authentication</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="194"/> + <source>Get Service Token</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>GpgME::GpgContext</name> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="528"/> - <source>Wrong password</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gpg/GpgContext.cpp" line="536"/> - <source>Enter Password for</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gpg/GpgContext.cpp" line="540"/> - <source>Enter Password</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> - <source>Key Selection</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="195"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="302"/> + <source>No Service Token Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> - <source>No Private Key Selected</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="201"/> + <source><none></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="746"/> - <source>Error in signing:</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="217"/> + <source>Key pair for synchronization and identity authentication</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>GpgPathsTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="711"/> - <source>Relative path to keydb</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="724"/> - <source>Current keydb path: </source> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Own Key can not be None while getting service token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="729"/> - <source><b>NOTE: </b> Gpg4usb will restart automatically if you change the keydb path!</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="363"/> + <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="758"/> - <source>Choose keydb directory</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <source>Invalid Service Token Format</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>ImportFromGnupgPage</name> + <name>GpgME::GpgContext</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="302"/> - <source>Import keys...</source> + <location filename="../../src/gpg/GpgContext.cpp" line="528"/> + <source>Wrong password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="303"/> - <source>...from existing GnuPG installation</source> + <location filename="../../src/gpg/GpgContext.cpp" line="536"/> + <source>Enter Password for</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="305"/> - <source>You can import keys from a locally installed GnuPG.<br><br> The location is read from registry in Windows or assumed to be the .gnupg folder in the your home directory in Linux.<br></source> + <location filename="../../src/gpg/GpgContext.cpp" line="540"/> + <source>Enter Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="309"/> - <source>Import keys from GnuPG</source> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> + <source>Key Selection</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> - <source>Import Error</source> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> + <source>No Private Key Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> - <source>Couldn't locate GnuPG home directory</source> + <location filename="../../src/gpg/GpgContext.cpp" line="739"/> + <source>Error in signing:</source> <translation type="unfinished"></translation> </message> </context> <context> - <name>ImportFromGpg4usbPage</name> - <message> - <location filename="../../src/ui/Wizard.cpp" line="225"/> - <source>Import from...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="226"/> - <source>...existing GPGFrontend</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="228"/> - <source>You can import keys and/or settings from existing GPGFrontend. <br><br>Just check what you want to import, click the import button and choose the directory of your other GPGFrontend in the appearing file dialog.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="235"/> - <source>Keys</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="239"/> - <source>Configuration</source> - <translation type="unfinished"></translation> - </message> + <name>GpgPathsTab</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="241"/> - <source>Import from GPGFrontend</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="794"/> + <source>Relative path to keydb</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="256"/> - <source>Other GPGFrontend directory</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="807"/> + <source>Current keydb path: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="275"/> - <source>Configuration Imported</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="812"/> + <source><b>NOTE: </b> Gpg4usb will restart automatically if you change the keydb path!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="276"/> - <source>Imported Configuration from old GPGFrontend.<br>Will now restart to activate the configuration.</source> + <location filename="../../src/ui/SettingsDialog.cpp" line="841"/> + <source>Choose keydb directory</source> <translation type="unfinished"></translation> </message> </context> @@ -591,42 +542,42 @@ <context> <name>IntroPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="111"/> + <location filename="../../src/ui/Wizard.cpp" line="66"/> <source>Getting Started...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="112"/> + <location filename="../../src/ui/Wizard.cpp" line="67"/> <source>... with GPGFrontend</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="114"/> + <location filename="../../src/ui/Wizard.cpp" line="69"/> <source>Welcome to use GPGFrontend for decrypting and signing text or file!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="116"/> + <location filename="../../src/ui/Wizard.cpp" line="71"/> <source>is a Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP Crypto Tool.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="117"/> + <location filename="../../src/ui/Wizard.cpp" line="72"/> <source>For brief information have a look at the</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="118"/> + <location filename="../../src/ui/Wizard.cpp" line="74"/> <source>Overview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="119"/> + <location filename="../../src/ui/Wizard.cpp" line="75"/> <source>by clicking the link, the page will open in the web browser</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="127"/> + <location filename="../../src/ui/Wizard.cpp" line="83"/> <source>Choose a Language</source> <translation type="unfinished"></translation> </message> @@ -657,128 +608,110 @@ <context> <name>KeyGenDialog</name> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="32"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="33"/> <source>Generate Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="68"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="69"/> <source> Name must contain at least five characters. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="71"/> <source> Please give a email address. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/> <source> Expiration time no more than 2 years. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/> - <source>Generating Key...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/> - <source>Collecting random data for key generation. - This may take a while. - To speed up the process use your computer - (e.g. browse the net, listen to music,...)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="145"/> <source>Key Usage</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="147"/> <source>Encryption</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> <source>Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/> <source>Certification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/> <source>Authentication</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>Success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>The new key pair has been generated.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="116"/> <source>Failure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> - <source>An error occurred during key generation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="338"/> <source>Name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="339"/> <source>Email Address:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="340"/> <source>Comment:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="341"/> <source>Expiration Date:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="342"/> <source>Never Expire</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="343"/> <source>KeySize (in Bit):</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="344"/> <source>Key Type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="345"/> <source>Non Pass Phrase</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/> <source>Basic Information</source> <translation type="unfinished"></translation> </message> @@ -786,27 +719,27 @@ <context> <name>KeyGenPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="366"/> + <location filename="../../src/ui/Wizard.cpp" line="183"/> <source>Create a keypair...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="367"/> + <location filename="../../src/ui/Wizard.cpp" line="184"/> <source>...for decrypting and signing messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="368"/> + <location filename="../../src/ui/Wizard.cpp" line="185"/> <source>You should create a new keypair.The pair consists of a public and a private key.<br>Other users can use the public key to encrypt messages for you and verify messages signed by you.You can use the private key to decrypt and sign messages.<br>For more information have a look at the offline tutorial (which then is shown in the main window):</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="375"/> + <location filename="../../src/ui/Wizard.cpp" line="192"/> <source>Offline tutorial</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="382"/> + <location filename="../../src/ui/Wizard.cpp" line="199"/> <source>Create New Key</source> <translation type="unfinished"></translation> </message> @@ -934,58 +867,58 @@ <context> <name>KeyList</name> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Select</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Email Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Usage</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Validity</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Finger Print</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="302"/> <source>Import Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="305"/> <source>You've dropped something on the table. GpgFrontend will now try to import key(s).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="320"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="308"/> <source>Always import without bothering.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="356"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="341"/> <source>Couldn't Open File: </source> <translation type="unfinished"></translation> </message> @@ -1970,27 +1903,27 @@ <context> <name>KeyUploadDialog</name> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="49"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="47"/> <source>Uploading Public Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="112"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="110"/> <source>Key Not Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="115"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="113"/> <source>Timeout</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="118"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="116"/> <source>Key Server Not Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="121"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="119"/> <source>Connection Error</source> <translation type="unfinished"></translation> </message> @@ -1998,12 +1931,12 @@ <context> <name>KeyserverTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="607"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="690"/> <source>Default Key Server for import:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="624"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="707"/> <source>Add</source> <translation type="unfinished"></translation> </message> @@ -2026,247 +1959,267 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="41"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="596"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="773"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="956"/> <source>No Key Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="48"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="127"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="603"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="780"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="49"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="604"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="50"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="129"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="605"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="782"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="970"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="68"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="625"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="371"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="98"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="372"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="145"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="802"/> <source>Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/> <source>Decrypting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="249"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="887"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="301"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="968"/> <source>Invalid KeyPair</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="969"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="313"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/> <source>Incomplete Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="981"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="988"/> <source>None of the selected key pairs can provide the signature function.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1007"/> <source>Encrypting and Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="378"/> + <source>Service Token Empty</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="379"/> + <source>Please go to the settings interface to set Own Key and get Service Token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="413"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Invalid Own Key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Own Key can not be use to do any operation.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> <source>Select a file before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> <source>No permission to read this file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> <source>No permission to create file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="583"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="760"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="943"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="584"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="685"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="761"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="944"/> <source>The target file already exists, do you need to overwrite it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>An error occurred during operation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="861"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> <source>No permission to read target file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> <source>No permission to read signature file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1153"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1154"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1156"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1163"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1160"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1161"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation type="unfinished"></translation> </message> @@ -2994,63 +2947,68 @@ <context> <name>SendMailTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="289"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="377"/> <source>Enable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="311"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="395"/> + <source>Check Connection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="399"/> <source>SMTP Address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="313"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="401"/> <source>Username</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="315"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="403"/> <source>Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="317"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="405"/> <source>Port</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="407"/> <source>Connection Security</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="322"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="410"/> <source>Default Sender</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> <source>Fail to Connect SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail to Login</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Succeed in connecting and login</source> <translation type="unfinished"></translation> </message> @@ -3058,37 +3016,37 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="40"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> <source>General</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="41"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="44"/> <source>Appearance</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="42"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> <source>Send Mail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="46"/> <source>Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="48"/> <source>Advanced</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="58"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="61"/> <source>Settings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="103"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="106"/> <source>System Default</source> <translation type="unfinished"></translation> </message> @@ -3096,93 +3054,75 @@ <context> <name>SubkeyGenerateDialog</name> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="46"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="47"/> <source>Generate New Subkey</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="61"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="62"/> <source>Encryption</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="64"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="65"/> <source>Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="67"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="68"/> <source>Certification</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="71"/> <source>Authentication</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="114"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> <source>Expiration Date:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> <source>Never Expire</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> <source>KeySize (in Bit):</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="118"/> <source>Key Type:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="126"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="127"/> <source>Basic Information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="214"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="215"/> <source> Expiration time no more than 2 years. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="235"/> - <source>Generating Subkey...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="238"/> - <source>Collecting random data for subkey generation. - This may take a while. - To speed up the process use your computer - (e.g. browse the net, listen to music,...)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>Success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>The new subkey has been generated.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="247"/> <source>Failure</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> - <source>An error occurred during subkey generation.</source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>TextEdit</name> @@ -3456,35 +3396,9 @@ <context> <name>Wizard</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="46"/> + <location filename="../../src/ui/Wizard.cpp" line="40"/> <source>First Start Wizard</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> - <source>Import Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> - <source>Couldn't locate any keyring file in %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="84"/> - <location filename="../../src/ui/Wizard.cpp" line="95"/> - <source>Import error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="85"/> - <source>Couldn't open private keyringfile: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/Wizard.cpp" line="96"/> - <source>Couldn't open public keyringfile: %1</source> - <translation type="unfinished"></translation> - </message> </context> </TS> diff --git a/resource/ts/gpgfrontend_es.ts b/resource/ts/gpgfrontend_es.ts index a3f8dd53..7796ea3d 100644 --- a/resource/ts/gpgfrontend_es.ts +++ b/resource/ts/gpgfrontend_es.ts @@ -1,198 +1,200 @@ -<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="es_ES"> +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.1" language="es_ES"> <context> <name>AboutDialog</name> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="35"/> <source>About </source> - <translation type="finished">Acerca de</translation> + <translation>Acerca de</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="42"/> <source>General</source> - <translation type="finished">General</translation> + <translation>General</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="43"/> <source>Translators</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="44"/> <source>Update</source> - <translation type="finished">Actualizar</translation> + <translation>Actualizar</translation> </message> </context> <context> <name>AdvancedTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="679"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="762"/> <source>Show Steganography Options [Advanced]</source> - <translation type="finished">Mostrar opciones de steganography [Avanzado]</translation> + <translation>Mostrar opciones de steganography [Avanzado]</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="681"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="764"/> <source>Show Steganographic Options.</source> - <translation type="finished">Mostrar opciones de STANGANOGRÁFICA.</translation> + <translation>Mostrar opciones de STANGANOGRÁFICA.</translation> </message> </context> <context> <name>AppearanceTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="444"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="527"/> <source>Iconsize</source> - <translation type="finished">Tamaño de ícono.</translation> + <translation>Tamaño de ícono.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="446"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="529"/> <source>small</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="447"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="530"/> <source>medium</source> - <translation type="finished">medio</translation> + <translation>medio</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="448"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="531"/> <source>large</source> - <translation type="finished">grande</translation> + <translation>grande</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="464"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="547"/> <source>Iconstyle</source> - <translation type="finished">IconStyle</translation> + <translation>IconStyle</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="466"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="549"/> <source>just text</source> - <translation type="finished">Solo texto</translation> + <translation>Solo texto</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="467"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="550"/> <source>just icons</source> - <translation type="finished">solo iconos</translation> + <translation>solo iconos</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="468"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="551"/> <source>text and icons</source> - <translation type="finished">Texto e Iconos</translation> + <translation>Texto e Iconos</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="484"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="567"/> <source>Windowstate</source> - <translation type="finished">Estado de ventanas</translation> + <translation>Estado de ventanas</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="570"/> <source>Save window size and position on exit.</source> - <translation type="finished">Guardar el tamaño de la ventana y la posición en la salida.</translation> + <translation>Guardar el tamaño de la ventana y la posición en la salida.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="495"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="578"/> <source>Information Board</source> - <translation type="finished">Tarjeta de la información</translation> + <translation>Tarjeta de la información</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="501"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="584"/> <source> Front Size</source> - <translation type="finished">Tamaño delantero</translation> + <translation>Tamaño delantero</translation> </message> </context> <context> <name>ChoosePage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="165"/> + <location filename="../../src/ui/Wizard.cpp" line="121"/> <source>Choose your action...</source> - <translation type="finished">Elige tu acción ...</translation> + <translation>Elige tu acción ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="166"/> + <location filename="../../src/ui/Wizard.cpp" line="122"/> <source>...by clicking on the appropriate link.</source> - <translation type="finished">... haciendo clic en el enlace apropiado.</translation> + <translation>... haciendo clic en el enlace apropiado.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="168"/> - <source>If you have never used GPGFrontend before and also don't own a gpg key yet you may possibly want to read how to</source> - <translation type="finished">Si nunca ha usado GPGFRontend antes y tampoco tiene una clave GPG, pero posiblemente quiera leer cómo leer</translation> + <location filename="../../src/ui/Wizard.cpp" line="124"/> + <source>If you have never used GPGFrontend before and also don't own a gpg key yet you may possibly want to read how to</source> + <translation>Si nunca ha usado GPGFRontend antes y tampoco tiene una clave GPG, pero posiblemente quiera leer cómo leer</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="170"/> + <location filename="../../src/ui/Wizard.cpp" line="127"/> <source>Generate Key</source> - <translation type="finished">Generar clave</translation> + <translation>Generar clave</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="176"/> + <location filename="../../src/ui/Wizard.cpp" line="134"/> <source>If you want to learn how to encrypt, decrypt, sign and verify text, you can read </source> - <translation type="finished">Si desea aprender cómo cifrar, descifrar, firmar y verificar el texto, puede leer</translation> + <translation>Si desea aprender cómo cifrar, descifrar, firmar y verificar el texto, puede leer</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> <source>Encrypt & Decrypt Text</source> - <translation type="finished">Cifrar y descifrar texto</translation> + <translation>Cifrar y descifrar texto</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>or</source> - <translation type="finished">o</translation> + <translation>o</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="180"/> + <location filename="../../src/ui/Wizard.cpp" line="138"/> <source>Sign & Verify Text</source> - <translation type="finished">Firmar y verificar el texto</translation> + <translation>Firmar y verificar el texto</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="188"/> + <location filename="../../src/ui/Wizard.cpp" line="146"/> <source>If you want to operate file, you can read </source> - <translation type="finished">Si desea operar el archivo, puede leer</translation> + <translation>Si desea operar el archivo, puede leer</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>Encrypt & Sign File</source> - <translation type="finished">Cifrar y firmar archivo</translation> + <translation>Cifrar y firmar archivo</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="192"/> + <location filename="../../src/ui/Wizard.cpp" line="152"/> <source>Sign & Verify File</source> - <translation type="finished">Firmar y verificar el archivo</translation> + <translation>Firmar y verificar el archivo</translation> </message> </context> <context> <name>ConclusionPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="407"/> + <location filename="../../src/ui/Wizard.cpp" line="224"/> <source>Ready.</source> - <translation type="finished">Listo.</translation> + <translation>Listo.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="408"/> + <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Have fun with GPGFrontend!</source> - <translation type="finished">¡Diviértete con GPGFRontend!</translation> + <translation>¡Diviértete con GPGFRontend!</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="410"/> + <location filename="../../src/ui/Wizard.cpp" line="227"/> <source>You are ready to use GPGFrontend now.<br><br></source> - <translation type="finished">Estás listo para usar GPGFRontend ahora. <br> <br></translation> + <translation>Estás listo para usar GPGFRontend ahora. <br> <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="412"/> + <location filename="../../src/ui/Wizard.cpp" line="229"/> <source>The Online Document</source> - <translation type="finished">El documento en línea</translation> + <translation>El documento en línea</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="413"/> + <location filename="../../src/ui/Wizard.cpp" line="231"/> <source> will get you started with GPGFrontend. It will open in the main window.<br></source> - <translation type="finished">Te harás comenzar con GPGFRontend.Se abrirá en la ventana principal. <br></translation> + <translation>Te harás comenzar con GPGFRontend.Se abrirá en la ventana principal. <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="420"/> + <location filename="../../src/ui/Wizard.cpp" line="238"/> <source>Open offline help.</source> - <translation type="finished">Ayuda fuera de línea abierta.</translation> + <translation>Ayuda fuera de línea abierta.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="423"/> + <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Dont show the wizard again.</source> - <translation type="finished">No vuelvas a mostrar al asistente.</translation> + <translation>No vuelvas a mostrar al asistente.</translation> </message> </context> <context> @@ -200,98 +202,98 @@ <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="32"/> <source>Decrypt File</source> - <translation type="finished">Archivo de descifrado</translation> + <translation>Archivo de descifrado</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="34"/> <source>Encrypt File</source> - <translation type="finished">Cifrar archivo</translation> + <translation>Cifrar archivo</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="36"/> <source>Sign File</source> - <translation type="finished">Archivo de firma</translation> + <translation>Archivo de firma</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="38"/> <source>Verify File</source> - <translation type="finished">Verificar archivo</translation> + <translation>Verificar archivo</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="47"/> <source>Input Parameters</source> - <translation type="finished">Parámetros de entrada</translation> + <translation>Parámetros de entrada</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="53"/> <source>Target File</source> - <translation type="finished">Archivo de destino</translation> + <translation>Archivo de destino</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="59"/> <source>Output File</source> - <translation type="finished">Archivo de salida</translation> + <translation>Archivo de salida</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="75"/> <source>Signature File(.sig) Path</source> - <translation type="finished">Ruta del archivo de firma (.sig)</translation> + <translation>Ruta del archivo de firma (.sig)</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="134"/> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="177"/> <source>Open File</source> - <translation type="finished">Abrir documento</translation> + <translation>Abrir documento</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="165"/> <source>Save File</source> - <translation type="finished">Guardar el archivo</translation> + <translation>Guardar el archivo</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="194"/> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="245"/> - <source>Couldn't open file</source> - <translation type="finished">No se pudo abrir el archivo</translation> + <source>Couldn't open file</source> + <translation>No se pudo abrir el archivo</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="213"/> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="224"/> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="235"/> <source>Error</source> - <translation type="finished">Error</translation> + <translation>Error</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="214"/> <source>Error Occurred During Encryption</source> - <translation type="finished">Se produjo un error durante el cifrado</translation> + <translation>Se produjo un error durante el cifrado</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="225"/> <source>Error Occurred During Decryption</source> - <translation type="finished">Se produjo un error durante la descifrado.</translation> + <translation>Se produjo un error durante la descifrado.</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="236"/> <source>Error Occurred During Signature</source> - <translation type="finished">Se produjo un error durante la firma</translation> + <translation>Se produjo un error durante la firma</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="259"/> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="268"/> <source>File</source> - <translation type="finished">Archivo</translation> + <translation>Archivo</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="260"/> <source>File exists! Do you want to overwrite it?</source> - <translation type="finished">¡El archivo existe! ¿Quieres sobreescribirlo?</translation> + <translation>¡El archivo existe! ¿Quieres sobreescribirlo?</translation> </message> <message> <location filename="../../src/ui/FileEncryptionDialog.cpp" line="269"/> <source>Cannot write file %1: %2.</source> - <translation type="finished">No se puede escribir archivo% 1: + <translation>No se puede escribir archivo% 1: % 2.</translation> </message> </context> @@ -300,52 +302,52 @@ <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> <source>Open</source> - <translation type="finished">Abierto</translation> + <translation>Abierto</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> <source>Delete</source> - <translation type="finished">Borrar</translation> + <translation>Borrar</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> <source>Encrypt and Sign</source> - <translation type="finished">Cifrar y firmar</translation> + <translation>Cifrar y firmar</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="167"/> <source>Decrypt and Verify</source> - <translation type="finished">Descifrar y verificar</translation> + <translation>Descifrar y verificar</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="169"/> <source>Only Sign</source> - <translation type="finished">Solo signo</translation> + <translation>Solo signo</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="171"/> <source>Only Verify</source> - <translation type="finished">Solo verificar</translation> + <translation>Solo verificar</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Warning</source> - <translation type="finished">Advertencia</translation> + <translation>Advertencia</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Are you sure you want to delete it?</source> - <translation type="finished">¿Estás seguro de que quieres borrarlo?</translation> + <translation>¿Estás seguro de que quieres borrarlo?</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="233"/> <source>Error</source> - <translation type="finished">Error</translation> + <translation>Error</translation> </message> <message> <location filename="../../src/ui/widgets/FilePage.cpp" line="234"/> <source>Unable to delete the file or folder.</source> - <translation type="finished">No se puede eliminar el archivo o la carpeta.</translation> + <translation>No se puede eliminar el archivo o la carpeta.</translation> </message> </context> <context> @@ -353,65 +355,97 @@ <message> <location filename="../../src/ui/FindWidget.cpp" line="38"/> <source>Find:</source> - <translation type="finished">Encontrar:</translation> + <translation>Encontrar:</translation> </message> </context> <context> <name>GeneralTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="137"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> <source>Remember Password</source> - <translation type="finished">Recordar contraseña</translation> + <translation>Recordar contraseña</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="143"/> <source>Remember password until closing gpg4usb</source> - <translation type="finished">Recuerde la contraseña hasta que cierre GPG4USB</translation> + <translation>Recuerde la contraseña hasta que cierre GPG4USB</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="147"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> <source>Save Checked Keys</source> - <translation type="finished">Guardar las llaves revisadas</translation> + <translation>Guardar las llaves revisadas</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="153"/> <source>Save checked private keys on exit and restore them on next start.</source> - <translation type="finished">Guarda las llaves privadas revisadas en la salida y restaurándolas en el próximo inicio.</translation> + <translation>Guarda las llaves privadas revisadas en la salida y restaurándolas en el próximo inicio.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="159"/> - <source>Confirm drag'n'drop key import</source> - <translation type="finished">Confirmar la tecla Drag'n'n'Drop Import</translation> + <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> + <source>Confirm drag'n'drop key import</source> + <translation>Confirmar la tecla Drag'n'n'Drop Import</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="165"/> <source>Import files dropped on the keylist without confirmation.</source> - <translation type="finished">Importar archivos cayeron en el keylist sin confirmación.</translation> + <translation>Importar archivos cayeron en el keylist sin confirmación.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="169"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="172"/> <source>Language</source> - <translation type="finished">Idioma</translation> + <translation>Idioma</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="178"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="181"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> - <translation type="finished"><B> Nota: </ b> GPGFRontend se reiniciará automáticamente si cambia el idioma!</translation> + <translation><B> Nota: </ b> GPGFRontend se reiniciará automáticamente si cambia el idioma!</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="187"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="190"/> <source>Own key</source> - <translation type="finished">Clave</translation> + <translation>Clave</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="194"/> + <source>Get Service Token</source> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/SettingsDialog.cpp" line="195"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="302"/> + <source>No Service Token Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="201"/> <source><none></source> - <translation type="finished"><ninguno></translation> + <translation><ninguno></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="209"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="217"/> <source>Key pair for synchronization and identity authentication</source> - <translation type="finished">Pareja de llaves para la autenticación de sincronización e identidad</translation> + <translation>Pareja de llaves para la autenticación de sincronización e identidad</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Invalid Operation</source> + <translation type="unfinished">Operación inválida</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Own Key can not be None while getting service token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="363"/> + <source>Error</source> + <translation type="unfinished">Error</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <source>Invalid Service Token Format</source> + <translation type="unfinished"></translation> </message> </context> <context> @@ -419,136 +453,121 @@ <message> <location filename="../../src/gpg/GpgContext.cpp" line="528"/> <source>Wrong password</source> - <translation type="finished">Contraseña incorrecta</translation> + <translation>Contraseña incorrecta</translation> </message> <message> <location filename="../../src/gpg/GpgContext.cpp" line="536"/> <source>Enter Password for</source> - <translation type="finished">Ingrese la contraseña para</translation> + <translation>Ingrese la contraseña para</translation> </message> <message> <location filename="../../src/gpg/GpgContext.cpp" line="540"/> <source>Enter Password</source> - <translation type="finished">Introducir la contraseña</translation> + <translation>Introducir la contraseña</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> <source>Key Selection</source> - <translation type="finished">Selección de claves</translation> + <translation>Selección de claves</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> <source>No Private Key Selected</source> - <translation type="finished">No hay llave privada seleccionada</translation> + <translation>No hay llave privada seleccionada</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="746"/> + <location filename="../../src/gpg/GpgContext.cpp" line="739"/> <source>Error in signing:</source> - <translation type="finished">Error en la firma:</translation> + <translation>Error en la firma:</translation> </message> </context> <context> <name>GpgPathsTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="711"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="794"/> <source>Relative path to keydb</source> - <translation type="finished">Camino relativo a KeyDB</translation> + <translation>Camino relativo a KeyDB</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="724"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="807"/> <source>Current keydb path: </source> - <translation type="finished">Ruta de KeyDB actual:</translation> + <translation>Ruta de KeyDB actual:</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="729"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="812"/> <source><b>NOTE: </b> Gpg4usb will restart automatically if you change the keydb path!</source> - <translation type="finished"><B> Nota: </ b> gpg4usb se reiniciará automáticamente si cambia la ruta KeyDB!</translation> + <translation><B> Nota: </ b> gpg4usb se reiniciará automáticamente si cambia la ruta KeyDB!</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="758"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="841"/> <source>Choose keydb directory</source> - <translation type="finished">Elija el directorio de KeyDB</translation> + <translation>Elija el directorio de KeyDB</translation> </message> </context> <context> <name>ImportFromGnupgPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="302"/> <source>Import keys...</source> - <translation type="finished">Importar teclas ...</translation> + <translation type="vanished">Importar teclas ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="303"/> <source>...from existing GnuPG installation</source> - <translation type="finished">... de la instalación de GNUPG existente</translation> + <translation type="vanished">... de la instalación de GNUPG existente</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="305"/> <source>You can import keys from a locally installed GnuPG.<br><br> The location is read from registry in Windows or assumed to be the .gnupg folder in the your home directory in Linux.<br></source> - <translation type="finished">Puede importar claves desde un GNUPG instalado localmente. <br> <br> La ubicación se lee desde el registro en Windows o se supone que es la carpeta .GNUPG en el directorio de su casa en Linux. <br></translation> + <translation type="vanished">Puede importar claves desde un GNUPG instalado localmente. <br> <br> La ubicación se lee desde el registro en Windows o se supone que es la carpeta .GNUPG en el directorio de su casa en Linux. <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="309"/> <source>Import keys from GnuPG</source> - <translation type="finished">Importar claves de gnupg</translation> + <translation type="vanished">Importar claves de gnupg</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> <source>Import Error</source> - <translation type="finished">Error de importación</translation> + <translation type="vanished">Error de importación</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> - <source>Couldn't locate GnuPG home directory</source> - <translation type="finished">No se pudo localizar el directorio de inicio de gnupg</translation> + <source>Couldn't locate GnuPG home directory</source> + <translation type="vanished">No se pudo localizar el directorio de inicio de gnupg</translation> </message> </context> <context> <name>ImportFromGpg4usbPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Import from...</source> - <translation type="finished">Importar de...</translation> + <translation type="vanished">Importar de...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="226"/> <source>...existing GPGFrontend</source> - <translation type="finished">... gpgfrontend existente</translation> + <translation type="vanished">... gpgfrontend existente</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="228"/> <source>You can import keys and/or settings from existing GPGFrontend. <br><br>Just check what you want to import, click the import button and choose the directory of your other GPGFrontend in the appearing file dialog.</source> - <translation type="finished">Puede importar claves y / o configuraciones desde GPGFrontend existente.<br> <br> Simplemente compruebe lo que desea importar, haga clic en el botón Importar y elija el directorio de su otro GPGFrontend en el cuadro de diálogo de archivo de apariencia.</translation> + <translation type="vanished">Puede importar claves y / o configuraciones desde GPGFrontend existente.<br> <br> Simplemente compruebe lo que desea importar, haga clic en el botón Importar y elija el directorio de su otro GPGFrontend en el cuadro de diálogo de archivo de apariencia.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="235"/> <source>Keys</source> - <translation type="finished">Llaves</translation> + <translation type="vanished">Llaves</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="239"/> <source>Configuration</source> - <translation type="finished">Configuración</translation> + <translation type="vanished">Configuración</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Import from GPGFrontend</source> - <translation type="finished">Importación de GPGFRontend</translation> + <translation type="vanished">Importación de GPGFRontend</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="256"/> <source>Other GPGFrontend directory</source> - <translation type="finished">Otro GPGFrontend Directorio</translation> + <translation type="vanished">Otro GPGFrontend Directorio</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="275"/> <source>Configuration Imported</source> - <translation type="finished">Configuración importada</translation> + <translation type="vanished">Configuración importada</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="276"/> <source>Imported Configuration from old GPGFrontend.<br>Will now restart to activate the configuration.</source> - <translation type="finished">Configuración importada desde el antiguo GPGFrontend. Se reiniciará ahora para activar la configuración.</translation> + <translation type="vanished">Configuración importada desde el antiguo GPGFrontend. Se reiniciará ahora para activar la configuración.</translation> </message> </context> <context> @@ -556,78 +575,78 @@ <message> <location filename="../../src/ui/widgets/InfoBoardWidget.cpp" line="40"/> <source>Import missing key from Keyserver</source> - <translation type="finished">Importar la tecla faltante de Keyserver</translation> + <translation>Importar la tecla faltante de Keyserver</translation> </message> <message> <location filename="../../src/ui/widgets/InfoBoardWidget.cpp" line="57"/> <source>Optional Actions Menu</source> - <translation type="finished">MENÚ DE ACCIONES OPCIONALES</translation> + <translation>MENÚ DE ACCIONES OPCIONALES</translation> </message> </context> <context> <name>InfoTab</name> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="74"/> - <source><br><center>GPGFrontend is an easy-to-use, compact, cross-platform, <br>and installation-free gpg front-end tool.<br>It visualizes most of the common operations of gpg commands.<br>It's licensed under the GPL v3<br><br><b>Developer:</b><br>Saturneric<br><br>If you have any questions or suggestions, raise an issue<br/>at <a href="https://github.com/saturneric/GpgFrontend">GitHub</a> or send a mail to my mailing list at <a href="mailto:[email protected]">[email protected]</a>.</source> - <translation type="finished"><br> <Centre> GPGFRontend es una herramienta de front-end de GPG de fácil uso, compacta, compacta, compacta y sin instalación. <br> Se visualiza la mayoría de las operaciones comunes de los comandos GPG. <BR> Está licenciado bajo el GPL V3 <br> <br> <B> Desarrollador: </ b> <br> Saturnérico <br> <br> Si tiene alguna pregunta o sugerencia, plantee un problema <br/> a <Ahref = "https://github.com/saturnic/gpgfrontend"> github </a> o envíe un correo a mi lista de correo en <a href="mailto [email protected]"> [email protected] </ a>.</translation> + <source><br><center>GPGFrontend is an easy-to-use, compact, cross-platform, <br>and installation-free gpg front-end tool.<br>It visualizes most of the common operations of gpg commands.<br>It's licensed under the GPL v3<br><br><b>Developer:</b><br>Saturneric<br><br>If you have any questions or suggestions, raise an issue<br/>at <a href="https://github.com/saturneric/GpgFrontend">GitHub</a> or send a mail to my mailing list at <a href="mailto:[email protected]">[email protected]</a>.</source> + <translation><br> <Centre> GPGFRontend es una herramienta de front-end de GPG de fácil uso, compacta, compacta, compacta y sin instalación. <br> Se visualiza la mayoría de las operaciones comunes de los comandos GPG. <BR> Está licenciado bajo el GPL V3 <br> <br> <B> Desarrollador: </ b> <br> Saturnérico <br> <br> Si tiene alguna pregunta o sugerencia, plantee un problema <br/> a <Ahref = "https://github.com/saturnic/gpgfrontend"> github </a> o envíe un correo a mi lista de correo en <a href="mailto [email protected]"> [email protected] </ a>.</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="82"/> <source><br><br> Built with Qt </source> - <translation type="finished"><br> <br> construido con qt</translation> + <translation><br> <br> construido con qt</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="83"/> <source> and GPGME </source> - <translation type="finished">y gpgme</translation> + <translation>y gpgme</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="84"/> <source><br>Built at </source> - <translation type="finished"><br> construido en</translation> + <translation><br> construido en</translation> </message> </context> <context> <name>IntroPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="111"/> + <location filename="../../src/ui/Wizard.cpp" line="66"/> <source>Getting Started...</source> - <translation type="finished">Empezando...</translation> + <translation>Empezando...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="112"/> + <location filename="../../src/ui/Wizard.cpp" line="67"/> <source>... with GPGFrontend</source> - <translation type="finished">... con gpgfrontend</translation> + <translation>... con gpgfrontend</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="114"/> + <location filename="../../src/ui/Wizard.cpp" line="69"/> <source>Welcome to use GPGFrontend for decrypting and signing text or file!</source> - <translation type="finished">¡Bienvenido a usar GPGFRontend para descifrar y firmar texto o archivo!</translation> + <translation>¡Bienvenido a usar GPGFRontend para descifrar y firmar texto o archivo!</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="116"/> + <location filename="../../src/ui/Wizard.cpp" line="71"/> <source>is a Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP Crypto Tool.</source> - <translation type="finished">Es una herramienta CRYPTO OpenPGP Potente, fácil de usar, compacta, multiplataforma y sin instalación.</translation> + <translation>Es una herramienta CRYPTO OpenPGP Potente, fácil de usar, compacta, multiplataforma y sin instalación.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="117"/> + <location filename="../../src/ui/Wizard.cpp" line="72"/> <source>For brief information have a look at the</source> - <translation type="finished">Para obtener información breve, eche un vistazo a la</translation> + <translation>Para obtener información breve, eche un vistazo a la</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="118"/> + <location filename="../../src/ui/Wizard.cpp" line="74"/> <source>Overview</source> - <translation type="finished">Descripción general</translation> + <translation>Descripción general</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="119"/> + <location filename="../../src/ui/Wizard.cpp" line="75"/> <source>by clicking the link, the page will open in the web browser</source> - <translation type="finished">Al hacer clic en el enlace, la página se abrirá en el navegador web.</translation> + <translation>Al hacer clic en el enlace, la página se abrirá en el navegador web.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="127"/> + <location filename="../../src/ui/Wizard.cpp" line="83"/> <source>Choose a Language</source> - <translation type="finished">Elegir un idioma</translation> + <translation>Elegir un idioma</translation> </message> </context> <context> @@ -635,182 +654,179 @@ <message> <location filename="../../src/ui/keypair_details/KeyDetailsDialog.cpp" line="31"/> <source>KeyPair</source> - <translation type="finished">Par de claves</translation> + <translation>Par de claves</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyDetailsDialog.cpp" line="32"/> <source>UIDs</source> - <translation type="finished">Uids</translation> + <translation>Uids</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyDetailsDialog.cpp" line="33"/> <source>Subkeys</source> - <translation type="finished">Subcecheras</translation> + <translation>Subcecheras</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyDetailsDialog.cpp" line="40"/> <source>Key Details</source> - <translation type="finished">Detalles clave</translation> + <translation>Detalles clave</translation> </message> </context> <context> <name>KeyGenDialog</name> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="32"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="33"/> <source>Generate Key</source> - <translation type="finished">Generar clave</translation> + <translation>Generar clave</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="68"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="69"/> <source> Name must contain at least five characters. </source> - <translation type="finished">El nombre debe contener al menos cinco caracteres.</translation> + <translation>El nombre debe contener al menos cinco caracteres.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="71"/> <source> Please give a email address. </source> - <translation type="finished">Por favor, proporcione una dirección de correo electrónico.</translation> + <translation>Por favor, proporcione una dirección de correo electrónico.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/> <source> Expiration time no more than 2 years. </source> - <translation type="finished">Tiempo de vencimiento No más de 2 años.</translation> + <translation>Tiempo de vencimiento No más de 2 años.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/> <source>Generating Key...</source> - <translation type="finished">Generando llave ...</translation> + <translation type="vanished">Generando llave ...</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/> <source>Collecting random data for key generation. This may take a while. To speed up the process use your computer (e.g. browse the net, listen to music,...)</source> - <translation type="finished">Recogiendo datos aleatorios para la generación de claves. + <translation type="vanished">Recogiendo datos aleatorios para la generación de claves. Esto puede tardar un rato. Para acelerar el proceso, use su computadora. (Por ejemplo, navega por la red, escucha música, ...)</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="145"/> <source>Key Usage</source> - <translation type="finished">Uso clave</translation> + <translation>Uso clave</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="147"/> <source>Encryption</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> <source>Signing</source> - <translation type="finished">Firma</translation> + <translation>Firma</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/> <source>Certification</source> - <translation type="finished">Certificación</translation> + <translation>Certificación</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/> <source>Authentication</source> - <translation type="finished">Autenticación</translation> + <translation>Autenticación</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>Success</source> - <translation type="finished">Éxito</translation> + <translation>Éxito</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>The new key pair has been generated.</source> - <translation type="finished">Se ha generado el nuevo par de llaves.</translation> + <translation>Se ha generado el nuevo par de llaves.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="116"/> <source>Failure</source> - <translation type="finished">Falla</translation> + <translation>Falla</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> <source>An error occurred during key generation.</source> - <translation type="finished">Se produjo un error durante la generación de claves.</translation> + <translation type="vanished">Se produjo un error durante la generación de claves.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="338"/> <source>Name:</source> - <translation type="finished">Nombre:</translation> + <translation>Nombre:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="339"/> <source>Email Address:</source> - <translation type="finished">Dirección de correo electrónico:</translation> + <translation>Dirección de correo electrónico:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="340"/> <source>Comment:</source> - <translation type="finished">Comentario:</translation> + <translation>Comentario:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="341"/> <source>Expiration Date:</source> - <translation type="finished">Fecha de caducidad:</translation> + <translation>Fecha de caducidad:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="342"/> <source>Never Expire</source> - <translation type="finished">Nunca expira</translation> + <translation>Nunca expira</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="343"/> <source>KeySize (in Bit):</source> - <translation type="finished">Keysize (en bit):</translation> + <translation>Keysize (en bit):</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="344"/> <source>Key Type:</source> - <translation type="finished">Tipo de llave:</translation> + <translation>Tipo de llave:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="345"/> <source>Non Pass Phrase</source> - <translation type="finished">Frase sin paso</translation> + <translation>Frase sin paso</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/> <source>Basic Information</source> - <translation type="finished">Información básica</translation> + <translation>Información básica</translation> </message> </context> <context> <name>KeyGenPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="366"/> + <location filename="../../src/ui/Wizard.cpp" line="183"/> <source>Create a keypair...</source> - <translation type="finished">Crea un keypair ...</translation> + <translation>Crea un keypair ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="367"/> + <location filename="../../src/ui/Wizard.cpp" line="184"/> <source>...for decrypting and signing messages</source> - <translation type="finished">... para descifrar y firmar mensajes</translation> + <translation>... para descifrar y firmar mensajes</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="368"/> + <location filename="../../src/ui/Wizard.cpp" line="185"/> <source>You should create a new keypair.The pair consists of a public and a private key.<br>Other users can use the public key to encrypt messages for you and verify messages signed by you.You can use the private key to decrypt and sign messages.<br>For more information have a look at the offline tutorial (which then is shown in the main window):</source> - <translation type="finished">Debe crear un nuevo teclado. El par consiste en una clave pública y privada. Otros usuarios pueden usar la clave pública para cifrar mensajes para usted y verificar los mensajes firmados por usted. Puede usar la clave privada para descifrar y firmarMensajes. Para más información, eche un vistazo al tutorial fuera de línea (que luego se muestra en la ventana principal):</translation> + <translation>Debe crear un nuevo teclado. El par consiste en una clave pública y privada. Otros usuarios pueden usar la clave pública para cifrar mensajes para usted y verificar los mensajes firmados por usted. Puede usar la clave privada para descifrar y firmarMensajes. Para más información, eche un vistazo al tutorial fuera de línea (que luego se muestra en la ventana principal):</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="375"/> + <location filename="../../src/ui/Wizard.cpp" line="192"/> <source>Offline tutorial</source> - <translation type="finished">Tutorial fuera de línea</translation> + <translation>Tutorial fuera de línea</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="382"/> + <location filename="../../src/ui/Wizard.cpp" line="199"/> <source>Create New Key</source> - <translation type="finished">Crear nueva llave</translation> + <translation>Crear nueva llave</translation> </message> </context> <context> @@ -819,178 +835,178 @@ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="34"/> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="53"/> <source>Key Update Details</source> - <translation type="finished">Detalles de actualización clave</translation> + <translation>Detalles de actualización clave</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="34"/> <source>No keys found</source> - <translation type="finished">No se han encontrado llaves</translation> + <translation>No se han encontrado llaves</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="36"/> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="55"/> <source>Key Import Details</source> - <translation type="finished">Detalles de importación clave</translation> + <translation>Detalles de importación clave</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="36"/> <source>No keys found to import</source> - <translation type="finished">No se han encontrado llaves para importar</translation> + <translation>No se han encontrado llaves para importar</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="64"/> <source>General key info</source> - <translation type="finished">Información general de clave</translation> + <translation>Información general de clave</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="67"/> <source>Considered:</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="71"/> <source>Public unchanged:</source> - <translation type="finished">Público sin cambios:</translation> + <translation>Público sin cambios:</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="76"/> <source>Imported:</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="81"/> <source>Not imported:</source> - <translation type="finished">No importado:</translation> + <translation>No importado:</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="86"/> <source>Private read:</source> - <translation type="finished">LEER PRIVADO:</translation> + <translation>LEER PRIVADO:</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="91"/> <source>Private imported:</source> - <translation type="finished">Importado privado:</translation> + <translation>Importado privado:</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="96"/> <source>Private unchanged:</source> - <translation type="finished">Privado sin cambios:</translation> + <translation>Privado sin cambios:</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="111"/> <source>Name</source> - <translation type="finished">Nombre</translation> + <translation>Nombre</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="111"/> <source>Email</source> - <translation type="finished">Correo electrónico</translation> + <translation>Correo electrónico</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="111"/> <source>Status</source> - <translation type="finished">Estado</translation> + <translation>Estado</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="111"/> <source>Fingerprint</source> - <translation type="finished">Huella dactilar</translation> + <translation>Huella dactilar</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="135"/> <source>private</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="138"/> <source>public</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="141"/> <source>unchanged</source> - <translation type="finished">sin alterar</translation> + <translation>sin alterar</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="144"/> <source>new key</source> - <translation type="finished">nueva llave</translation> + <translation>nueva llave</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="147"/> <source>new subkey</source> - <translation type="finished">Nueva Subkey</translation> + <translation>Nueva Subkey</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="151"/> <source>new signature</source> - <translation type="finished">nueva firma</translation> + <translation>nueva firma</translation> </message> <message> <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="155"/> <source>new uid</source> - <translation type="finished">Nuevo uid</translation> + <translation>Nuevo uid</translation> </message> </context> <context> <name>KeyList</name> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Select</source> - <translation type="finished">Seleccione</translation> + <translation>Seleccione</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Type</source> - <translation type="finished">Tipo</translation> + <translation>Tipo</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Name</source> - <translation type="finished">Nombre</translation> + <translation>Nombre</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Email Address</source> - <translation type="finished">Dirección de correo electrónico</translation> + <translation>Dirección de correo electrónico</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Usage</source> - <translation type="finished">Uso</translation> + <translation>Uso</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Validity</source> - <translation type="finished">Validez</translation> + <translation>Validez</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Finger Print</source> - <translation type="finished">Huella dactilar</translation> + <translation>Huella dactilar</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="302"/> <source>Import Keys</source> - <translation type="finished">Teclas de importación</translation> + <translation>Teclas de importación</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/> - <source>You've dropped something on the table. + <location filename="../../src/ui/widgets/KeyList.cpp" line="305"/> + <source>You've dropped something on the table. GpgFrontend will now try to import key(s).</source> - <translation type="finished">Has dejado caer algo sobre la mesa. + <translation>Has dejado caer algo sobre la mesa. GPGFRontend ahora intentará importar la (s) clave (s).</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="320"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="308"/> <source>Always import without bothering.</source> - <translation type="finished">Siempre importar sin molestarse.</translation> + <translation>Siempre importar sin molestarse.</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="356"/> - <source>Couldn't Open File: </source> - <translation type="finished">No se pudo abrir el archivo:</translation> + <location filename="../../src/ui/widgets/KeyList.cpp" line="341"/> + <source>Couldn't Open File: </source> + <translation>No se pudo abrir el archivo:</translation> </message> </context> <context> @@ -998,250 +1014,250 @@ <message> <location filename="../../src/ui/KeyMgmt.cpp" line="81"/> <source>Key Pair Management</source> - <translation type="finished">Gestión de pares clave</translation> + <translation>Gestión de pares clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="88"/> <source>&Open</source> - <translation type="finished">&Abierto</translation> + <translation>&Abierto</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="89"/> <source>Ctrl+O</source> - <translation type="finished">Ctrl + o</translation> + <translation>Ctrl + o</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="90"/> <source>Open Key File</source> - <translation type="finished">Abrir archivo de clave</translation> + <translation>Abrir archivo de clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="93"/> <source>&Close</source> - <translation type="finished">&Cerca</translation> + <translation>&Cerca</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="94"/> <source>Ctrl+Q</source> - <translation type="finished">Ctrl + Q</translation> + <translation>Ctrl + Q</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="96"/> <source>Close</source> - <translation type="finished">Cerca</translation> + <translation>Cerca</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="99"/> <source>New Keypair</source> - <translation type="finished">Nuevo llave</translation> + <translation>Nuevo llave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="100"/> <source>Ctrl+N</source> - <translation type="finished">Ctrl + n</translation> + <translation>Ctrl + n</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="102"/> <source>Generate KeyPair</source> - <translation type="finished">Generar par de claves</translation> + <translation>Generar par de claves</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="105"/> <source>New Subkey</source> - <translation type="finished">Nueva Subkey</translation> + <translation>Nueva Subkey</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="106"/> <source>Ctrl+Shift+N</source> - <translation type="finished">CTRL + MAYÚS + N</translation> + <translation>CTRL + MAYÚS + N</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="108"/> <source>Generate Subkey For Selected KeyPair</source> - <translation type="finished">Generar subclave para la tecla seleccionada.</translation> + <translation>Generar subclave para la tecla seleccionada.</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="111"/> <location filename="../../src/ui/KeyMgmt.cpp" line="152"/> <source>&File</source> - <translation type="finished">&Archivo</translation> + <translation>&Archivo</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="113"/> <source>Import New Key From File</source> - <translation type="finished">Importar nueva llave desde el archivo</translation> + <translation>Importar nueva llave desde el archivo</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="116"/> <source>&Clipboard</source> - <translation type="finished">&Portapapeles</translation> + <translation>&Portapapeles</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="118"/> <source>Import New Key From Clipboard</source> - <translation type="finished">Importar nueva llave desde el portapapeles</translation> + <translation>Importar nueva llave desde el portapapeles</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="121"/> <source>&Keyserver</source> - <translation type="finished">& Keyserver</translation> + <translation>& Keyserver</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="123"/> <source>Import New Key From Keyserver</source> - <translation type="finished">Importar nueva llave de Keyserver</translation> + <translation>Importar nueva llave de Keyserver</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="126"/> <source>Export To &Clipboard</source> - <translation type="finished">Exportar al portapapeles</translation> + <translation>Exportar al portapapeles</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="128"/> <source>Export Selected Key(s) To Clipboard</source> - <translation type="finished">Exportar la (s) clave (s) seleccionada (s) al portapapeles</translation> + <translation>Exportar la (s) clave (s) seleccionada (s) al portapapeles</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="131"/> <source>Export To &File</source> - <translation type="finished">Exportar a & Archivo</translation> + <translation>Exportar a & Archivo</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="133"/> <source>Export Selected Key(s) To File</source> - <translation type="finished">Exportar clave seleccionada (s) para archivar</translation> + <translation>Exportar clave seleccionada (s) para archivar</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="136"/> <source>Delete Selected Key(s)</source> - <translation type="finished">Eliminar la (s) clave seleccionada (s)</translation> + <translation>Eliminar la (s) clave seleccionada (s)</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="137"/> <source>Delete the Selected keys</source> - <translation type="finished">Eliminar las teclas seleccionadas</translation> + <translation>Eliminar las teclas seleccionadas</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="140"/> <source>Delete Checked Key(s)</source> - <translation type="finished">Eliminar la (s) clave de verificación (s)</translation> + <translation>Eliminar la (s) clave de verificación (s)</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="141"/> <source>Delete the Checked keys</source> - <translation type="finished">Eliminar las teclas marcadas</translation> + <translation>Eliminar las teclas marcadas</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="145"/> <source>Show Key Details</source> - <translation type="finished">Mostrar detalles clave</translation> + <translation>Mostrar detalles clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="146"/> <source>Show Details for this Key</source> - <translation type="finished">Mostrar detalles para esta clave</translation> + <translation>Mostrar detalles para esta clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="156"/> <source>&Key</source> - <translation type="finished">&Clave</translation> + <translation>&Clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="157"/> <source>&Generate Key</source> - <translation type="finished">Generar clave</translation> + <translation>Generar clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="161"/> <source>&Import Key</source> - <translation type="finished">E importar clave</translation> + <translation>E importar clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="173"/> <source>Key</source> - <translation type="finished">Clave</translation> + <translation>Clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="181"/> <source>Generate</source> - <translation type="finished">Generar</translation> + <translation>Generar</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="182"/> <source>Generate A New Keypair or Subkey</source> - <translation type="finished">Generar un nuevo teclado o suba.</translation> + <translation>Generar un nuevo teclado o suba.</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="191"/> <source>Import key</source> - <translation type="finished">Tecla de importación</translation> + <translation>Tecla de importación</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="192"/> <source>Import Key</source> - <translation type="finished">Tecla de importación</translation> + <translation>Tecla de importación</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="213"/> <source>Open Key</source> - <translation type="finished">Llave abierta</translation> + <translation>Llave abierta</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="213"/> <location filename="../../src/ui/KeyMgmt.cpp" line="299"/> <source>Key Files</source> - <translation type="finished">Archivos clave</translation> + <translation>Archivos clave</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="213"/> <source>Keyring files</source> - <translation type="finished">Archivos de llavero</translation> + <translation>Archivos de llavero</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="218"/> - <source>Couldn't Open File: </source> - <translation type="finished">No se pudo abrir el archivo:</translation> + <source>Couldn't Open File: </source> + <translation>No se pudo abrir el archivo:</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="268"/> <source>Deleting Keys</source> - <translation type="finished">Eliminar llaves</translation> + <translation>Eliminar llaves</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="269"/> <source>Are you sure that you want to delete the following keys?</source> - <translation type="finished">¿Está seguro de que desea eliminar las siguientes teclas?</translation> + <translation>¿Está seguro de que desea eliminar las siguientes teclas?</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="270"/> <source>The action can not be undone.</source> - <translation type="finished">La acción no se puede deshacer.</translation> + <translation>La acción no se puede deshacer.</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="299"/> <source>Export Key To File</source> - <translation type="finished">Clave de exportación a archivo</translation> + <translation>Clave de exportación a archivo</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="309"/> <source>key(s) exported</source> - <translation type="finished">llave (s) exportada</translation> + <translation>llave (s) exportada</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="338"/> <location filename="../../src/ui/KeyMgmt.cpp" line="345"/> <source>Invalid Operation</source> - <translation type="finished">Operación inválida</translation> + <translation>Operación inválida</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="339"/> <source>Please select one KeyPair before doing this operation.</source> - <translation type="finished">Por favor seleccione una tecla antes de hacer esta operación.</translation> + <translation>Por favor seleccione una tecla antes de hacer esta operación.</translation> </message> <message> <location filename="../../src/ui/KeyMgmt.cpp" line="346"/> <source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source> - <translation type="finished">Si un par de claves no tiene una clave privada, no podrá generar sub-llaves.</translation> + <translation>Si un par de claves no tiene una clave privada, no podrá generar sub-llaves.</translation> </message> </context> <context> @@ -1249,34 +1265,34 @@ <message> <location filename="../../src/ui/keypair_details/KeyNewUIDDialog.cpp" line="40"/> <source>Name</source> - <translation type="finished">Nombre</translation> + <translation>Nombre</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyNewUIDDialog.cpp" line="41"/> <source>Email</source> - <translation type="finished">Correo electrónico</translation> + <translation>Correo electrónico</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyNewUIDDialog.cpp" line="42"/> <source>Comment</source> - <translation type="finished">Comentario</translation> + <translation>Comentario</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyNewUIDDialog.cpp" line="55"/> <source>Create New UID</source> - <translation type="finished">Crear nuevo uid</translation> + <translation>Crear nuevo uid</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyNewUIDDialog.cpp" line="68"/> <source> Name must contain at least five characters. </source> - <translation type="finished">El nombre debe contener al menos cinco caracteres.</translation> + <translation>El nombre debe contener al menos cinco caracteres.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyNewUIDDialog.cpp" line="70"/> <source> Please give a email address. </source> - <translation type="finished">Por favor, proporcione una dirección de correo electrónico.</translation> + <translation>Por favor, proporcione una dirección de correo electrónico.</translation> </message> </context> <context> @@ -1284,202 +1300,202 @@ <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="34"/> <source>Owner</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="35"/> <source>Master Key</source> - <translation type="finished">Llave maestra</translation> + <translation>Llave maestra</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="36"/> <source>Fingerprint</source> - <translation type="finished">Huella dactilar</translation> + <translation>Huella dactilar</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="37"/> <source>Additional UIDs</source> - <translation type="finished">UIDS adicionales</translation> + <translation>UIDS adicionales</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="58"/> <source>Exists</source> - <translation type="finished">Existe</translation> + <translation>Existe</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="58"/> <source>Not Exists</source> - <translation type="finished">No existe</translation> + <translation>No existe</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="83"/> <source>Name:</source> - <translation type="finished">Nombre:</translation> + <translation>Nombre:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="84"/> <source>Email Address:</source> - <translation type="finished">Dirección de correo electrónico:</translation> + <translation>Dirección de correo electrónico:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="85"/> <source>Comment:</source> - <translation type="finished">Comentario:</translation> + <translation>Comentario:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="90"/> <source>Key ID: </source> - <translation type="finished">ID clave:</translation> + <translation>ID clave:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="91"/> <source>Algorithm: </source> - <translation type="finished">Algoritmo:</translation> + <translation>Algoritmo:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="92"/> <source>Key Size:</source> - <translation type="finished">Tamaño de la llave:</translation> + <translation>Tamaño de la llave:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="93"/> <source>Nominal Usage: </source> - <translation type="finished">Uso nominal:</translation> + <translation>Uso nominal:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="94"/> <source>Actual Usage: </source> - <translation type="finished">Uso actual:</translation> + <translation>Uso actual:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="95"/> <source>Expires on: </source> - <translation type="finished">Expira el:</translation> + <translation>Expira el:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="96"/> <source>Last Update: </source> - <translation type="finished">Última actualización:</translation> + <translation>Última actualización:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="97"/> <source>Secret Key Existence: </source> - <translation type="finished">Existencia clave secreta:</translation> + <translation>Existencia clave secreta:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="121"/> <source>Copy</source> - <translation type="finished">Dupdo</translation> + <translation>Dupdo</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="123"/> <source>copy fingerprint to clipboard</source> - <translation type="finished">Copia la huella digital al portapapeles</translation> + <translation>Copia la huella digital al portapapeles</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="133"/> <source>Operations</source> - <translation type="finished">Operaciones</translation> + <translation>Operaciones</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="136"/> <source>Export Private Key (Include Subkey)</source> - <translation type="finished">Clave privada de exportación (incluir subclave)</translation> + <translation>Clave privada de exportación (incluir subclave)</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="141"/> <source>Modify Expiration Datetime (Master Key)</source> - <translation type="finished">Modificar fecha de vencimiento (clave maestra)</translation> + <translation>Modificar fecha de vencimiento (clave maestra)</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="146"/> <source>Key Server Operation (Pubkey)</source> - <translation type="finished">Operación del servidor clave (Pubkey)</translation> + <translation>Operación del servidor clave (Pubkey)</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="149"/> <source>Generate Revoke Certificate</source> - <translation type="finished">Genera revocar certificado</translation> + <translation>Genera revocar certificado</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="175"/> <source>Warning: The Master Key has expired.</source> - <translation type="finished">Advertencia: la clave maestra ha caducado.</translation> + <translation>Advertencia: la clave maestra ha caducado.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="178"/> <source>Warning: The Master Key has been revoked</source> - <translation type="finished">Advertencia: la clave maestra ha sido revocada</translation> + <translation>Advertencia: la clave maestra ha sido revocada</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="202"/> <source>Exporting private Key</source> - <translation type="finished">Exportación de clave privada</translation> + <translation>Exportación de clave privada</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="203"/> <source>You are about to export your</source> - <translation type="finished">Estás a punto de exportar tu</translation> + <translation>Estás a punto de exportar tu</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="204"/> <source>PRIVATE KEY</source> - <translation type="finished">LLAVE PRIVADA</translation> + <translation>LLAVE PRIVADA</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="205"/> - <source>This is NOT your Public Key, so DON'T give it away.</source> - <translation type="finished">Esta no es su clave pública, así que no lo desye.</translation> + <source>This is NOT your Public Key, so DON'T give it away.</source> + <translation>Esta no es su clave pública, así que no lo desye.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="206"/> <source>Do you REALLY want to export your PRIVATE KEY?</source> - <translation type="finished">¿Realmente quieres exportar tu clave privada?</translation> + <translation>¿Realmente quieres exportar tu clave privada?</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Export Key To File</source> - <translation type="finished">Clave de exportación a archivo</translation> + <translation>Clave de exportación a archivo</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="222"/> <source>Key Files</source> - <translation type="finished">Archivos clave</translation> + <translation>Archivos clave</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="225"/> <source>Export Error</source> - <translation type="finished">Error de exportación</translation> + <translation>Error de exportación</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="225"/> - <source>Couldn't open %1 for writing</source> - <translation type="finished">No se pudo abrir% 1 por escrito.</translation> + <source>Couldn't open %1 for writing</source> + <translation>No se pudo abrir% 1 por escrito.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="295"/> <source>Never Expire</source> - <translation type="finished">Nunca expira</translation> + <translation>Nunca expira</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="315"/> <source>Upload Key Pair to Key Server</source> - <translation type="finished">Cargar un par de claves para clave del servidor</translation> + <translation>Cargar un par de claves para clave del servidor</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="317"/> <source>Update Key Pair</source> - <translation type="finished">Actualizar par de claves</translation> + <translation>Actualizar par de claves</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="340"/> <source>Generate revocation certificate</source> - <translation type="finished">Generar certificado de revocación</translation> + <translation>Generar certificado de revocación</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="343"/> <source>Revocation Certificates</source> - <translation type="finished">Certificados de revocación</translation> + <translation>Certificados de revocación</translation> </message> </context> <context> @@ -1487,87 +1503,87 @@ <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="37"/> <source>Generate A New Subkey</source> - <translation type="finished">Generar una nueva subclave</translation> + <translation>Generar una nueva subclave</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="54"/> <source>Key ID: </source> - <translation type="finished">ID clave:</translation> + <translation>ID clave:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="55"/> <source>Algorithm: </source> - <translation type="finished">Algoritmo:</translation> + <translation>Algoritmo:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="56"/> <source>Key Size:</source> - <translation type="finished">Tamaño de la llave:</translation> + <translation>Tamaño de la llave:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="57"/> <source>Usage: </source> - <translation type="finished">Uso:</translation> + <translation>Uso:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="58"/> <source>Expires On </source> - <translation type="finished">Expira el</translation> + <translation>Expira el</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="59"/> <source>Last Update: </source> - <translation type="finished">Última actualización:</translation> + <translation>Última actualización:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="60"/> <source>Existence: </source> - <translation type="finished">Existencia:</translation> + <translation>Existencia:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="61"/> <source>Fingerprint: </source> - <translation type="finished">Huella dactilar:</translation> + <translation>Huella dactilar:</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="121"/> <source>Subkey ID</source> - <translation type="finished">ID de suba</translation> + <translation>ID de suba</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="121"/> <source>Key Size</source> - <translation type="finished">Tamaño de la llave</translation> + <translation>Tamaño de la llave</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="121"/> <source>Algo</source> - <translation type="finished">Algo</translation> + <translation>Algo</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="121"/> <source>Create Date</source> - <translation type="finished">Fecha de Creación</translation> + <translation>Fecha de Creación</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="121"/> <source>Expire Date</source> - <translation type="finished">Fecha de caducidad</translation> + <translation>Fecha de caducidad</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="161"/> <source>Never Expire</source> - <translation type="finished">Nunca expira</translation> + <translation>Nunca expira</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="185"/> <source>Never Expires</source> - <translation type="finished">Nunca expira</translation> + <translation>Nunca expira</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairSubkeyTab.cpp" line="231"/> <source>Edit Expire Date</source> - <translation type="finished">Editar fecha de vencimiento</translation> + <translation>Editar fecha de vencimiento</translation> </message> </context> <context> @@ -1575,64 +1591,64 @@ <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="39"/> <source>New UID</source> - <translation type="finished">Nuevo uid</translation> + <translation>Nuevo uid</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="40"/> <source>UID Management</source> - <translation type="finished">Gestión UID</translation> + <translation>Gestión UID</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="59"/> <source>UIDs</source> - <translation type="finished">Uids</translation> + <translation>Uids</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="67"/> <source>Signature of Selected UID</source> - <translation type="finished">Firma de UID seleccionado</translation> + <translation>Firma de UID seleccionado</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="103"/> <source>Select</source> - <translation type="finished">Seleccione</translation> + <translation>Seleccione</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="103"/> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="126"/> <source>Name</source> - <translation type="finished">Nombre</translation> + <translation>Nombre</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="103"/> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="126"/> <source>Email</source> - <translation type="finished">Correo electrónico</translation> + <translation>Correo electrónico</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="103"/> <source>Comment</source> - <translation type="finished">Comentario</translation> + <translation>Comentario</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="126"/> <source>Key ID</source> - <translation type="finished">ID clave</translation> + <translation>ID clave</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="126"/> <source>Create Date</source> - <translation type="finished">Fecha de Creación</translation> + <translation>Fecha de Creación</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="126"/> <source>Expired Date</source> - <translation type="finished">Fecha de vencimiento</translation> + <translation>Fecha de vencimiento</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="219"/> <source>Never Expires</source> - <translation type="finished">Nunca expira</translation> + <translation>Nunca expira</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="237"/> @@ -1642,33 +1658,33 @@ <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="480"/> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="487"/> <source>Invalid Operation</source> - <translation type="finished">Operación inválida</translation> + <translation>Operación inválida</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="238"/> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="301"/> <source>Please select one or more UIDs before doing this operation.</source> - <translation type="finished">Seleccione uno o más UID antes de hacer esta operación.</translation> + <translation>Seleccione uno o más UID antes de hacer esta operación.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="263"/> <source>Sign Selected UID(s)</source> - <translation type="finished">Signo de uid seleccionado (s)</translation> + <translation>Signo de uid seleccionado (s)</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="265"/> <source>Delete Selected UID(s)</source> - <translation type="finished">Eliminar UID seleccionado (s)</translation> + <translation>Eliminar UID seleccionado (s)</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="284"/> <source>Successful Operation</source> - <translation type="finished">Operación exitosa</translation> + <translation>Operación exitosa</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="285"/> <source>Successfully added a new UID.</source> - <translation type="finished">Agregó con éxito un nuevo UID.</translation> + <translation>Agregó con éxito un nuevo UID.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="288"/> @@ -1677,7 +1693,7 @@ <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="460"/> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="507"/> <source>Operation Failed</source> - <translation type="finished">Operación fallida</translation> + <translation>Operación fallida</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="289"/> @@ -1686,17 +1702,17 @@ <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="461"/> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="508"/> <source>An error occurred during the operation.</source> - <translation type="finished">Se produjo un error durante la operación.</translation> + <translation>Se produjo un error durante la operación.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="313"/> <source>Deleting UIDs</source> - <translation type="finished">Eliminar UIDS</translation> + <translation>Eliminar UIDS</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="314"/> <source>Are you sure that you want to delete the following uids?</source> - <translation type="finished">¿Está seguro de que desea eliminar los siguientes uids?</translation> + <translation>¿Está seguro de que desea eliminar los siguientes uids?</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="315"/> @@ -1704,73 +1720,73 @@ <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="454"/> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="501"/> <source>The action can not be undone.</source> - <translation type="finished">La acción no se puede deshacer.</translation> + <translation>La acción no se puede deshacer.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="355"/> <source>Set Primary UID</source> - <translation type="finished">Establecer uid primario</translation> + <translation>Establecer uid primario</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="356"/> <source>Are you sure that you want to set the Primary UID to?</source> - <translation type="finished">¿Está seguro de que desea configurar el UID primario para?</translation> + <translation>¿Está seguro de que desea configurar el UID primario para?</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="395"/> <source>Set As Primary</source> - <translation type="finished">Establecer como primario</translation> + <translation>Establecer como primario</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="397"/> <source>Sign UID</source> - <translation type="finished">Muestra uid</translation> + <translation>Muestra uid</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="399"/> <source>Delete UID</source> - <translation type="finished">Eliminar uid</translation> + <translation>Eliminar uid</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="426"/> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="441"/> <source>Please select one UID before doing this operation.</source> - <translation type="finished">Por favor, seleccione una UID antes de hacer esta operación.</translation> + <translation>Por favor, seleccione una UID antes de hacer esta operación.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="452"/> <source>Deleting UID</source> - <translation type="finished">Eliminar uid</translation> + <translation>Eliminar uid</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="453"/> <source>Are you sure that you want to delete the following uid?</source> - <translation type="finished">¿Está seguro de que desea eliminar el siguiente UID?</translation> + <translation>¿Está seguro de que desea eliminar el siguiente UID?</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="469"/> <source>Delete(Revoke) Key Signature</source> - <translation type="finished">Eliminar (revocar) Firma clave</translation> + <translation>Eliminar (revocar) Firma clave</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="481"/> <source>Please select one Key Signature before doing this operation.</source> - <translation type="finished">Seleccione una firma clave antes de hacer esta operación.</translation> + <translation>Seleccione una firma clave antes de hacer esta operación.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="488"/> <source>To delete the signature, you need to have its corresponding public key in the local database.</source> - <translation type="finished">Para eliminar la firma, debe tener su clave pública correspondiente en la base de datos local.</translation> + <translation>Para eliminar la firma, debe tener su clave pública correspondiente en la base de datos local.</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="499"/> <source>Deleting Key Signature</source> - <translation type="finished">Eliminar la firma clave</translation> + <translation>Eliminar la firma clave</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairUIDTab.cpp" line="500"/> <source>Are you sure that you want to delete the following signature?</source> - <translation type="finished">¿Está seguro de que desea eliminar la siguiente firma?</translation> + <translation>¿Está seguro de que desea eliminar la siguiente firma?</translation> </message> </context> <context> @@ -1778,140 +1794,140 @@ <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="40"/> <source>&Close</source> - <translation type="finished">&Cerca</translation> + <translation>&Cerca</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/> <source>&Import ALL</source> - <translation type="finished">E importar todos</translation> + <translation>E importar todos</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/> <source>&Search</source> - <translation type="finished">&Buscar</translation> + <translation>&Buscar</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="45"/> <source>Search String:</source> - <translation type="finished">Cadena de búsqueda:</translation> + <translation>Cadena de búsqueda:</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="49"/> <source>Key Server:</source> - <translation type="finished">Servidor de teclas:</translation> + <translation>Servidor de teclas:</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="97"/> <source>Update Keys from Keyserver</source> - <translation type="finished">Actualizar las teclas de Keyserver</translation> + <translation>Actualizar las teclas de Keyserver</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="99"/> <source>Import Keys from Keyserver</source> - <translation type="finished">Importar claves de Keyserver</translation> + <translation>Importar claves de Keyserver</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="158"/> <source>UID</source> - <translation type="finished">Uid</translation> + <translation>Uid</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="158"/> <source>Creation date</source> - <translation type="finished">Fecha de creación</translation> + <translation>Fecha de creación</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="158"/> <source>KeyID</source> - <translation type="finished">Keyid</translation> + <translation>Keyid</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="158"/> <source>Tag</source> - <translation type="finished">Etiqueta</translation> + <translation>Etiqueta</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="179"/> <source>Text is empty.</source> - <translation type="finished">El texto está vacío.</translation> + <translation>El texto está vacío.</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="213"/> <source>Not Key Found</source> - <translation type="finished">No se encuentra clave</translation> + <translation>No se encuentra clave</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="386"/> <source>Timeout</source> - <translation type="finished">Se acabó el tiempo</translation> + <translation>Se acabó el tiempo</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> <source>Key Server Not Found</source> - <translation type="finished">Servidor de teclas no encontrado</translation> + <translation>Servidor de teclas no encontrado</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> <source>Connection Error</source> - <translation type="finished">Error de conexión</translation> + <translation>Error de conexión</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="230"/> <source>Too many responses from keyserver!</source> - <translation type="finished">Demasiadas respuestas de Keyserver!</translation> + <translation>Demasiadas respuestas de Keyserver!</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="237"/> <source>No keys found, input may be kexId, retrying search with 0x.</source> - <translation type="finished">No se han encontrado llaves, la entrada puede ser kexid, volviendo a intentar la búsqueda con 0x.</translation> + <translation>No se han encontrado llaves, la entrada puede ser kexid, volviendo a intentar la búsqueda con 0x.</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="242"/> <source>No keys found containing the search string!</source> - <translation type="finished">¡No se han encontrado llaves que contengan la cadena de búsqueda!</translation> + <translation>¡No se han encontrado llaves que contengan la cadena de búsqueda!</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="246"/> <source>Insufficiently specific search string!</source> - <translation type="finished">Insuficientemente específica de la cadena de búsqueda!</translation> + <translation>Insuficientemente específica de la cadena de búsqueda!</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="274"/> <source>revoked</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="277"/> <source>disabled</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="317"/> <source><h4>%1 keys found. Double click a key to import it.</h4></source> - <translation type="finished"><h4>% 1 llaves encontradas.Haga doble clic en una tecla para importarlo. </ H4></translation> + <translation><h4>% 1 llaves encontradas.Haga doble clic en una tecla para importarlo. </ H4></translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="383"/> <source>Key Not Found</source> - <translation type="finished">Clave no encontrada</translation> + <translation>Clave no encontrada</translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="410"/> <source><h4>Key Updated</h4></source> - <translation type="finished"><H4> Tecla actualizada </ h4></translation> + <translation><H4> Tecla actualizada </ h4></translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="412"/> <source><h4>Key Imported</h4></source> - <translation type="finished"><H4> Clave importado </ h4></translation> + <translation><H4> Clave importado </ h4></translation> </message> <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="473"/> <source>Upload Keys from Keyserver</source> - <translation type="finished">Subir claves de Keyserver</translation> + <translation>Subir claves de Keyserver</translation> </message> </context> <context> @@ -1919,22 +1935,22 @@ <message> <location filename="../../src/ui/keypair_details/KeySetExpireDateDialog.cpp" line="36"/> <source>Confirm</source> - <translation type="finished">Confirmar</translation> + <translation>Confirmar</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeySetExpireDateDialog.cpp" line="41"/> <source>Never Expire</source> - <translation type="finished">Nunca expira</translation> + <translation>Nunca expira</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeySetExpireDateDialog.cpp" line="61"/> <source>Operation Failed</source> - <translation type="finished">Operación fallida</translation> + <translation>Operación fallida</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeySetExpireDateDialog.cpp" line="62"/> <source>An error occurred during the operation.</source> - <translation type="finished">Se produjo un error durante la operación.</translation> + <translation>Se produjo un error durante la operación.</translation> </message> </context> <context> @@ -1942,73 +1958,73 @@ <message> <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="72"/> <source>Expire Date</source> - <translation type="finished">Fecha de caducidad</translation> + <translation>Fecha de caducidad</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="81"/> - <source>Sign For Key's UID(s)</source> - <translation type="finished">Signo para uid (s) de clave (s)</translation> + <source>Sign For Key's UID(s)</source> + <translation>Signo para uid (s) de clave (s)</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> <source>Unsuccessful Operation</source> - <translation type="finished">Operación fallida</translation> + <translation>Operación fallida</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="101"/> <source>Signature operation failed for UID </source> - <translation type="finished">La operación de la firma falló por UID</translation> + <translation>La operación de la firma falló por UID</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> <source>Operation Complete</source> - <translation type="finished">Operación completa</translation> + <translation>Operación completa</translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="109"/> <source>The signature operation of the UID is complete</source> - <translation type="finished">El funcionamiento de la firma del UID está completo.</translation> + <translation>El funcionamiento de la firma del UID está completo.</translation> </message> </context> <context> <name>KeyUploadDialog</name> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="49"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="47"/> <source>Uploading Public Key</source> - <translation type="finished">Subiendo la clave pública</translation> + <translation>Subiendo la clave pública</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="112"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="110"/> <source>Key Not Found</source> - <translation type="finished">Clave no encontrada</translation> + <translation>Clave no encontrada</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="115"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="113"/> <source>Timeout</source> - <translation type="finished">Se acabó el tiempo</translation> + <translation>Se acabó el tiempo</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="118"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="116"/> <source>Key Server Not Found</source> - <translation type="finished">Servidor de teclas no encontrado</translation> + <translation>Servidor de teclas no encontrado</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="121"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="119"/> <source>Connection Error</source> - <translation type="finished">Error de conexión</translation> + <translation>Error de conexión</translation> </message> </context> <context> <name>KeyserverTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="607"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="690"/> <source>Default Key Server for import:</source> - <translation type="finished">Servidor de tecla predeterminado para importar:</translation> + <translation>Servidor de tecla predeterminado para importar:</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="624"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="707"/> <source>Add</source> - <translation type="finished">Agregar</translation> + <translation>Agregar</translation> </message> </context> <context> @@ -2016,782 +2032,802 @@ <message> <location filename="../../src/MainWindow.cpp" line="35"/> <source>Loading Gnupg</source> - <translation type="finished">Cargando gnupg</translation> + <translation>Cargando gnupg</translation> </message> <message> <location filename="../../src/MainWindow.cpp" line="62"/> <source>ENV Loading Failed</source> - <translation type="finished">Enviando env falla</translation> + <translation>Enviando env falla</translation> </message> <message> <location filename="../../src/MainWindow.cpp" line="63"/> <source>Gnupg is not installed correctly, please follow the ReadME instructions to install gnupg and then open GPGFrontend.</source> - <translation type="finished">GNUPG no está instalado correctamente, siga las instrucciones de README para instalar GNUPG y luego abrir GPGFRontend.</translation> + <translation>GNUPG no está instalado correctamente, siga las instrucciones de README para instalar GNUPG y luego abrir GPGFRontend.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="41"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="596"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="773"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="956"/> <source>No Key Selected</source> - <translation type="finished">Sin llave seleccionada</translation> + <translation>Sin llave seleccionada</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="48"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="127"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="603"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="780"/> <source>Invalid Operation</source> - <translation type="finished">Operación inválida</translation> + <translation>Operación inválida</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="49"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="604"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> - <translation type="finished">La clave seleccionada contiene una clave que en realidad no tiene un uso de cifrado. <br/></translation> + <translation>La clave seleccionada contiene una clave que en realidad no tiene un uso de cifrado. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="50"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="129"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="605"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="782"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="970"/> <source><br/>For example the Following Key: <br/></source> - <translation type="finished"><br/> Por ejemplo, la siguiente clave: <br/></translation> + <translation><br/> Por ejemplo, la siguiente clave: <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="68"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="625"/> <source>Encrypting</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="371"/> <source>Function Disabled</source> - <translation type="finished">Función desactivada</translation> + <translation>Función desactivada</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="98"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="372"/> <source>Please go to the settings interface to enable and configure this function.</source> - <translation type="finished">Por favor, vaya a la interfaz de configuración para habilitar y configurar esta función.</translation> + <translation>Por favor, vaya a la interfaz de configuración para habilitar y configurar esta función.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> - <translation type="finished">La clave seleccionada contiene una clave que en realidad no tiene un uso de la firma. <br/></translation> + <translation>La clave seleccionada contiene una clave que en realidad no tiene un uso de la firma. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="145"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="802"/> <source>Signing</source> - <translation type="finished">Firma</translation> + <translation>Firma</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/> <source>Decrypting</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="249"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="887"/> <source>Verifying</source> - <translation type="finished">Verificar</translation> + <translation>Verificar</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="301"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="968"/> <source>Invalid KeyPair</source> - <translation type="finished">Teclado no válido</translation> + <translation>Teclado no válido</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="969"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> - <translation type="finished">El teclado seleccionado no se puede utilizar para la firma y el cifrado al mismo tiempo. <br/></translation> + <translation>El teclado seleccionado no se puede utilizar para la firma y el cifrado al mismo tiempo. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="313"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/> <source>Incomplete Operation</source> - <translation type="finished">Operación incompleta</translation> + <translation>Operación incompleta</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="981"/> <source>None of the selected key pairs can provide the encryption function.</source> - <translation type="finished">Ninguno de los pares de teclas seleccionados puede proporcionar la función de cifrado.</translation> + <translation>Ninguno de los pares de teclas seleccionados puede proporcionar la función de cifrado.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="988"/> <source>None of the selected key pairs can provide the signature function.</source> - <translation type="finished">Ninguno de los pares de teclas seleccionados puede proporcionar la función de firma.</translation> + <translation>Ninguno de los pares de teclas seleccionados puede proporcionar la función de firma.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1007"/> <source>Encrypting and Signing</source> - <translation type="finished">Cifrado y firma</translation> + <translation>Cifrado y firma</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="378"/> + <source>Service Token Empty</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="379"/> + <source>Please go to the settings interface to set Own Key and get Service Token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="413"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> <source>Decrypting and Verifying</source> - <translation type="finished">Descifrar y verificar</translation> - </message> - <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <translation>Descifrar y verificar</translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Invalid Own Key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Own Key can not be use to do any operation.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>Error</source> - <translation type="finished">Error</translation> + <translation>Error</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> <source>Select a file before doing it.</source> - <translation type="finished">Seleccione un archivo antes de hacerlo.</translation> + <translation>Seleccione un archivo antes de hacerlo.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> <source>No permission to read this file.</source> - <translation type="finished">No hay permiso para leer este archivo.</translation> + <translation>No hay permiso para leer este archivo.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> <source>No permission to create file.</source> - <translation type="finished">No hay permiso para crear un archivo.</translation> + <translation>No hay permiso para crear un archivo.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="583"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="760"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="943"/> <source>Warning</source> - <translation type="finished">Advertencia</translation> + <translation>Advertencia</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="584"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="685"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="761"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="944"/> <source>The target file already exists, do you need to overwrite it?</source> - <translation type="finished">El archivo objetivo ya existe, ¿necesita sobrescribirlo?</translation> + <translation>El archivo objetivo ya existe, ¿necesita sobrescribirlo?</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>An error occurred during operation.</source> - <translation type="finished">Se produjo un error durante la operación.</translation> + <translation>Se produjo un error durante la operación.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="861"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> - <translation type="finished">Por favor, seleccione el archivo de destino o firma apropiado.Asegúrese de que ambos estén en este directorio.</translation> + <translation>Por favor, seleccione el archivo de destino o firma apropiado.Asegúrese de que ambos estén en este directorio.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> <source>No permission to read target file.</source> - <translation type="finished">No hay permiso para leer el archivo de destino.</translation> + <translation>No hay permiso para leer el archivo de destino.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> <source>No permission to read signature file.</source> - <translation type="finished">No hay permiso para leer el archivo de firma.</translation> + <translation>No hay permiso para leer el archivo de firma.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> <source>Select a file(.gpg/.asc) before doing it.</source> - <translation type="finished">Seleccione un archivo (.gpg / .asc) antes de hacerlo.</translation> + <translation>Seleccione un archivo (.gpg / .asc) antes de hacerlo.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1153"/> <source>Outdated Version</source> - <translation type="finished">Versión desactualizada</translation> + <translation>Versión desactualizada</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1154"/> <source>This version(%1) is out of date, please update the latest version in time. </source> - <translation type="finished">Esta versión (% 1) está desactualizada, actualice la última versión en el tiempo.</translation> + <translation>Esta versión (% 1) está desactualizada, actualice la última versión en el tiempo.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1156"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1163"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> - <translation type="finished">Puede descargar la última versión (% 1) en la página de lanzamientos GitHub. <br/></translation> + <translation>Puede descargar la última versión (% 1) en la página de lanzamientos GitHub. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1160"/> <source>Unreleased Version</source> - <translation type="finished">Versión inédita</translation> + <translation>Versión inédita</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1161"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> - <translation type="finished">Esta versión (% 1) no se ha liberado oficialmente y no se recomienda para su uso en un entorno de producción.<br/></translation> + <translation>Esta versión (% 1) no se ha liberado oficialmente y no se recomienda para su uso en un entorno de producción.<br/></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="58"/> <source>There is one unencrypted file in attachment folder</source> - <translation type="finished">Hay un archivo sin cifrado en la carpeta de archivos adjuntos</translation> + <translation>Hay un archivo sin cifrado en la carpeta de archivos adjuntos</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="60"/> <source>There are </source> - <translation type="finished">Existen</translation> + <translation>Existen</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="60"/> <source> unencrypted files in attachment folder</source> - <translation type="finished">Archivos sin cifrar en la carpeta ADJUNTO</translation> + <translation>Archivos sin cifrar en la carpeta ADJUNTO</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="30"/> <source>&New</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="36"/> <source>Open a new file</source> - <translation type="finished">Abrir un nuevo archivo</translation> + <translation>Abrir un nuevo archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="39"/> <source>&Open...</source> - <translation type="finished">&Abierto...</translation> + <translation>&Abierto...</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="42"/> <source>Open an existing file</source> - <translation type="finished">Abra un archivo existente</translation> + <translation>Abra un archivo existente</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="45"/> <source>&Browser</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="47"/> <source>Open a file browser</source> - <translation type="finished">Abra un navegador de archivos</translation> + <translation>Abra un navegador de archivos</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="50"/> <source>&Save</source> - <translation type="finished">&Ahorrar</translation> + <translation>&Ahorrar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="53"/> <source>Save the current File</source> - <translation type="finished">Guarda el archivo actual</translation> + <translation>Guarda el archivo actual</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="56"/> <source>Save &As</source> - <translation type="finished">Guardar como</translation> + <translation>Guardar como</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="59"/> <source>Save the current File as...</source> - <translation type="finished">Guarde el archivo actual como ...</translation> + <translation>Guarde el archivo actual como ...</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="62"/> <source>&Print</source> - <translation type="finished">&Impresión</translation> + <translation>&Impresión</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="65"/> <source>Print Document</source> - <translation type="finished">Imprimir documento</translation> + <translation>Imprimir documento</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="68"/> <source>&Close</source> - <translation type="finished">&Cerca</translation> + <translation>&Cerca</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="70"/> <source>Close file</source> - <translation type="finished">Cerrar el archivo</translation> + <translation>Cerrar el archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="73"/> <source>&Quit</source> - <translation type="finished">&Dejar</translation> + <translation>&Dejar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="76"/> <source>Quit Program</source> - <translation type="finished">Programa de dejar de fumar</translation> + <translation>Programa de dejar de fumar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="81"/> <source>&Undo</source> - <translation type="finished">&Deshacer</translation> + <translation>&Deshacer</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="83"/> <source>Undo Last Edit Action</source> - <translation type="finished">Deshacer Última edición de acción</translation> + <translation>Deshacer Última edición de acción</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="86"/> <source>&Redo</source> - <translation type="finished">&Rehacer</translation> + <translation>&Rehacer</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="88"/> <source>Redo Last Edit Action</source> - <translation type="finished">Rehacer la última acción de edición</translation> + <translation>Rehacer la última acción de edición</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="91"/> <source>Zoom In</source> - <translation type="finished">Acercarse</translation> + <translation>Acercarse</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="95"/> <source>Zoom Out</source> - <translation type="finished">Disminuir el zoom</translation> + <translation>Disminuir el zoom</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="99"/> <source>&Paste</source> - <translation type="finished">&Pegar</translation> + <translation>&Pegar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="102"/> <source>Paste Text From Clipboard</source> - <translation type="finished">Pegar texto del portapapeles</translation> + <translation>Pegar texto del portapapeles</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="105"/> <source>Cu&t</source> - <translation type="finished">Con & t.</translation> + <translation>Con & t.</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="108"/> - <source>Cut the current selection's contents to the clipboard</source> - <translation type="finished">Cortar los contenidos de la selección actual al portapapeles.</translation> + <source>Cut the current selection's contents to the clipboard</source> + <translation>Cortar los contenidos de la selección actual al portapapeles.</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="112"/> <source>&Copy</source> - <translation type="finished">&Dupdo</translation> + <translation>&Dupdo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="115"/> - <source>Copy the current selection's contents to the clipboard</source> - <translation type="finished">Copia los contenidos de la selección actual al portapapeles.</translation> + <source>Copy the current selection's contents to the clipboard</source> + <translation>Copia los contenidos de la selección actual al portapapeles.</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="119"/> <source>&Quote</source> - <translation type="finished">& quot</translation> + <translation>& quot</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="121"/> <source>Quote whole text</source> - <translation type="finished">Cita todo el texto</translation> + <translation>Cita todo el texto</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="124"/> <source>Select &All</source> - <translation type="finished">Seleccionar todo</translation> + <translation>Seleccionar todo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="127"/> <source>Select the whole text</source> - <translation type="finished">Seleccione todo el texto</translation> + <translation>Seleccione todo el texto</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="130"/> <source>&Find</source> - <translation type="finished">&Encontrar</translation> + <translation>&Encontrar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="132"/> <source>Find a word</source> - <translation type="finished">Encontrar una palabra</translation> + <translation>Encontrar una palabra</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="135"/> <source>Remove &spacing</source> - <translation type="finished">Retirar y espaciar</translation> + <translation>Retirar y espaciar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="138"/> <source>Remove double linebreaks, e.g. in pasted text from webmailer</source> - <translation type="finished">Retire las letras dobles, por ejemplo.En texto pegado desde Webmailer.</translation> + <translation>Retire las letras dobles, por ejemplo.En texto pegado desde Webmailer.</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="141"/> <source>Se&ttings</source> - <translation type="finished">Y tutting</translation> + <translation>Y tutting</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="142"/> <source>Open settings dialog</source> - <translation type="finished">Abrir configuración de diálogo</translation> + <translation>Abrir configuración de diálogo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="148"/> <source>&Encrypt</source> - <translation type="finished">Y cifrar</translation> + <translation>Y cifrar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="151"/> <source>Encrypt Message</source> - <translation type="finished">Cifrar mensaje</translation> + <translation>Cifrar mensaje</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="154"/> <source>&Encrypt &Sign</source> - <translation type="finished">& Cifrar y firmar</translation> + <translation>& Cifrar y firmar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="157"/> <source>Encrypt and Sign Message</source> - <translation type="finished">Cifrar y firmar mensaje</translation> + <translation>Cifrar y firmar mensaje</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="160"/> <source>&Decrypt</source> - <translation type="finished">Y descifrar</translation> + <translation>Y descifrar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="163"/> <source>Decrypt Message</source> - <translation type="finished">Mensaje de descifra</translation> + <translation>Mensaje de descifra</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="166"/> <source>&Decrypt &Verify</source> - <translation type="finished">Y descifrar y verificar</translation> + <translation>Y descifrar y verificar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="169"/> <source>Decrypt and Verify Message</source> - <translation type="finished">Descifrar y verificar el mensaje</translation> + <translation>Descifrar y verificar el mensaje</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="175"/> <source>&Encrypt File</source> - <translation type="finished">Cifrar archivo</translation> + <translation>Cifrar archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="176"/> <source>Encrypt File</source> - <translation type="finished">Cifrar archivo</translation> + <translation>Cifrar archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="179"/> <source>&Decrypt File</source> - <translation type="finished">Archivo de descifrado</translation> + <translation>Archivo de descifrado</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="180"/> <source>Decrypt File</source> - <translation type="finished">Archivo de descifrado</translation> + <translation>Archivo de descifrado</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="183"/> <source>&Sign File</source> - <translation type="finished">Y firmar archivo</translation> + <translation>Y firmar archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="184"/> <source>Sign File</source> - <translation type="finished">Archivo de firma</translation> + <translation>Archivo de firma</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="187"/> <source>&Verify File</source> - <translation type="finished">Y verificar el archivo</translation> + <translation>Y verificar el archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="188"/> <source>Verify File</source> - <translation type="finished">Verificar archivo</translation> + <translation>Verificar archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="192"/> <source>&Sign</source> - <translation type="finished">&Firmar</translation> + <translation>&Firmar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="195"/> <source>Sign Message</source> - <translation type="finished">Mensaje de signo</translation> + <translation>Mensaje de signo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="198"/> <source>&Verify</source> - <translation type="finished">&Verificar</translation> + <translation>&Verificar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="201"/> <source>Verify Message</source> - <translation type="finished">Verificar mensaje</translation> + <translation>Verificar mensaje</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="207"/> <source>&Editor</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="209"/> <source>Import New Key From Editor</source> - <translation type="finished">Importar nueva clave del editor</translation> + <translation>Importar nueva clave del editor</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="212"/> <source>Manage &Keys</source> - <translation type="finished">Gestión y llaves</translation> + <translation>Gestión y llaves</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="214"/> <source>Open Keymanagement</source> - <translation type="finished">MANIFICACIÓN ABIERTA</translation> + <translation>MANIFICACIÓN ABIERTA</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="220"/> <source>&About</source> - <translation type="finished">&Acerca de</translation> + <translation>&Acerca de</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="222"/> - <source>Show the application's About box</source> - <translation type="finished">Muestra la siguiente aplicación</translation> + <source>Show the application's About box</source> + <translation>Muestra la siguiente aplicación</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="228"/> <source>&Check for Updates</source> - <translation type="finished">Compruebe las actualizaciones</translation> + <translation>Compruebe las actualizaciones</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="230"/> <source>Check for updates</source> - <translation type="finished">Compruebe las actualizaciones</translation> + <translation>Compruebe las actualizaciones</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="233"/> <source>Open &Wizard</source> - <translation type="finished">Abierto y asistente</translation> + <translation>Abierto y asistente</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="234"/> <source>Open the wizard</source> - <translation type="finished">Abrir el asistente</translation> + <translation>Abrir el asistente</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="239"/> <source>Append Selected Key(s) To Text</source> - <translation type="finished">Anexar la (s) clave (s) seleccionada (s) al texto</translation> + <translation>Anexar la (s) clave (s) seleccionada (s) al texto</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="240"/> <source>Append The Selected Keys To Text in Editor</source> - <translation type="finished">Anexar las teclas seleccionadas al texto en el editor</translation> + <translation>Anexar las teclas seleccionadas al texto en el editor</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="243"/> <source>Copy Email</source> - <translation type="finished">Copiar el correo electrónico</translation> + <translation>Copiar el correo electrónico</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="244"/> <source>Copy selected Email to clipboard</source> - <translation type="finished">Copia el correo electrónico seleccionado al portapapeles.</translation> + <translation>Copia el correo electrónico seleccionado al portapapeles.</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="248"/> <source>Show Key Details</source> - <translation type="finished">Mostrar detalles clave</translation> + <translation>Mostrar detalles clave</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="249"/> <source>Show Details for this Key</source> - <translation type="finished">Mostrar detalles para esta clave</translation> + <translation>Mostrar detalles para esta clave</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="252"/> <source>Refresh Key From Key Server</source> - <translation type="finished">Actualizar la llave del servidor clave</translation> + <translation>Actualizar la llave del servidor clave</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="253"/> <source>Refresh key from default key server</source> - <translation type="finished">Actualizar la tecla del servidor de clave predeterminado</translation> + <translation>Actualizar la tecla del servidor de clave predeterminado</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="256"/> <source>Upload Public Key(s) To Server</source> - <translation type="finished">Cargar la (s) clave pública al servidor</translation> + <translation>Cargar la (s) clave pública al servidor</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="257"/> <source>Upload The Selected Public Keys To Server</source> - <translation type="finished">Sube las claves públicas seleccionadas para el servidor</translation> + <translation>Sube las claves públicas seleccionadas para el servidor</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="272"/> <source>Remove PGP Header</source> - <translation type="finished">Retire el encabezado PGP</translation> + <translation>Retire el encabezado PGP</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="275"/> <source>Add PGP Header</source> - <translation type="finished">Añadir PGP Encabezado</translation> + <translation>Añadir PGP Encabezado</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="280"/> <source>&File</source> - <translation type="finished">&Archivo</translation> + <translation>&Archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="293"/> <source>&Edit</source> - <translation type="finished">&Editar</translation> + <translation>&Editar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="311"/> <source>&File...</source> - <translation type="finished">&Archivo...</translation> + <translation>&Archivo...</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="317"/> <source>&Crypt</source> - <translation type="finished">&Cripta</translation> + <translation>&Cripta</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="328"/> <source>&Keys</source> - <translation type="finished">&Llaves</translation> + <translation>&Llaves</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="329"/> <source>&Import Key</source> - <translation type="finished">E importar clave</translation> + <translation>E importar clave</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="338"/> <source>&Steganography</source> - <translation type="finished">Steganography</translation> + <translation>Steganography</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="347"/> <source>&View</source> - <translation type="finished">&Vista</translation> + <translation>&Vista</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="349"/> <source>&Help</source> - <translation type="finished">&Ayudar</translation> + <translation>&Ayudar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="358"/> <source>File</source> - <translation type="finished">Archivo</translation> + <translation>Archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="366"/> <source>Crypt</source> - <translation type="finished">Cripta</translation> + <translation>Cripta</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="376"/> <source>Key</source> - <translation type="finished">Clave</translation> + <translation>Clave</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="381"/> <source>Edit</source> - <translation type="finished">Editar</translation> + <translation>Editar</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="388"/> <source>Special Edit</source> - <translation type="finished">Edición especial</translation> + <translation>Edición especial</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="400"/> <source>Import key from...</source> - <translation type="finished">Clave de importación de ...</translation> + <translation>Clave de importación de ...</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="401"/> <source>Import key</source> - <translation type="finished">Tecla de importación</translation> + <translation>Tecla de importación</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="409"/> <source>Browser to view and operate file</source> - <translation type="finished">Navegador para ver y operar el archivo</translation> + <translation>Navegador para ver y operar el archivo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="410"/> <source>Browser</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="428"/> <source>Ready</source> - <translation type="finished">Listo</translation> + <translation>Listo</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="435"/> <source>Key ToolBox</source> - <translation type="finished">Caja de herramientas clave</translation> + <translation>Caja de herramientas clave</translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="443"/> <source>Information Board</source> - <translation type="finished">Tarjeta de la información</translation> + <translation>Tarjeta de la información</translation> </message> </context> <context> @@ -2799,107 +2835,107 @@ <message> <location filename="../../src/gpg/result_analyse/DecryptResultAnalyse.cpp" line="42"/> <source>>Recipient: </source> - <translation type="finished">> Recipiente:</translation> + <translation>> Recipiente:</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="35"/> <source>One or More Bad Signatures.</source> - <translation type="finished">Una o más firmas malas.</translation> + <translation>Una o más firmas malas.</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="40"/> <source>A </source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="42"/> <source>Good </source> - <translation type="finished">Bien</translation> + <translation>Bien</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="45"/> <source>Bad </source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="48"/> <source>Expired </source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="51"/> - <source>Missing Key's </source> - <translation type="finished">Llaves perdidas</translation> + <source>Missing Key's </source> + <translation>Llaves perdidas</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="54"/> - <source>Revoked Key's </source> - <translation type="finished">Clave revocada</translation> + <source>Revoked Key's </source> + <translation>Clave revocada</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="57"/> - <source>Expired Key's </source> - <translation type="finished">Key caducado</translation> + <source>Expired Key's </source> + <translation>Key caducado</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="60"/> - <source>Missing CRL's </source> - <translation type="finished">Falta CRL</translation> + <source>Missing CRL's </source> + <translation>Falta CRL</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="64"/> <source>Signature Fully Valid.</source> - <translation type="finished">Firma totalmente válida.</translation> + <translation>Firma totalmente válida.</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="66"/> <source>Signature NOT Fully Valid.</source> - <translation type="finished">Firma no completamente válida.</translation> + <translation>Firma no completamente válida.</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="74"/> <source>Key is NOT present with ID 0x</source> - <translation type="finished">La llave no está presente con ID 0x</translation> + <translation>La llave no está presente con ID 0x</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="81"/> <source>A signature could NOT be verified due to a Missing Key </source> - <translation type="finished">No se pudo verificar una firma debido a una llave faltante.</translation> + <translation>No se pudo verificar una firma debido a una llave faltante.</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="85"/> <source>A signature is valid but the key used to verify the signature has been revoked </source> - <translation type="finished">Una firma es válida, pero la clave utilizada para verificar la firma ha sido revocada</translation> + <translation>Una firma es válida, pero la clave utilizada para verificar la firma ha sido revocada</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="93"/> <source>A signature is valid but expired </source> - <translation type="finished">Una firma es válida pero caducada.</translation> + <translation>Una firma es válida pero caducada.</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="100"/> <source>A signature is valid but the key used to verify the signature has expired. </source> - <translation type="finished">Una firma es válida, pero la clave utilizada para verificar la firma ha caducado.</translation> + <translation>Una firma es válida, pero la clave utilizada para verificar la firma ha caducado.</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="107"/> <source>There was some other error which prevented the signature verification. </source> - <translation type="finished">Hubo algún otro error que impidió la verificación de la firma.</translation> + <translation>Hubo algún otro error que impidió la verificación de la firma.</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="113"/> <source>Error for key with fingerprint </source> - <translation type="finished">Error a la llave con la huella digital</translation> + <translation>Error a la llave con la huella digital</translation> </message> <message> <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="128"/> <source>Signed By: </source> - <translation type="finished">Firmado por:</translation> + <translation>Firmado por:</translation> </message> </context> <context> @@ -2907,22 +2943,22 @@ <message> <location filename="../../src/ui/QuitDialog.cpp" line="29"/> <source>Unsaved Files</source> - <translation type="finished">Archivos no guardados</translation> + <translation>Archivos no guardados</translation> </message> <message> <location filename="../../src/ui/QuitDialog.cpp" line="77"/> <source>%1 files contain unsaved information.<br/>Save the changes before closing?</source> - <translation type="finished">% 1 Los archivos contienen información no guardada. <br/> ¡Guarda los cambios antes de cerrar?</translation> + <translation>% 1 Los archivos contienen información no guardada. <br/> ¡Guarda los cambios antes de cerrar?</translation> </message> <message> <location filename="../../src/ui/QuitDialog.cpp" line="88"/> <source>Check the files you want to save:</source> - <translation type="finished">Compruebe los archivos que desea guardar:</translation> + <translation>Compruebe los archivos que desea guardar:</translation> </message> <message> <location filename="../../src/ui/QuitDialog.cpp" line="89"/> - <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> - <translation type="finished"><b> Nota: </ b> Si no guarda estos archivos, todos los cambios se pierden. <br/></translation> + <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> + <translation><b> Nota: </ b> Si no guarda estos archivos, todos los cambios se pierden. <br/></translation> </message> </context> <context> @@ -2930,264 +2966,266 @@ <message> <location filename="../../src/ui/SendMailDialog.cpp" line="35"/> <source>Incomplete configuration</source> - <translation type="finished">Configuración incompleta</translation> + <translation>Configuración incompleta</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="36"/> <source>The SMTP address is empty, please go to the setting interface to complete the configuration.</source> - <translation type="finished">La dirección SMTP está vacía, vaya a la interfaz de configuración para completar la configuración.</translation> + <translation>La dirección SMTP está vacía, vaya a la interfaz de configuración para completar la configuración.</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="86"/> <source> Recipient cannot be empty </source> - <translation type="finished">El destinatario no puede estar vacío</translation> + <translation>El destinatario no puede estar vacío</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="91"/> - <source> One or more Recipient's Email Address is invalid + <source> One or more Recipient's Email Address is invalid </source> - <translation type="finished">Una o más dirección de correo electrónico del destinatario no es válida</translation> + <translation>Una o más dirección de correo electrónico del destinatario no es válida</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="97"/> <source> Sender cannot be empty </source> - <translation type="finished">El remitente no puede estar vacío</translation> + <translation>El remitente no puede estar vacío</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="99"/> - <source> Sender's Email Address is invalid + <source> Sender's Email Address is invalid </source> - <translation type="finished">La dirección de correo electrónico del remitente no es válida</translation> + <translation>La dirección de correo electrónico del remitente no es válida</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail</source> - <translation type="finished">Fallar</translation> + <translation>Fallar</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> <source>Fail to Connect SMTP Server</source> - <translation type="finished">Falla en conectar el servidor SMTP</translation> + <translation>Falla en conectar el servidor SMTP</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> <source>Fail to Login into SMTP Server</source> - <translation type="finished">No iniciar sesión en el servidor SMTP</translation> + <translation>No iniciar sesión en el servidor SMTP</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail to Send Mail to SMTP Server</source> - <translation type="finished">No enviar correo al servidor SMTP</translation> + <translation>No enviar correo al servidor SMTP</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Success</source> - <translation type="finished">Éxito</translation> + <translation>Éxito</translation> </message> <message> <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Succeed in Sending Mail to SMTP Server</source> - <translation type="finished">Tener éxito en enviar correo al servidor SMTP</translation> + <translation>Tener éxito en enviar correo al servidor SMTP</translation> </message> </context> <context> <name>SendMailTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="289"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="377"/> <source>Enable</source> - <translation type="finished">Permitir</translation> + <translation>Permitir</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="395"/> + <source>Check Connection</source> + <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="311"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="399"/> <source>SMTP Address</source> - <translation type="finished">Dirección SMTP</translation> + <translation>Dirección SMTP</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="313"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="401"/> <source>Username</source> - <translation type="finished">Nombre de usuario</translation> + <translation>Nombre de usuario</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="315"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="403"/> <source>Password</source> - <translation type="finished">Contraseña</translation> + <translation>Contraseña</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="317"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="405"/> <source>Port</source> - <translation type="finished">Puerto</translation> + <translation>Puerto</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="407"/> <source>Connection Security</source> - <translation type="finished">Seguridad de la conexión</translation> + <translation>Seguridad de la conexión</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="322"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="410"/> <source>Default Sender</source> - <translation type="finished">Remitente predeterminado</translation> + <translation>Remitente predeterminado</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail</source> - <translation type="finished">Fallar</translation> + <translation>Fallar</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> <source>Fail to Connect SMTP Server</source> - <translation type="finished">Falla en conectar el servidor SMTP</translation> + <translation>Falla en conectar el servidor SMTP</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail to Login</source> - <translation type="finished">Falla en iniciar sesión</translation> + <translation>Falla en iniciar sesión</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Success</source> - <translation type="finished">Éxito</translation> + <translation>Éxito</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Succeed in connecting and login</source> - <translation type="finished">Tener éxito en la conexión e inicio de sesión</translation> + <translation>Tener éxito en la conexión e inicio de sesión</translation> </message> </context> <context> <name>SettingsDialog</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="40"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> <source>General</source> - <translation type="finished">General</translation> + <translation>General</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="41"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="44"/> <source>Appearance</source> - <translation type="finished">Apariencia</translation> + <translation>Apariencia</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="42"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> <source>Send Mail</source> - <translation type="finished">Enviar correo</translation> + <translation>Enviar correo</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="46"/> <source>Key Server</source> - <translation type="finished">Servidor clave</translation> + <translation>Servidor clave</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="48"/> <source>Advanced</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="58"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="61"/> <source>Settings</source> - <translation type="finished">Ajustes</translation> + <translation>Ajustes</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="103"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="106"/> <source>System Default</source> - <translation type="finished">Sistema por defecto</translation> + <translation>Sistema por defecto</translation> </message> </context> <context> <name>SubkeyGenerateDialog</name> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="46"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="47"/> <source>Generate New Subkey</source> - <translation type="finished">Generar nueva subclave</translation> + <translation>Generar nueva subclave</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="61"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="62"/> <source>Encryption</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="64"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="65"/> <source>Signing</source> - <translation type="finished">Firma</translation> + <translation>Firma</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="67"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="68"/> <source>Certification</source> - <translation type="finished">Certificación</translation> + <translation>Certificación</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="71"/> <source>Authentication</source> - <translation type="finished">Autenticación</translation> + <translation>Autenticación</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="114"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> <source>Expiration Date:</source> - <translation type="finished">Fecha de caducidad:</translation> + <translation>Fecha de caducidad:</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> <source>Never Expire</source> - <translation type="finished">Nunca expira</translation> + <translation>Nunca expira</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> <source>KeySize (in Bit):</source> - <translation type="finished">Keysize (en bit):</translation> + <translation>Keysize (en bit):</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="118"/> <source>Key Type:</source> - <translation type="finished">Tipo de llave:</translation> + <translation>Tipo de llave:</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="126"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="127"/> <source>Basic Information</source> - <translation type="finished">Información básica</translation> + <translation>Información básica</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="214"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="215"/> <source> Expiration time no more than 2 years. </source> - <translation type="finished">Tiempo de vencimiento No más de 2 años.</translation> + <translation>Tiempo de vencimiento No más de 2 años.</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="235"/> <source>Generating Subkey...</source> - <translation type="finished">Generando Subkey ...</translation> + <translation type="vanished">Generando Subkey ...</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="238"/> <source>Collecting random data for subkey generation. This may take a while. To speed up the process use your computer (e.g. browse the net, listen to music,...)</source> - <translation type="finished">Recogiendo datos aleatorios para la generación de suba. + <translation type="vanished">Recogiendo datos aleatorios para la generación de suba. Esto puede tardar un rato. Para acelerar el proceso, use su computadora. (Por ejemplo, navega por la red, escucha música, ...)</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>Success</source> - <translation type="finished">Éxito</translation> + <translation>Éxito</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>The new subkey has been generated.</source> - <translation type="finished">La nueva subclave ha sido generada.</translation> + <translation>La nueva subclave ha sido generada.</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="247"/> <source>Failure</source> - <translation type="finished">Falla</translation> + <translation>Falla</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> <source>An error occurred during subkey generation.</source> - <translation type="finished">Se produjo un error durante la generación de sujetas.</translation> + <translation type="vanished">Se produjo un error durante la generación de sujetas.</translation> </message> </context> <context> @@ -3195,13 +3233,13 @@ <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="53"/> <source>untitled</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="120"/> <location filename="../../src/ui/widgets/TextEdit.cpp" line="200"/> <source>Warning</source> - <translation type="finished">Advertencia</translation> + <translation>Advertencia</translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="121"/> @@ -3209,50 +3247,50 @@ <location filename="../../src/ui/widgets/TextEdit.cpp" line="482"/> <source>Cannot read file %1: %2.</source> - <translation type="finished">No se puede leer el archivo% 1: + <translation>No se puede leer el archivo% 1: % 2.</translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="175"/> <source>Open file</source> - <translation type="finished">Abrir documento</translation> + <translation>Abrir documento</translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="251"/> <source>File</source> - <translation type="finished">Archivo</translation> + <translation>Archivo</translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="252"/> <source>Cannot write file %1: %2.</source> - <translation type="finished">No se puede escribir archivo% 1: + <translation>No se puede escribir archivo% 1: % 2.</translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="270"/> <source>Save file</source> - <translation type="finished">Guardar el archivo</translation> + <translation>Guardar el archivo</translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="333"/> <source>Unsaved document</source> - <translation type="finished">Documento no guardado</translation> + <translation>Documento no guardado</translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="334"/> <source>The document "%1" has been modified. Do you want to save your changes?<br/></source> - <translation type="finished">El documento "% 1" ha sido modificado.¿Quieres guardar tus cambios? <br/></translation> + <translation>El documento "% 1" ha sido modificado.¿Quieres guardar tus cambios? <br/></translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="337"/> - <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> - <translation type="finished"><b> Nota: </ b> Si no guarda estos archivos, todos los cambios se pierden. <br/></translation> + <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> + <translation><b> Nota: </ b> Si no guarda estos archivos, todos los cambios se pierden. <br/></translation> </message> <message> <location filename="../../src/ui/widgets/TextEdit.cpp" line="481"/> <source>Application</source> - <translation type="finished">Solicitud</translation> + <translation>Solicitud</translation> </message> </context> <context> @@ -3260,33 +3298,33 @@ <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="127"/> <source>It is recommended that you always check the version of GpgFrontend and upgrade to the latest version.</source> - <translation type="finished">Se recomienda que siempre revise la versión de GPGFRontend y actualice a la última versión.</translation> + <translation>Se recomienda que siempre revise la versión de GPGFRontend y actualice a la última versión.</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="129"/> <source>New versions not only represent new features, but also often represent functional and security fixes.</source> - <translation type="finished">Las nuevas versiones no solo representan nuevas características, sino que también representan correcciones funcionales y de seguridad.</translation> + <translation>Las nuevas versiones no solo representan nuevas características, sino que también representan correcciones funcionales y de seguridad.</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="133"/> <source>Current Version: </source> - <translation type="finished">Versión actual:</translation> + <translation>Versión actual:</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="141"/> <source>The current version is inconsistent with the latest version on github.</source> - <translation type="finished">La versión actual es inconsistente con la última versión en GitHub.</translation> + <translation>La versión actual es inconsistente con la última versión en GitHub.</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="143"/> <source>Please click <a href="https://github.com/saturneric/GpgFrontend/releases">here</a> to download the latest version.</source> - <translation type="finished">Haga clic en <a href="https://github.com/saturnic/gpgfrontend/releseses"> aquí </a> para descargar la última versión.</translation> + <translation>Haga clic en <a href="https://github.com/saturnic/gpgfrontend/releseses"> aquí </a> para descargar la última versión.</translation> </message> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="187"/> <location filename="../../src/ui/help/AboutDialog.cpp" line="209"/> <source>Latest Version From Github: </source> - <translation type="finished">Última versión de GitHub:</translation> + <translation>Última versión de GitHub:</translation> </message> </context> <context> @@ -3294,32 +3332,32 @@ <message> <location filename="../../src/ui/VerifyDetailsDialog.cpp" line="32"/> <source>Signature Details</source> - <translation type="finished">Detalles de la firma</translation> + <translation>Detalles de la firma</translation> </message> <message> <location filename="../../src/ui/VerifyDetailsDialog.cpp" line="53"/> <source>Status: </source> - <translation type="finished">Estado:</translation> + <translation>Estado:</translation> </message> <message> <location filename="../../src/ui/VerifyDetailsDialog.cpp" line="56"/> <source>No valid input found</source> - <translation type="finished">No se ha encontrado ninguna entrada válida</translation> + <translation>No se ha encontrado ninguna entrada válida</translation> </message> <message> <location filename="../../src/ui/VerifyDetailsDialog.cpp" line="67"/> <source>Error Validating signature</source> - <translation type="finished">Error al validar la firma</translation> + <translation>Error al validar la firma</translation> </message> <message> <location filename="../../src/ui/VerifyDetailsDialog.cpp" line="70"/> <source>File was signed on %1 <br/> It Contains:<br/><br/></source> - <translation type="finished">El archivo se firmó en% 1 <br/>, contiene: <br/> <br/></translation> + <translation>El archivo se firmó en% 1 <br/>, contiene: <br/> <br/></translation> </message> <message> <location filename="../../src/ui/VerifyDetailsDialog.cpp" line="72"/> <source>Signed on %1 <br/> It Contains:<br /><br/></source> - <translation type="finished">Firmado en% 1 <br/> contiene: <br /> <br/></translation> + <translation>Firmado en% 1 <br/> contiene: <br /> <br/></translation> </message> </context> <context> @@ -3327,22 +3365,22 @@ <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="36"/> <source>Import from keyserver</source> - <translation type="finished">Import desde Keyserver</translation> + <translation>Import desde Keyserver</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="39"/> <source>Key not present with id 0x</source> - <translation type="finished">Llave no presente con id 0x</translation> + <translation>Llave no presente con id 0x</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="43"/> <source>Status:</source> - <translation type="finished">Estado:</translation> + <translation>Estado:</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="45"/> <source>Key not present in keylist</source> - <translation type="finished">Llave no presente en el keylist</translation> + <translation>Llave no presente en el keylist</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="58"/> @@ -3352,7 +3390,7 @@ <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="115"/> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="129"/> <source>Key Information is NOT Available</source> - <translation type="finished">La información clave no está disponible</translation> + <translation>La información clave no está disponible</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="60"/> @@ -3362,137 +3400,131 @@ <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="131"/> <source>Fingerprint: </source> - <translation type="finished">Huella dactilar:</translation> + <translation>Huella dactilar:</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="67"/> <source>Status: Cert Revoked</source> - <translation type="finished">Estado: CERT REVOCED</translation> + <translation>Estado: CERT REVOCED</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="81"/> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="95"/> <source>Status: Signature Expired</source> - <translation type="finished">Estado: Firma expiró</translation> + <translation>Estado: Firma expiró</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="96"/> <source>Status: Key Expired</source> - <translation type="finished">Estado: clave expirada</translation> + <translation>Estado: clave expirada</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="110"/> <source>Status: General Error</source> - <translation type="finished">Estado: Error general</translation> + <translation>Estado: Error general</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="124"/> <source>Status: Unknown Error</source> - <translation type="finished">Estado: error desconocido</translation> + <translation>Estado: error desconocido</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="159"/> <source>Signer Name:</source> - <translation type="finished">Nombre del firmante:</translation> + <translation>Nombre del firmante:</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="160"/> <source>Signer Email:</source> - <translation type="finished">Correo electrónico del firmante:</translation> + <translation>Correo electrónico del firmante:</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="161"/> - <source>Key's Fingerprint:</source> - <translation type="finished">Huella digital de la llave:</translation> + <source>Key's Fingerprint:</source> + <translation>Huella digital de la llave:</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="162"/> <source>Valid:</source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="163"/> <source>Flags:</source> - <translation type="finished">Banderas:</translation> + <translation>Banderas:</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="171"/> <source>Fully Valid</source> - <translation type="finished">Completamente válido</translation> + <translation>Completamente válido</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="173"/> <source>NOT Fully Valid</source> - <translation type="finished">No completamente válido</translation> + <translation>No completamente válido</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/> <source>Good </source> - <translation type="finished">Bien</translation> + <translation>Bien</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="183"/> <source>Bad </source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="186"/> <source>Expired </source> - <translation type="unfinished"/> + <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/> <source>Missing Key </source> - <translation type="finished">Llave faltante</translation> + <translation>Llave faltante</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="192"/> <source>Revoked Key </source> - <translation type="finished">Clave revocada</translation> + <translation>Clave revocada</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="195"/> <source>Expired Key </source> - <translation type="finished">Clave caducada</translation> + <translation>Clave caducada</translation> </message> <message> <location filename="../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="198"/> <source>Missing CRL </source> - <translation type="finished">Falta CRL</translation> + <translation>Falta CRL</translation> </message> </context> <context> <name>Wizard</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="46"/> + <location filename="../../src/ui/Wizard.cpp" line="40"/> <source>First Start Wizard</source> - <translation type="finished">Asistente de primer inicio</translation> + <translation>Asistente de primer inicio</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> <source>Import Error</source> - <translation type="finished">Error de importación</translation> + <translation type="vanished">Error de importación</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> - <source>Couldn't locate any keyring file in %1</source> - <translation type="finished">No se pudo localizar ningún archivo de llaves en% 1</translation> + <source>Couldn't locate any keyring file in %1</source> + <translation type="vanished">No se pudo localizar ningún archivo de llaves en% 1</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="84"/> - <location filename="../../src/ui/Wizard.cpp" line="95"/> <source>Import error</source> - <translation type="finished">Error de importación</translation> + <translation type="vanished">Error de importación</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="85"/> - <source>Couldn't open private keyringfile: %1</source> - <translation type="finished">No se pudo abrir el archivo de llavero privado:% 1</translation> + <source>Couldn't open private keyringfile: %1</source> + <translation type="vanished">No se pudo abrir el archivo de llavero privado:% 1</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="96"/> - <source>Couldn't open public keyringfile: %1</source> - <translation type="finished">No se pudo abrir el archivo de llavero público:% 1</translation> + <source>Couldn't open public keyringfile: %1</source> + <translation type="vanished">No se pudo abrir el archivo de llavero público:% 1</translation> </message> </context> -</TS>
\ No newline at end of file +</TS> diff --git a/resource/ts/gpgfrontend_fr.ts b/resource/ts/gpgfrontend_fr.ts index fe49011a..ec204b37 100644 --- a/resource/ts/gpgfrontend_fr.ts +++ b/resource/ts/gpgfrontend_fr.ts @@ -27,12 +27,12 @@ <context> <name>AdvancedTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="679"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="762"/> <source>Show Steganography Options [Advanced]</source> <translation>Afficher les options de la stéganographie [avancée]</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="681"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="764"/> <source>Show Steganographic Options.</source> <translation>Afficher les options stéganographiques.</translation> </message> @@ -40,62 +40,62 @@ <context> <name>AppearanceTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="444"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="527"/> <source>Iconsize</source> <translation>Isoniser.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="446"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="529"/> <source>small</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="447"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="530"/> <source>medium</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="448"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="531"/> <source>large</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="464"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="547"/> <source>Iconstyle</source> <translation>Iconstyle</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="466"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="549"/> <source>just text</source> <translation>juste du texte</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="467"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="550"/> <source>just icons</source> <translation>juste des icônes</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="468"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="551"/> <source>text and icons</source> <translation>Texte et icônes</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="484"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="567"/> <source>Windowstate</source> <translation>Windowstate</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="570"/> <source>Save window size and position on exit.</source> <translation>Enregistrer la taille de la fenêtre et la position à la sortie.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="495"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="578"/> <source>Information Board</source> <translation>Tableau d'information</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="501"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="584"/> <source> Front Size</source> <translation>Taille avant</translation> </message> @@ -103,58 +103,58 @@ <context> <name>ChoosePage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="165"/> + <location filename="../../src/ui/Wizard.cpp" line="121"/> <source>Choose your action...</source> <translation>Choisissez votre action ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="166"/> + <location filename="../../src/ui/Wizard.cpp" line="122"/> <source>...by clicking on the appropriate link.</source> <translation>... En cliquant sur le lien approprié.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="168"/> + <location filename="../../src/ui/Wizard.cpp" line="124"/> <source>If you have never used GPGFrontend before and also don't own a gpg key yet you may possibly want to read how to</source> <translation>Si vous n'avez jamais utilisé GPGFRontend avant et que vous ne possédez pas encore une clé GPG, vous pouvez éventuellement vouloir lire comment</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="170"/> + <location filename="../../src/ui/Wizard.cpp" line="127"/> <source>Generate Key</source> <translation>Générer une clé</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="176"/> + <location filename="../../src/ui/Wizard.cpp" line="134"/> <source>If you want to learn how to encrypt, decrypt, sign and verify text, you can read </source> <translation>Si vous souhaitez apprendre à crypter, déchiffrer, signer et vérifier le texte, vous pouvez lire</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> <source>Encrypt & Decrypt Text</source> <translation>Texte de chiffrement et de déchiffrement</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>or</source> <translation>ou alors</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="180"/> + <location filename="../../src/ui/Wizard.cpp" line="138"/> <source>Sign & Verify Text</source> <translation>Signer et vérifier le texte</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="188"/> + <location filename="../../src/ui/Wizard.cpp" line="146"/> <source>If you want to operate file, you can read </source> <translation>Si vous souhaitez utiliser un fichier, vous pouvez lire</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>Encrypt & Sign File</source> <translation>Crypypt et fichier de signe</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="192"/> + <location filename="../../src/ui/Wizard.cpp" line="152"/> <source>Sign & Verify File</source> <translation>Signez et vérifiez le fichier</translation> </message> @@ -162,37 +162,37 @@ <context> <name>ConclusionPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="407"/> + <location filename="../../src/ui/Wizard.cpp" line="224"/> <source>Ready.</source> <translation>Prêt.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="408"/> + <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Have fun with GPGFrontend!</source> <translation>Amusez-vous avec GPGFrontend!</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="410"/> + <location filename="../../src/ui/Wizard.cpp" line="227"/> <source>You are ready to use GPGFrontend now.<br><br></source> <translation>Vous êtes prêt à utiliser GPGFronTend maintenant. <br> <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="412"/> + <location filename="../../src/ui/Wizard.cpp" line="229"/> <source>The Online Document</source> <translation>Le document en ligne</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="413"/> + <location filename="../../src/ui/Wizard.cpp" line="231"/> <source> will get you started with GPGFrontend. It will open in the main window.<br></source> <translation>vous fera commencer par GPGFronTend.Il s'ouvrira dans la fenêtre principale. <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="420"/> + <location filename="../../src/ui/Wizard.cpp" line="238"/> <source>Open offline help.</source> <translation>Aide ouverte hors ligne.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="423"/> + <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Dont show the wizard again.</source> <translation>Ne montrez pas à nouveau l'assistant.</translation> </message> @@ -361,60 +361,92 @@ <context> <name>GeneralTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="137"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> <source>Remember Password</source> <translation>Se souvenir du mot de passe</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="143"/> <source>Remember password until closing gpg4usb</source> <translation>Rappelez-vous le mot de passe jusqu'à la fermeture GPG4USB</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="147"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> <source>Save Checked Keys</source> <translation>Sauvegarder les clés cochées</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="153"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation>Enregistrez des clés privées cochées sur sortie et restaurez-les au prochain démarrage.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="159"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> <source>Confirm drag'n'drop key import</source> <translation>Confirmer l'importation principale de Drag'N'Drop</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="165"/> <source>Import files dropped on the keylist without confirmation.</source> <translation>Les fichiers d'importation ont chuté sur la frappe sans confirmation.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="169"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="172"/> <source>Language</source> <translation>Langue</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="178"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="181"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation><B> REMARQUE: </ B> GPGFRontend redémarrera automatiquement si vous changez la langue!</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="187"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="190"/> <source>Own key</source> <translation>Clé propre</translation> </message> <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="194"/> + <source>Get Service Token</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/ui/SettingsDialog.cpp" line="195"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="302"/> + <source>No Service Token Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="201"/> <source><none></source> <translation><aucun></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="209"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="217"/> <source>Key pair for synchronization and identity authentication</source> <translation>Paire de clé pour la synchronisation et l'authentification d'identité</translation> </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Invalid Operation</source> + <translation type="unfinished">Opération invalide</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Own Key can not be None while getting service token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="363"/> + <source>Error</source> + <translation type="unfinished">Erreur</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <source>Invalid Service Token Format</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>GpgME::GpgContext</name> @@ -434,17 +466,17 @@ <translation>Entrer le mot de passe</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> <source>Key Selection</source> <translation>Sélection de clé</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> <source>No Private Key Selected</source> <translation>Aucune clé privée sélectionnée</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="746"/> + <location filename="../../src/gpg/GpgContext.cpp" line="739"/> <source>Error in signing:</source> <translation>Erreur lors de la signature:</translation> </message> @@ -452,22 +484,22 @@ <context> <name>GpgPathsTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="711"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="794"/> <source>Relative path to keydb</source> <translation>Chemin relatif de Keydb</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="724"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="807"/> <source>Current keydb path: </source> <translation>Chemin de Keydb actuel:</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="729"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="812"/> <source><b>NOTE: </b> Gpg4usb will restart automatically if you change the keydb path!</source> <translation><B> REMARQUE: </ B> GPG4USB redémarrera automatiquement si vous modifiez le chemin Keydb!</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="758"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="841"/> <source>Choose keydb directory</source> <translation>Choisissez le répertoire Keydb</translation> </message> @@ -475,82 +507,67 @@ <context> <name>ImportFromGnupgPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="302"/> <source>Import keys...</source> - <translation>Keys d'importation ...</translation> + <translation type="vanished">Keys d'importation ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="303"/> <source>...from existing GnuPG installation</source> - <translation>... de l'installation GNUPG existante</translation> + <translation type="vanished">... de l'installation GNUPG existante</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="305"/> <source>You can import keys from a locally installed GnuPG.<br><br> The location is read from registry in Windows or assumed to be the .gnupg folder in the your home directory in Linux.<br></source> - <translation>Vous pouvez importer des clés à partir d'un GNUPG installé localement. <br> <br> <br> L'emplacement est lu depuis Registre sous Windows ou supposé être le dossier .gnupg dans votre annuaire de domicile sous Linux. <br></translation> + <translation type="vanished">Vous pouvez importer des clés à partir d'un GNUPG installé localement. <br> <br> <br> L'emplacement est lu depuis Registre sous Windows ou supposé être le dossier .gnupg dans votre annuaire de domicile sous Linux. <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="309"/> <source>Import keys from GnuPG</source> - <translation>Keys d'importation de gnupg</translation> + <translation type="vanished">Keys d'importation de gnupg</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> <source>Import Error</source> - <translation>Erreur d'importation</translation> + <translation type="vanished">Erreur d'importation</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> <source>Couldn't locate GnuPG home directory</source> - <translation>Ne pouvait pas localiser le répertoire de base gnupg</translation> + <translation type="vanished">Ne pouvait pas localiser le répertoire de base gnupg</translation> </message> </context> <context> <name>ImportFromGpg4usbPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Import from...</source> - <translation>Importer de...</translation> + <translation type="vanished">Importer de...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="226"/> <source>...existing GPGFrontend</source> - <translation>... GPGFronTend existant</translation> + <translation type="vanished">... GPGFronTend existant</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="228"/> <source>You can import keys and/or settings from existing GPGFrontend. <br><br>Just check what you want to import, click the import button and choose the directory of your other GPGFrontend in the appearing file dialog.</source> - <translation>Vous pouvez importer des clés et / ou des paramètres de GPGFronTend existant.<br> <br> Vérifiez simplement ce que vous souhaitez importer, cliquez sur le bouton Importer et choisissez le répertoire de votre autre GPGFronTend dans la boîte de dialogue de fichiers apparaissant.</translation> + <translation type="vanished">Vous pouvez importer des clés et / ou des paramètres de GPGFronTend existant.<br> <br> Vérifiez simplement ce que vous souhaitez importer, cliquez sur le bouton Importer et choisissez le répertoire de votre autre GPGFronTend dans la boîte de dialogue de fichiers apparaissant.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="235"/> <source>Keys</source> - <translation>Clés</translation> + <translation type="vanished">Clés</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="239"/> <source>Configuration</source> - <translation>Configuration</translation> + <translation type="vanished">Configuration</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Import from GPGFrontend</source> - <translation>Importer de GPGFrontend</translation> + <translation type="vanished">Importer de GPGFrontend</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="256"/> <source>Other GPGFrontend directory</source> - <translation>Autre répertoire GPGFRONTEND</translation> + <translation type="vanished">Autre répertoire GPGFRONTEND</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="275"/> <source>Configuration Imported</source> - <translation>Configuration importée</translation> + <translation type="vanished">Configuration importée</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="276"/> <source>Imported Configuration from old GPGFrontend.<br>Will now restart to activate the configuration.</source> - <translation>Configuration importée d'Old GPGFronTend. <br> va maintenant redémarrer pour activer la configuration.</translation> + <translation type="vanished">Configuration importée d'Old GPGFronTend. <br> va maintenant redémarrer pour activer la configuration.</translation> </message> </context> <context> @@ -592,42 +609,42 @@ <context> <name>IntroPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="111"/> + <location filename="../../src/ui/Wizard.cpp" line="66"/> <source>Getting Started...</source> <translation>Commencer...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="112"/> + <location filename="../../src/ui/Wizard.cpp" line="67"/> <source>... with GPGFrontend</source> <translation>... avec GPGFrontend</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="114"/> + <location filename="../../src/ui/Wizard.cpp" line="69"/> <source>Welcome to use GPGFrontend for decrypting and signing text or file!</source> <translation>Bienvenue à utiliser GPGFronTend pour le déchiffrement et la signature de texte ou de fichier!</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="116"/> + <location filename="../../src/ui/Wizard.cpp" line="71"/> <source>is a Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP Crypto Tool.</source> <translation>est une puissante, facile à utiliser, compacte, plate-forme multiplate-forme et sans installation.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="117"/> + <location filename="../../src/ui/Wizard.cpp" line="72"/> <source>For brief information have a look at the</source> <translation>Pour de brèves informations, regardez le</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="118"/> + <location filename="../../src/ui/Wizard.cpp" line="74"/> <source>Overview</source> <translation>Aperçu</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="119"/> + <location filename="../../src/ui/Wizard.cpp" line="75"/> <source>by clicking the link, the page will open in the web browser</source> <translation>En cliquant sur le lien, la page s'ouvrira dans le navigateur Web.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="127"/> + <location filename="../../src/ui/Wizard.cpp" line="83"/> <source>Choose a Language</source> <translation>Choisissez une langue</translation> </message> @@ -658,131 +675,128 @@ <context> <name>KeyGenDialog</name> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="32"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="33"/> <source>Generate Key</source> <translation>Générer une clé</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="68"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="69"/> <source> Name must contain at least five characters. </source> <translation>Le nom doit contenir au moins cinq caractères.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="71"/> <source> Please give a email address. </source> <translation>S'il vous plaît donner une adresse email.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/> <source> Expiration time no more than 2 years. </source> <translation>Heure d'expiration Pas plus de 2 ans.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/> <source>Generating Key...</source> - <translation>Clé génératrice ...</translation> + <translation type="vanished">Clé génératrice ...</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/> <source>Collecting random data for key generation. This may take a while. To speed up the process use your computer (e.g. browse the net, listen to music,...)</source> - <translation>Collecte de données aléatoires pour la génération de clé. + <translation type="vanished">Collecte de données aléatoires pour la génération de clé. Cela peut prendre un peu de temps. Pour accélérer le processus, utilisez votre ordinateur (E.G. Parcourir le Net, écoutez de la musique, ...)</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="145"/> <source>Key Usage</source> <translation>Usage de clé</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="147"/> <source>Encryption</source> <translation>Chiffrement</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> <source>Signing</source> <translation>Signature</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/> <source>Certification</source> <translation>Certification</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/> <source>Authentication</source> <translation>Authentification</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>Success</source> <translation>Succès</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>The new key pair has been generated.</source> <translation>La nouvelle paire de clés a été générée.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="116"/> <source>Failure</source> <translation>Échec</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> <source>An error occurred during key generation.</source> - <translation>Une erreur s'est produite lors de la génération de clé.</translation> + <translation type="vanished">Une erreur s'est produite lors de la génération de clé.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="338"/> <source>Name:</source> <translation>Nom:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="339"/> <source>Email Address:</source> <translation>Adresse e-mail:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="340"/> <source>Comment:</source> <translation>Commenter:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="341"/> <source>Expiration Date:</source> <translation>Date d'expiration:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="342"/> <source>Never Expire</source> <translation>N'expire jamais</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="343"/> <source>KeySize (in Bit):</source> <translation>Keysize (dans le bit):</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="344"/> <source>Key Type:</source> <translation>Type de clé:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="345"/> <source>Non Pass Phrase</source> <translation>Non Pass Phrase</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/> <source>Basic Information</source> <translation>Informations de base</translation> </message> @@ -790,27 +804,27 @@ <context> <name>KeyGenPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="366"/> + <location filename="../../src/ui/Wizard.cpp" line="183"/> <source>Create a keypair...</source> <translation>Créer un keypair ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="367"/> + <location filename="../../src/ui/Wizard.cpp" line="184"/> <source>...for decrypting and signing messages</source> <translation>... pour décrypter et signature des messages</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="368"/> + <location filename="../../src/ui/Wizard.cpp" line="185"/> <source>You should create a new keypair.The pair consists of a public and a private key.<br>Other users can use the public key to encrypt messages for you and verify messages signed by you.You can use the private key to decrypt and sign messages.<br>For more information have a look at the offline tutorial (which then is shown in the main window):</source> <translation>Vous devriez créer un nouveau keypair.La Paire consiste en une clé publique et privée. <br> Les autres utilisateurs peuvent utiliser la clé publique pour chiffrer les messages pour vous et vérifier les messages signés par vous.Vous pouvez utiliser la clé privée pour déchiffrer et signerMessages. <br> Pour plus d'informations, consultez le tutoriel hors ligne (qui est ensuite affiché dans la fenêtre principale):</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="375"/> + <location filename="../../src/ui/Wizard.cpp" line="192"/> <source>Offline tutorial</source> <translation>Tutoriel hors ligne</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="382"/> + <location filename="../../src/ui/Wizard.cpp" line="199"/> <source>Create New Key</source> <translation>Créer une nouvelle clé</translation> </message> @@ -938,59 +952,59 @@ <context> <name>KeyList</name> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Select</source> <translation>Sélectionner</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Type</source> <translation>Taper</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Name</source> <translation>Nom</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Email Address</source> <translation>Adresse e-mail</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Usage</source> <translation>Usage</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Validity</source> <translation>Validité</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Finger Print</source> <translation>Empreinte digitale</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="302"/> <source>Import Keys</source> <translation>Clés d'importation</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="305"/> <source>You've dropped something on the table. GpgFrontend will now try to import key(s).</source> <translation>Vous avez laissé tomber quelque chose sur la table. GPGFronTend va maintenant essayer d'importer des clés (s).</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="320"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="308"/> <source>Always import without bothering.</source> <translation>Toujours importer sans déranger.</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="356"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="341"/> <source>Couldn't Open File: </source> <translation>Impossible d'ouvrir le fichier:</translation> </message> @@ -1975,27 +1989,27 @@ <context> <name>KeyUploadDialog</name> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="49"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="47"/> <source>Uploading Public Key</source> <translation>Téléchargement de clé publique</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="112"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="110"/> <source>Key Not Found</source> <translation>Clé introuvable</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="115"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="113"/> <source>Timeout</source> <translation>Temps libre</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="118"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="116"/> <source>Key Server Not Found</source> <translation>Server clé non trouvé</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="121"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="119"/> <source>Connection Error</source> <translation>Erreur de connexion</translation> </message> @@ -2003,12 +2017,12 @@ <context> <name>KeyserverTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="607"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="690"/> <source>Default Key Server for import:</source> <translation>Server de clé par défaut pour importer:</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="624"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="707"/> <source>Add</source> <translation>Ajouter</translation> </message> @@ -2031,247 +2045,267 @@ <translation>GNUPG n'est pas installé correctement, veuillez suivre les instructions README pour installer GNUPG, puis ouvrir GPGFontend.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="41"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="596"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="773"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="956"/> <source>No Key Selected</source> <translation>Aucune clé sélectionnée</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="48"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="127"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="603"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="780"/> <source>Invalid Operation</source> <translation>Opération invalide</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="49"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="604"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation>La clé sélectionnée contient une clé qui ne dispose pas d'une utilisation en chiffrement. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="50"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="129"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="605"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="782"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="970"/> <source><br/>For example the Following Key: <br/></source> <translation><br/> Par exemple, la clé suivante: <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="68"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="625"/> <source>Encrypting</source> <translation>Cryptage</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="371"/> <source>Function Disabled</source> <translation>Fonction désactivée</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="98"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="372"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation>Veuillez vous rendre à l'interface des paramètres pour activer et configurer cette fonction.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation>La clé sélectionnée contient une clé qui ne dispose pas d'une utilisation de signature. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="145"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="802"/> <source>Signing</source> <translation>Signature</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/> <source>Decrypting</source> <translation>Décalage</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="249"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="887"/> <source>Verifying</source> <translation>Vérification</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="301"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="968"/> <source>Invalid KeyPair</source> <translation>KeyPair non valide</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="969"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation>Le clavier sélectionné ne peut pas être utilisé pour la signature et le cryptage en même temps. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="313"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/> <source>Incomplete Operation</source> <translation>Opération incomplète</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="981"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation>Aucune des paires de touches sélectionnées ne peut fournir la fonction de cryptage.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="988"/> <source>None of the selected key pairs can provide the signature function.</source> <translation>Aucune des paires de touches sélectionnées ne peut fournir la fonction de signature.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1007"/> <source>Encrypting and Signing</source> <translation>Cryptage et signature</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="378"/> + <source>Service Token Empty</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="379"/> + <source>Please go to the settings interface to set Own Key and get Service Token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="413"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> <source>Decrypting and Verifying</source> <translation>Décrypter et vérifier</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Invalid Own Key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Own Key can not be use to do any operation.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>Error</source> <translation>Erreur</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> <source>Select a file before doing it.</source> <translation>Sélectionnez un fichier avant de le faire.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> <source>No permission to read this file.</source> <translation>Aucune autorisation de lire ce fichier.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> <source>No permission to create file.</source> <translation>Aucune autorisation de créer un fichier.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="583"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="760"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="943"/> <source>Warning</source> <translation>Avertissement</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="584"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="685"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="761"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="944"/> <source>The target file already exists, do you need to overwrite it?</source> <translation>Le fichier cible existe déjà, devez-vous vous écraser?</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>An error occurred during operation.</source> <translation>Une erreur s'est produite lors du fonctionnement.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="861"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation>Veuillez sélectionner le fichier cible ou le fichier de signature approprié.Assurez-vous que les deux sont dans ce répertoire.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> <source>No permission to read target file.</source> <translation>Aucune autorisation de lire le fichier cible.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> <source>No permission to read signature file.</source> <translation>Aucune autorisation de lire le fichier de signature.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation>Sélectionnez un fichier (.gpg / .asc) avant de le faire.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1153"/> <source>Outdated Version</source> <translation>Version obsolète</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1154"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation>Cette version (% 1) est obsolète, veuillez mettre à jour la dernière version à temps.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1156"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1163"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation>Vous pouvez télécharger la dernière version (% 1) sur la page Communiqués GitHub. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1160"/> <source>Unreleased Version</source> <translation>Version non sélectionnée</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1161"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation>Cette version (% 1) n'a pas été officiellement libérée et n'est pas recommandée pour une utilisation dans un environnement de production.<br/></translation> </message> @@ -2999,63 +3033,68 @@ <context> <name>SendMailTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="289"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="377"/> <source>Enable</source> <translation>Activer</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="311"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="395"/> + <source>Check Connection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="399"/> <source>SMTP Address</source> <translation>Adresse SMTP</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="313"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="401"/> <source>Username</source> <translation>Nom d'utilisateur</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="315"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="403"/> <source>Password</source> <translation>Mot de passe</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="317"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="405"/> <source>Port</source> <translation>Port</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="407"/> <source>Connection Security</source> <translation>Sécurité de la connexion</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="322"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="410"/> <source>Default Sender</source> <translation>Expéditeur par défaut</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail</source> <translation>Échouer</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> <source>Fail to Connect SMTP Server</source> <translation>Omettre de connecter SMTP Server</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail to Login</source> <translation>Échouer à se connecter</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Success</source> <translation>Succès</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Succeed in connecting and login</source> <translation>Réussir à connecter et à vous connecter</translation> </message> @@ -3063,37 +3102,37 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="40"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> <source>General</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="41"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="44"/> <source>Appearance</source> <translation>Apparence</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="42"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> <source>Send Mail</source> <translation>Envoyer un mail</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="46"/> <source>Key Server</source> <translation>Serveur de clés</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="48"/> <source>Advanced</source> <translation>Avancée</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="58"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="61"/> <source>Settings</source> <translation>Paramètres</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="103"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="106"/> <source>System Default</source> <translation>Défaut du système</translation> </message> @@ -3101,95 +3140,92 @@ <context> <name>SubkeyGenerateDialog</name> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="46"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="47"/> <source>Generate New Subkey</source> <translation>Générer une nouvelle sous-clé</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="61"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="62"/> <source>Encryption</source> <translation>Chiffrement</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="64"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="65"/> <source>Signing</source> <translation>Signature</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="67"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="68"/> <source>Certification</source> <translation>Certification</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="71"/> <source>Authentication</source> <translation>Authentification</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="114"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> <source>Expiration Date:</source> <translation>Date d'expiration:</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> <source>Never Expire</source> <translation>N'expire jamais</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> <source>KeySize (in Bit):</source> <translation>Keysize (dans le bit):</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="118"/> <source>Key Type:</source> <translation>Type de clé:</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="126"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="127"/> <source>Basic Information</source> <translation>Informations de base</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="214"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="215"/> <source> Expiration time no more than 2 years. </source> <translation>Heure d'expiration Pas plus de 2 ans.</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="235"/> <source>Generating Subkey...</source> - <translation>Génération de sous-clé ...</translation> + <translation type="vanished">Génération de sous-clé ...</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="238"/> <source>Collecting random data for subkey generation. This may take a while. To speed up the process use your computer (e.g. browse the net, listen to music,...)</source> - <translation>Collecte de données aléatoires pour la génération de sous-clé. + <translation type="vanished">Collecte de données aléatoires pour la génération de sous-clé. Cela peut prendre un peu de temps. Pour accélérer le processus, utilisez votre ordinateur (E.G. Parcourir le Net, écoutez de la musique, ...)</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>Success</source> <translation>Succès</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>The new subkey has been generated.</source> <translation>La nouvelle sous-clé a été générée.</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="247"/> <source>Failure</source> <translation>Échec</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> <source>An error occurred during subkey generation.</source> - <translation>Une erreur s'est produite lors de la génération de sous-clé.</translation> + <translation type="vanished">Une erreur s'est produite lors de la génération de sous-clé.</translation> </message> </context> <context> @@ -3466,35 +3502,29 @@ <context> <name>Wizard</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="46"/> + <location filename="../../src/ui/Wizard.cpp" line="40"/> <source>First Start Wizard</source> <translation>Assistant de premier départ</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> <source>Import Error</source> - <translation>Erreur d'importation</translation> + <translation type="vanished">Erreur d'importation</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> <source>Couldn't locate any keyring file in %1</source> - <translation>Impossible de localiser un fichier de porte-clés en% 1</translation> + <translation type="vanished">Impossible de localiser un fichier de porte-clés en% 1</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="84"/> - <location filename="../../src/ui/Wizard.cpp" line="95"/> <source>Import error</source> - <translation>Erreur d'importation</translation> + <translation type="vanished">Erreur d'importation</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="85"/> <source>Couldn't open private keyringfile: %1</source> - <translation>Impossible d'ouvrir le keyRingfile privé:% 1</translation> + <translation type="vanished">Impossible d'ouvrir le keyRingfile privé:% 1</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="96"/> <source>Couldn't open public keyringfile: %1</source> - <translation>Impossible d'ouvrir le keyRingfile publique:% 1</translation> + <translation type="vanished">Impossible d'ouvrir le keyRingfile publique:% 1</translation> </message> </context> </TS> diff --git a/resource/ts/gpgfrontend_ru.ts b/resource/ts/gpgfrontend_ru.ts index 65fb3765..1bb8a47f 100644 --- a/resource/ts/gpgfrontend_ru.ts +++ b/resource/ts/gpgfrontend_ru.ts @@ -27,12 +27,12 @@ <context> <name>AdvancedTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="679"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="762"/> <source>Show Steganography Options [Advanced]</source> <translation>Показать объекты стеганографии [Advanced]</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="681"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="764"/> <source>Show Steganographic Options.</source> <translation>Показать стеганографические варианты.</translation> </message> @@ -40,62 +40,62 @@ <context> <name>AppearanceTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="444"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="527"/> <source>Iconsize</source> <translation>Iconsize.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="446"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="529"/> <source>small</source> <translation>небольшой</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="447"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="530"/> <source>medium</source> <translation>Средняя</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="448"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="531"/> <source>large</source> <translation>большой</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="464"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="547"/> <source>Iconstyle</source> <translation>Iconstyle.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="466"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="549"/> <source>just text</source> <translation>просто текст</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="467"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="550"/> <source>just icons</source> <translation>Просто иконы</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="468"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="551"/> <source>text and icons</source> <translation>текст и значки</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="484"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="567"/> <source>Windowstate</source> <translation>Indowstate.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="570"/> <source>Save window size and position on exit.</source> <translation>Сохранить размер окна и положение на выходе.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="495"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="578"/> <source>Information Board</source> <translation>Доска объявлений</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="501"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="584"/> <source> Front Size</source> <translation>Передний размер</translation> </message> @@ -103,58 +103,58 @@ <context> <name>ChoosePage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="165"/> + <location filename="../../src/ui/Wizard.cpp" line="121"/> <source>Choose your action...</source> <translation>Выберите свое действие ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="166"/> + <location filename="../../src/ui/Wizard.cpp" line="122"/> <source>...by clicking on the appropriate link.</source> <translation>... нажав на соответствующую ссылку.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="168"/> + <location filename="../../src/ui/Wizard.cpp" line="124"/> <source>If you have never used GPGFrontend before and also don't own a gpg key yet you may possibly want to read how to</source> <translation>Если вы никогда не использовали GPGFRontend раньше, а также не владеть ключом GPG, но вы, возможно, хотите прочитать, как</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="170"/> + <location filename="../../src/ui/Wizard.cpp" line="127"/> <source>Generate Key</source> <translation>Генерировать ключ</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="176"/> + <location filename="../../src/ui/Wizard.cpp" line="134"/> <source>If you want to learn how to encrypt, decrypt, sign and verify text, you can read </source> <translation>Если вы хотите узнать, как зашифровать, расшифровать, подписать и проверить текст, вы можете прочитать</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> <source>Encrypt & Decrypt Text</source> <translation>Шифра и расшифровывать текст</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>or</source> <translation>или же</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="180"/> + <location filename="../../src/ui/Wizard.cpp" line="138"/> <source>Sign & Verify Text</source> <translation>Знак и проверить текст</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="188"/> + <location filename="../../src/ui/Wizard.cpp" line="146"/> <source>If you want to operate file, you can read </source> <translation>Если вы хотите управлять файлом, вы можете прочитать</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>Encrypt & Sign File</source> <translation>Шифра и файл знака</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="192"/> + <location filename="../../src/ui/Wizard.cpp" line="152"/> <source>Sign & Verify File</source> <translation>Знак и проверять файл</translation> </message> @@ -162,37 +162,37 @@ <context> <name>ConclusionPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="407"/> + <location filename="../../src/ui/Wizard.cpp" line="224"/> <source>Ready.</source> <translation>Готовый.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="408"/> + <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Have fun with GPGFrontend!</source> <translation>Веселитесь с GPGFRontend!</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="410"/> + <location filename="../../src/ui/Wizard.cpp" line="227"/> <source>You are ready to use GPGFrontend now.<br><br></source> <translation>Вы готовы использовать GPGFRontend сейчас. <br> <br> <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="412"/> + <location filename="../../src/ui/Wizard.cpp" line="229"/> <source>The Online Document</source> <translation>Онлайн документ</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="413"/> + <location filename="../../src/ui/Wizard.cpp" line="231"/> <source> will get you started with GPGFrontend. It will open in the main window.<br></source> <translation>Получу, вы начали с GPGFRontend.Он откроется в главном окне. <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="420"/> + <location filename="../../src/ui/Wizard.cpp" line="238"/> <source>Open offline help.</source> <translation>Откройте автономную помощь.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="423"/> + <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Dont show the wizard again.</source> <translation>Не показывать волшебник снова.</translation> </message> @@ -361,60 +361,92 @@ <context> <name>GeneralTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="137"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> <source>Remember Password</source> <translation>Напомнить пароль</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="143"/> <source>Remember password until closing gpg4usb</source> <translation>Запомните пароль до закрытия GPG4UUSB</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="147"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> <source>Save Checked Keys</source> <translation>Сохранить проверенные ключи</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="153"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation>Сохранить проверенные закрытые ключи на выходе и восстановить их на следующем запуске.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="159"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> <source>Confirm drag'n'drop key import</source> <translation>Подтвердите импорт ключа Drag'n'drop</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="165"/> <source>Import files dropped on the keylist without confirmation.</source> <translation>Файлы импорта упали на кейлист без подтверждения.</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="169"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="172"/> <source>Language</source> <translation>Язык</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="178"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="181"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation><b> Примечание: </ b> gpgfrontend автоматически перезагрузится, если вы измените язык!</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="187"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="190"/> <source>Own key</source> <translation>Собственный ключ</translation> </message> <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="194"/> + <source>Get Service Token</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/ui/SettingsDialog.cpp" line="195"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="302"/> + <source>No Service Token Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="201"/> <source><none></source> <translation><none></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="209"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="217"/> <source>Key pair for synchronization and identity authentication</source> <translation>Пара ключей для синхронизации и аутентификации идентичности</translation> </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Invalid Operation</source> + <translation type="unfinished">Неверная операция</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Own Key can not be None while getting service token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="363"/> + <source>Error</source> + <translation type="unfinished">Ошибка</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <source>Invalid Service Token Format</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>GpgME::GpgContext</name> @@ -434,17 +466,17 @@ <translation>Введите пароль</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> <source>Key Selection</source> <translation>Выбор ключа</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> <source>No Private Key Selected</source> <translation>Нет закрытого ключа</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="746"/> + <location filename="../../src/gpg/GpgContext.cpp" line="739"/> <source>Error in signing:</source> <translation>Ошибка в подписании:</translation> </message> @@ -452,22 +484,22 @@ <context> <name>GpgPathsTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="711"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="794"/> <source>Relative path to keydb</source> <translation>Относительный путь к Keydb</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="724"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="807"/> <source>Current keydb path: </source> <translation>Текущий путь ключей:</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="729"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="812"/> <source><b>NOTE: </b> Gpg4usb will restart automatically if you change the keydb path!</source> <translation><b> Примечание: </ b> GPG4USB автоматически перезагрузится, если вы измените путь ключей!</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="758"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="841"/> <source>Choose keydb directory</source> <translation>Выберите каталог keydb.</translation> </message> @@ -475,82 +507,67 @@ <context> <name>ImportFromGnupgPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="302"/> <source>Import keys...</source> - <translation>Импорт клавиш ...</translation> + <translation type="vanished">Импорт клавиш ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="303"/> <source>...from existing GnuPG installation</source> - <translation>... Из существующей установки GNUPG</translation> + <translation type="vanished">... Из существующей установки GNUPG</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="305"/> <source>You can import keys from a locally installed GnuPG.<br><br> The location is read from registry in Windows or assumed to be the .gnupg folder in the your home directory in Linux.<br></source> - <translation>Вы можете импортировать ключи от локально установленного GNUPG. <br> <br> Местоположение читается из реестра в Windows или предполагается, что папка .gnupg в вашем домашнем каталоге в Linux. <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br></translation> + <translation type="vanished">Вы можете импортировать ключи от локально установленного GNUPG. <br> <br> Местоположение читается из реестра в Windows или предполагается, что папка .gnupg в вашем домашнем каталоге в Linux. <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="309"/> <source>Import keys from GnuPG</source> - <translation>Импорт клавиш от GNUPG</translation> + <translation type="vanished">Импорт клавиш от GNUPG</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> <source>Import Error</source> - <translation>Ошибка импорта</translation> + <translation type="vanished">Ошибка импорта</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> <source>Couldn't locate GnuPG home directory</source> - <translation>Не мог найти домашний каталог GNUPG</translation> + <translation type="vanished">Не мог найти домашний каталог GNUPG</translation> </message> </context> <context> <name>ImportFromGpg4usbPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Import from...</source> - <translation>Импорт из ...</translation> + <translation type="vanished">Импорт из ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="226"/> <source>...existing GPGFrontend</source> - <translation>... Существующие GPGFRontend</translation> + <translation type="vanished">... Существующие GPGFRontend</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="228"/> <source>You can import keys and/or settings from existing GPGFrontend. <br><br>Just check what you want to import, click the import button and choose the directory of your other GPGFrontend in the appearing file dialog.</source> - <translation>Вы можете импортировать ключи и / или настройки из существующих GPGFRontend.<br> <br> <br> Просто проверьте, что вы хотите импортировать, нажмите кнопку «Импорт» и выберите каталог других GPGFRontend в диалоговом окне появления файла.</translation> + <translation type="vanished">Вы можете импортировать ключи и / или настройки из существующих GPGFRontend.<br> <br> <br> Просто проверьте, что вы хотите импортировать, нажмите кнопку «Импорт» и выберите каталог других GPGFRontend в диалоговом окне появления файла.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="235"/> <source>Keys</source> - <translation>Ключи</translation> + <translation type="vanished">Ключи</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="239"/> <source>Configuration</source> - <translation>Конфигурация</translation> + <translation type="vanished">Конфигурация</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Import from GPGFrontend</source> - <translation>Импорт от GPGFRontend</translation> + <translation type="vanished">Импорт от GPGFRontend</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="256"/> <source>Other GPGFrontend directory</source> - <translation>Другие каталога GPGFRontend</translation> + <translation type="vanished">Другие каталога GPGFRontend</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="275"/> <source>Configuration Imported</source> - <translation>Конфигурация импортирована</translation> + <translation type="vanished">Конфигурация импортирована</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="276"/> <source>Imported Configuration from old GPGFrontend.<br>Will now restart to activate the configuration.</source> - <translation>Импортированная конфигурация из старых GPGFRontend. <br> теперь перезагрузится, чтобы активировать конфигурацию.</translation> + <translation type="vanished">Импортированная конфигурация из старых GPGFRontend. <br> теперь перезагрузится, чтобы активировать конфигурацию.</translation> </message> </context> <context> @@ -592,42 +609,42 @@ <context> <name>IntroPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="111"/> + <location filename="../../src/ui/Wizard.cpp" line="66"/> <source>Getting Started...</source> <translation>Начиная...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="112"/> + <location filename="../../src/ui/Wizard.cpp" line="67"/> <source>... with GPGFrontend</source> <translation>... с gpgfrontend</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="114"/> + <location filename="../../src/ui/Wizard.cpp" line="69"/> <source>Welcome to use GPGFrontend for decrypting and signing text or file!</source> <translation>Добро пожаловать использовать GPGFRontend для расшифровки и подписания текста или файла!</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="116"/> + <location filename="../../src/ui/Wizard.cpp" line="71"/> <source>is a Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP Crypto Tool.</source> <translation>Является мощным, простым в использовании, компактной, кроссплатформенной и монтажной программой Crypto Crypto OpenPGP.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="117"/> + <location filename="../../src/ui/Wizard.cpp" line="72"/> <source>For brief information have a look at the</source> <translation>Для краткой информации посмотрите на</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="118"/> + <location filename="../../src/ui/Wizard.cpp" line="74"/> <source>Overview</source> <translation>Обзор</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="119"/> + <location filename="../../src/ui/Wizard.cpp" line="75"/> <source>by clicking the link, the page will open in the web browser</source> <translation>Нажав на ссылку, страница откроется в веб-браузере</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="127"/> + <location filename="../../src/ui/Wizard.cpp" line="83"/> <source>Choose a Language</source> <translation>Выберите язык</translation> </message> @@ -658,131 +675,128 @@ <context> <name>KeyGenDialog</name> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="32"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="33"/> <source>Generate Key</source> <translation>Генерировать ключ</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="68"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="69"/> <source> Name must contain at least five characters. </source> <translation>Имя должно содержать не менее пяти символов.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="71"/> <source> Please give a email address. </source> <translation>Пожалуйста, дайте адрес электронной почты.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/> <source> Expiration time no more than 2 years. </source> <translation>Время истечения не более 2 лет.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/> <source>Generating Key...</source> - <translation>Генератор ключа ...</translation> + <translation type="vanished">Генератор ключа ...</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/> <source>Collecting random data for key generation. This may take a while. To speed up the process use your computer (e.g. browse the net, listen to music,...)</source> - <translation>Сбор случайных данных для генерации ключей. + <translation type="vanished">Сбор случайных данных для генерации ключей. Это может занять некоторое время. Чтобы ускорить процесс, используйте свой компьютер (например, просмотрите чистую, слушаю музыку, ...)</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="145"/> <source>Key Usage</source> <translation>Ключевое использование</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="147"/> <source>Encryption</source> <translation>Шифрование</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> <source>Signing</source> <translation>Подписание</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/> <source>Certification</source> <translation>Сертификация</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/> <source>Authentication</source> <translation>Аутентификация</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>Success</source> <translation>Успех</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>The new key pair has been generated.</source> <translation>Новая ключевая пара была сгенерирована.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="116"/> <source>Failure</source> <translation>Отказ</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> <source>An error occurred during key generation.</source> - <translation>Произошла ошибка во время генерации ключей.</translation> + <translation type="vanished">Произошла ошибка во время генерации ключей.</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="338"/> <source>Name:</source> <translation>Имя:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="339"/> <source>Email Address:</source> <translation>Адрес электронной почты:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="340"/> <source>Comment:</source> <translation>Комментарий:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="341"/> <source>Expiration Date:</source> <translation>Дата окончания срока:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="342"/> <source>Never Expire</source> <translation>Никогда не истекаешь</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="343"/> <source>KeySize (in Bit):</source> <translation>Клинизировать (по-бит):</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="344"/> <source>Key Type:</source> <translation>Тип ключа:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="345"/> <source>Non Pass Phrase</source> <translation>Не проходящая фраза</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/> <source>Basic Information</source> <translation>Основная информация</translation> </message> @@ -790,27 +804,27 @@ <context> <name>KeyGenPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="366"/> + <location filename="../../src/ui/Wizard.cpp" line="183"/> <source>Create a keypair...</source> <translation>Создать клавиатуру ...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="367"/> + <location filename="../../src/ui/Wizard.cpp" line="184"/> <source>...for decrypting and signing messages</source> <translation>... Для расшифровки и подписания сообщений</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="368"/> + <location filename="../../src/ui/Wizard.cpp" line="185"/> <source>You should create a new keypair.The pair consists of a public and a private key.<br>Other users can use the public key to encrypt messages for you and verify messages signed by you.You can use the private key to decrypt and sign messages.<br>For more information have a look at the offline tutorial (which then is shown in the main window):</source> <translation>Вы должны создать новую keypair. Пара состоит из публики и закрытого ключа. <br> Другие пользователи могут использовать открытый ключ для шифрования сообщений для вас и проверить сообщения, подписанные вами. Вы можете использовать закрытый ключ для расшифровки и подписатьСообщения. <br> Для получения дополнительной информации посмотрите на автономный учебник (который затем отображается в главном окне):</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="375"/> + <location filename="../../src/ui/Wizard.cpp" line="192"/> <source>Offline tutorial</source> <translation>Оффлайн учебник</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="382"/> + <location filename="../../src/ui/Wizard.cpp" line="199"/> <source>Create New Key</source> <translation>Создать новый ключ</translation> </message> @@ -938,59 +952,59 @@ <context> <name>KeyList</name> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Select</source> <translation>Выбирать</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Type</source> <translation>Тип</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Name</source> <translation>Имя</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Email Address</source> <translation>Адрес электронной почты</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Usage</source> <translation>Применение</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Validity</source> <translation>Срок действия</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Finger Print</source> <translation>Печать пальцев</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="302"/> <source>Import Keys</source> <translation>Импорт клавиш</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="305"/> <source>You've dropped something on the table. GpgFrontend will now try to import key(s).</source> <translation>Вы что-то бросили на стол. GPGFRontend теперь попробует импортировать ключ (ы).</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="320"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="308"/> <source>Always import without bothering.</source> <translation>Всегда импортировать, не беспокоясь.</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="356"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="341"/> <source>Couldn't Open File: </source> <translation>Не удалось открыть файл:</translation> </message> @@ -1975,27 +1989,27 @@ <context> <name>KeyUploadDialog</name> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="49"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="47"/> <source>Uploading Public Key</source> <translation>Загрузка открытого ключа</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="112"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="110"/> <source>Key Not Found</source> <translation>Ключ не найден</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="115"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="113"/> <source>Timeout</source> <translation>Время ожидания</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="118"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="116"/> <source>Key Server Not Found</source> <translation>Ключевой сервер не найден</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="121"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="119"/> <source>Connection Error</source> <translation>Ошибка соединения</translation> </message> @@ -2003,12 +2017,12 @@ <context> <name>KeyserverTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="607"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="690"/> <source>Default Key Server for import:</source> <translation>Сервер по умолчанию для импорта:</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="624"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="707"/> <source>Add</source> <translation>Добавлять</translation> </message> @@ -2031,247 +2045,267 @@ <translation>GNUPG не установлен правильно, пожалуйста, следуйте инструкциям ReadMe для установки GNUPG, а затем открыть GPGFRontend.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="41"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="596"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="773"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="956"/> <source>No Key Selected</source> <translation>Нет выбранного ключа</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="48"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="127"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="603"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="780"/> <source>Invalid Operation</source> <translation>Неверная операция</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="49"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="604"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation>Выбранный ключ содержит ключ, который на самом деле не имеет использование шифрования. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="50"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="129"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="605"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="782"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="970"/> <source><br/>For example the Following Key: <br/></source> <translation><br/> Например, следующий ключ: <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="68"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="625"/> <source>Encrypting</source> <translation>Шифрование</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="371"/> <source>Function Disabled</source> <translation>Функция отключена</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="98"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="372"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation>Пожалуйста, перейдите на интерфейс настроек, чтобы включить и настроить эту функцию.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation>Выбранный ключ содержит клавишу, на самом деле не имеет использование подписи. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="145"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="802"/> <source>Signing</source> <translation>Подписание</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/> <source>Decrypting</source> <translation>Расшифровка</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="249"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="887"/> <source>Verifying</source> <translation>Проверка</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="301"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="968"/> <source>Invalid KeyPair</source> <translation>Неверная keypair.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="969"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation>Выбранная клавиатура не может быть использована для подписания и шифрования одновременно. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="313"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/> <source>Incomplete Operation</source> <translation>Неполная операция</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="981"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation>Ни одна из выбранных парных пар не может предоставлять функцию шифрования.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="988"/> <source>None of the selected key pairs can provide the signature function.</source> <translation>Ни одна из выбранных парных пар не может обеспечить функцию подписи.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1007"/> <source>Encrypting and Signing</source> <translation>Шифрование и подписание</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="378"/> + <source>Service Token Empty</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="379"/> + <source>Please go to the settings interface to set Own Key and get Service Token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="413"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> <source>Decrypting and Verifying</source> <translation>Расшифровка и проверка</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Invalid Own Key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Own Key can not be use to do any operation.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>Error</source> <translation>Ошибка</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> <source>Select a file before doing it.</source> <translation>Выберите файл перед этим.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> <source>No permission to read this file.</source> <translation>Нет разрешения на чтение этого файла.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> <source>No permission to create file.</source> <translation>Нет разрешения на создание файла.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="583"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="760"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="943"/> <source>Warning</source> <translation>Предупреждение</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="584"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="685"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="761"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="944"/> <source>The target file already exists, do you need to overwrite it?</source> <translation>Целевой файл уже существует, вам нужно перезаписать это?</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>An error occurred during operation.</source> <translation>Во время работы произошла ошибка.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="861"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation>Пожалуйста, выберите подходящий целевой файл или файл подписи.Убедитесь, что оба находятся в этом каталоге.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> <source>No permission to read target file.</source> <translation>Нет разрешения на чтение целевого файла.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> <source>No permission to read signature file.</source> <translation>Нет разрешения на чтение файла подписи.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation>Выберите файл (.gpg / .asc), прежде чем делать это.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1153"/> <source>Outdated Version</source> <translation>Устаревшая версия</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1154"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation>Эта версия (% 1) устарела, пожалуйста, обновите последнюю версию вовремя.</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1156"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1163"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation>Вы можете скачать последнюю версию (% 1) на странице выбросов GitHub. <br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1160"/> <source>Unreleased Version</source> <translation>Неразрешенная версия</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1161"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation>Эта версия (% 1) не была официально выпущена и не рекомендуется для использования в производственной среде.<br/></translation> </message> @@ -2999,63 +3033,68 @@ <context> <name>SendMailTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="289"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="377"/> <source>Enable</source> <translation>Давать возможность</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="311"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="395"/> + <source>Check Connection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="399"/> <source>SMTP Address</source> <translation>SMTP-адрес</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="313"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="401"/> <source>Username</source> <translation>Имя пользователя</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="315"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="403"/> <source>Password</source> <translation>Пароль</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="317"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="405"/> <source>Port</source> <translation>Порт</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="407"/> <source>Connection Security</source> <translation>Безопасность подключения</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="322"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="410"/> <source>Default Sender</source> <translation>Отправитель по умолчанию</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail</source> <translation>Неудача</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> <source>Fail to Connect SMTP Server</source> <translation>Не удается подключить SMTP-сервер</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail to Login</source> <translation>Не входить в систему</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Success</source> <translation>Успех</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Succeed in connecting and login</source> <translation>Преуспеть в подключении и входе в систему</translation> </message> @@ -3063,37 +3102,37 @@ <context> <name>SettingsDialog</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="40"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> <source>General</source> <translation>Общий</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="41"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="44"/> <source>Appearance</source> <translation>Появление</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="42"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> <source>Send Mail</source> <translation>Отправить почту</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="46"/> <source>Key Server</source> <translation>Ключевой сервер</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="48"/> <source>Advanced</source> <translation>Передовой</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="58"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="61"/> <source>Settings</source> <translation>Настройки</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="103"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="106"/> <source>System Default</source> <translation>Системные установки по умолчанию</translation> </message> @@ -3101,95 +3140,92 @@ <context> <name>SubkeyGenerateDialog</name> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="46"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="47"/> <source>Generate New Subkey</source> <translation>Генерировать новый подразделение</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="61"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="62"/> <source>Encryption</source> <translation>Шифрование</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="64"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="65"/> <source>Signing</source> <translation>Подписание</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="67"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="68"/> <source>Certification</source> <translation>Сертификация</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="71"/> <source>Authentication</source> <translation>Аутентификация</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="114"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> <source>Expiration Date:</source> <translation>Дата окончания срока:</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> <source>Never Expire</source> <translation>Никогда не истекаешь</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> <source>KeySize (in Bit):</source> <translation>Клинизировать (по-бит):</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="118"/> <source>Key Type:</source> <translation>Тип ключа:</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="126"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="127"/> <source>Basic Information</source> <translation>Основная информация</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="214"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="215"/> <source> Expiration time no more than 2 years. </source> <translation>Время истечения не более 2 лет.</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="235"/> <source>Generating Subkey...</source> - <translation>Генерация подраздела ...</translation> + <translation type="vanished">Генерация подраздела ...</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="238"/> <source>Collecting random data for subkey generation. This may take a while. To speed up the process use your computer (e.g. browse the net, listen to music,...)</source> - <translation>Сбор случайных данных для поколения подраздела. + <translation type="vanished">Сбор случайных данных для поколения подраздела. Это может занять некоторое время. Чтобы ускорить процесс, используйте свой компьютер (например, просмотрите чистую, слушаю музыку, ...)</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>Success</source> <translation>Успех</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>The new subkey has been generated.</source> <translation>Новый подразделение было сгенерировано.</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="247"/> <source>Failure</source> <translation>Отказ</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> <source>An error occurred during subkey generation.</source> - <translation>Произошла ошибка во время поколения подраздела.</translation> + <translation type="vanished">Произошла ошибка во время поколения подраздела.</translation> </message> </context> <context> @@ -3466,35 +3502,29 @@ <context> <name>Wizard</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="46"/> + <location filename="../../src/ui/Wizard.cpp" line="40"/> <source>First Start Wizard</source> <translation>Первый запуск волшебника</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> <source>Import Error</source> - <translation>Ошибка импорта</translation> + <translation type="vanished">Ошибка импорта</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> <source>Couldn't locate any keyring file in %1</source> - <translation>Не мог найти любой файл ключа в% 1</translation> + <translation type="vanished">Не мог найти любой файл ключа в% 1</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="84"/> - <location filename="../../src/ui/Wizard.cpp" line="95"/> <source>Import error</source> - <translation>Ошибка импорта</translation> + <translation type="vanished">Ошибка импорта</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="85"/> <source>Couldn't open private keyringfile: %1</source> - <translation>Не мог открыть частное cliedingfile:% 1</translation> + <translation type="vanished">Не мог открыть частное cliedingfile:% 1</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="96"/> <source>Couldn't open public keyringfile: %1</source> - <translation>Не удалось открыть открытый клавиатуре:% 1</translation> + <translation type="vanished">Не удалось открыть открытый клавиатуре:% 1</translation> </message> </context> </TS> diff --git a/resource/ts/gpgfrontend_zh_cn.ts b/resource/ts/gpgfrontend_zh_cn.ts index 58efd923..05a8271a 100644 --- a/resource/ts/gpgfrontend_zh_cn.ts +++ b/resource/ts/gpgfrontend_zh_cn.ts @@ -27,12 +27,12 @@ <context> <name>AdvancedTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="679"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="762"/> <source>Show Steganography Options [Advanced]</source> <translation>显示隐写术选项[高级]</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="681"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="764"/> <source>Show Steganographic Options.</source> <translation>显示隐写术选项。</translation> </message> @@ -40,62 +40,62 @@ <context> <name>AppearanceTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="444"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="527"/> <source>Iconsize</source> <translation>图标化</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="446"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="529"/> <source>small</source> <translation>小的</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="447"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="530"/> <source>medium</source> <translation>中等的</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="448"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="531"/> <source>large</source> <translation>大</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="464"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="547"/> <source>Iconstyle</source> <translation>图标样式</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="466"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="549"/> <source>just text</source> <translation>只是文字</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="467"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="550"/> <source>just icons</source> <translation>只是图标</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="468"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="551"/> <source>text and icons</source> <translation>文字和图标</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="484"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="567"/> <source>Windowstate</source> <translation>窗口状态</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="570"/> <source>Save window size and position on exit.</source> <translation>保存窗口大小和位置。</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="495"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="578"/> <source>Information Board</source> <translation>信息板</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="501"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="584"/> <source> Front Size</source> <translation>字体大小</translation> </message> @@ -103,58 +103,58 @@ <context> <name>ChoosePage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="165"/> + <location filename="../../src/ui/Wizard.cpp" line="121"/> <source>Choose your action...</source> <translation>选择你的行动......</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="166"/> + <location filename="../../src/ui/Wizard.cpp" line="122"/> <source>...by clicking on the appropriate link.</source> <translation>...单击相应的链接。</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="168"/> + <location filename="../../src/ui/Wizard.cpp" line="124"/> <source>If you have never used GPGFrontend before and also don't own a gpg key yet you may possibly want to read how to</source> <translation>如果您之前从未使用过GPG2Rend并且也没有拥有GPG密钥,但您可能希望阅读如何</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="170"/> + <location filename="../../src/ui/Wizard.cpp" line="127"/> <source>Generate Key</source> <translation>生成密钥对</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="176"/> + <location filename="../../src/ui/Wizard.cpp" line="134"/> <source>If you want to learn how to encrypt, decrypt, sign and verify text, you can read </source> <translation>如果您想了解如何加密,解密,签名和验证文本,可以阅读</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> <source>Encrypt & Decrypt Text</source> <translation>加密&解密文本</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="178"/> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="136"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>or</source> <translation>或者</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="180"/> + <location filename="../../src/ui/Wizard.cpp" line="138"/> <source>Sign & Verify Text</source> <translation>签名&验证文本</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="188"/> + <location filename="../../src/ui/Wizard.cpp" line="146"/> <source>If you want to operate file, you can read </source> <translation>如果要操作文件,可以阅读</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="190"/> + <location filename="../../src/ui/Wizard.cpp" line="149"/> <source>Encrypt & Sign File</source> <translation>加密&签名文件</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="192"/> + <location filename="../../src/ui/Wizard.cpp" line="152"/> <source>Sign & Verify File</source> <translation>签名&验证文件</translation> </message> @@ -162,37 +162,37 @@ <context> <name>ConclusionPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="407"/> + <location filename="../../src/ui/Wizard.cpp" line="224"/> <source>Ready.</source> <translation>准备好。</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="408"/> + <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Have fun with GPGFrontend!</source> <translation>在GPGFrontend玩得开心!</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="410"/> + <location filename="../../src/ui/Wizard.cpp" line="227"/> <source>You are ready to use GPGFrontend now.<br><br></source> <translation>你现在准备好使用GPGFrontend。<br> <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="412"/> + <location filename="../../src/ui/Wizard.cpp" line="229"/> <source>The Online Document</source> <translation>在线文档</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="413"/> + <location filename="../../src/ui/Wizard.cpp" line="231"/> <source> will get you started with GPGFrontend. It will open in the main window.<br></source> <translation>会带领你开始使用GPGFrontend。它将在主窗口中打开。<br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="420"/> + <location filename="../../src/ui/Wizard.cpp" line="238"/> <source>Open offline help.</source> <translation>打开离线帮助。</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="423"/> + <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Dont show the wizard again.</source> <translation>不要再次显示向导。</translation> </message> @@ -361,60 +361,92 @@ <context> <name>GeneralTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="137"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> <source>Remember Password</source> <translation>记住密码</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="140"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="143"/> <source>Remember password until closing gpg4usb</source> <translation>记住密码,直到关闭GPG4USB</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="147"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> <source>Save Checked Keys</source> <translation>保存选中密钥</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="150"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="153"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation>在退出时保存已选中的密钥对并在下次启动时恢复。</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="159"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> <source>Confirm drag'n'drop key import</source> <translation>默认拖拽文件'触发密钥导入</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="162"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="165"/> <source>Import files dropped on the keylist without confirmation.</source> <translation>无需确认导入文件是否要在密钥列表中显示。</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="169"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="172"/> <source>Language</source> <translation>语言</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="178"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="181"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation><b>注意:如果更改语言,则会自动重启!</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="187"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="190"/> <source>Own key</source> <translation>我的密钥</translation> </message> <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="194"/> + <source>Get Service Token</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/ui/SettingsDialog.cpp" line="195"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="302"/> + <source>No Service Token Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="201"/> <source><none></source> <translation><无></translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="209"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="217"/> <source>Key pair for synchronization and identity authentication</source> <translation>用于同步和身份验证的密钥对</translation> </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Invalid Operation</source> + <translation type="unfinished">操作无效</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <source>Own Key can not be None while getting service token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="363"/> + <source>Error</source> + <translation type="unfinished">错误</translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="360"/> + <source>Invalid Service Token Format</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>GpgME::GpgContext</name> @@ -434,17 +466,17 @@ <translation>输入密码</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> <source>Key Selection</source> <translation>密钥选择</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="706"/> + <location filename="../../src/gpg/GpgContext.cpp" line="705"/> <source>No Private Key Selected</source> <translation>没有选择私钥</translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="746"/> + <location filename="../../src/gpg/GpgContext.cpp" line="739"/> <source>Error in signing:</source> <translation>签名时出错:</translation> </message> @@ -452,22 +484,22 @@ <context> <name>GpgPathsTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="711"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="794"/> <source>Relative path to keydb</source> <translation>keydB的相对路径</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="724"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="807"/> <source>Current keydb path: </source> <translation>当前密钥数据库路径:</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="729"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="812"/> <source><b>NOTE: </b> Gpg4usb will restart automatically if you change the keydb path!</source> <translation><b>注意:如果更改密钥数据库路径,则会自动重启!</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="758"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="841"/> <source>Choose keydb directory</source> <translation>选择密钥数据库目录</translation> </message> @@ -475,82 +507,67 @@ <context> <name>ImportFromGnupgPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="302"/> <source>Import keys...</source> - <translation>导入密钥......</translation> + <translation type="vanished">导入密钥......</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="303"/> <source>...from existing GnuPG installation</source> - <translation>...从现有的Gnupg安装</translation> + <translation type="vanished">...从现有的Gnupg安装</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="305"/> <source>You can import keys from a locally installed GnuPG.<br><br> The location is read from registry in Windows or assumed to be the .gnupg folder in the your home directory in Linux.<br></source> - <translation>您可以从本地安装的gnupg导入密钥。<br> <br>从Windows中的Registry读取位置,也可以在Linux中的主目录中假定为.gnupg文件夹。<br> <br></translation> + <translation type="vanished">您可以从本地安装的gnupg导入密钥。<br> <br>从Windows中的Registry读取位置,也可以在Linux中的主目录中假定为.gnupg文件夹。<br> <br></translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="309"/> <source>Import keys from GnuPG</source> - <translation>从Gnupg导入密钥</translation> + <translation type="vanished">从Gnupg导入密钥</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> <source>Import Error</source> - <translation>导入错误</translation> + <translation type="vanished">导入错误</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="323"/> <source>Couldn't locate GnuPG home directory</source> - <translation>无法找到gnupg主目录</translation> + <translation type="vanished">无法找到gnupg主目录</translation> </message> </context> <context> <name>ImportFromGpg4usbPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="225"/> <source>Import from...</source> - <translation>导入于...</translation> + <translation type="vanished">导入于...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="226"/> <source>...existing GPGFrontend</source> - <translation>......现有的GPGFrontend.</translation> + <translation type="vanished">......现有的GPGFrontend.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="228"/> <source>You can import keys and/or settings from existing GPGFrontend. <br><br>Just check what you want to import, click the import button and choose the directory of your other GPGFrontend in the appearing file dialog.</source> - <translation>您可以从现有GPGFrontend导入密钥和/或设置。<br> <br>查看要导入的内容,单击“导入”按钮,然后在“出现的文件”对话框中选择其他GPGFrontend的目录。</translation> + <translation type="vanished">您可以从现有GPGFrontend导入密钥和/或设置。<br> <br>查看要导入的内容,单击“导入”按钮,然后在“出现的文件”对话框中选择其他GPGFrontend的目录。</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="235"/> <source>Keys</source> - <translation>密钥</translation> + <translation type="vanished">密钥</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="239"/> <source>Configuration</source> - <translation>配置</translation> + <translation type="vanished">配置</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="241"/> <source>Import from GPGFrontend</source> - <translation>从GPGFrontend导入</translation> + <translation type="vanished">从GPGFrontend导入</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="256"/> <source>Other GPGFrontend directory</source> - <translation>其他GPGFrontend目录</translation> + <translation type="vanished">其他GPGFrontend目录</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="275"/> <source>Configuration Imported</source> - <translation>配置导入</translation> + <translation type="vanished">配置导入</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="276"/> <source>Imported Configuration from old GPGFrontend.<br>Will now restart to activate the configuration.</source> - <translation>从旧GPGFrontend导入配置。<br>现在将重新启动以激活配置。</translation> + <translation type="vanished">从旧GPGFrontend导入配置。<br>现在将重新启动以激活配置。</translation> </message> </context> <context> @@ -592,42 +609,42 @@ <context> <name>IntroPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="111"/> + <location filename="../../src/ui/Wizard.cpp" line="66"/> <source>Getting Started...</source> <translation>入门...</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="112"/> + <location filename="../../src/ui/Wizard.cpp" line="67"/> <source>... with GPGFrontend</source> <translation>...与GPGFrontend.</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="114"/> + <location filename="../../src/ui/Wizard.cpp" line="69"/> <source>Welcome to use GPGFrontend for decrypting and signing text or file!</source> <translation>欢迎使用GPGFrontend进行解密和签名文本或文件!</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="116"/> + <location filename="../../src/ui/Wizard.cpp" line="71"/> <source>is a Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP Crypto Tool.</source> <translation>是一个功能强大,易于使用,小巧,跨平台和无需安装的OpenPGP加密工具。</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="117"/> + <location filename="../../src/ui/Wizard.cpp" line="72"/> <source>For brief information have a look at the</source> <translation>了解简要信息请查看</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="118"/> + <location filename="../../src/ui/Wizard.cpp" line="74"/> <source>Overview</source> <translation>概述</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="119"/> + <location filename="../../src/ui/Wizard.cpp" line="75"/> <source>by clicking the link, the page will open in the web browser</source> <translation>通过单击链接,页面将在Web浏览器中打开</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="127"/> + <location filename="../../src/ui/Wizard.cpp" line="83"/> <source>Choose a Language</source> <translation>选择一种语言</translation> </message> @@ -658,131 +675,128 @@ <context> <name>KeyGenDialog</name> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="32"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="33"/> <source>Generate Key</source> <translation>生成密钥</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="68"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="69"/> <source> Name must contain at least five characters. </source> <translation>名称必须包含至少五个字符。</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="71"/> <source> Please give a email address. </source> <translation>请提供电子邮件地址。</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/> <source> Expiration time no more than 2 years. </source> <translation>到期时间不超过2年。</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/> <source>Generating Key...</source> - <translation>生成密钥......</translation> + <translation type="vanished">生成密钥......</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/> <source>Collecting random data for key generation. This may take a while. To speed up the process use your computer (e.g. browse the net, listen to music,...)</source> - <translation>收集密钥生成的随机数据。 + <translation type="vanished">收集密钥生成的随机数据。 可能还要等一下。 加快过程使用您的计算机 (例如,浏览网,听音乐,......)</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="145"/> <source>Key Usage</source> <translation>密钥用法</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="147"/> <source>Encryption</source> <translation>加密</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="150"/> <source>Signing</source> <translation>签名</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/> <source>Certification</source> <translation>认证</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/> <source>Authentication</source> <translation>验证</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>Success</source> <translation>成功</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="112"/> <source>The new key pair has been generated.</source> <translation>已生成新的密钥对。</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="116"/> <source>Failure</source> <translation>失败</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/> <source>An error occurred during key generation.</source> - <translation>密钥生成期间发生错误。</translation> + <translation type="vanished">密钥生成期间发生错误。</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="338"/> <source>Name:</source> <translation>名称:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="339"/> <source>Email Address:</source> <translation>电子邮件地址:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="340"/> <source>Comment:</source> <translation>备注:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="341"/> <source>Expiration Date:</source> <translation>过期日期:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="342"/> <source>Never Expire</source> <translation>永不过期</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="343"/> <source>KeySize (in Bit):</source> <translation>密钥长度(位):</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="344"/> <source>Key Type:</source> <translation>密钥类型:</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="345"/> <source>Non Pass Phrase</source> <translation>无需密码保护</translation> </message> <message> - <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/> + <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/> <source>Basic Information</source> <translation>基本信息</translation> </message> @@ -790,27 +804,27 @@ <context> <name>KeyGenPage</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="366"/> + <location filename="../../src/ui/Wizard.cpp" line="183"/> <source>Create a keypair...</source> <translation>新建一个密钥对......</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="367"/> + <location filename="../../src/ui/Wizard.cpp" line="184"/> <source>...for decrypting and signing messages</source> <translation>...用于解密和签名消息</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="368"/> + <location filename="../../src/ui/Wizard.cpp" line="185"/> <source>You should create a new keypair.The pair consists of a public and a private key.<br>Other users can use the public key to encrypt messages for you and verify messages signed by you.You can use the private key to decrypt and sign messages.<br>For more information have a look at the offline tutorial (which then is shown in the main window):</source> <translation>您应该创建一个新的keypair.该金对由公共和私钥组成。<br>其他用户可以使用公钥来加密为您的消息,并验证由您签名的消息。您可以使用私钥来解密和签名消息。<br> <br>更多信息看看脱机教程(然后在主窗口中显示):</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="375"/> + <location filename="../../src/ui/Wizard.cpp" line="192"/> <source>Offline tutorial</source> <translation>离线教程</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="382"/> + <location filename="../../src/ui/Wizard.cpp" line="199"/> <source>Create New Key</source> <translation>创建新密钥</translation> </message> @@ -938,59 +952,59 @@ <context> <name>KeyList</name> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Select</source> <translation>选择</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Type</source> <translation>类型</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Name</source> <translation>名称</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/> <source>Email Address</source> <translation>电子邮件地址</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Usage</source> <translation>用法</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Validity</source> <translation>有效性</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/> <source>Finger Print</source> <translation>指纹</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="302"/> <source>Import Keys</source> <translation>导入密钥</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="305"/> <source>You've dropped something on the table. GpgFrontend will now try to import key(s).</source> <translation>你拖拽了某些文件到表格上。 GPGFrontend现在将尝试导入密钥。</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="320"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="308"/> <source>Always import without bothering.</source> <translation>始终导入而不再询问。</translation> </message> <message> - <location filename="../../src/ui/widgets/KeyList.cpp" line="356"/> + <location filename="../../src/ui/widgets/KeyList.cpp" line="341"/> <source>Couldn't Open File: </source> <translation>无法打开文件:</translation> </message> @@ -1985,27 +1999,27 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>KeyUploadDialog</name> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="49"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="47"/> <source>Uploading Public Key</source> <translation>上传公钥</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="112"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="110"/> <source>Key Not Found</source> <translation>找不到密钥</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="115"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="113"/> <source>Timeout</source> <translation>超时</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="118"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="116"/> <source>Key Server Not Found</source> <translation>找不到密钥服务器</translation> </message> <message> - <location filename="../../src/ui/KeyUploadDialog.cpp" line="121"/> + <location filename="../../src/ui/KeyUploadDialog.cpp" line="119"/> <source>Connection Error</source> <translation>连接错误</translation> </message> @@ -2013,12 +2027,12 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>KeyserverTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="607"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="690"/> <source>Default Key Server for import:</source> <translation>导入的默认密钥服务器:</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="624"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="707"/> <source>Add</source> <translation>添加</translation> </message> @@ -2041,247 +2055,267 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation>GNUPG未正确安装,请按照README说明安装GNUPG,然后打开GPGFrontend。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="41"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="596"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="773"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="956"/> <source>No Key Selected</source> <translation>没有选择密钥</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="48"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="127"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="603"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="780"/> <source>Invalid Operation</source> <translation>操作无效</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="49"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="604"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation>所选密钥包含一个实际上没有加密使用的密钥。<br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="50"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="129"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="605"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="782"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="970"/> <source><br/>For example the Following Key: <br/></source> <translation><br/>例如以下密钥:<br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="68"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="625"/> <source>Encrypting</source> <translation>加密</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="371"/> <source>Function Disabled</source> <translation>功能已禁用</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="98"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="372"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation>请转到“设置”界面以启用和配置此功能。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation>所选密钥包含一个实际上没有签名使用的密钥。<br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="145"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="802"/> <source>Signing</source> <translation>签名</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/> <source>Decrypting</source> <translation>解密</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="249"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="887"/> <source>Verifying</source> <translation>验证</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="301"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="968"/> <source>Invalid KeyPair</source> <translation>无效的密钥对</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="969"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation>选定的密钥对不能同时使用用于签名和加密。<br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="313"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/> <source>Incomplete Operation</source> <translation>不完整的操作</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="981"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation>没有选定的密钥对可以提供加密功能。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="988"/> <source>None of the selected key pairs can provide the signature function.</source> <translation>没有选定的密钥对可以提供签名功能。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1007"/> <source>Encrypting and Signing</source> <translation>加密和签名</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="378"/> + <source>Service Token Empty</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="379"/> + <source>Please go to the settings interface to set Own Key and get Service Token.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="413"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> <source>Decrypting and Verifying</source> <translation>解密和验证</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Invalid Own Key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="463"/> + <source>Own Key can not be use to do any operation.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>Error</source> <translation>错误</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="661"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="746"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="930"/> <source>Select a file before doing it.</source> <translation>在执行此操作之前选择文件。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="665"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="750"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="934"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1051"/> <source>No permission to read this file.</source> <translation>无权限读取此文件。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="578"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="669"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="754"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="938"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/> <source>No permission to create file.</source> <translation>无权限创建文件。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="583"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="760"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="943"/> <source>Warning</source> <translation>警告</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="584"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="685"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="761"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="944"/> <source>The target file already exists, do you need to overwrite it?</source> <translation>目标文件已存在,您是否需要覆盖它?</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="828"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1035"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1117"/> <source>An error occurred during operation.</source> <translation>操作期间发生错误。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="861"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation>请选择相应的目标文件或签名文件。确保两者都在此目录中。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="865"/> <source>No permission to read target file.</source> <translation>无权限读取目标文件。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="869"/> <source>No permission to read signature file.</source> <translation>无权限读取签名文件。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1047"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation>在做之前选择一个文件(.gpg / .casc)。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1153"/> <source>Outdated Version</source> <translation>过时的版本</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1154"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation>此版本(%1)已过期,请及时更新最新版本。</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1156"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1163"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation>您可以在Github发布页面上下载最新版本(%1)。<br/></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1160"/> <source>Unreleased Version</source> <translation>未发布的版本</translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1161"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation>此版本(%1)尚未正式发布,不建议在生产环境中使用。<BR/></translation> </message> @@ -3009,63 +3043,68 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>SendMailTab</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="289"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="377"/> <source>Enable</source> <translation>使能够</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="311"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="395"/> + <source>Check Connection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/SettingsDialog.cpp" line="399"/> <source>SMTP Address</source> <translation>SMTP地址</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="313"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="401"/> <source>Username</source> <translation>用户名</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="315"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="403"/> <source>Password</source> <translation>密码</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="317"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="405"/> <source>Port</source> <translation>港口</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="319"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="407"/> <source>Connection Security</source> <translation>连接安全</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="322"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="410"/> <source>Default Sender</source> <translation>默认发件人</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail</source> <translation>失败</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="404"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="487"/> <source>Fail to Connect SMTP Server</source> <translation>无法连接SMTP服务器</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="408"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="491"/> <source>Fail to Login</source> <translation>未登录</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Success</source> <translation>成功</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="413"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="496"/> <source>Succeed in connecting and login</source> <translation>成功连接和登录</translation> </message> @@ -3073,37 +3112,37 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>SettingsDialog</name> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="40"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> <source>General</source> <translation>通用</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="41"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="44"/> <source>Appearance</source> <translation>外观</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="42"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> <source>Send Mail</source> <translation>发送邮件</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="43"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="46"/> <source>Key Server</source> <translation>密钥服务器</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="45"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="48"/> <source>Advanced</source> <translation>高级</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="58"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="61"/> <source>Settings</source> <translation>设置</translation> </message> <message> - <location filename="../../src/ui/SettingsDialog.cpp" line="103"/> + <location filename="../../src/ui/SettingsDialog.cpp" line="106"/> <source>System Default</source> <translation>系统默认值</translation> </message> @@ -3111,95 +3150,92 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>SubkeyGenerateDialog</name> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="46"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="47"/> <source>Generate New Subkey</source> <translation>生成新的子项</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="61"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="62"/> <source>Encryption</source> <translation>加密</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="64"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="65"/> <source>Signing</source> <translation>签名</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="67"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="68"/> <source>Certification</source> <translation>认证</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="70"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="71"/> <source>Authentication</source> <translation>验证</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="114"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> <source>Expiration Date:</source> <translation>过期日期:</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="115"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> <source>Never Expire</source> <translation>永不过期</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="116"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> <source>KeySize (in Bit):</source> <translation>keysize(位):</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="117"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="118"/> <source>Key Type:</source> <translation>密钥类型:</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="126"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="127"/> <source>Basic Information</source> <translation>基本信息</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="214"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="215"/> <source> Expiration time no more than 2 years. </source> <translation>到期时间不超过2年。</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="235"/> <source>Generating Subkey...</source> - <translation>生成子密钥......</translation> + <translation type="vanished">生成子密钥......</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="238"/> <source>Collecting random data for subkey generation. This may take a while. To speed up the process use your computer (e.g. browse the net, listen to music,...)</source> - <translation>收集子项的随机数据。 + <translation type="vanished">收集子项的随机数据。 可能还要等一下。 加快过程使用您的计算机 (例如,浏览网,听音乐,......)</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>Success</source> <translation>成功</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="309"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="244"/> <source>The new subkey has been generated.</source> <translation>已生成新的子项。</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> + <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="247"/> <source>Failure</source> <translation>失败</translation> </message> <message> - <location filename="../../src/ui/keygen/SubkeyGenerateDialog.cpp" line="311"/> <source>An error occurred during subkey generation.</source> - <translation>子项生成期间发生错误。</translation> + <translation type="vanished">子项生成期间发生错误。</translation> </message> </context> <context> @@ -3476,35 +3512,29 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>Wizard</name> <message> - <location filename="../../src/ui/Wizard.cpp" line="46"/> + <location filename="../../src/ui/Wizard.cpp" line="40"/> <source>First Start Wizard</source> <translation>首次开始向导</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> <source>Import Error</source> - <translation>导入错误</translation> + <translation type="vanished">导入错误</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="76"/> <source>Couldn't locate any keyring file in %1</source> - <translation>无法在%1中定位任何密钥控文件</translation> + <translation type="vanished">无法在%1中定位任何密钥控文件</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="84"/> - <location filename="../../src/ui/Wizard.cpp" line="95"/> <source>Import error</source> - <translation>导入错误</translation> + <translation type="vanished">导入错误</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="85"/> <source>Couldn't open private keyringfile: %1</source> - <translation>无法打开私有keyringfile:%1</translation> + <translation type="vanished">无法打开私有keyringfile:%1</translation> </message> <message> - <location filename="../../src/ui/Wizard.cpp" line="96"/> <source>Couldn't open public keyringfile: %1</source> - <translation>无法打开公钥密钥入文件:%1</translation> + <translation type="vanished">无法打开公钥密钥入文件:%1</translation> </message> </context> </TS> diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ad56423d..cdd0bfe7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,8 +1,7 @@ -set(ALL_SOURCE_FILE) - add_subdirectory(gpg) add_subdirectory(ui) add_subdirectory(smtp) +add_subdirectory(server) aux_source_directory(. BASE_SOURCE) @@ -121,23 +120,26 @@ else() add_executable(${AppName} ${BASE_SOURCE} ${RESOURCE_FILES} ${QT5_MOCS}) endif() +set(GPGFRONTEND_LIBS smtp gpgfrontend-ui server gpg) +set(QT_DEPENDENCY_LIBS Qt5::Network Qt5::PrintSupport Qt5::Widgets Qt5::Test Qt5::Core) + IF (MINGW) message(STATUS "Link Application Static Library For MINGW") target_link_libraries(${AppName} - smtp gpgfrontend-ui gpg - Qt5::Network Qt5::PrintSupport Qt5::Widgets Qt5::Test Qt5::Core + ${GPGFRONTEND_LIBS} + ${QT_DEPENDENCY_LIBS} crypto ssl) elseif(APPLE) message(STATUS "Link Application Static Library For macOS") target_link_libraries(${AppName} - smtp gpgfrontend-ui gpg - Qt5::Network Qt5::PrintSupport Qt5::Widgets Qt5::Test Qt5::Core + ${GPGFRONTEND_LIBS} + ${QT_DEPENDENCY_LIBS} crypto ssl) else() message(STATUS "Link Application Static Library For UNIX") target_link_libraries(${AppName} - smtp gpgfrontend-ui gpg - Qt5::Network Qt5::PrintSupport Qt5::Widgets Qt5::Test Qt5::Core + ${GPGFRONTEND_LIBS} + ${QT_DEPENDENCY_LIBS} crypto ssl pthread) endif() diff --git a/src/gpg/GpgContext.cpp b/src/gpg/GpgContext.cpp index 72c04ac9..ff32edd8 100644 --- a/src/gpg/GpgContext.cpp +++ b/src/gpg/GpgContext.cpp @@ -694,13 +694,12 @@ namespace GpgME { } gpg_error_t - GpgContext::sign(const QVector<GpgKey> &keys, const QByteArray &inBuffer, QByteArray *outBuffer, bool detached, + GpgContext::sign(const QVector<GpgKey> &keys, const QByteArray &inBuffer, QByteArray *outBuffer, gpgme_sig_mode_t mode, gpgme_sign_result_t *result) { gpgme_error_t gpgmeError; gpgme_data_t dataIn, dataOut; gpgme_sign_result_t m_result; - gpgme_sig_mode_t mode; if (keys.isEmpty()) { QMessageBox::critical(nullptr, tr("Key Selection"), tr("No Private Key Selected")); @@ -729,12 +728,6 @@ namespace GpgME { mode settings of the context are ignored. */ - if (detached) { - mode = GPGME_SIG_MODE_DETACH; - } else { - mode = GPGME_SIG_MODE_CLEAR; - } - gpgmeError = gpgme_op_sign(mCtx, dataIn, dataOut, mode); checkErr(gpgmeError); diff --git a/src/gpg/GpgFileOpera.cpp b/src/gpg/GpgFileOpera.cpp index 9395bd17..5d924349 100644 --- a/src/gpg/GpgFileOpera.cpp +++ b/src/gpg/GpgFileOpera.cpp @@ -114,7 +114,7 @@ gpgme_error_t GpgFileOpera::signFile(GpgME::GpgContext *ctx, QVector<GpgKey> &ke auto outBuffer = QByteArray(); infile.close(); - auto error = ctx->sign(keys, inBuffer, &outBuffer, true, result); + auto error = ctx->sign(keys, inBuffer, &outBuffer, GPGME_SIG_MODE_DETACH, result); if (gpg_err_code(error) != GPG_ERR_NO_ERROR) return error; diff --git a/src/gpg/GpgUID.cpp b/src/gpg/GpgUID.cpp index f8f7e8fa..0dc6abfd 100644 --- a/src/gpg/GpgUID.cpp +++ b/src/gpg/GpgUID.cpp @@ -1,6 +1,26 @@ -// -// Created by eric on 2021/5/22. -// +/** + * This file is part of GPGFrontend. + * + * GPGFrontend is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Foobar is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <https://www.gnu.org/licenses/>. + * + * The initial version of the source code is inherited from gpg4usb-team. + * Their source code version also complies with GNU General Public License. + * + * The source code version of this software was modified and released + * by Saturneric<[email protected]> starting on May 12, 2021. + * + */ #include "gpg/GpgUID.h" diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt new file mode 100644 index 00000000..867be076 --- /dev/null +++ b/src/server/CMakeLists.txt @@ -0,0 +1,6 @@ +aux_source_directory(. SERVER_SOURCE) + +add_library(server STATIC ${SERVER_SOURCE}) + +target_link_libraries(server + Qt5::Network Qt5::Widgets Qt5::Core) diff --git a/src/server/ComUtils.cpp b/src/server/ComUtils.cpp new file mode 100644 index 00000000..637b5c12 --- /dev/null +++ b/src/server/ComUtils.cpp @@ -0,0 +1,81 @@ +/** + * This file is part of GPGFrontend. + * + * GPGFrontend is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Foobar is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Foobar. If not, see <https://www.gnu.org/licenses/>. + * + * The initial version of the source code is inherited from gpg4usb-team. + * Their source code version also complies with GNU General Public License. + * + * The source code version of this software was modified and released + * by Saturneric<[email protected]> starting on May 12, 2021. + * + */ + +#include "server/ComUtils.h" + +/** + * check server reply if it can parse into a json object + * @param reply reply data in byte array + * @return if successful + */ +bool ComUtils::checkServerReply(const QByteArray &reply) { + + /** + * Server Reply Format(Except Timeout) + * { + * "status": 200, + * "message": "OK", + * "data" : { + * ... + * } + * } + */ + + // check if reply is a json object + if (replyDoc.Parse(reply).HasParseError() || !replyDoc.IsObject()) { + QMessageBox::critical(this, tr("Error"), tr("Unknown Error")); + return false; + } + + // check status(int) and message(string) + if (replyDoc.HasMember("status") && replyDoc.HasMember("message") + && replyDoc["status"].IsInt() && replyDoc["message"].IsString()) { + + int status = replyDoc["status"].GetInt(); + QString message = replyDoc["status"].GetString(); + + // check status code if successful (200-299) + // check data object + if (status / 10 == 2 && replyDoc.HasMember("data") && replyDoc["data"].IsObject()) { + dataVal = replyDoc["data"].GetObjectA(); + is_good = true; + return true; + } else QMessageBox::critical(this, tr("Error"), message); + + } else QMessageBox::critical(this, tr("Error"), tr("Unknown Reply Format")); +} + +/** + * get value in data + * @param key key of value + * @return value in string format + */ +QString ComUtils::getDataValue(const QString &key) { + if (is_good) { + auto k_byte_array = key.toUtf8(); + if (dataVal.HasMember(k_byte_array.data())) { + return dataVal[k_byte_array.data()].GetString(); + } else return {}; + } else return {}; +} diff --git a/src/ui/FileEncryptionDialog.cpp b/src/ui/FileEncryptionDialog.cpp index e92dfc90..d9bc7ce2 100755 --- a/src/ui/FileEncryptionDialog.cpp +++ b/src/ui/FileEncryptionDialog.cpp @@ -229,7 +229,7 @@ void FileEncryptionDialog::slotExecuteAction() { if (mAction == Sign) { qDebug() << "Action Sign"; - gpgme_error_t err = mCtx->sign(keys, inBuffer, outBuffer, true); + gpgme_error_t err = mCtx->sign(keys, inBuffer, outBuffer, GPGME_SIG_MODE_DETACH); if (gpgme_err_code(err) != GPG_ERR_NO_ERROR) { qDebug() << "Error" << gpgme_strerror(err); QMessageBox::warning(this, tr("Error"), diff --git a/src/ui/KeyUploadDialog.cpp b/src/ui/KeyUploadDialog.cpp index faf892f0..ab38569f 100644 --- a/src/ui/KeyUploadDialog.cpp +++ b/src/ui/KeyUploadDialog.cpp @@ -24,8 +24,6 @@ #include "ui/KeyUploadDialog.h" -#include <utility> - KeyUploadDialog::KeyUploadDialog(GpgME::GpgContext *ctx, const QVector<GpgKey> &keys, QWidget *parent) : appPath(qApp->applicationDirPath()), settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini", QSettings::IniFormat), diff --git a/src/ui/SettingsDialog.cpp b/src/ui/SettingsDialog.cpp index 1732d718..00b26e7b 100755 --- a/src/ui/SettingsDialog.cpp +++ b/src/ui/SettingsDialog.cpp @@ -26,6 +26,9 @@ #include "smtp/SmtpMime" #include "ui/WaitingDialog.h" +#include "rapidjson/document.h" +#include "rapidjson/prettywriter.h" + SettingsDialog::SettingsDialog(GpgME::GpgContext *ctx, QWidget *parent) : QDialog(parent) { mCtx = ctx; @@ -132,14 +135,15 @@ GeneralTab::GeneralTab(GpgME::GpgContext *ctx, QWidget *parent) mCtx = ctx; /***************************************** - * remember Password-Box + * GpgFrontend Server *****************************************/ - auto *rememberPasswordBox = new QGroupBox(tr("Remember Password")); - auto *rememberPasswordBoxLayout = new QHBoxLayout(); - rememberPasswordCheckBox = - new QCheckBox(tr("Remember password until closing gpg4usb"), this); - rememberPasswordBoxLayout->addWidget(rememberPasswordCheckBox); - rememberPasswordBox->setLayout(rememberPasswordBoxLayout); + auto *serverBox = new QGroupBox(tr("GpgFrontend Server")); + auto *serverBoxLayout = new QVBoxLayout(); + serverSelectBox = new QComboBox(); + serverBoxLayout->addWidget(serverSelectBox); + serverBoxLayout->addWidget(new QLabel( + tr("Server that provides short key and key exchange services"))); + serverBox->setLayout(serverBoxLayout); /***************************************** * Save-Checked-Keys-Box @@ -171,7 +175,7 @@ GeneralTab::GeneralTab(GpgME::GpgContext *ctx, QWidget *parent) langSelectBox = new QComboBox; lang = SettingsDialog::listLanguages(); - foreach (QString l, lang) { langSelectBox->addItem(l); } + for (const auto &l: lang) { langSelectBox->addItem(l); } langBoxLayout->addWidget(langSelectBox); langBoxLayout->addWidget( @@ -186,7 +190,10 @@ GeneralTab::GeneralTab(GpgME::GpgContext *ctx, QWidget *parent) *****************************************/ auto *ownKeyBox = new QGroupBox(tr("Own key")); auto *ownKeyBoxLayout = new QVBoxLayout(); + auto *ownKeyServiceTokenLayout = new QHBoxLayout(); ownKeySelectBox = new QComboBox; + getServiceTokenButton = new QPushButton(tr("Get Service Token")); + serviceTokenLabel = new QLabel(tr("No Service Token Found")); ownKeyBox->setLayout(ownKeyBoxLayout); mKeyList = new KeyList(mCtx); @@ -204,16 +211,22 @@ GeneralTab::GeneralTab(GpgME::GpgContext *ctx, QWidget *parent) } connect(ownKeySelectBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotOwnKeyIdChanged())); + connect(getServiceTokenButton, SIGNAL(clicked(bool)), this, + SLOT(slotGetServiceToken())); ownKeyBoxLayout->addWidget(new QLabel( tr("Key pair for synchronization and identity authentication"))); ownKeyBoxLayout->addWidget(ownKeySelectBox); + ownKeyBoxLayout->addLayout(ownKeyServiceTokenLayout); + ownKeyServiceTokenLayout->addWidget(getServiceTokenButton); + ownKeyServiceTokenLayout->addWidget(serviceTokenLabel); + ownKeyServiceTokenLayout->stretch(0); /***************************************** * Mainlayout *****************************************/ auto *mainLayout = new QVBoxLayout; - mainLayout->addWidget(rememberPasswordBox); + mainLayout->addWidget(serverBox); mainLayout->addWidget(saveCheckedKeysBox); mainLayout->addWidget(importConfirmationBox); mainLayout->addWidget(langBox); @@ -235,6 +248,15 @@ void GeneralTab::setSettings() { saveCheckedKeysCheckBox->setCheckState(Qt::Checked); } + auto serverList = settings.value("general/gpgfrontendServerList").toStringList(); + if(serverList.empty()) { + serverList.append("service.gpgfrontend.pub"); + } + for(const auto &s : serverList) + serverSelectBox->addItem(s); + serverSelectBox->setCurrentText(settings.value("general/currentGpgfrontendServer", + "service.gpgfrontend.pub").toString()); + // Language setting QString langKey = settings.value("int/lang").toString(); QString langValue = lang.value(langKey); @@ -242,16 +264,22 @@ void GeneralTab::setSettings() { langSelectBox->setCurrentIndex(langSelectBox->findText(langValue)); } - QString ownKeyId = settings.value("general/ownKeyId").toString(); - qDebug() << "OwnKeyId" << ownKeyId; - if (ownKeyId.isEmpty()) { + QString own_key_id = settings.value("general/ownKeyId").toString(); + qDebug() << "OwnKeyId" << own_key_id; + if (own_key_id.isEmpty()) { ownKeySelectBox->setCurrentText("<none>"); } else { - const auto text = keyIds.find(ownKeyId).value(); - qDebug() << "OwnKey" << ownKeyId << text; + const auto text = keyIds.find(own_key_id).value(); + qDebug() << "OwnKey" << own_key_id << text; ownKeySelectBox->setCurrentText(text); } + serviceToken = settings.value("general/serviceToken").toString(); + qDebug() << "Load Service Token" << serviceToken; + if(!serviceToken.isEmpty()) { + serviceTokenLabel->setText(serviceToken); + } + // Get own key information from keydb/gpg.conf (if contained) if (settings.value("general/confirmImportKeys", Qt::Checked).toBool()) { importConfirmationCheckBox->setCheckState(Qt::Checked); @@ -265,12 +293,25 @@ void GeneralTab::setSettings() { void GeneralTab::applySettings() { settings.setValue("keys/saveKeyChecked", saveCheckedKeysCheckBox->isChecked()); - // TODO: clear passwordCache instantly on unset rememberPassword - settings.setValue("general/rememberPassword", - rememberPasswordCheckBox->isChecked()); + + settings.setValue("general/currentGpgfrontendServer", + serverSelectBox->currentText()); + + auto *serverList = new QStringList(); + for(int i = 0; i < serverSelectBox->count(); i++) + serverList->append(serverSelectBox->itemText(i)); + settings.setValue("general/gpgfrontendServerList", + *serverList); + delete serverList; + settings.setValue("int/lang", lang.key(langSelectBox->currentText())); + settings.setValue("general/ownKeyId", keyIdsList[ownKeySelectBox->currentIndex()]); + + settings.setValue("general/serviceToken", + serviceToken); + settings.setValue("general/confirmImportKeys", importConfirmationCheckBox->isChecked()); } @@ -279,6 +320,81 @@ void GeneralTab::slotLanguageChanged() { emit signalRestartNeeded(true); } void GeneralTab::slotOwnKeyIdChanged() { // Set ownKeyId to currently selected + this->serviceTokenLabel->setText(tr("No Service Token Found")); + serviceToken.clear(); +} + +void GeneralTab::slotGetServiceToken() { + QUrl reqUrl("http://127.0.0.1:9048/user"); + QNetworkRequest request(reqUrl); + request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + // Building Post Data + QByteArray keyDataBuf; + + const auto keyId = keyIdsList[ownKeySelectBox->currentIndex()]; + + qDebug() << "KeyId" << keyIdsList[ownKeySelectBox->currentIndex()]; + + if(keyId.isEmpty()) { + QMessageBox::critical(this, tr("Invalid Operation"), tr("Own Key can not be None while getting service token.")); + return; + } + + QStringList selectedKeyIds(keyIdsList[ownKeySelectBox->currentIndex()]); + mCtx->exportKeys(&selectedKeyIds, &keyDataBuf); + + qDebug() << "keyDataBuf" << keyDataBuf; + + rapidjson::Value p, v; + + rapidjson::Document doc; + doc.SetObject(); + + p.SetString(keyDataBuf.constData(), keyDataBuf.count()); + + auto version = qApp->applicationVersion(); + v.SetString(version.toUtf8().constData(), qApp->applicationVersion().count()); + + doc.AddMember("publicKey", p, doc.GetAllocator()); + doc.AddMember("version", v, doc.GetAllocator()); + + rapidjson::StringBuffer sb; + rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(sb); + doc.Accept(writer); + + QByteArray postData(sb.GetString()); + + QNetworkReply *reply = manager.post(request, postData); + + auto dialog = new WaitingDialog("Getting Token From Server", this); + dialog->show(); + + while (reply->isRunning()) { + QApplication::processEvents(); + } + + dialog->close(); + + if(reply->error() == QNetworkReply::NoError) { + rapidjson::Document docReply; + docReply.Parse(reply->readAll().constData()); + QString serviceTokenTemp = docReply["serviceToken"].GetString(); + if(checkUUIDFormat(serviceTokenTemp)) { + serviceToken = serviceTokenTemp; + qDebug() << "Get Service Token" << serviceToken; + serviceTokenLabel->setText(serviceToken); + } else { + QMessageBox::critical(this, tr("Error"), tr("Invalid Service Token Format")); + } + } else { + QMessageBox::critical(this, tr("Error"), reply->errorString()); + } + +} + +bool GeneralTab::checkUUIDFormat(const QString& uuid) { + return re_uuid.match(uuid).hasMatch(); } SendMailTab::SendMailTab(QWidget *parent) @@ -304,7 +420,7 @@ SendMailTab::SendMailTab(QWidget *parent) connectionTypeComboBox->addItem("STARTTLS"); defaultSender = new QLineEdit();; - checkConnectionButton = new QPushButton("Check Connection"); + checkConnectionButton = new QPushButton(tr("Check Connection")); auto layout = new QGridLayout(); layout->addWidget(enableCheckBox, 0, 0); @@ -378,13 +494,11 @@ void SendMailTab::applySettings() { void SendMailTab::slotCheckConnection() { - SmtpClient::ConnectionType connectionType = SmtpClient::ConnectionType::TcpConnection; - - if (connectionTypeComboBox->currentText() == "SSL") { + SmtpClient::ConnectionType connectionType; + const auto selectedConnType = connectionTypeComboBox->currentText(); + if (selectedConnType == "SSL") { connectionType = SmtpClient::ConnectionType::SslConnection; - } else if (connectionTypeComboBox->currentText() == "TLS") { - connectionType = SmtpClient::ConnectionType::TlsConnection; - } else if (connectionTypeComboBox->currentText() == "STARTTLS") { + } else if (selectedConnType == "TLS" || selectedConnType == "STARTTLS") { connectionType = SmtpClient::ConnectionType::TlsConnection; } else { connectionType = SmtpClient::ConnectionType::TcpConnection; @@ -392,9 +506,6 @@ void SendMailTab::slotCheckConnection() { SmtpClient smtp(smtpAddress->text(), portSpin->value(), connectionType); - // We need to set the username (your email address) and the password - // for smtp authentification. - smtp.setUser(username->text()); smtp.setPassword(password->text()); @@ -648,6 +759,7 @@ void KeyserverTab::setSettings() { qDebug() << "KeyserverTab ListItemText" << comboBox->itemText(i); } settings.setValue("keyserver/keyServerList", *keyServerList); + delete keyServerList; settings.setValue("keyserver/defaultKeyServer", comboBox->currentText()); } diff --git a/src/ui/ShowCopyDialog.cpp b/src/ui/ShowCopyDialog.cpp new file mode 100644 index 00000000..58a6cf0a --- /dev/null +++ b/src/ui/ShowCopyDialog.cpp @@ -0,0 +1,26 @@ +// +// Created by Administrator on 2021/7/21. +// + +#include "ui/ShowCopyDialog.h" + +ShowCopyDialog::ShowCopyDialog(const QString &text, QWidget *parent) : QDialog(parent) { + textEdit = new QTextEdit(); + textEdit->setReadOnly(true); + textEdit->setLineWrapMode(QTextEdit::WidgetWidth); + textEdit->setText(text); + copyButton = new QPushButton("Copy"); + connect(copyButton, SIGNAL(clicked(bool)), this, SLOT(slotCopyText())); + + auto *layout = new QVBoxLayout(); + layout->addWidget(textEdit); + layout->addWidget(copyButton); + + this->setModal(true); + this->setLayout(layout); +} + +void ShowCopyDialog::slotCopyText() { + QClipboard *cb = QApplication::clipboard(); + cb->setText(textEdit->toPlainText()); +} diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp index 4bcee080..736fecb5 100644 --- a/src/ui/main_window/MainWindowSlotFunction.cpp +++ b/src/ui/main_window/MainWindowSlotFunction.cpp @@ -23,7 +23,12 @@ */ #include "MainWindow.h" +#include "server/ComUtils.h" #include "ui/SendMailDialog.h" +#include "ui/ShowCopyDialog.h" + +#include "rapidjson/document.h" +#include "rapidjson/prettywriter.h" void MainWindow::slotEncrypt() { @@ -77,6 +82,7 @@ void MainWindow::slotEncrypt() { edit->slotFillTextEditWithText(*tmp2); infoBoard->associateTextEdit(edit->curTextPage()); + // check result analyse status if (resultAnalyse->getStatus() < 0) infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); else if (resultAnalyse->getStatus() > 0) @@ -84,10 +90,11 @@ void MainWindow::slotEncrypt() { else infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); + // set optional actions if (resultAnalyse->getStatus() >= 0) { infoBoard->resetOptionActionsMenu(); infoBoard->addOptionalAction("Send Mail", [this]() { - if(settings.value("sendMail/enable", false).toBool()) + if (settings.value("sendMail/enable", false).toBool()) new SendMailDialog(edit->curTextPage()->toPlainText(), this); else { QMessageBox::warning(nullptr, @@ -134,7 +141,7 @@ void MainWindow::slotSign() { gpgme_error_t error; auto thread = QThread::create([&]() { - error = mCtx->sign(keys, edit->curTextPage()->toPlainText().toUtf8(), tmp, false, &result); + error = mCtx->sign(keys, edit->curTextPage()->toPlainText().toUtf8(), tmp, GPGME_SIG_MODE_CLEAR, &result); }); connect(thread, SIGNAL(finished(QPrivateSignal)), thread, SLOT(deleteLater())); thread->start(); @@ -361,7 +368,7 @@ void MainWindow::slotEncryptSign() { if (status >= 0) { infoBoard->resetOptionActionsMenu(); infoBoard->addOptionalAction("Send Mail", [this]() { - if(settings.value("sendMail/enable", false).toBool()) + if (settings.value("sendMail/enable", false).toBool()) new SendMailDialog(edit->curTextPage()->toPlainText(), this); else { QMessageBox::warning(nullptr, @@ -369,6 +376,15 @@ void MainWindow::slotEncryptSign() { tr("Please go to the settings interface to enable and configure this function.")); } }); + infoBoard->addOptionalAction("Shorten Crypt Text", [this]() { + if (settings.value("general/serviceToken").toString().isEmpty()) + QMessageBox::warning(nullptr, + tr("Service Token Empty"), + tr("Please go to the settings interface to set Own Key and get Service Token.")); + else { + shortenCryptText(); + } + }); } delete resultAnalyseEncr; @@ -385,7 +401,18 @@ void MainWindow::slotDecryptVerify() { if (edit->slotCurPageTextEdit() != nullptr) { auto *decrypted = new QByteArray(); - QByteArray text = edit->curTextPage()->toPlainText().toUtf8(); + QString plainText = edit->curTextPage()->toPlainText(); + + + if (plainText.trimmed().startsWith("[GpgFrontend_ShortCrypto]://")) { + auto cryptoText = getCryptText(plainText); + if (!cryptoText.isEmpty()) { + plainText = cryptoText; + } + } + + QByteArray text = plainText.toUtf8(); + GpgME::GpgContext::preventNoDataErr(&text); gpgme_decrypt_result_t d_result = nullptr; @@ -435,6 +462,160 @@ void MainWindow::slotDecryptVerify() { } } +/** + * get full size crypt text from server using short crypto text + * @param shortenCryptoText short crypto text([GpgFrontend_ShortCrypto]://) + * @return + */ +QString MainWindow::getCryptText(const QString &shortenCryptoText) { + QString host = settings.value("general/currentGpgfrontendServer", + "service.gpgfrontend.pub").toString(); + + QString ownKeyId = settings.value("general/ownKeyId").toString(); + + GpgKey key = mCtx->getKeyById(ownKeyId); + if (!key.good) { + QMessageBox::critical(this, tr("Invalid Own Key"), tr("Own Key can not be use to do any operation.")); + return {}; + } + + QString serviceToken = settings.value("general/serviceToken").toString(); + if (serviceToken.isEmpty()) { + QMessageBox::critical(this, tr("Error"), + tr("Please obtain a Service Token from the server in the settings.")); + return {}; + } + + QUrl reqUrl("http://127.0.0.1:9048/text/get"); + QNetworkRequest request(reqUrl); + request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + // Sign Shorten Text + QVector keys{key}; + QByteArray outSignText; + mCtx->sign(keys, shortenCryptoText.toUtf8(), &outSignText, GPGME_SIG_MODE_NORMAL); + auto outSignTextBase64 = outSignText.toBase64(); + + rapidjson::Document doc; + doc.SetObject(); + + rapidjson::Value s, t; + + // Signature + s.SetString(outSignTextBase64.constData(), outSignTextBase64.count()); + // Service Token + const auto t_byte_array = serviceToken.toUtf8(); + t.SetString(t_byte_array.constData(), t_byte_array.count()); + + doc.AddMember("signature", s, doc.GetAllocator()); + doc.AddMember("serviceToken", t, doc.GetAllocator()); + + rapidjson::StringBuffer sb; + rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(sb); + doc.Accept(writer); + + QByteArray postData(sb.GetString()); + qDebug() << "postData" << QString::fromUtf8(postData); + + QNetworkReply *reply = networkAccessManager->post(request, postData); + + auto dialog = new WaitingDialog("Getting Crypt Text From Server", this); + dialog->show(); + + while (reply->isRunning()) { + QApplication::processEvents(); + } + + dialog->close(); + + QByteArray replyData = reply->readAll().constData(); + auto comUtils = new ComUtils(this); + if (comUtils->checkServerReply(replyData)) { + //TODO Logic + } else QMessageBox::critical(this, tr("Error"), tr("Unknown Error")); + + return {}; +} + +void MainWindow::shortenCryptText() { + + QString serviceToken = settings.value("general/serviceToken").toString(); + QString ownKeyId = settings.value("general/ownKeyId").toString(); + + QByteArray cryptoText = edit->curTextPage()->toPlainText().toUtf8(); + + QUrl reqUrl("http://127.0.0.1:9048/text/new"); + QNetworkRequest request(reqUrl); + request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); + + GpgKey key = mCtx->getKeyById(ownKeyId); + if (!key.good) { + QMessageBox::critical(this, tr("Invalid Own Key"), tr("Own Key can not be use to do any operation.")); + return; + } + + QCryptographicHash ch(QCryptographicHash::Md5); + ch.addData(cryptoText); + QString md5 = ch.result().toHex(); + + qDebug() << "md5" << md5; + + QByteArray signText = QString("[%1][%2]").arg(serviceToken, md5).toUtf8(); + + QCryptographicHash sha(QCryptographicHash::Sha256); + sha.addData(signText); + QString shaText = sha.result().toHex(); + + qDebug() << "shaText" << shaText; + + QVector keys{key}; + QByteArray outSignText; + mCtx->sign(keys, signText, &outSignText, GPGME_SIG_MODE_NORMAL); + QByteArray outSignTextBase64 = outSignText.toBase64(); + + rapidjson::Value c, s, m, t; + + rapidjson::Document doc; + doc.SetObject(); + + c.SetString(cryptoText.constData(), cryptoText.count()); + auto m_byte_array = shaText.toUtf8(); + m.SetString(m_byte_array.constData(), m_byte_array.count()); + s.SetString(outSignTextBase64.constData(), outSignTextBase64.count()); + auto t_byte_array = serviceToken.toUtf8(); + t.SetString(t_byte_array.constData(), t_byte_array.count()); + + doc.AddMember("cryptoText", c, doc.GetAllocator()); + doc.AddMember("sha", m, doc.GetAllocator()); + doc.AddMember("sign", s, doc.GetAllocator()); + doc.AddMember("serviceToken", t, doc.GetAllocator()); + + rapidjson::StringBuffer sb; + rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(sb); + doc.Accept(writer); + + QByteArray postData(sb.GetString()); + qDebug() << "postData" << QString::fromUtf8(postData); + + QNetworkReply *reply = networkAccessManager->post(request, postData); + + while (reply->isRunning()) { + QApplication::processEvents(); + } + + if (reply->error() == QNetworkReply::NoError) { + rapidjson::Document docReply; + docReply.Parse(reply->readAll().constData()); + QString shortenText = docReply["shortenText"].GetString(); + auto *dialog = new ShowCopyDialog(shortenText, this); + dialog->show(); + } else { + QMessageBox::critical(this, tr("Error"), reply->errorString()); + } + + +} + /* * Append the selected (not checked!) Key(s) To Textedit */ @@ -1077,14 +1258,14 @@ void MainWindow::slotOpenFile(QString &path) { } void MainWindow::slotVersionUpgrade(const QString ¤tVersion, const QString &latestVersion) { - if(currentVersion < latestVersion) { + if (currentVersion < latestVersion) { QMessageBox::warning(this, tr("Outdated Version"), tr("This version(%1) is out of date, please update the latest version in time. ").arg( currentVersion) + tr("You can download the latest version(%1) on Github Releases Page.<br/>").arg( latestVersion)); - } else if(currentVersion > latestVersion) { + } else if (currentVersion > latestVersion) { QMessageBox::warning(this, tr("Unreleased Version"), tr("This version(%1) has not been officially released and is not recommended for use in a production environment. <br/>").arg( diff --git a/src/ui/widgets/EditorPage.cpp b/src/ui/widgets/EditorPage.cpp index 05d5cbea..beb37b96 100644 --- a/src/ui/widgets/EditorPage.cpp +++ b/src/ui/widgets/EditorPage.cpp @@ -44,8 +44,6 @@ EditorPage::EditorPage(QString filePath, QWidget *parent) : QWidget(parent), // Front in same width this->setFont({"Courier"}); - - connect(textPage, SIGNAL(textChanged()), this, SLOT(formatGpgHeader())); } const QString &EditorPage::getFilePath() const { diff --git a/src/ui/widgets/InfoBoardWidget.cpp b/src/ui/widgets/InfoBoardWidget.cpp index f26917a4..f64fda49 100644 --- a/src/ui/widgets/InfoBoardWidget.cpp +++ b/src/ui/widgets/InfoBoardWidget.cpp @@ -150,9 +150,12 @@ void InfoBoardWidget::associateTabWidget(QTabWidget *tab) { connect(tab, SIGNAL(tabCloseRequested(int)), this, SLOT(slotReset())); } + void InfoBoardWidget::addOptionalAction(const QString &name, const std::function<void()> &action) { auto actionButton = new QPushButton(name); infoBoard->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + // set margin from surroundings + actionButton->setContentsMargins(5, 5, 5, 5); actionButtonLayout->addWidget(actionButton); connect(actionButton, &QPushButton::clicked, this, [=]() { action(); diff --git a/src/ui/widgets/KeyList.cpp b/src/ui/widgets/KeyList.cpp index 3929868e..25f8870e 100644 --- a/src/ui/widgets/KeyList.cpp +++ b/src/ui/widgets/KeyList.cpp @@ -31,8 +31,7 @@ KeyList::KeyList(GpgME::GpgContext *ctx, KeyListColumn::InfoType infoType, QWidget *parent) : QWidget(parent), mSelectType(selectType), mInfoType(infoType), appPath(qApp->applicationDirPath()), - settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini", QSettings::IniFormat) -{ + settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini", QSettings::IniFormat) { mCtx = ctx; @@ -43,7 +42,7 @@ KeyList::KeyList(GpgME::GpgContext *ctx, mKeyList->setShowGrid(false); mKeyList->sortByColumn(2, Qt::AscendingOrder); mKeyList->setSelectionBehavior(QAbstractItemView::SelectRows); - mKeyList->setSelectionMode( QAbstractItemView::SingleSelection ); + mKeyList->setSelectionMode(QAbstractItemView::SingleSelection); // tableitems not editable mKeyList->setEditTriggers(QAbstractItemView::NoEditTriggers); @@ -54,22 +53,22 @@ KeyList::KeyList(GpgME::GpgContext *ctx, mKeyList->setAlternatingRowColors(true); // Hidden Column For Purpose - if(!(mInfoType & KeyListColumn::TYPE)) { + if (!(mInfoType & KeyListColumn::TYPE)) { mKeyList->setColumnHidden(1, true); } - if(!(mInfoType & KeyListColumn::NAME)) { + if (!(mInfoType & KeyListColumn::NAME)) { mKeyList->setColumnHidden(2, true); } - if(!(mInfoType & KeyListColumn::EmailAddress)) { + if (!(mInfoType & KeyListColumn::EmailAddress)) { mKeyList->setColumnHidden(3, true); } - if(!(mInfoType & KeyListColumn::Usage)) { + if (!(mInfoType & KeyListColumn::Usage)) { mKeyList->setColumnHidden(4, true); } - if(!(mInfoType & KeyListColumn::Validity)) { + if (!(mInfoType & KeyListColumn::Validity)) { mKeyList->setColumnHidden(5, true); } - if(!(mInfoType & KeyListColumn::FingerPrint)) { + if (!(mInfoType & KeyListColumn::FingerPrint)) { mKeyList->setColumnHidden(6, true); } @@ -95,8 +94,7 @@ KeyList::KeyList(GpgME::GpgContext *ctx, slotRefresh(); } -void KeyList::slotRefresh() -{ +void KeyList::slotRefresh() { QStringList *keyList; keyList = getChecked(); // while filling the table, sort enabled causes errors @@ -110,21 +108,21 @@ void KeyList::slotRefresh() int row_count = 0; while (it != keys.end()) { - if(mFilter != nullptr) { - if(!mFilter(*it)) { + if (mFilter != nullptr) { + if (!mFilter(*it)) { it = keys.erase(it); continue; } } - if(!excluded_key_ids.isEmpty()){ + if (!excluded_key_ids.isEmpty()) { auto iterator = std::find_if(excluded_key_ids.begin(), excluded_key_ids.end(), - [it] (const auto &key_id) -> bool { - if(it->id == key_id) return true; - else return false; - }); + [it](const auto &key_id) -> bool { + if (it->id == key_id) return true; + else return false; + }); - if(iterator != excluded_key_ids.end()) { + if (iterator != excluded_key_ids.end()) { it = keys.erase(it); continue; } @@ -161,10 +159,10 @@ void KeyList::slotRefresh() type_steam << "pub"; } - if(it->is_private_key && !it->has_master_key) { + if (it->is_private_key && !it->has_master_key) { type_steam << "#"; } - auto* tmp1 = new QTableWidgetItem(type_str); + auto *tmp1 = new QTableWidgetItem(type_str); mKeyList->setItem(row_index, 1, tmp1); auto *tmp2 = new QTableWidgetItem(it->name); @@ -177,13 +175,13 @@ void KeyList::slotRefresh() QString usage; QTextStream usage_steam(&usage); - if(GpgME::GpgContext::checkIfKeyCanCert(*it)) + if (GpgME::GpgContext::checkIfKeyCanCert(*it)) usage_steam << "C"; - if(GpgME::GpgContext::checkIfKeyCanEncr(*it)) + if (GpgME::GpgContext::checkIfKeyCanEncr(*it)) usage_steam << "E"; - if(GpgME::GpgContext::checkIfKeyCanSign(*it)) + if (GpgME::GpgContext::checkIfKeyCanSign(*it)) usage_steam << "S"; - if(GpgME::GpgContext::checkIfKeyCanAuth(*it)) + if (GpgME::GpgContext::checkIfKeyCanAuth(*it)) usage_steam << "A"; auto *temp_usage = new QTableWidgetItem(usage); @@ -199,7 +197,7 @@ void KeyList::slotRefresh() mKeyList->setItem(row_index, 6, temp_fpr); // strike out expired keys - if(it->expired || it->revoked) { + if (it->expired || it->revoked) { QFont strike = tmp2->font(); strike.setStrikeOut(true); tmp0->setFont(strike); @@ -218,8 +216,7 @@ void KeyList::slotRefresh() setChecked(keyList); } -QStringList *KeyList::getChecked() -{ +QStringList *KeyList::getChecked() { auto *ret = new QStringList(); for (int i = 0; i < mKeyList->rowCount(); i++) { if (mKeyList->item(i, 0)->checkState() == Qt::Checked) { @@ -229,19 +226,17 @@ QStringList *KeyList::getChecked() return ret; } -QStringList *KeyList::getAllPrivateKeys() -{ +QStringList *KeyList::getAllPrivateKeys() { auto *ret = new QStringList(); for (int i = 0; i < mKeyList->rowCount(); i++) { - if (mKeyList->item(i, 1)) { + if (mKeyList->item(i, 1) && buffered_keys[i].is_private_key) { *ret << buffered_keys[i].id; } } return ret; } -QStringList *KeyList::getPrivateChecked() -{ +QStringList *KeyList::getPrivateChecked() { auto *ret = new QStringList(); for (int i = 0; i < mKeyList->rowCount(); i++) { if ((mKeyList->item(i, 0)->checkState() == Qt::Checked) && (mKeyList->item(i, 1))) { @@ -251,19 +246,17 @@ QStringList *KeyList::getPrivateChecked() return ret; } -void KeyList::setChecked(QStringList *keyIds) -{ +void KeyList::setChecked(QStringList *keyIds) { if (!keyIds->isEmpty()) { for (int i = 0; i < mKeyList->rowCount(); i++) { - if (keyIds->contains(buffered_keys[i].id)) { + if (keyIds->contains(buffered_keys[i].id)) { mKeyList->item(i, 0)->setCheckState(Qt::Checked); } } } } -QStringList *KeyList::getSelected() -{ +QStringList *KeyList::getSelected() { auto *ret = new QStringList(); for (int i = 0; i < mKeyList->rowCount(); i++) { @@ -274,47 +267,42 @@ QStringList *KeyList::getSelected() return ret; } -[[maybe_unused]] bool KeyList::containsPrivateKeys() -{ +[[maybe_unused]] bool KeyList::containsPrivateKeys() { for (int i = 0; i < mKeyList->rowCount(); i++) { if (mKeyList->item(i, 1)) { - return true; + return true; } } return false; } -void KeyList::setColumnWidth(int row, int size) -{ +void KeyList::setColumnWidth(int row, int size) { mKeyList->setColumnWidth(row, size); } -void KeyList::contextMenuEvent(QContextMenuEvent *event) -{ +void KeyList::contextMenuEvent(QContextMenuEvent *event) { if (mKeyList->selectedItems().length() > 0) { popupMenu->exec(event->globalPos()); } } -void KeyList::addSeparator() -{ +void KeyList::addSeparator() { popupMenu->addSeparator(); } -void KeyList::addMenuAction(QAction *act) -{ +void KeyList::addMenuAction(QAction *act) { popupMenu->addAction(act); } -void KeyList::dropEvent(QDropEvent* event) -{ +void KeyList::dropEvent(QDropEvent *event) { auto *dialog = new QDialog(); dialog->setWindowTitle(tr("Import Keys")); QLabel *label; - label = new QLabel(tr("You've dropped something on the table.\n GpgFrontend will now try to import key(s).")+"\n"); + label = new QLabel( + tr("You've dropped something on the table.\n GpgFrontend will now try to import key(s).") + "\n"); // "always import keys"-CheckBox auto *checkBox = new QCheckBox(tr("Always import without bothering.")); @@ -332,56 +320,50 @@ void KeyList::dropEvent(QDropEvent* event) dialog->setLayout(vbox); - if (settings.value("general/confirmImportKeys",Qt::Checked).toBool()) - { + if (settings.value("general/confirmImportKeys", Qt::Checked).toBool()) { dialog->exec(); if (dialog->result() == QDialog::Rejected) { return; } - if (checkBox->isChecked()){ - settings.setValue("general/confirmImportKeys", false); + if (checkBox->isChecked()) { + settings.setValue("general/confirmImportKeys", false); } else { settings.setValue("general/confirmImportKeys", true); } } - if (event->mimeData()->hasUrls()) - { - for (const QUrl& tmp : event->mimeData()->urls()) - { - QFile file; - file.setFileName(tmp.toLocalFile()); - if (!file.open(QIODevice::ReadOnly)) { - qDebug() << tr("Couldn't Open File: ") + tmp.toString(); - } - QByteArray inBuffer = file.readAll(); - this->importKeys(inBuffer); - file.close(); - } - } else { - QByteArray inBuffer(event->mimeData()->text().toUtf8()); + if (event->mimeData()->hasUrls()) { + for (const QUrl &tmp : event->mimeData()->urls()) { + QFile file; + file.setFileName(tmp.toLocalFile()); + if (!file.open(QIODevice::ReadOnly)) { + qDebug() << tr("Couldn't Open File: ") + tmp.toString(); + } + QByteArray inBuffer = file.readAll(); this->importKeys(inBuffer); - } + file.close(); + } + } else { + QByteArray inBuffer(event->mimeData()->text().toUtf8()); + this->importKeys(inBuffer); + } } -void KeyList::dragEnterEvent(QDragEnterEvent *event) -{ +void KeyList::dragEnterEvent(QDragEnterEvent *event) { event->acceptProposedAction(); } /** set background color for Keys and put them to top * */ -[[maybe_unused]] void KeyList::markKeys(QStringList *keyIds) -{ - foreach(QString id, *keyIds) { - qDebug() << "marked: " << id; - } +[[maybe_unused]] void KeyList::markKeys(QStringList *keyIds) { + foreach(QString id, *keyIds) { + qDebug() << "marked: " << id; + } } -void KeyList::importKeys(QByteArray inBuffer) -{ +void KeyList::importKeys(QByteArray inBuffer) { GpgImportInformation result = mCtx->importKey(std::move(inBuffer)); new KeyImportDetailDialog(mCtx, result, false, this); } @@ -397,7 +379,7 @@ void KeyList::getCheckedKeys(QVector<GpgKey> &keys) { void KeyList::setExcludeKeys(std::initializer_list<QString> key_ids) { excluded_key_ids.clear(); - for(auto &key_id : key_ids) { + for (auto &key_id : key_ids) { excluded_key_ids.push_back(key_id); } } @@ -407,7 +389,7 @@ void KeyList::setFilter(std::function<bool(const GpgKey &)> filter) { } void KeyList::slotDoubleClicked(const QModelIndex &index) { - if(mAction != nullptr) { + if (mAction != nullptr) { const auto &key = mCtx->getKeyById(buffered_keys[index.row()].id); mAction(key, this); } |