aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaturn&Eric <[email protected]>2024-01-30 05:38:51 +0000
committerGitHub <[email protected]>2024-01-30 05:38:51 +0000
commit60b8aafec9b59da71ae5c36708f5533870c2f499 (patch)
tree2118b1847c356a5b0a53a13785f1b4f932fefa9f
parentMerge pull request #126 from saturneric/dev/2.1.1/main (diff)
parentdoc: update translations (diff)
downloadGpgFrontend-60b8aafec9b59da71ae5c36708f5533870c2f499.tar.gz
GpgFrontend-60b8aafec9b59da71ae5c36708f5533870c2f499.zip
Merge pull request #127 from saturneric/dev/2.1.1/main
Develop 2.1.2.2
-rw-r--r--.gitmodules6
-rw-r--r--TRANSLATORS13
-rw-r--r--gpgfrontend.qrc4
-rw-r--r--resource/lfs/icons/close.pngbin0 -> 6036 bytes
-rw-r--r--resource/lfs/icons/editor.pngbin0 -> 3240 bytes
-rw-r--r--resource/lfs/icons/search.pngbin0 -> 3991 bytes
-rw-r--r--resource/lfs/icons/txt.pngbin2482 -> 0 bytes
-rw-r--r--resource/lfs/locale/ts/GpgFrontend.de_DE.ts1824
-rw-r--r--resource/lfs/locale/ts/GpgFrontend.fr_FR.ts1683
-rw-r--r--resource/lfs/locale/ts/GpgFrontend.it_IT.ts1635
-rw-r--r--resource/lfs/locale/ts/GpgFrontend.zh_CN.ts2060
-rw-r--r--resource/lfs/locale/ts/GpgFrontend.zh_TW.ts1637
-rw-r--r--src/CMakeLists.txt19
-rw-r--r--src/app.cpp4
-rw-r--r--src/cmd.cpp9
-rw-r--r--src/core/CMakeLists.txt27
-rw-r--r--src/core/GpgCoreInit.cpp54
-rw-r--r--src/core/function/ArchiveFileOperator.cpp95
-rw-r--r--src/core/function/GlobalSettingStation.cpp4
-rw-r--r--src/core/function/SecureMemoryAllocator.cpp8
-rw-r--r--src/core/function/gpg/GpgFileOpera.cpp8
-rw-r--r--src/core/function/gpg/GpgKeyOpera.cpp8
-rw-r--r--src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp2
-rw-r--r--src/core/function/result_analyse/GpgSignResultAnalyse.cpp31
-rw-r--r--src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp95
-rw-r--r--src/core/function/result_analyse/GpgVerifyResultAnalyse.h12
-rw-r--r--src/core/model/GpgSignature.cpp2
-rw-r--r--src/core/utils/GpgUtils.cpp22
-rw-r--r--src/core/utils/IOUtils.cpp35
-rw-r--r--src/init.cpp53
-rw-r--r--src/init.h6
-rw-r--r--src/module/integrated/version_checking_module/VersionCheckTask.cpp76
-rw-r--r--src/test/CMakeLists.txt8
-rw-r--r--src/ui/GpgFrontendUIInit.cpp64
-rw-r--r--src/ui/UISignalStation.h18
-rw-r--r--src/ui/UserInterfaceUtils.cpp57
-rw-r--r--src/ui/dialog/Wizard.cpp14
-rw-r--r--src/ui/dialog/gnupg/GnuPGControllerDialog.cpp221
-rw-r--r--src/ui/dialog/gnupg/GnuPGControllerDialog.h2
-rw-r--r--src/ui/dialog/import_export/KeyImportDetailDialog.cpp7
-rw-r--r--src/ui/dialog/import_export/KeyServerImportDialog.cpp2
-rw-r--r--src/ui/dialog/import_export/KeyUploadDialog.cpp4
-rw-r--r--src/ui/dialog/key_generate/KeygenDialog.cpp2
-rw-r--r--src/ui/dialog/keypair_details/KeyDetailsDialog.cpp22
-rw-r--r--src/ui/dialog/keypair_details/KeyPairOperaTab.cpp80
-rw-r--r--src/ui/dialog/keypair_details/KeyPairOperaTab.h11
-rw-r--r--src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp8
-rw-r--r--src/ui/dialog/settings/SettingsDialog.cpp2
-rw-r--r--src/ui/dialog/settings/SettingsGeneral.cpp9
-rw-r--r--src/ui/function/GenerateRevokeCertification.cpp2
-rw-r--r--src/ui/function/RaisePinentry.cpp6
-rw-r--r--src/ui/function/SetOwnerTrustLevel.cpp2
-rw-r--r--src/ui/main_window/GeneralMainWindow.cpp3
-rw-r--r--src/ui/main_window/KeyMgmt.cpp47
-rw-r--r--src/ui/main_window/MainWindow.cpp25
-rw-r--r--src/ui/main_window/MainWindow.h10
-rw-r--r--src/ui/main_window/MainWindowFileSlotFunction.cpp58
-rw-r--r--src/ui/main_window/MainWindowSlotFunction.cpp7
-rw-r--r--src/ui/main_window/MainWindowSlotUI.cpp33
-rw-r--r--src/ui/main_window/MainWindowUI.cpp3
-rw-r--r--src/ui/thread/ListedKeyServerTestTask.cpp7
-rw-r--r--src/ui/thread/ProxyConnectionTestTask.cpp9
-rw-r--r--src/ui/widgets/FilePage.cpp99
-rw-r--r--src/ui/widgets/FilePage.h26
-rw-r--r--src/ui/widgets/FileTreeView.cpp83
-rw-r--r--src/ui/widgets/FileTreeView.h14
-rw-r--r--src/ui/widgets/FindWidget.cpp23
-rw-r--r--src/ui/widgets/InfoBoardWidget.cpp4
-rw-r--r--src/ui/widgets/KeyList.cpp71
-rw-r--r--src/ui/widgets/KeyList.h1
-rw-r--r--src/ui/widgets/PlainTextEditorPage.cpp39
-rw-r--r--src/ui/widgets/TextEdit.cpp10
-rw-r--r--third_party/CMakeLists.txt8
m---------third_party/libarchive0
m---------third_party/qttranslations0
-rw-r--r--ui/GeneralSettings.ui7
-rw-r--r--ui/GnuPGControllerDialog.ui16
-rw-r--r--ui/InfoBoard.ui41
78 files changed, 6333 insertions, 4284 deletions
diff --git a/.gitmodules b/.gitmodules
index e05878f7..3e9b725c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,3 +10,9 @@
[submodule "third_party/googletest"]
path = third_party/googletest
url = https://github.com/google/googletest.git
+[submodule "third_party/libarchive"]
+ path = third_party/libarchive
+ url = https://github.com/libarchive/libarchive.git
+[submodule "third_party/qttranslations"]
+ path = third_party/qttranslations
+ url = git://code.qt.io/qt/qttranslations.git
diff --git a/TRANSLATORS b/TRANSLATORS
index ea755dbb..d6295384 100644
--- a/TRANSLATORS
+++ b/TRANSLATORS
@@ -1,12 +1,11 @@
Translators:
-Fabian Hêche <[email protected]> (fr_FR)
-huzpsb <[email protected]> (zh_CN)
+Fabian Hêche (fr_FR)
+huzpsb (zh_CN)
Zi Jiaxu (zh_CN)
-Oliver Leitner <[email protected]> (de_DE)
-James <[email protected]> (zh_TW)
-Mathias Leinmüller <[email protected]> (de_DE)
-Scirè Salvatore <[email protected]> (it_IT)
+Oliver Leitner (de_DE)
+James (zh_TW)
+Scirè Salvatore (it_IT)
Google Translation Machine
Reviewers:
-Saturneric <[email protected]> (zh_CN, de_DE)
+Saturneric (zh_CN, de_DE)
diff --git a/gpgfrontend.qrc b/gpgfrontend.qrc
index 9e0b754b..a5b5e24e 100644
--- a/gpgfrontend.qrc
+++ b/gpgfrontend.qrc
@@ -63,7 +63,7 @@
<file alias="ssh-key.png">resource/lfs/icons/ssh-key.png</file>
<file alias="statusbar_icon.png">resource/lfs/icons/statusbar_icon.png</file>
<file alias="trash.png">resource/lfs/icons/trash.png</file>
- <file alias="txt.png">resource/lfs/icons/txt.png</file>
+ <file alias="editor.png">resource/lfs/icons/editor.png</file>
<file alias="undo.png">resource/lfs/icons/undo.png</file>
<file alias="verify.png">resource/lfs/icons/verify.png</file>
<file alias="export_key_to_clipboard.png">resource/lfs/icons/export_key_to_clipboard.png</file>
@@ -86,6 +86,8 @@
<file alias="clear.png">resource/lfs/icons/clear.png</file>
<file alias="cloud_sync.png">resource/lfs/icons/cloud_sync.png</file>
<file alias="total_selection.png">resource/lfs/icons/total_selection.png</file>
+ <file alias="search.png">resource/lfs/icons/search.png</file>
+ <file alias="close.png">resource/lfs/icons/close.png</file>
</qresource>
<qresource prefix="/test/key">
<file alias="pv1.key">resource/lfs/test/data/pv1.key</file>
diff --git a/resource/lfs/icons/close.png b/resource/lfs/icons/close.png
new file mode 100644
index 00000000..9136e287
--- /dev/null
+++ b/resource/lfs/icons/close.png
Binary files differ
diff --git a/resource/lfs/icons/editor.png b/resource/lfs/icons/editor.png
new file mode 100644
index 00000000..fb1e5480
--- /dev/null
+++ b/resource/lfs/icons/editor.png
Binary files differ
diff --git a/resource/lfs/icons/search.png b/resource/lfs/icons/search.png
new file mode 100644
index 00000000..6d845d7b
--- /dev/null
+++ b/resource/lfs/icons/search.png
Binary files differ
diff --git a/resource/lfs/icons/txt.png b/resource/lfs/icons/txt.png
deleted file mode 100644
index 8db7ba45..00000000
--- a/resource/lfs/icons/txt.png
+++ /dev/null
Binary files differ
diff --git a/resource/lfs/locale/ts/GpgFrontend.de_DE.ts b/resource/lfs/locale/ts/GpgFrontend.de_DE.ts
index 35db1855..e6e52b5c 100644
--- a/resource/lfs/locale/ts/GpgFrontend.de_DE.ts
+++ b/resource/lfs/locale/ts/GpgFrontend.de_DE.ts
@@ -11,22 +11,26 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="44"/>
<source>Success</source>
- <translation type="unfinished">Erfolg</translation>
+ <translation type="unfinished">erfolgreich</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="46"/>
<source>Failed</source>
- <translation type="unfinished">Gescheitert</translation>
+ <translation type="unfinished">fehlgeschlagen</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="51"/>
<source>Unsupported Algo</source>
- <translation type="unfinished">Nicht unterstützter Algo</translation>
+ <translation type="unfinished">Nicht unterstützter Algorithmus</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="59"/>
<source>Gernal State</source>
- <translation type="unfinished"></translation>
+ <translation type="vanished">Allgemeiner Zustand</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="59"/>
+ <source>General State</source>
+ <translation type="unfinished">Allgemeiner Zustand</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="62"/>
@@ -55,22 +59,22 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="68"/>
<source>Message Integrity Protection</source>
- <translation type="unfinished"></translation>
+ <translation>Nachrichtenintegritätsschutz</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="74"/>
<source>Symmetric Encryption Algorithm</source>
- <translation type="unfinished"></translation>
+ <translation>Symmetrischer Verschlüsselungsalgorithmus</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="79"/>
<source>Session Key</source>
- <translation type="unfinished"></translation>
+ <translation>Session Key</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="83"/>
<source>German Encryption Standards</source>
- <translation type="unfinished"></translation>
+ <translation>Allgemeine Verschlüsselungsstandards</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="91"/>
@@ -128,7 +132,7 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="63"/>
<source>Recipients</source>
- <translation type="unfinished"></translation>
+ <translation>Empfänger</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="65"/>
@@ -184,50 +188,85 @@
<translation type="unfinished">Abgetrennte</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="76"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="79"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="111"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="77"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <source>Signed By</source>
+ <translation type="unfinished">Unterzeichnet von</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="91"/>
+ <source>Key ID</source>
+ <translation type="unfinished">Schlüssel-ID</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="89"/>
+ <source>Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="92"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">Primärschlüssel</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="94"/>
+ <source>Key Create Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="99"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
+ <source>Sign Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="130"/>
<source>Signer</source>
<translation type="unfinished">Unterzeichner</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="82"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="101"/>
<source>Public Key Algo</source>
<translation type="unfinished">Algo für öffentliche Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="84"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="103"/>
<source>Hash Algo</source>
<translation type="unfinished">Hash Algo</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
<source>Date</source>
- <translation type="unfinished">Datum</translation>
+ <translation type="obsolete">Datum</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
<source>UTC</source>
<translation type="unfinished">koordinierte Weltzeit</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
<source>Localized</source>
- <translation type="unfinished"></translation>
+ <translation>lokalisiert</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="124"/>
<source>Invalid Signers</source>
<translation type="unfinished">Ungültige Unterzeichner</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="113"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="132"/>
<source>Fingerprint</source>
<translation type="unfinished">Fingerabdruck</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="115"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="134"/>
<source>Reason</source>
<translation type="unfinished">Grund</translation>
</message>
@@ -235,119 +274,171 @@
<context>
<name>GpgFrontend::GpgVerifyResultAnalyse</name>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="44"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="43"/>
<source>Verify Operation</source>
<translation type="unfinished">Überprüfungsvorgang</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="47"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="46"/>
<source>Success</source>
<translation type="unfinished">Erfolg</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="49"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="48"/>
<source>Failed</source>
<translation type="unfinished">Gescheitert</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
<source>Signed On</source>
<translation type="unfinished">Angemeldet</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
<source>UTC</source>
<translation type="unfinished">koordinierte Weltzeit</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
<source>Localized</source>
- <translation type="unfinished"></translation>
+ <translation>lokalisiert</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="65"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="64"/>
<source>Signatures List</source>
<translation type="unfinished">Unterschriftenliste</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="71"/>
<source>Signature [%1]:</source>
<translation type="unfinished">Unterschrift [%1]:</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="73"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
<source>Status</source>
<translation type="unfinished">Status</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="76"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="75"/>
<source>A Bad Signature.</source>
<translation type="unfinished">Eine ungültige Signatur.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="78"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="77"/>
<source>This Signature is invalid.</source>
<translation type="unfinished">Diese Signatur ist ungültig.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="83"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="82"/>
<source>A</source>
<translation type="unfinished">EIN</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="85"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="84"/>
<source>Good</source>
<translation type="unfinished">Gut</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="87"/>
<source>Bad</source>
<translation type="unfinished">Schlecht</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="91"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="90"/>
<source>Expired</source>
<translation type="unfinished">Abgelaufen</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="94"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="93"/>
<source>Missing Key&apos;s</source>
<translation type="unfinished">Fehlende Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="97"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="96"/>
<source>Revoked Key&apos;s</source>
<translation type="unfinished">Widerrufene Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="100"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="99"/>
<source>Expired Key&apos;s</source>
<translation type="unfinished">Abgelaufene Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="103"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="102"/>
<source>Missing CRL&apos;s</source>
<translation type="unfinished">Fehlende Zertifikatsperrliste</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="107"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="106"/>
<source>Signature Fully Valid.</source>
<translation type="unfinished">Unterschrift voll gültig.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="108"/>
<source>Signature Not Fully Valid.</source>
<translation type="unfinished">Unterschrift nicht vollständig gültig.</translation>
</message>
<message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <source>Tips</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="110"/>
- <source>(Adjust Trust Level to make it Fully Vaild)</source>
+ <source>Adjust Trust Level to make it Fully Vaild</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
+ <source>Fingerprint</source>
+ <translation type="unfinished">Fingerabdruck</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="186"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="229"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
+ <source>Sign Date</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="217"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="220"/>
+ <source>Key ID</source>
+ <translation type="unfinished">Schlüssel-ID</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="218"/>
+ <source>Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="221"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">Primärschlüssel</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="223"/>
+ <source>Key Create Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>(Adjust Trust Level to make it Fully Vaild)</source>
+ <translation type="vanished">(Vertrauensstufe anpassen um diesen vollständig gültig zu kennzeichnen)</translation>
+ </message>
+ <message>
<location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="117"/>
<source>Key is NOT present with ID 0x</source>
<translation type="unfinished">Schlüssel ist NICHT vorhanden mit ID 0x</translation>
@@ -358,67 +449,67 @@
<translation type="unfinished">Eine Signatur konnte aufgrund eines fehlenden Schlüssels NICHT verifiziert werden</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="131"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="132"/>
<source>A signature is valid but the key used to verify the signature has been revoked</source>
<translation type="unfinished">Eine Signatur ist gültig, aber der Schlüssel zur Überprüfung der Signatur wurde widerrufen</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="140"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="141"/>
<source>A signature is valid but expired</source>
<translation type="unfinished">Eine Unterschrift ist gültig, aber abgelaufen</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="147"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="148"/>
<source>A signature is valid but the key used to verify the signature has expired.</source>
<translation type="unfinished">Eine Signatur ist gültig, aber der zur Überprüfung der Signatur verwendete Schlüssel ist abgelaufen.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="155"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="156"/>
<source>There was some other error which prevented the signature verification.</source>
<translation type="unfinished">Es gab einen anderen Fehler, der die Signaturprüfung verhinderte.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="163"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="164"/>
<source>Error for key with fingerprint</source>
<translation type="unfinished">Fehler bei Schlüssel mit Fingerabdruck</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="174"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="175"/>
<source>Could not find information that can be used for verification.</source>
<translation type="unfinished">Es konnten keine Informationen gefunden werden, die zur Überprüfung verwendet werden können.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="188"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="193"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
<source>Signed By</source>
<translation type="unfinished">Unterzeichnet von</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
<source>Unknown</source>
- <translation type="unfinished">Unbekannt</translation>
+ <translation type="obsolete">Unbekannt</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="197"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="234"/>
<source>Public Key Algo</source>
<translation type="unfinished">Algo für öffentliche Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="201"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="191"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="236"/>
<source>Hash Algo</source>
<translation type="unfinished">Hash Algo</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
<source>Date</source>
- <translation type="unfinished">Datum</translation>
+ <translation type="obsolete">Datum</translation>
</message>
</context>
<context>
<name>GpgFrontend::Module::Integrated::GnuPGInfoGatheringModule::GnuPGInfoGatheringModule</name>
<message>
- <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="124"/>
+ <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="123"/>
<source>Embedded In</source>
<translation type="unfinished">Eingebettet in</translation>
</message>
@@ -586,138 +677,152 @@
<context>
<name>GpgFrontend::UI::CommonUtils</name>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="185"/>
<source>GnuPG Context Loading Failed</source>
<translation type="unfinished">Laden des GnuPG-Kontexts fehlgeschlagen</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="189"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
<source>Gnupg(gpg) is not installed correctly, please follow &lt;a href=&apos;https://www.gpgfrontend.bktus.com/#/faq?id=how-to-deal-with-39env-loading-failed39&apos;&gt;this notes&lt;/a&gt; in FAQ to install Gnupg and then open GpgFrontend. &lt;br /&gt;Or, you can open GnuPG Controller to set a custom GnuPG which GpgFrontend should use. Then, GpgFrontend will restart. &lt;br /&gt;&lt;br /&gt;Breif Reason: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Gnupg(gpg) ist nicht korrekt installiert, bitte folgen Sie dieser &lt;a href=&apos;https://www.gpgfrontend.bktus.com/#/faq?id=how-to-deal-with-39env-loading-failed39&apos;&gt;Anleitung&lt;/a&gt; (nur in Englisch) in den FAQ, um Gnupg zu installieren und dann GpgFrontend zu öffnen. &lt;br /&gt;Alternativ können Sie den GnuPG Controller öffnen und ein benutzerspezifisches GnuPG für die Nutzung mit GpgFrontend auszuwählen. GpgFrontend muss dann neu gestartet werden. &lt;br /&gt;&lt;br /&gt;Grund %1</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
<source>No keys found to import</source>
- <translation type="unfinished">Keine Schlüssel zum Importieren gefunden</translation>
+ <translation type="obsolete">Keine Schlüssel zum Importieren gefunden</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="437"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="445"/>
<source>Timeout</source>
<translation type="unfinished">Zeitablauf</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="252"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="250"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="381"/>
<source>Success</source>
<translation type="unfinished">Erfolg</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="253"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="251"/>
<source>Gpg Operation succeed.</source>
- <translation type="unfinished"></translation>
+ <translation>GPG Vorgang abgeschlossen.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="263"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="365"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="261"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
<source>Failure</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="264"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="262"/>
<source>Gpg Operation failed.
Error code: %1
Source: %2
Description: %3</source>
- <translation type="unfinished"></translation>
+ <translation>GPG Vorgang fehlgeschlagen
+
+Fehlercode: %1
+Quelle: %2
+Beschrei: %3</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="294"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="497"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="285"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="279"/>
<source>Open Key</source>
<translation type="unfinished">Schlüssel öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="286"/>
<source>Key Files</source>
- <translation type="unfinished">Schlüsseldateien</translation>
+ <translation type="obsolete">Schlüsseldateien</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="280"/>
<source>Keyring files</source>
<translation type="unfinished">Schlüsselbunddateien</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="292"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="288"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished">Kann diese Datei nicht öffnen. Bitte stellen Sie sicher, dass es sich um eine reguläre, lesbare Datei handelt.</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="295"/>
+ <source>The target file is too large for a keyring.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="301"/>
<source>File Open Failed</source>
<translation type="unfinished">Datei konnte nicht geöffnet werden</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="293"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="302"/>
<source>Failed to open file: </source>
<translation type="unfinished">Datei konnte nicht geöffnet werden: </translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="346"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="354"/>
<source>Processing</source>
<translation type="unfinished">In Bearbeitung</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="366"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
<source>Failed to execute command.</source>
<translation type="unfinished">Fehler beim Ausführen des Befehls.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="382"/>
<source>Succeed in executing command.</source>
<translation type="unfinished">Befehl erfolgreich ausgeführt.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="376"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="384"/>
<source>Warning</source>
<translation type="unfinished">Warnung</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="377"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="385"/>
<source>Finished executing command.</source>
<translation type="unfinished">Ausführung des Befehls abgeschlossen.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="398"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="406"/>
<source>Default Keyserver Not Found</source>
<translation type="unfinished">Standard-Keyserver nicht gefunden</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="399"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="407"/>
<source>Cannot read default keyserver from your settings, please set a default keyserver first</source>
<translation type="unfinished">Der Standard-Keyserver kann nicht aus Ihren Einstellungen gelesen werden, bitte legen Sie zuerst einen Standard-Keyserver fest</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="434"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="442"/>
<source>Key Not Found</source>
<translation type="unfinished">Schlüssel nicht gefunden</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="440"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="448"/>
<source>Key Server Not Found</source>
<translation type="unfinished">Schlüsselserver nicht gefunden</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="443"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="451"/>
<source>Connection Error</source>
<translation type="unfinished">Verbindungsfehler</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="454"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="462"/>
<source>The key has been updated</source>
<translation type="unfinished">Der Schlüssel wurde aktualisiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="456"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="464"/>
<source>No need to update the key</source>
<translation type="unfinished">Keine Notwendigkeit, den Schlüssel zu aktualisieren</translation>
</message>
@@ -821,7 +926,7 @@ Description: %3</source>
<message>
<location filename="../../../../src/ui/dialog/import_export/ExportKeyPackageDialog.cpp" line="107"/>
<source>No key is suitable to export.</source>
- <translation type="unfinished"></translation>
+ <translation>Kein Schlüssel für Export geeignet.</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/import_export/ExportKeyPackageDialog.cpp" line="112"/>
@@ -902,12 +1007,12 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FilePage</name>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="63"/>
<source>Show Hidden File</source>
<translation type="unfinished">Versteckte Datei anzeigen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="70"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="69"/>
<source>Show System File</source>
<translation type="unfinished">Systemdatei anzeigen</translation>
</message>
@@ -915,131 +1020,136 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FileTreeView</name>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="84"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="97"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="219"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="242"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="294"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="90"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="103"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="166"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="212"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="234"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="275"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="85"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="91"/>
<source>The path is not exists, unprivileged or unreachable.</source>
<translation type="unfinished">Der Pfad ist nicht vorhanden, nicht privilegiert oder nicht erreichbar.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="98"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="104"/>
<source>The file is unprivileged or unreachable.</source>
<translation type="unfinished">Die Datei ist nicht privilegiert oder nicht erreichbar.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="157"/>
<source>Warning</source>
<translation type="unfinished">Warnung</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="159"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
<source>Are you sure you want to delete it?</source>
<translation type="unfinished">Möchten Sie es wirklich löschen?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
<source>Unable to delete the file or folder.</source>
<translation type="unfinished">Die Datei oder der Ordner kann nicht gelöscht werden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="176"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="189"/>
<source>Make New Directory</source>
<translation type="unfinished">Neues Verzeichnis erstellen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="178"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
<source>Directory Name</source>
<translation type="unfinished">Verzeichnisname</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Create Empty File</source>
<translation type="unfinished">Leere Datei erstellen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Filename (you can given extension)</source>
<translation type="unfinished">Dateiname (Sie können die Erweiterung angeben)</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="220"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="243"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="235"/>
<source>Unable to create the file.</source>
<translation type="unfinished">Die Datei kann nicht erstellt werden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="314"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="298"/>
<source>Rename</source>
<translation type="unfinished">Umbenennen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
<source>New Filename</source>
<translation type="unfinished">Neuer Dateiname</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="295"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="276"/>
<source>Unable to rename the file or folder.</source>
<translation type="unfinished">Die Datei oder der Ordner kann nicht umbenannt werden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="293"/>
<source>Open</source>
<translation type="unfinished">Öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="319"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="303"/>
<source>Delete</source>
<translation type="unfinished">Löschen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="324"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
<source>Calculate Hash</source>
<translation type="unfinished">Hash berechnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="329"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="313"/>
<source>Directory</source>
<translation type="unfinished">Verzeichnis</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="334"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="318"/>
<source>File</source>
<translation type="unfinished">Datei</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="339"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="323"/>
<source>Compress...</source>
<translation type="unfinished">Komprimieren...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="346"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="330"/>
<source>Open with Default System Application</source>
<translation type="unfinished">Mit der Standardsystemanwendung öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="335"/>
<source>New</source>
<translation type="unfinished">Neu</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="393"/>
+ <source>Calculating</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::FindWidget</name>
<message>
- <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="46"/>
+ <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="45"/>
<source>Find</source>
<translation type="unfinished">Suchen</translation>
</message>
@@ -1059,7 +1169,7 @@ Description: %3</source>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="47"/>
<source>Automatically restore unsaved Text Editor pages after an application crash.</source>
- <translation type="unfinished">Nicht gespeicherte Texteditor-Seiten nach einem Anwendungsabsturzautomatisch wiederherstellen.</translation>
+ <translation type="unfinished">Nicht gespeicherte Texteditor-Seiten nach einem Anwendungsabsturz wiederherstellen.</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="50"/>
@@ -1103,23 +1213,28 @@ Description: %3</source>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="63"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="79"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="81"/>
<source>Clear All Log (Total Size: %1)</source>
<translation type="unfinished">Gesamtes Protokoll löschen (Gesamtgröße: %1)</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="66"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="93"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="95"/>
<source>Clear All Data Objects (Total Size: %1)</source>
<translation type="unfinished">Alle Datenobjekte löschen (Gesamtgröße: %1)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="69"/>
+ <source>Reveal in File Explorer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="88"/>
<source>Confirm</source>
<translation type="unfinished">Bestätigen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="87"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="89"/>
<source>Are you sure you want to clear all data objects?
This will result in loss of all cached form positions, statuses, key servers, etc.</source>
<translation type="unfinished">Sind Sie sicher, dass Sie alle Datenobjekte löschen möchten? Dies führt zum Verlust aller zwischengespeicherten Formularpositionen, Status, Schlüsselserver usw.</translation>
@@ -1143,9 +1258,13 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Fortschrittlich</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
<source>No ASCII Mode</source>
- <translation type="unfinished">Kein ASCII-Modus</translation>
+ <translation type="obsolete">Kein ASCII-Modus</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
+ <source>Use Binary Mode for File Operations</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="51"/>
@@ -1154,86 +1273,92 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="52"/>
+ <source>Enable GpgME Debug Log</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
<source>Use Custom GnuPG</source>
<translation type="unfinished">Verwenden Sie benutzerdefiniertes GnuPG</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="54"/>
<source>Select GnuPG Path</source>
<translation type="unfinished">Wählen Sie den GnuPG-Pfad aus</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="55"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="56"/>
<source>Use Custom GnuPG Key Database Path</source>
<translation type="unfinished">Benutzerdefinierten Pfad für die GnuPG-Schlüsseldatenbank verwenden</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="58"/>
<source>Select Key Database Path</source>
<translation type="unfinished">Wählen Sie den Pfad für die Schlüsseldatenbank aus</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="60"/>
+ <source>Restart Gpg Agent on start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="64"/>
<source>Tips: please select a directroy where &quot;gpgconf&quot; is located in.</source>
<translation type="unfinished">Tipps: Bitte wählen Sie ein Verzeichnis aus, in dem sich &quot;gpgconf&quot; befindet.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="66"/>
<source>Tips: notice that modify any of these settings will cause an Application restart.</source>
<translation type="unfinished">Tipps: Beachten Sie, dass das Ändern dieser Einstellungen zu einem Neustart der Anwendung führt.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="95"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="98"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="118"/>
<source>Open Directory</source>
<translation type="unfinished">Verzeichnis öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="171"/>
<source>GnuPG Controller</source>
<translation type="unfinished">GnuPG-Controller</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="331"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="339"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="346"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="358"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="356"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="375"/>
<source>Illegal GnuPG Path</source>
<translation type="unfinished">Unzulässiger GnuPG-Pfad</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="332"/>
<source>Target GnuPG Path is empty.</source>
- <translation type="unfinished">Der Ziel-GnuPG-Pfad ist leer.</translation>
+ <translation type="obsolete">Der Ziel-GnuPG-Pfad ist leer.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="340"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="357"/>
<source>Target GnuPG Path is not an exists readable directory.</source>
<translation type="unfinished">Der Ziel-GnuPG-Pfad ist kein lesbares Verzeichnis.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="347"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="364"/>
<source>Target GnuPG Path is not an absolute path.</source>
<translation type="unfinished">Der Ziel-GnuPG-Pfad ist kein absoluter Pfad.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
<source>Target GnuPG Path contains no &quot;gpgconf&quot; executable.</source>
<translation type="unfinished">Der Ziel-GnuPG-Pfad enthält keine ausführbare Datei „gpgconf“.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="369"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="389"/>
<source>Illegal GnuPG Key Database Path</source>
<translation type="unfinished">Unzulässiger GnuPG-Schlüsseldatenbankpfad</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="370"/>
<source>Target GnuPG Key Database Path is empty.</source>
- <translation type="unfinished">Der Zielpfad für die GnuPG-Schlüsseldatenbank ist leer.</translation>
+ <translation type="obsolete">Der Zielpfad für die GnuPG-Schlüsseldatenbank ist leer.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="377"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="390"/>
<source>Target GnuPG Key Database Path is not an exists readable directory.</source>
<translation type="unfinished">Der Zielpfad für die GnuPG-Schlüsseldatenbank ist kein lesbares Verzeichnis.</translation>
</message>
@@ -1247,7 +1372,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="44"/>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Description</source>
<translation type="unfinished">Beschreibung</translation>
</message>
@@ -1273,31 +1398,50 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="48"/>
+ <source>Directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="49"/>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Directory Type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Path</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Configurations</source>
- <translation type="unfinished">Konfigurationen</translation>
+ <translation type="obsolete">Konfigurationen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Component</source>
- <translation type="unfinished"></translation>
+ <translation>Komponente</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Group</source>
- <translation type="unfinished"></translation>
+ <translation>Gruppe</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Key</source>
<translation type="unfinished">Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Default Value</source>
- <translation type="unfinished"></translation>
+ <translation>Standardwert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="60"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="91"/>
<source>Value</source>
<translation type="unfinished">Wert</translation>
</message>
@@ -1350,7 +1494,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="167"/>
<source>Text (*.txt)</source>
- <translation type="unfinished"></translation>
+ <translation>Text (*.txt)</translation>
</message>
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="176"/>
@@ -1447,27 +1591,27 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
<source>KeyPair</source>
<translation type="unfinished">Schlüsselpaar</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
<source>UIDs</source>
<translation type="unfinished">UIDs</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="45"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="50"/>
<source>Subkeys</source>
<translation type="unfinished">Unterschlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="52"/>
<source>Operations</source>
<translation type="unfinished">Aktivieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="69"/>
<source>Key Details</source>
<translation type="unfinished">Schlüssel Details</translation>
</message>
@@ -1507,7 +1651,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/key_generate/KeygenDialog.cpp" line="161"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation>Unbekannter Fehler ist aufgetreten</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/key_generate/KeygenDialog.cpp" line="197"/>
@@ -1611,108 +1755,113 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyImportDetailDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="44"/>
<location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="61"/>
<source>Key Import Details</source>
<translation type="unfinished">Details zum Schlüsselimport</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="45"/>
<source>No keys found to import</source>
<translation type="unfinished">Keine Schlüssel zum Importieren gefunden</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="73"/>
<source>General key info</source>
<translation type="unfinished">Allgemeine Schlüsselinfos</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="77"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="76"/>
<source>Considered</source>
<translation type="unfinished">Berücksichtigt</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="83"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="82"/>
<source>Public unchanged</source>
<translation type="unfinished">Öffentlich unverändert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="88"/>
<source>Imported</source>
<translation type="unfinished">Importiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="95"/>
<source>Not Imported</source>
<translation type="unfinished">Nicht importiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="103"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="102"/>
<source>Private Read</source>
<translation type="unfinished">Privat gelesen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="110"/>
<source>Private Imported</source>
<translation type="unfinished">Privat importiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="118"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="117"/>
<source>Private Unchanged</source>
<translation type="unfinished">Privat unverändert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="123"/>
+ <source>New Revocations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Name</source>
<translation type="unfinished">Name</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Email</source>
<translation type="unfinished">E-Mail</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Status</source>
<translation type="unfinished">Status</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="140"/>
<source>Fingerprint</source>
<translation type="unfinished">Fingerabdruck</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="160"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
<source>Private</source>
<translation type="unfinished">Privat</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="163"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
<source>Public</source>
<translation type="unfinished">Öffentlich</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
<source>Unchanged</source>
<translation type="unfinished">Unverändert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="175"/>
<source>New Key</source>
<translation type="unfinished">Neuer Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="178"/>
<source>New Subkey</source>
<translation type="unfinished">Neuer Unterschlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="176"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="182"/>
<source>New Signature</source>
<translation type="unfinished">Neue Unterschrift</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="180"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="186"/>
<source>New UID</source>
<translation type="unfinished">Neue UID</translation>
</message>
@@ -1765,82 +1914,87 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Suche nach Schlüsseln...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Select</source>
<translation type="unfinished">Auswählen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Type</source>
<translation type="unfinished">Typ</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Name</source>
<translation type="unfinished">Name</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Email Address</source>
<translation type="unfinished">E-Mail-Addresse</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Usage</source>
<translation type="unfinished">Verwendungszweck</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Trust</source>
<translation type="unfinished">Vertrauen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Finger Print</source>
<translation type="unfinished">Fingerabdruck</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="183"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
+ <source>Key ID</source>
+ <translation type="unfinished">Schlüssel-ID</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="186"/>
<source>Refreshing Key List...</source>
<translation type="unfinished">Schlüsselliste wird aktualisiert...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Import Keys</source>
<translation type="unfinished">Schlüssel importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="356"/>
<source>You&apos;ve dropped something on the table.</source>
<translation type="unfinished">Sie haben etwas in der Tabelle abgelegt.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
<source>GpgFrontend will now try to import key(s).</source>
<translation type="unfinished">GpgFrontend wird nun versuchen, Schlüssel zu importieren.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="360"/>
<source>Always import without bothering.</source>
<translation type="unfinished">Immer ohne Nachfrage inportieren.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="452"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="455"/>
<source>Key List Refreshed.</source>
<translation type="unfinished">Schlüsselliste aktualisiert.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="473"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="476"/>
<source>Syncing Key List...</source>
<translation type="unfinished">Schlüsselliste wird synchronisiert...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="481"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="484"/>
<source>Sync [%1/%2] %3 %4</source>
<translation type="unfinished">Synchronisieren [%1/%2] %3 %4</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="491"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="494"/>
<source>Key List Sync Done.</source>
<translation type="unfinished">Synchronisierung der Schlüsselliste abgeschlossen.</translation>
</message>
@@ -1848,347 +2002,372 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyMgmt</name>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
<source>All</source>
<translation type="unfinished">Alle</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="61"/>
<source>Only Public Key</source>
<translation type="unfinished">Nur öffentlicher Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="71"/>
<source>Has Private Key</source>
<translation type="unfinished">Hat privaten Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="77"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="81"/>
<source>No Primary Key</source>
<translation type="unfinished">Kein Primärschlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="86"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="90"/>
<source>Revoked</source>
<translation type="unfinished">Widerrufen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="94"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="98"/>
<source>Expired</source>
<translation type="unfinished">Abgelaufen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="123"/>
<source>KeyPair Management</source>
<translation type="unfinished">Schlüsselpaar-Verwaltung</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="144"/>
<source>Open</source>
<translation type="unfinished">Öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="142"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
<source>Open Key File</source>
<translation type="unfinished">Schlüsseldatei öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="149"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="153"/>
<source>Close</source>
<translation type="unfinished">Schließen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="152"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="156"/>
<source>New Keypair</source>
<translation type="unfinished">Neues Schlüsselpaar</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
<source>Generate KeyPair</source>
<translation type="unfinished">Schlüsselpaar erstellen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
<source>New Subkey</source>
<translation type="unfinished">Neuer Unterschlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished">Unterschlüssel für ausgewähltes Schlüsselpaar erstellen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="257"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="171"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
<source>File</source>
<translation type="unfinished">Datei</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
<source>Import New Key From File</source>
<translation type="unfinished">Neuen Schlüssel aus Datei importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
<source>Clipboard</source>
<translation type="unfinished">Zwischenablage</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="181"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished">Neuen Schlüssel aus der Zwischenablage importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="188"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
<source>Keyserver</source>
<translation type="unfinished">Schlüsselserver</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="196"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished">Neuen Schlüssel vom Schlüsselserver importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="198"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="531"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="202"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Key Package</source>
<translation type="unfinished">Schlüsselpaket</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="201"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
<source>Import Key(s) From a Key Package</source>
<translation type="unfinished">Schlüssel aus einem Schlüsselpaket importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
<source>Export To Clipboard</source>
<translation type="unfinished">In die Zwischenablage exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
<source>Export Checked Key(s) To Clipboard</source>
- <translation type="unfinished"></translation>
+ <translation>Ausgewählte(n) Schlüssel in Zwischenablage exportiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="217"/>
<source>Export As Key Package</source>
<translation type="unfinished">Als Schlüsselpaket exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
<source>Export Checked Key(s) To a Key Package</source>
<translation type="unfinished">Geprüfte(n) Schlüssel in ein Schlüsselpaket exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="224"/>
<source>Export As OpenSSH</source>
<translation type="unfinished">Als OpenSSH exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="223"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
<source>Export Checked Key As OpenSSH Format to File</source>
- <translation type="unfinished"></translation>
+ <translation>Ausgewählten Schlüssel im OpenSSH Format in Datei exportiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="231"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished">Ausgewählte(n) Schlüssel löschen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="228"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
<source>Delete the Selected keys</source>
<translation type="unfinished">Die ausgewählten Schlüssel löschen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="236"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished">Geprüfte(n) Schlüssel löschen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="233"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="237"/>
<source>Delete the Checked keys</source>
<translation type="unfinished">Die markierten Schlüssel löschen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="238"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="242"/>
<source>Show Key Details</source>
<translation type="unfinished">Schlüsseldetails anzeigen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="239"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
<source>Show Details for this Key</source>
<translation type="unfinished">Details zu diesem Schlüssel anzeigen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="244"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="248"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">Vertrauensstufe des Eigentümers festlegen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="281"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="285"/>
<source>Key</source>
<translation type="unfinished">Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="262"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
<source>Generate Key</source>
<translation type="unfinished">Schlüssel erstellen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="294"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="270"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="298"/>
<source>Import Key</source>
<translation type="unfinished">Schlüssel importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="272"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="276"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="306"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="307"/>
<source>Export Key</source>
- <translation type="unfinished"></translation>
+ <translation>Schlüssel exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="293"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="297"/>
<source>Import key</source>
<translation type="unfinished">Schlüssel importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="302"/>
<source>Export key</source>
- <translation type="unfinished"></translation>
+ <translation type="vanished">Schlüssel exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="336"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="340"/>
<source>Deleting Keys</source>
<translation type="unfinished">Schlüssel löschen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="337"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="341"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished">Möchten Sie die folgenden Schlüssel wirklich löschen?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="343"/>
<source>The action can not be undone.</source>
<translation type="unfinished">Die Aktion kann nicht rückgängig gemacht werden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="404"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="416"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="483"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="507"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="551"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="408"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="420"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="487"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="498"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="511"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="541"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="549"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="565"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="573"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="589"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
<source>Key Not Found.</source>
<translation type="unfinished">Schlüssel nicht gefunden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="379"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="462"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="468"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="370"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="383"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="466"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="472"/>
<source>Forbidden</source>
<translation type="unfinished">Verboten</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="367"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="371"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="384"/>
<source>Please check some keys before doing this operation.</source>
<translation type="unfinished">Bitte wählen Sie mindestens einen Schlüssel aus, bevor Sie diesen Vorgang ausführen.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="372"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="376"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="524"/>
<source>key(s) exported</source>
<translation type="unfinished">Schlüssel exportiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="396"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="475"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="400"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="479"/>
<source>Exporting</source>
- <translation type="unfinished"></translation>
+ <translation>Exportiere</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="405"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="417"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="495"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="409"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="421"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="488"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="499"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation>Unbekannter Fehler ist aufgetreten</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="438"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="442"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="452"/>
<source>Invalid Operation</source>
<translation type="unfinished">Ungültige Operation</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="439"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="443"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished">Bitte wählen Sie ein Schlüsselpaar aus, bevor Sie diesen Vorgang ausführen.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="449"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="453"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished">Wenn ein Schlüsselpaar keinen privaten Schlüssel hat, kann es keine Unterschlüssel generieren.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="463"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="467"/>
<source>Please check a key before performing this operation.</source>
- <translation type="unfinished"></translation>
+ <translation>Bitte wählen Sie einen Schlüssel aus, bevor Sie diesen Vorgang starten.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="469"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="473"/>
<source>This operation accepts just a single key.</source>
- <translation type="unfinished"></translation>
+ <translation>Dieser Vorgang kann nur für einen einzelnen Schlüssel ausgeführt werden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="512"/>
<source>This key may not be able to export as OpenSSH format. Please check the key-size of the subkey(s) used to sign.</source>
<translation type="unfinished">Dieser Schlüssel kann möglicherweise nicht im OpenSSH-Format exportiert werden. Bitte überprüfen Sie die Schlüsselgröße der zum Signieren verwendeten Unterschlüssel.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="515"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="519"/>
<source>Export OpenSSH Key To File</source>
<translation type="unfinished">OpenSSH-Schlüssel in eine Datei exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="516"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
<source>OpenSSH Public Key Files</source>
<translation type="unfinished">OpenSSH-Dateien mit öffentlichem Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="530"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Import Key Package</source>
<translation type="unfinished">Schlüsselpaket importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="534"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="542"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="566"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished">Kann diese Datei nicht öffnen. Bitte stellen Sie sicher, dass es sich um eine reguläre, lesbare Datei handelt.</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="550"/>
+ <source>The target file is too large for a key package.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="555"/>
<source>Import Key Package Passphrase File</source>
<translation type="unfinished">Schlüsselpaket-Passphrasendatei importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="535"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="556"/>
<source>Key Package Passphrase File</source>
<translation type="unfinished">Schlüsselpaket-Passphrasendatei</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="545"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="574"/>
+ <source>The target file is too large for a key package passphrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="580"/>
+ <source>Importing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="596"/>
<source>key(s) imported</source>
<translation type="unfinished">Schlüssel importiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="552"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="590"/>
<source>An error occur in importing key package.</source>
<translation type="unfinished">Beim Importieren des Schlüsselpakets ist ein Fehler aufgetreten.</translation>
</message>
@@ -2281,7 +2460,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="80"/>
<source>Algorithm Detail</source>
- <translation type="unfinished"></translation>
+ <translation>Algorithmusdetails</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="81"/>
@@ -2374,17 +2553,17 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Nie ablaufen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="258"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="257"/>
<source>No Data</source>
<translation type="unfinished">Keine Daten</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="275"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="274"/>
<source>Warning: The primary key has expired.</source>
<translation type="unfinished">Warnung: Der Primärschlüssel ist abgelaufen.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="279"/>
<source>Warning: The primary key has been revoked.</source>
<translation type="unfinished">Warnung: Der Primärschlüssel wurde widerrufen.</translation>
</message>
@@ -2392,201 +2571,256 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyPairOperaTab</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="51"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="53"/>
<source>General Operations</source>
<translation type="unfinished">Allgemeine Vorgänge</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="59"/>
<source>Export Public Key</source>
<translation type="unfinished">Öffentlichen Schlüssel exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="65"/>
<source>Export Private Key</source>
<translation type="unfinished">Privaten Schlüssel exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="70"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="72"/>
<source>Modify Expiration Datetime (Primary Key)</source>
<translation type="unfinished">Ablaufdatum/Uhrzeit ändern (Primärschlüssel)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="73"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="75"/>
<source>Modify Password</source>
<translation type="unfinished">Passwort verändern</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="92"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="93"/>
<source>Key Server Operation (Pubkey)</source>
<translation type="unfinished">Betrieb des Schlüsselservers (Pubkey)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="100"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="177"/>
<source>Generate Revoke Certificate</source>
<translation type="unfinished">Widerrufszertifikat erstellen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="106"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="107"/>
<source>Modify TOFU Policy</source>
<translation type="unfinished">TOFU-Richtlinie ändern</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="101"/>
+ <source>Revoke Certificate Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="114"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">Vertrauensstufe des Eigentümers festlegen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="135"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="138"/>
<source>Upload Key Pair to Key Server</source>
<translation type="unfinished">Schlüsselpaar auf Schlüsselserver hochladen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="143"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="146"/>
<source>Sync Key Pair From Key Server</source>
<translation type="unfinished">Schlüsselpaar vom Schlüsselserver synchronisieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="158"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="161"/>
<source>Export Full Secret Key</source>
<translation type="unfinished">Vollständigen geheimen Schlüssel exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="164"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="167"/>
<source>Export Shortest Secret Key</source>
<translation type="unfinished">Kürzesten geheimen Schlüssel exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="191"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="237"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="182"/>
+ <source>Import Revoke Certificate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="298"/>
<source>Export Key To File</source>
<translation type="unfinished">Schlüssel in Datei exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="192"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="238"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="281"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished">Schlüsseldateien</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="197"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="243"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="286"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="215"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="261"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="304"/>
<source>Export Error</source>
<translation type="unfinished">Exportfehler</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="198"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="244"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="287"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="216"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="262"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="305"/>
<source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished">%1 konnte nicht zum Schreiben geöffnet werden</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="206"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="224"/>
<source>Exporting short private Key</source>
<translation type="unfinished">Exportieren eines kurzen privaten Schlüssels</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="207"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="254"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="225"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="272"/>
<source>You are about to export your</source>
<translation type="unfinished">Sie sind dabei, Ihre . zu exportieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="208"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="226"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="273"/>
<source> PRIVATE KEY </source>
<translation type="unfinished"> PRIVATEN SCHLÜSSEL </translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="227"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="274"/>
<source>This is NOT your Public Key, so DON&apos;T give it away.</source>
<translation type="unfinished">Dies ist NICHT Ihr öffentlicher Schlüssel, also geben Sie ihn NICHT weiter.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="228"/>
<source>Do you REALLY want to export your PRIVATE KEY in a Minimum Size?</source>
<translation type="unfinished">Möchten Sie WIRKLICH Ihren PRIVATEN SCHLÜSSEL in einer Mindestgröße exportieren?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="213"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="231"/>
<source>For OpenPGP keys it removes all signatures except for the latest self-signatures.</source>
<translation type="unfinished">Bei OpenPGP-Schlüsseln werden alle Signaturen mit Ausnahme der neuesten Eigensignaturen entfernt.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="253"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="271"/>
<source>Exporting private Key</source>
<translation type="unfinished">Exportieren des privaten Schlüssels</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="257"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="275"/>
<source>Do you REALLY want to export your PRIVATE KEY?</source>
<translation type="unfinished">Möchten Sie WIRKLICH Ihren PRIVATEN SCHLÜSSEL exportieren?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="315"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="329"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="412"/>
<source>Revocation Certificates</source>
<translation type="unfinished">Widerrufszertifikate</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="326"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="340"/>
<source>Generate revocation certificate</source>
- <translation type="unfinished"></translation>
+ <translation>Widerrufszertifikat erstellen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="357"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
<source>Policy Auto</source>
<translation type="unfinished">Richtlinie Auto</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="373"/>
<source>Policy Good</source>
<translation type="unfinished">Richtlinie gut</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="375"/>
<source>Policy Bad</source>
<translation type="unfinished">Richtlinie schlecht</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="377"/>
<source>Policy Ask</source>
<translation type="unfinished">Richtlinie fragen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="365"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="379"/>
<source>Policy Unknown</source>
<translation type="unfinished">Richtlinie unbekannt</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="352"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="366"/>
<source>Modify TOFU Policy(Default is Auto)</source>
<translation type="unfinished">TOFU-Richtlinie ändern (Standard ist Auto)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="353"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="367"/>
<source>Policy for the Key Pair:</source>
<translation type="unfinished">Richtlinie für das Schlüsselpaar:</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="370"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="384"/>
<source>Not Successful</source>
<translation type="unfinished">Nicht erfolgreich</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="385"/>
<source>Modify TOFU policy not successfully.</source>
<translation type="unfinished">Ändern der TOFU-Richtlinie nicht erfolgreich.</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="399"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="411"/>
+ <source>Import Key Revocation Certificate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="400"/>
+ <source>You are about to import the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="401"/>
+ <source>REVOCATION CERTIFICATE</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="402"/>
+ <source>A successful import will result in the key being irreversibly revoked.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="404"/>
+ <source>Do you REALLY want to execute this operation?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="420"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="429"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="437"/>
+ <source>Error</source>
+ <translation type="unfinished">Fehler</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="421"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="438"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished">Kann diese Datei nicht öffnen. Bitte stellen Sie sicher, dass es sich um eine reguläre, lesbare Datei handelt.</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="430"/>
+ <source>The target file is too large for a key revocation certificate.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::KeyPairSubkeyTab</name>
@@ -2618,7 +2852,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="67"/>
<source>Algorithm Detail</source>
- <translation type="unfinished"></translation>
+ <translation>Algorithmusdetails</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="69"/>
@@ -2674,7 +2908,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="159"/>
<source>Create Date</source>
- <translation type="unfinished"></translation>
+ <translation>Erstellung</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="160"/>
@@ -2682,12 +2916,12 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Ablaufdatum</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="202"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="203"/>
<source>Never Expire</source>
<translation type="unfinished">Nie ablaufen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="239"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="240"/>
<source>Never Expires</source>
<translation type="unfinished">Läuft nie ab</translation>
</message>
@@ -2794,12 +3028,12 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairUIDTab.cpp" line="163"/>
<source>Create Date</source>
- <translation type="unfinished"></translation>
+ <translation>Erstellungsdatum</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairUIDTab.cpp" line="164"/>
<source>Expired Date</source>
- <translation type="unfinished"></translation>
+ <translation>Ablaufdatum</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairUIDTab.cpp" line="240"/>
@@ -3073,14 +3307,24 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">%1 Schlüssel gefunden. Doppelklicken Sie auf einen Schlüssel, um ihn zu importieren.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="415"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="371"/>
+ <source>Warning</source>
+ <translation type="unfinished">Warnung</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="372"/>
+ <source>Please select one KeyPair before doing this operation.</source>
+ <translation type="unfinished">Bitte wählen Sie ein Schlüsselpaar aus, bevor Sie diesen Vorgang ausführen.</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="419"/>
<source>Key Imported</source>
<translation type="unfinished">Schlüssel importiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="426"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="430"/>
<source>Processing ...</source>
- <translation type="unfinished"></translation>
+ <translation>Verarbeite ...</translation>
</message>
</context>
<context>
@@ -3088,22 +3332,22 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="74"/>
<source>Key not found in the Keyserver.</source>
- <translation type="unfinished"></translation>
+ <translation>Schlüssel auf dem Schlüsselserver nicht gefunden.</translation>
</message>
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="77"/>
<source>Network connection timeout.</source>
- <translation type="unfinished"></translation>
+ <translation>Netzwerkverbindungs-Timeout</translation>
</message>
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="80"/>
<source>Cannot resolve the address of target key server.</source>
- <translation type="unfinished"></translation>
+ <translation>Kann die Adresse des gewählten Schlüsselservers nicht auflösen.</translation>
</message>
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="83"/>
<source>General connection error occurred.</source>
- <translation type="unfinished"></translation>
+ <translation>Allgemeiner Verbindungsfehler ist aufgetreten.</translation>
</message>
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="89"/>
@@ -3162,32 +3406,32 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Unterzeichner</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="80"/>
<source>Expire Date</source>
<translation type="unfinished">Ablaufdatum</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="90"/>
<source>Sign For Key&apos;s UID(s)</source>
<translation type="unfinished">Für die UID(s) des Schlüssels unterschreiben</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="114"/>
<source>Unsuccessful Operation</source>
<translation type="unfinished">Fehlgeschlagener Vorgang</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="115"/>
<source>Signature operation failed for UID %1</source>
<translation type="unfinished">Signaturvorgang für UID %1 fehlgeschlagen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
<source>Operation Complete</source>
<translation type="unfinished">Vorgang abgeschlossen</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="127"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
<source>The signature operation of the UID is complete</source>
<translation type="unfinished">Der Signaturvorgang der UID ist abgeschlossen</translation>
</message>
@@ -3207,7 +3451,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="78"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation>Unbekannter Fehler ist aufgetreten</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="147"/>
@@ -3232,7 +3476,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="158"/>
<source>Upload Failed</source>
- <translation type="unfinished"></translation>
+ <translation>Hochladen fehlgeschlagen</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="162"/>
@@ -3351,7 +3595,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsKeyServer.cpp" line="221"/>
<source>timeout(ms): </source>
- <translation type="unfinished"></translation>
+ <translation>Timeout (ms):</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsKeyServer.cpp" line="245"/>
@@ -3377,546 +3621,561 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::MainWindow</name>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="164"/>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="167"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="158"/>
<source>Critical error occur while loading GpgFrontend.</source>
<translation type="unfinished">Beim Laden von GpgFrontend ist ein kritischer Fehler aufgetreten.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="157"/>
<source>Loading Failed</source>
<translation type="unfinished">Laden fehlgeschlagen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="48"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="100"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="143"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="162"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="187"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="214"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="257"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="276"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="293"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="307"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="325"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="342"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="356"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="375"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="430"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="449"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="503"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="528"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="568"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="605"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="631"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="671"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="709"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="735"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="768"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="801"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="811"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="836"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="72"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="119"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="175"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="208"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="244"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="320"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="242"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="250"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="145"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="164"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="260"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="311"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="329"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="347"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="361"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="435"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="454"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="489"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="536"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="613"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="639"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="717"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="743"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="775"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="822"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="847"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="121"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="210"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="246"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="322"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="368"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="255"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="163"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="277"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="326"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="376"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="450"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="529"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="632"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="736"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="802"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="50"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="165"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="280"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="330"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="381"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="455"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="537"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="640"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="813"/>
<source>Cannot read from file: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Kann Datei nicht lesen: %1</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="176"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="178"/>
<source>The target file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">Die Zieldatei %1 existiert bereits, wollen Sie sie überschreiben?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="65"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="179"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="284"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="333"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="411"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="575"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="678"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="750"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="817"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="66"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="181"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="288"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="338"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="416"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="583"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="686"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="757"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="828"/>
<source>Warning</source>
<translation type="unfinished">Warnung</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="188"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="294"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="343"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="569"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="672"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="745"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="190"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="298"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="577"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="680"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="752"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="823"/>
<source>Cannot write to file: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Kann in Datei nicht schreiben: %</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="83"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="197"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="52"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="199"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="54"/>
<source>Symmetric Encryption</source>
<translation type="unfinished">Symmetrische Verschlüsselung</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="198"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="200"/>
<source>No Key Selected. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">Es ist kein Schlüssel ausgewählt. Möchten Sie mit einer symmetrischen Verschlüsselung unter Verwendung einer Passphrase verschlüsseln?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="90"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="61"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="63"/>
<source>Symmetrically Encrypting</source>
<translation type="unfinished">Symmetrisches Verschlüsseln</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="144"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="215"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="258"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="308"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="357"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="431"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="504"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="606"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="710"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="769"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="837"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="120"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="176"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="209"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="245"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="321"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="367"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="102"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="217"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="261"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="312"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="362"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="509"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="614"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="718"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="776"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="848"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="178"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="211"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="323"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="369"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation>Unbekannter Fehler ist aufgetreten</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="125"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="550"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="653"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="277"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="558"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="661"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
<source>Invalid KeyPair</source>
<translation type="unfinished">Ungültiges Schlüsselpaar</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="240"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="654"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="278"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="242"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="559"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="662"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="280"/>
<source>The selected keypair cannot be used for encryption.</source>
<translation type="unfinished">Das ausgewählte Schlüsselpaar kann nicht zur Verschlüsselung verwendet werden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="552"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="655"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="128"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="560"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="663"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="281"/>
<source>For example the Following Key:</source>
<translation type="unfinished">Zum Beispiel der folgende Schlüssel:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="134"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="109"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="135"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="111"/>
<source>Encrypting</source>
<translation type="unfinished">Verschlüsselung</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="204"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="206"/>
<source>Archiving &amp; Symmetrically Encrypting</source>
- <translation type="unfinished"></translation>
+ <translation>Archivierung und symmetrische Verschlüsselung</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="250"/>
<source>Archiving &amp; Encrypting</source>
- <translation type="unfinished"></translation>
+ <translation>Archivierung und Verschlüsselung</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="285"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="334"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="289"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="584"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="687"/>
<source>The target file already exists, do you need to overwrite it?</source>
<translation type="unfinished">Die Zieldatei existiert bereits, wollen Sie sie überschreiben?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="299"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="200"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="202"/>
<source>Decrypting</source>
<translation type="unfinished">Entschlüsseln</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/>
<source>Decrypting &amp; Extrating</source>
- <translation type="unfinished"></translation>
+ <translation>Entschlüsselung und Extraktion</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="385"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="539"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="642"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="145"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="390"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="547"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="650"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="147"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="267"/>
<source>No Key Checked</source>
<translation type="unfinished">Kein Schlüssel ausgewählt</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="386"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="540"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="643"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="391"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="548"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="651"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="148"/>
<source>Please check the key in the key toolbox on the right.</source>
<translation type="unfinished">Bitte wählen Sie den Schlüssel in der Schlüssel-Toolbox auf der rechten Seite.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="393"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="98"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="154"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="398"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="156"/>
<source>Invalid Operation</source>
<translation type="unfinished">Ungültige Operation</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="394"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="399"/>
<source>The selected key contains a key that does not actually have a sign usage.</source>
<translation type="unfinished">Der ausgewählte Schlüssel enthält einen Schlüssel, der keine Signierfunktion hat.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="396"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="401"/>
<source>for example the Following Key:</source>
<translation type="unfinished">zum Beispiel der folgende Schlüssel:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="412"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="417"/>
<source>The signature file &quot;%1&quot; exists, do you need to overwrite it?</source>
<translation type="unfinished">Die Signaturdatei &quot;%1&quot; existiert, wollen Sie sie überschreiben?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="421"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="426"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="168"/>
<source>Signing</source>
<translation type="unfinished">Unterzeichnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="470"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="475"/>
<source>File to be Verified</source>
- <translation type="unfinished"></translation>
+ <translation>Zu verifizierende Datei</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="471"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="476"/>
<source>Please provide An ABSOLUTE Path
If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </source>
- <translation type="unfinished"></translation>
+ <translation>Bitte geben Sie einen ABSOLUTEN Pfad an.
+Fals Daten und Signatur in einer Datei COMBINIERT sind, LASSEN SIE DIES LEER: </translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="485"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="490"/>
<source>Please select the appropriate origin file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished">Bitte wählen Sie die entsprechende Ursprungsdatei oder Signaturdatei aus. Stellen Sie sicher, dass sich beide in diesem Verzeichnis befinden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="235"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="499"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="237"/>
<source>Verifying</source>
<translation type="unfinished">Verifizierung</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="594"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="308"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="602"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="310"/>
<source>Encrypting and Signing</source>
<translation type="unfinished">Verschlüsseln und Signieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="697"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="705"/>
<source>Archiving &amp; Encrypting &amp; Signing</source>
- <translation type="unfinished"></translation>
+ <translation>Archivierung &amp; Verschlüsselung &amp; Signierung</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="818"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="758"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="829"/>
<source>The output file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">Die Ausgabedatei %1 existiert bereits, wollen Sie sie überschreiben?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="760"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="356"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="767"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="358"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished">Entschlüsseln und Verifizieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="827"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="838"/>
<source>Decrypting &amp; Verifying &amp; Extracting</source>
- <translation type="unfinished"></translation>
+ <translation>Entschlüsselung &amp; Verifizierung &amp; Extraktion</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="55"/>
<source>No Key Checked. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">Kein Schlüssel ausgewählt. Möchten Sie mit einer symmetrischen Verschlüsselung unter Verwendung einer Passphrase verschlüsseln?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="99"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
<source>The selected key contains a key that does not actually have a encrypt usage.</source>
<translation type="unfinished">Der ausgewählte Schlüssel hat keine Verschlüsselungsfunktion.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
<source>The selected key contains a key that does not actually have a signature usage.</source>
<translation type="unfinished">Der ausgewählte Schlüssel hat keine Signierfunktion.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="266"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="268"/>
<source>Please check some key in the key toolbox on the right.</source>
<translation type="unfinished">Bitte wählen Sie mindestens einen Schlüssel in der Schlüssel-Toolbox auf der rechten Seite.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
<source>Key Not Found.</source>
<translation type="unfinished">Schlüssel nicht gefunden.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="101"/>
<source> (Local Time) </source>
- <translation type="unfinished"></translation>
+ <translation type="vanished"> (Ortszeit) </translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/>
+ <source>Localize</source>
+ <translation type="unfinished">本地化</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="105"/>
+ <source>UTC</source>
+ <translation type="unfinished">koordinierte Weltzeit</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
+ <source>Local Time</source>
+ <translation type="unfinished">当地时间</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="248"/>
<source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
- <translation type="unfinished"></translation>
+ <translation>Kann diese Datei nicht öffnen. Bitte stellen Sie sicher, dass es sich um eine reguläre, lesbare Datei handelt.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="251"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="256"/>
<source>Cannot open this file. The file is TOO LARGE (&gt;1MB) for GpgFrontend Text Editor.</source>
- <translation type="unfinished"></translation>
+ <translation>Kann diese Datei nicht öffen. DIe Datei ist ZU GROSS (&gt;1MB) für den GpgFrontend Texteditor.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/>
<source>GpgFrontend Upgradeable (New Version: %1).</source>
<translation type="unfinished">GpgFrontend kann aktualisiert werden (neue Version: %1).</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="307"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/>
<source>Withdrawn Version</source>
<translation type="unfinished">Zurückgezogene Version</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="309"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
<source>This version(%1) may have been withdrawn by the developer due to serious problems. Please stop using this version immediately and use the latest stable version.</source>
<translation type="unfinished">Diese Version (%1) wurde möglicherweise vom Entwickler aufgrund schwerwiegender Probleme zurückgezogen. Bitte beenden Sie die Verwendung dieser Version sofort und verwenden Sie die neueste stabile Version.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
<source>You can download the latest stable version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished">Sie können die neueste stabile Version (%1) auf der Github-Release-Seite herunterladen.&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="324"/>
<source>This maybe a BETA Version (Latest Stable Version: %1).</source>
<translation type="unfinished">Dies ist möglicherweise eine BETA-Version (Neueste stabile Version: %1).</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="45"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="44"/>
<source>New</source>
<translation type="unfinished">Neu</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="51"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="50"/>
<source>Open a new file</source>
<translation type="unfinished">Eine neue Datei öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="54"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="53"/>
<source>Open...</source>
<translation type="unfinished">Öffnen...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="56"/>
<source>Open an existing file</source>
<translation type="unfinished">Eine vorhandene Datei öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="60"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="59"/>
<source>File Browser</source>
<translation type="unfinished">Dateibrowser</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="62"/>
<source>Open a file browser</source>
<translation type="unfinished">Dateibrowser öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="66"/>
<source>Save File</source>
<translation type="unfinished">Datei speichern</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="70"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="69"/>
<source>Save the current File</source>
<translation type="unfinished">Die aktuelle Datei speichern</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="73"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="72"/>
<source>Save As</source>
<translation type="unfinished">Speichern als</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="76"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="75"/>
<source>Save the current File as...</source>
<translation type="unfinished">Die aktuelle Datei speichern als...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="79"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="78"/>
<source>Print</source>
<translation type="unfinished">Drucken</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="82"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="81"/>
<source>Print Document</source>
<translation type="unfinished">Dokument drucken</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="84"/>
<source>Close</source>
<translation type="unfinished">Schließen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="87"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="86"/>
<source>Close file</source>
<translation type="unfinished">Datei schließen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="90"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="89"/>
<source>Quit</source>
<translation type="unfinished">Beenden</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="93"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="92"/>
<source>Quit Program</source>
<translation type="unfinished">Programm beenden</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="98"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="97"/>
<source>Undo</source>
<translation type="unfinished">Rückgängig machen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="99"/>
<source>Undo Last Edit Action</source>
<translation type="unfinished">Letzten Bearbeitungsschritt rückgängig machen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="102"/>
<source>Redo</source>
<translation type="unfinished">Wiederholen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="105"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="104"/>
<source>Redo Last Edit Action</source>
<translation type="unfinished">Letzten Bearbeitungsschritt wiederholen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="108"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="107"/>
<source>Zoom In</source>
<translation type="unfinished">Hineinzoomen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="112"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="111"/>
<source>Zoom Out</source>
<translation type="unfinished">Rauszoomen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="116"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="115"/>
<source>Paste</source>
<translation type="unfinished">Einfügen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="118"/>
<source>Paste Text From Clipboard</source>
<translation type="unfinished">Text aus der Zwischenablage einfügen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="121"/>
<source>Cut</source>
<translation type="unfinished">Ausschneiden</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="125"/>
<source>Cut the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">Den Inhalt der aktuellen Auswahl in die Zwischenablage ausschneiden</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="130"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="129"/>
<source>Copy</source>
<translation type="unfinished">Kopieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="134"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="133"/>
<source>Copy the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">Den Inhalt der aktuellen Auswahl in die Zwischenablage kopieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="138"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="137"/>
<source>Quote</source>
<translation type="unfinished">Zitieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="139"/>
<source>Quote whole text</source>
<translation type="unfinished">Ganzen Text zitieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="143"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="142"/>
<source>Select All</source>
<translation type="unfinished">Alles auswählen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="145"/>
<source>Select the whole text</source>
<translation type="unfinished">Den gesamten Text auswählen</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="149"/>
<source>Find</source>
<translation type="unfinished">Suchen</translation>
</message>
@@ -4446,7 +4705,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsNetwork.cpp" line="81"/>
<source>Username</source>
- <translation type="unfinished">Nutzername</translation>
+ <translation type="unfinished">Benutzername</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsNetwork.cpp" line="82"/>
@@ -4466,7 +4725,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsNetwork.cpp" line="90"/>
<source>Prohibit checking for version updates when the program starts.</source>
- <translation type="unfinished">Die Suche nach Versionsaktualisierungen beim Start des Programms verbieten.</translation>
+ <translation type="unfinished">Die Suche nach Versionsaktualisierungen beim Start des Programms deaktivieren.</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsNetwork.cpp" line="92"/>
@@ -4486,7 +4745,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsNetwork.cpp" line="171"/>
<source>Server Url</source>
- <translation type="unfinished"></translation>
+ <translation>Server-URL</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsNetwork.cpp" line="181"/>
@@ -4528,7 +4787,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
<message>
<location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="63"/>
- <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="196"/>
<source>%1 character(s)</source>
<translation type="unfinished">%1 Zeichen</translation>
</message>
@@ -4581,44 +4840,48 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="67"/>
<source>Repeat PIN:</source>
- <translation type="unfinished"></translation>
+ <translation>PIN wiederholen:</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="68"/>
<source>Show passphrase</source>
- <translation type="unfinished"></translation>
+ <translation>Passwortphrase anzeigen</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="68"/>
<source>Hide passphrase</source>
- <translation type="unfinished"></translation>
+ <translation>Passwortphrase verbergen</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="71"/>
<source>Given PIN was wrong. Please retry.</source>
- <translation type="unfinished"></translation>
+ <translation>Eingegebene PIN ist ungültig. Bitte erneut versuchen.</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="74"/>
<source>PIN:</source>
- <translation type="unfinished"></translation>
+ <translation>PIN:</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="84"/>
<source>Passphrases do not match</source>
- <translation type="unfinished"></translation>
+ <translation>Passwortphrasen stimmen nicht überein</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="87"/>
<source>Caps Lock is on</source>
- <translation type="unfinished"></translation>
+ <translation>Feststelltaste ist eingeschaltet</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="91"/>
- <source>Buddled Pinentry</source>
+ <source>Bundled Pinentry</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <source>Buddled Pinentry</source>
+ <translation type="vanished">Pineingabe</translation>
+ </message>
+ <message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="95"/>
<source>Confirm</source>
<translation type="unfinished">Bestätigen</translation>
@@ -4770,7 +5033,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/SignersPicker.cpp" line="73"/>
<source>Signers Picker</source>
- <translation type="unfinished"></translation>
+ <translation>Signierungswähler</translation>
</message>
</context>
<context>
@@ -4858,7 +5121,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp" line="301"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation>Unbekannter Fehler ist aufgetreten</translation>
</message>
</context>
<context>
@@ -4918,56 +5181,56 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished">Verzeichnis öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="143"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="203"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="422"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>Warning</source>
<translation type="unfinished">Warnung</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="145"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="205"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="424"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
<source>Cannot read file %1:
%2.</source>
<translation type="unfinished">Kann Datei %1 nicht lesen:
%2.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="152"/>
<source>Open file</source>
<translation type="unfinished">Datei öffnen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="222"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="221"/>
<source>Save file</source>
<translation type="unfinished">Datei speichern</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="282"/>
<source>Unsaved document</source>
<translation type="unfinished">Nicht gespeichertes Dokument</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="284"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
<source>The document &quot;%1&quot; has been modified. Do you want to save your changes?</source>
<translation type="unfinished">Das Dokument &quot;%1&quot; wurde geändert. Wollen Sie Ihre Änderungen speichern?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="286"/>
<source>Note:</source>
<translation type="unfinished">Notiz:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="288"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
<source>If you don&apos;t save these files, all changes are lost.</source>
<translation type="unfinished">Wenn Sie diese Dateien nicht speichern, gehen alle Änderungen verloren.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>No document to print</source>
- <translation type="unfinished"></translation>
+ <translation>Kein Dokument für Ausdruck</translation>
</message>
</context>
<context>
@@ -5045,27 +5308,27 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="38"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="39"/>
<source>Signatures Details</source>
<translation type="unfinished">Unterschriftendetails</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="62"/>
<source>No valid input found</source>
<translation type="unfinished">Keine gültige Eingabe gefunden</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="71"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="72"/>
<source>Error Validating signature</source>
<translation type="unfinished">Fehler beim Validieren der Signatur</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
<source>File was signed on %1</source>
<translation type="unfinished">Datei wurde am %1 signiert</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="76"/>
<location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="80"/>
<source>It Contains</source>
<translation type="unfinished">Es beinhaltet</translation>
@@ -5079,154 +5342,154 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyKeyDetailBox</name>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="53"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="54"/>
<source>Import from keyserver</source>
<translation type="unfinished">Vom Schlüsselserver importieren</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="58"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="59"/>
<source>Key not present with id 0x</source>
<translation type="unfinished">Schlüssel nicht vorhanden mit der ID 0x</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Status</source>
<translation type="unfinished">Status</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
<source>:</source>
<translation type="unfinished">:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="65"/>
<source>Key not present in key list</source>
<translation type="unfinished">Schlüssel nicht in Schlüsselliste vorhanden</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="72"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="73"/>
<source>A Signature</source>
<translation type="unfinished">Eine Unterschrift</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="77"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="92"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="107"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="123"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="138"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="78"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="93"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="108"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="124"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="139"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="154"/>
<source>Key Information is NOT Available</source>
<translation type="unfinished">Schlüssel Informationen sind NICHT verfügbar</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="79"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="94"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="109"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="125"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="140"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="155"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="80"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="95"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="110"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="126"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="141"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="156"/>
<source>Fingerprint</source>
<translation type="unfinished">Fingerabdruck</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
<source>Cert Revoked</source>
<translation type="unfinished">Zertifikat widerrufen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<source>Signature Expired</source>
<translation type="unfinished">Signatur abgelaufen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
<source>Key Expired</source>
<translation type="unfinished">Schlüssel abgelaufen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
<source>General Error</source>
<translation type="unfinished">Allgemeiner Fehler</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Unknown Error </source>
<translation type="unfinished">Unbekannter Fehler </translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="176"/>
<source>Signer Name</source>
<translation type="unfinished">Name des Unterzeichners</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="177"/>
<source>Signer Email</source>
<translation type="unfinished">E-Mail des Unterzeichners</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
<source>Key&apos;s Fingerprint</source>
<translation type="unfinished">Fingerabdruck des Schlüssels</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="181"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
<source>Valid</source>
<translation type="unfinished">Gültig</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="182"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
<source>Flags</source>
<translation type="unfinished">Kennzeichnungen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="187"/>
<source>Fully Valid</source>
<translation type="unfinished">Voll gültig</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
<source>NOT Fully Valid</source>
<translation type="unfinished">NICHT vollständig gültig</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="196"/>
<source>Good</source>
<translation type="unfinished">Gut</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="201"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="199"/>
<source>Bad</source>
<translation type="unfinished">Schlecht</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="202"/>
<source>Expired</source>
<translation type="unfinished">Abgelaufen</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="207"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="205"/>
<source>Missing Key</source>
<translation type="unfinished">Fehlender Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="210"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="208"/>
<source>Revoked Key</source>
<translation type="unfinished">Widerrufener Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="211"/>
<source>Expired Key</source>
<translation type="unfinished">Abgelaufener Schlüssel</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="216"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="214"/>
<source>Missing CRL</source>
<translation type="unfinished">Fehlende Zertifikatssperrliste</translation>
</message>
@@ -5273,90 +5536,94 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
</context>
<context>
- <name>QObject</name>
+ <name>QCoreApplication</name>
<message>
<location filename="../../../../src/cmd.cpp" line="49"/>
<source>This is free software; see the source for copying conditions.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Dies ist freie Software. Beachten Sie den Quellcode für die Kopierbedingungen.</translation>
</message>
<message>
<location filename="../../../../src/cmd.cpp" line="54"/>
<source>Build DateTime: </source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Build DateTime:</translation>
</message>
<message>
<location filename="../../../../src/cmd.cpp" line="55"/>
<source>Build Version: </source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Build Version:</translation>
</message>
<message>
<location filename="../../../../src/cmd.cpp" line="56"/>
<source>Source Code Version: </source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Sourcecode Version:</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="196"/>
- <source>GpgME inilization failed</source>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="294"/>
+ <source>GpgME initiation failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="322"/>
- <source>GpgME Context inilization failed</source>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="397"/>
+ <source>GpgME Context initiation failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="331"/>
- <source>Gpg Key Detabase inilization failed</source>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="406"/>
+ <source>Gpg Key Detabase initiation failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="75"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="89"/>
<source>File Hash Information</source>
<translation type="unfinished">Datei-Hash-Informationen</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <source>filename</source>
- <translation type="unfinished">Dateiname</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
+ <source>Filename</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="92"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="100"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="108"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="95"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="99"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="104"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="110"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="116"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
<source>: </source>
<translation type="unfinished">: </translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <source>file size(bytes)</source>
- <translation type="unfinished">Dateigröße (Byte)</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="94"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="98"/>
+ <source>File Size</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="113"/>
- <source>Error in Calculating File Hash </source>
- <translation type="unfinished">Fehler beim Berechnen des Dateihashs </translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="123"/>
+ <source>Error: cannot read target file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="143"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
<source>target path doesn&apos;t exists</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Zielpfad existiert nicht</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="148"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="162"/>
<source>do NOT have permission to write path</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">habe KEINE Schreibberechtigung für den Pfad</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="153"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="168"/>
<source>do NOT have permission to read/write file</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">habe KEINE Lese-/Schreibberechtigung für die Datei</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="171"/>
<source>Success</source>
- <translation type="unfinished">Erfolg</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
@@ -5369,19 +5636,106 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished">Sollte dieser Vorgang zu langsam sein, stellen Sie bitte die Keyserver-Adresse entsprechend in der gnupg-Konfigurationsdatei ein (abhängig von der Netzwerksituation in Ihrem Land oder Ihrer Region).</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="64"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="63"/>
<source>Show Verify Details</source>
<translation type="unfinished">Verifizierungsdetails anzeigen</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="73"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="71"/>
<source>Public key not found locally</source>
<translation type="unfinished">Öffentlicher Schlüssel lokal nicht gefunden</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="74"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="72"/>
<source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
<translation type="unfinished">Es gibt lokal keinen öffentlichen Zielschlüsselinhalt für GpgFrontend, um genügend Informationen über diese Signatur zu sammeln. Möchten Sie jetzt den öffentlichen Schlüssel vom Keyserver importieren?</translation>
</message>
</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>This is free software; see the source for copying conditions.</source>
+ <translation type="vanished">Dies ist freie Software. Beachten Sie den Quellcode für die Kopierbedingungen.</translation>
+ </message>
+ <message>
+ <source>Build DateTime: </source>
+ <translation type="vanished">Build DateTime:</translation>
+ </message>
+ <message>
+ <source>Build Version: </source>
+ <translation type="vanished">Build Version:</translation>
+ </message>
+ <message>
+ <source>Source Code Version: </source>
+ <translation type="vanished">Sourcecode Version:</translation>
+ </message>
+ <message>
+ <source>GpgME inilization failed</source>
+ <translation type="vanished">GpgME Initialisierung fehlgeschlagen</translation>
+ </message>
+ <message>
+ <source>GpgME Context inilization failed</source>
+ <translation type="vanished">GpgME Kontextinitialisierung fehlge</translation>
+ </message>
+ <message>
+ <source>Gpg Key Detabase inilization failed</source>
+ <translation type="vanished">Gpg Schlüsseldatenbankinitialisierung fehlgeschlagen</translation>
+ </message>
+ <message>
+ <source>File Hash Information</source>
+ <translation type="obsolete">Datei-Hash-Informationen</translation>
+ </message>
+ <message>
+ <source>filename</source>
+ <translation type="obsolete">Dateiname</translation>
+ </message>
+ <message>
+ <source>: </source>
+ <translation type="obsolete">: </translation>
+ </message>
+ <message>
+ <source>file size(bytes)</source>
+ <translation type="obsolete">Dateigröße (Byte)</translation>
+ </message>
+ <message>
+ <source>Error in Calculating File Hash </source>
+ <translation type="obsolete">Fehler beim Berechnen des Dateihashs </translation>
+ </message>
+ <message>
+ <source>target path doesn&apos;t exists</source>
+ <translation type="vanished">Zielpfad existiert nicht</translation>
+ </message>
+ <message>
+ <source>do NOT have permission to write path</source>
+ <translation type="vanished">habe KEINE Schreibberechtigung für den Pfad</translation>
+ </message>
+ <message>
+ <source>do NOT have permission to read/write file</source>
+ <translation type="vanished">habe KEINE Lese-/Schreibberechtigung für die Datei</translation>
+ </message>
+ <message>
+ <source>Success</source>
+ <translation type="obsolete">Erfolg</translation>
+ </message>
+ <message>
+ <source>Loading Gnupg Info...</source>
+ <translation type="obsolete">Gnupg-Info wird geladen...</translation>
+ </message>
+ <message>
+ <source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
+ <translation type="obsolete">Sollte dieser Vorgang zu langsam sein, stellen Sie bitte die Keyserver-Adresse entsprechend in der gnupg-Konfigurationsdatei ein (abhängig von der Netzwerksituation in Ihrem Land oder Ihrer Region).</translation>
+ </message>
+ <message>
+ <source>Show Verify Details</source>
+ <translation type="obsolete">Verifizierungsdetails anzeigen</translation>
+ </message>
+ <message>
+ <source>Public key not found locally</source>
+ <translation type="obsolete">Öffentlicher Schlüssel lokal nicht gefunden</translation>
+ </message>
+ <message>
+ <source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
+ <translation type="obsolete">Es gibt lokal keinen öffentlichen Zielschlüsselinhalt für GpgFrontend, um genügend Informationen über diese Signatur zu sammeln. Möchten Sie jetzt den öffentlichen Schlüssel vom Keyserver importieren?</translation>
+ </message>
+</context>
</TS>
diff --git a/resource/lfs/locale/ts/GpgFrontend.fr_FR.ts b/resource/lfs/locale/ts/GpgFrontend.fr_FR.ts
index 78c52863..5f676fcc 100644
--- a/resource/lfs/locale/ts/GpgFrontend.fr_FR.ts
+++ b/resource/lfs/locale/ts/GpgFrontend.fr_FR.ts
@@ -25,7 +25,7 @@
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="59"/>
- <source>Gernal State</source>
+ <source>General State</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -55,22 +55,22 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="68"/>
<source>Message Integrity Protection</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Protection de l&apos;intégrité des messages</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="74"/>
<source>Symmetric Encryption Algorithm</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Algorithme de cryptage symétrique</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="79"/>
<source>Session Key</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Clé de session</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="83"/>
<source>German Encryption Standards</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Normes allemandes de cryptage</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="91"/>
@@ -128,7 +128,7 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="63"/>
<source>Recipients</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Bénéficiaires</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="65"/>
@@ -184,50 +184,85 @@
<translation type="unfinished">Détacher</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="76"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="79"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="111"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="77"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <source>Signed By</source>
+ <translation type="unfinished">Signé par</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="91"/>
+ <source>Key ID</source>
+ <translation type="unfinished">Identifiant de clé</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="89"/>
+ <source>Subkey</source>
+ <translation type="unfinished">Sous-clé</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="92"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">Clé primaire</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="94"/>
+ <source>Key Create Date</source>
+ <translation type="unfinished">Date de création de la clé</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="99"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished">&lt;unknown&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
+ <source>Sign Date</source>
+ <translation type="unfinished">Date de la signature</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="130"/>
<source>Signer</source>
<translation type="unfinished">Signataire</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="82"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="101"/>
<source>Public Key Algo</source>
<translation type="unfinished">Algo. de clé publique</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="84"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="103"/>
<source>Hash Algo</source>
<translation type="unfinished">Algo. de hachage</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
<source>Date</source>
- <translation type="unfinished">Date</translation>
+ <translation type="obsolete">Date</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
<source>UTC</source>
<translation type="unfinished">UTC</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
<source>Localized</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Localisé</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="124"/>
<source>Invalid Signers</source>
<translation type="unfinished">Signataires non valides</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="113"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="132"/>
<source>Fingerprint</source>
<translation type="unfinished">Empreinte digitale</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="115"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="134"/>
<source>Reason</source>
<translation type="unfinished">Raison</translation>
</message>
@@ -235,119 +270,167 @@
<context>
<name>GpgFrontend::GpgVerifyResultAnalyse</name>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="44"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="43"/>
<source>Verify Operation</source>
<translation type="unfinished">Vérifier le fonctionnement</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="47"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="46"/>
<source>Success</source>
<translation type="unfinished">Succès</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="49"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="48"/>
<source>Failed</source>
<translation type="unfinished">Échoué</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
<source>Signed On</source>
<translation type="unfinished">Signé le</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
<source>UTC</source>
<translation type="unfinished">UTC</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
<source>Localized</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Localisé</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="65"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="64"/>
<source>Signatures List</source>
<translation type="unfinished">Liste des signatures</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="71"/>
<source>Signature [%1]:</source>
<translation type="unfinished">Signature [%1]&#xa0;:</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="73"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
<source>Status</source>
<translation type="unfinished">Statut</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="76"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="75"/>
<source>A Bad Signature.</source>
<translation type="unfinished">Une mauvaise signature.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="78"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="77"/>
<source>This Signature is invalid.</source>
<translation type="unfinished">Cette signature est invalide.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="83"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="82"/>
<source>A</source>
<translation type="unfinished">UNE</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="85"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="84"/>
<source>Good</source>
<translation type="unfinished">Bon</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="87"/>
<source>Bad</source>
<translation type="unfinished">Mauvais</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="91"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="90"/>
<source>Expired</source>
<translation type="unfinished">Expiré</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="94"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="93"/>
<source>Missing Key&apos;s</source>
<translation type="unfinished">Touches manquantes</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="97"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="96"/>
<source>Revoked Key&apos;s</source>
<translation type="unfinished">Clés révoquées</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="100"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="99"/>
<source>Expired Key&apos;s</source>
<translation type="unfinished">Clés expirées</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="103"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="102"/>
<source>Missing CRL&apos;s</source>
<translation type="unfinished">CRL manquantes</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="107"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="106"/>
<source>Signature Fully Valid.</source>
<translation type="unfinished">Signature entièrement valide.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="108"/>
<source>Signature Not Fully Valid.</source>
<translation type="unfinished">Signature pas entièrement valide.</translation>
</message>
<message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <source>Tips</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="110"/>
- <source>(Adjust Trust Level to make it Fully Vaild)</source>
+ <source>Adjust Trust Level to make it Fully Vaild</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
+ <source>Fingerprint</source>
+ <translation type="unfinished">Empreinte digitale</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="186"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="229"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished">&lt;unknown&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
+ <source>Sign Date</source>
+ <translation type="unfinished">Date de la signature</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="217"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="220"/>
+ <source>Key ID</source>
+ <translation type="unfinished">Identifiant de clé</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="218"/>
+ <source>Subkey</source>
+ <translation type="unfinished">Sous-clé</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="221"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">Clé primaire</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="223"/>
+ <source>Key Create Date</source>
+ <translation type="unfinished">Date de création de la clé</translation>
+ </message>
+ <message>
<location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="117"/>
<source>Key is NOT present with ID 0x</source>
<translation type="unfinished">La clé n&apos;est PAS présente avec l&apos;ID 0x</translation>
@@ -358,67 +441,67 @@
<translation type="unfinished">Une signature n&apos;a PAS pu être vérifiée en raison d&apos;une clé manquante</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="131"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="132"/>
<source>A signature is valid but the key used to verify the signature has been revoked</source>
<translation type="unfinished">Une signature est valide mais la clé utilisée pour vérifier la signature a été révoquée</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="140"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="141"/>
<source>A signature is valid but expired</source>
<translation type="unfinished">Une signature est valide mais a expiré</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="147"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="148"/>
<source>A signature is valid but the key used to verify the signature has expired.</source>
<translation type="unfinished">Une signature est valide mais la clé utilisée pour vérifier la signature a expiré.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="155"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="156"/>
<source>There was some other error which prevented the signature verification.</source>
<translation type="unfinished">Il y avait une autre erreur qui a empêché la vérification de la signature.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="163"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="164"/>
<source>Error for key with fingerprint</source>
<translation type="unfinished">Erreur pour la clé avec empreinte digitale</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="174"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="175"/>
<source>Could not find information that can be used for verification.</source>
<translation type="unfinished">Impossible de trouver des informations pouvant être utilisées pour la vérification.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="188"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="193"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
<source>Signed By</source>
<translation type="unfinished">Signé par</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
<source>Unknown</source>
- <translation type="unfinished">Inconnu</translation>
+ <translation type="obsolete">Inconnu</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="197"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="234"/>
<source>Public Key Algo</source>
<translation type="unfinished">Algo. de clé publique</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="201"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="191"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="236"/>
<source>Hash Algo</source>
<translation type="unfinished">Algo. de hachage</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
<source>Date</source>
- <translation type="unfinished">Date</translation>
+ <translation type="obsolete">Date</translation>
</message>
</context>
<context>
<name>GpgFrontend::Module::Integrated::GnuPGInfoGatheringModule::GnuPGInfoGatheringModule</name>
<message>
- <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="124"/>
+ <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="123"/>
<source>Embedded In</source>
<translation type="unfinished">Intégré dans</translation>
</message>
@@ -586,138 +669,152 @@
<context>
<name>GpgFrontend::UI::CommonUtils</name>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="185"/>
<source>GnuPG Context Loading Failed</source>
<translation type="unfinished">Échec du chargement du contexte GnuPG</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="189"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
<source>Gnupg(gpg) is not installed correctly, please follow &lt;a href=&apos;https://www.gpgfrontend.bktus.com/#/faq?id=how-to-deal-with-39env-loading-failed39&apos;&gt;this notes&lt;/a&gt; in FAQ to install Gnupg and then open GpgFrontend. &lt;br /&gt;Or, you can open GnuPG Controller to set a custom GnuPG which GpgFrontend should use. Then, GpgFrontend will restart. &lt;br /&gt;&lt;br /&gt;Breif Reason: %1</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Gnupg(gpg) n&apos;est pas installé correctement, veuillez suivre &lt;a href=&apos;https://www.gpgfrontend.bktus.com/#/faq?id=how-to-deal-with-39env-loading-failed39&apos;&gt;this notes&lt;/a&gt; dans la FAQ pour installer Gnupg et ensuite ouvrir GpgFrontend. &lt;br /&gt;Ou, vous pouvez ouvrir GnuPG Controller pour définir un GnuPG personnalisé que GpgFrontend devrait utiliser. Ensuite, GpgFrontend redémarrera. &lt;br /&gt;&lt;br /&gt;Raison de la rupture : %1</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
<source>No keys found to import</source>
- <translation type="unfinished">Aucune clé trouvée à importer</translation>
+ <translation type="obsolete">Aucune clé trouvée à importer</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="437"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="445"/>
<source>Timeout</source>
<translation type="unfinished">Temps libre</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="252"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="250"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="381"/>
<source>Success</source>
<translation type="unfinished">Succès</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="253"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="251"/>
<source>Gpg Operation succeed.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Opération Gpg réussie.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="263"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="365"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="261"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
<source>Failure</source>
<translation type="unfinished">Échec</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="264"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="262"/>
<source>Gpg Operation failed.
Error code: %1
Source: %2
Description: %3</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">L&apos;opération Gpg a échoué.
+
+Code d&apos;erreur : %1
+Source : %2
+Description : %3</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="294"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="497"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="285"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="279"/>
<source>Open Key</source>
<translation type="unfinished">Ouvrir la clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="286"/>
<source>Key Files</source>
- <translation type="unfinished">Fichiers clés</translation>
+ <translation type="obsolete">Fichiers clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="280"/>
<source>Keyring files</source>
<translation type="unfinished">Fichiers de porte-clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="292"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="288"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="295"/>
+ <source>The target file is too large for a keyring.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="301"/>
<source>File Open Failed</source>
<translation type="unfinished">L&apos;ouverture du fichier a échoué</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="293"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="302"/>
<source>Failed to open file: </source>
<translation type="unfinished">Échec de l&apos;ouverture du fichier:</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="346"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="354"/>
<source>Processing</source>
<translation type="unfinished">Traitement</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="366"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
<source>Failed to execute command.</source>
<translation type="unfinished">Échec de l&apos;exécution de la commande.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="382"/>
<source>Succeed in executing command.</source>
<translation type="unfinished">Réussir l&apos;exécution de la commande.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="376"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="384"/>
<source>Warning</source>
<translation type="unfinished">Avertissement</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="377"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="385"/>
<source>Finished executing command.</source>
<translation type="unfinished">Exécution de la commande terminée.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="398"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="406"/>
<source>Default Keyserver Not Found</source>
<translation type="unfinished">Serveur de clés par défaut introuvable</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="399"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="407"/>
<source>Cannot read default keyserver from your settings, please set a default keyserver first</source>
<translation type="unfinished">Impossible de lire le serveur de clés par défaut à partir de vos paramètres, veuillez d&apos;abord définir un serveur de clés par défaut</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="434"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="442"/>
<source>Key Not Found</source>
<translation type="unfinished">Clé introuvable</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="440"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="448"/>
<source>Key Server Not Found</source>
<translation type="unfinished">Serveur de clé introuvable</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="443"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="451"/>
<source>Connection Error</source>
<translation type="unfinished">Erreur de connexion</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="454"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="462"/>
<source>The key has been updated</source>
<translation type="unfinished">La clé a été mise à jour</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="456"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="464"/>
<source>No need to update the key</source>
<translation type="unfinished">Pas besoin de mettre à jour la clé</translation>
</message>
@@ -902,12 +999,12 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FilePage</name>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="63"/>
<source>Show Hidden File</source>
<translation type="unfinished">Afficher le fichier caché</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="70"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="69"/>
<source>Show System File</source>
<translation type="unfinished">Afficher le fichier système</translation>
</message>
@@ -915,131 +1012,136 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FileTreeView</name>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="84"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="97"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="219"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="242"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="294"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="90"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="103"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="166"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="212"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="234"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="275"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="85"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="91"/>
<source>The path is not exists, unprivileged or unreachable.</source>
<translation type="unfinished">Le chemin n&apos;existe pas, non privilégié ou inaccessible.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="98"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="104"/>
<source>The file is unprivileged or unreachable.</source>
<translation type="unfinished">Le fichier n&apos;est pas privilégié ou inaccessible.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="157"/>
<source>Warning</source>
<translation type="unfinished">Avertissement</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="159"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
<source>Are you sure you want to delete it?</source>
<translation type="unfinished">Es-tu sûr de vouloir le supprimer ?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
<source>Unable to delete the file or folder.</source>
<translation type="unfinished">Impossible de supprimer le fichier ou le dossier.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="176"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="189"/>
<source>Make New Directory</source>
<translation type="unfinished">Créer un nouveau dossier</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="178"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
<source>Directory Name</source>
<translation type="unfinished">Nom du dossier</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Create Empty File</source>
<translation type="unfinished">Créer un fichier vide</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Filename (you can given extension)</source>
<translation type="unfinished">Nom de fichier (vous pouvez donner l&apos;extension)</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="220"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="243"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="235"/>
<source>Unable to create the file.</source>
<translation type="unfinished">Impossible de créer le fichier.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="314"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="298"/>
<source>Rename</source>
<translation type="unfinished">Renommer</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
<source>New Filename</source>
<translation type="unfinished">Nouveau nom de fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="295"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="276"/>
<source>Unable to rename the file or folder.</source>
<translation type="unfinished">Impossible de renommer le fichier ou le dossier.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="293"/>
<source>Open</source>
<translation type="unfinished">Ouvrir</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="319"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="303"/>
<source>Delete</source>
<translation type="unfinished">Effacer</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="324"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
<source>Calculate Hash</source>
<translation type="unfinished">Calculer le hachage</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="329"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="313"/>
<source>Directory</source>
<translation type="unfinished">Annuaire</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="334"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="318"/>
<source>File</source>
<translation type="unfinished">Déposer</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="339"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="323"/>
<source>Compress...</source>
<translation type="unfinished">Compresse...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="346"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="330"/>
<source>Open with Default System Application</source>
<translation type="unfinished">Ouvrir avec l&amp;#39;application système par défaut</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="335"/>
<source>New</source>
<translation type="unfinished">Nouveau</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="393"/>
+ <source>Calculating</source>
+ <translation type="unfinished">Calculer</translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::FindWidget</name>
<message>
- <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="46"/>
+ <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="45"/>
<source>Find</source>
<translation type="unfinished">Trouve</translation>
</message>
@@ -1103,23 +1205,28 @@ Description: %3</source>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="63"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="79"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="81"/>
<source>Clear All Log (Total Size: %1)</source>
<translation type="unfinished">Effacer tout le journal (taille totale&#xa0;:&#xa0;%1)</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="66"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="93"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="95"/>
<source>Clear All Data Objects (Total Size: %1)</source>
<translation type="unfinished">Effacer tous les objets de données (taille totale&#xa0;: %1)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="69"/>
+ <source>Reveal in File Explorer</source>
+ <translation type="unfinished">Révéler dans l&apos;explorateur de fichiers</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="88"/>
<source>Confirm</source>
<translation type="unfinished">Confirmer</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="87"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="89"/>
<source>Are you sure you want to clear all data objects?
This will result in loss of all cached form positions, statuses, key servers, etc.</source>
<translation type="unfinished">Voulez-vous vraiment effacer tous les objets de données&#xa0;? Cela entraînera la perte de toutes les positions de formulaire mises en cache, des statuts, des serveurs de clés, etc.</translation>
@@ -1143,9 +1250,13 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Avancée</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
<source>No ASCII Mode</source>
- <translation type="unfinished">Pas de mode ASCII</translation>
+ <translation type="obsolete">Pas de mode ASCII</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
+ <source>Use Binary Mode for File Operations</source>
+ <translation type="unfinished">Utiliser le mode binaire pour les opérations sur les fichiers</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="51"/>
@@ -1154,86 +1265,92 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="52"/>
+ <source>Enable GpgME Debug Log</source>
+ <translation type="unfinished">Activer le journal de débogage de GpgME</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
<source>Use Custom GnuPG</source>
<translation type="unfinished">Utiliser GnuPG personnalisé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="54"/>
<source>Select GnuPG Path</source>
<translation type="unfinished">Sélectionnez le chemin GnuPG</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="55"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="56"/>
<source>Use Custom GnuPG Key Database Path</source>
<translation type="unfinished">Utiliser le chemin personnalisé de la base de données de clés GnuPG</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="58"/>
<source>Select Key Database Path</source>
<translation type="unfinished">Sélectionnez le chemin de la base de données de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="60"/>
+ <source>Restart Gpg Agent on start</source>
+ <translation type="unfinished">Redémarrer l&apos;agent Gpg au démarrage</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="64"/>
<source>Tips: please select a directroy where &quot;gpgconf&quot; is located in.</source>
<translation type="unfinished">Conseils&#xa0;: veuillez sélectionner un directroy où se trouve &quot;gpgconf&quot;.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="66"/>
<source>Tips: notice that modify any of these settings will cause an Application restart.</source>
<translation type="unfinished">Conseils&#xa0;: notez que la modification de l&apos;un de ces paramètres entraînera un redémarrage de l&apos;application.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="95"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="98"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="118"/>
<source>Open Directory</source>
<translation type="unfinished">Ouvrir le répertoire</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="171"/>
<source>GnuPG Controller</source>
<translation type="unfinished">Contrôleur GnuPGName</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="331"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="339"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="346"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="358"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="356"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="375"/>
<source>Illegal GnuPG Path</source>
<translation type="unfinished">Chemin GnuPG illégal</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="332"/>
<source>Target GnuPG Path is empty.</source>
- <translation type="unfinished">Le chemin GnuPG cible est vide.</translation>
+ <translation type="obsolete">Le chemin GnuPG cible est vide.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="340"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="357"/>
<source>Target GnuPG Path is not an exists readable directory.</source>
<translation type="unfinished">Le chemin GnuPG cible n&amp;#39;est pas un répertoire lisible existant.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="347"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="364"/>
<source>Target GnuPG Path is not an absolute path.</source>
<translation type="unfinished">Le chemin GnuPG cible n&amp;#39;est pas un chemin absolu.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
<source>Target GnuPG Path contains no &quot;gpgconf&quot; executable.</source>
<translation type="unfinished">Le chemin GnuPG cible ne contient pas d&amp;#39;exécutable &amp;quot;gpgconf&amp;quot;.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="369"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="389"/>
<source>Illegal GnuPG Key Database Path</source>
<translation type="unfinished">Chemin d&apos;accès à la base de données de clés GnuPG illégal</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="370"/>
<source>Target GnuPG Key Database Path is empty.</source>
- <translation type="unfinished">Le chemin d&amp;#39;accès à la base de données de clés GnuPG cible est vide.</translation>
+ <translation type="obsolete">Le chemin d&amp;#39;accès à la base de données de clés GnuPG cible est vide.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="377"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="390"/>
<source>Target GnuPG Key Database Path is not an exists readable directory.</source>
<translation type="unfinished">Le chemin cible de la base de données de clés GnuPG n&amp;#39;est pas un répertoire lisible existant.</translation>
</message>
@@ -1247,7 +1364,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="44"/>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Description</source>
<translation type="unfinished">Description</translation>
</message>
@@ -1273,31 +1390,50 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="48"/>
+ <source>Directories</source>
+ <translation type="unfinished">Annuaires</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="49"/>
+ <source>Options</source>
+ <translation type="unfinished">Options</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Directory Type</source>
+ <translation type="unfinished">Type de répertoire</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Path</source>
+ <translation type="unfinished">Chemin d&apos;accès</translation>
+ </message>
+ <message>
<source>Configurations</source>
- <translation type="unfinished">Configurations</translation>
+ <translation type="obsolete">Configurations</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Component</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Composant</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Group</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Groupe</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Key</source>
<translation type="unfinished">Clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Default Value</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Valeur par défaut</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="60"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="91"/>
<source>Value</source>
<translation type="unfinished">Valeur</translation>
</message>
@@ -1350,7 +1486,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="167"/>
<source>Text (*.txt)</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Text (*.txt)</translation>
</message>
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="176"/>
@@ -1447,27 +1583,27 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
<source>KeyPair</source>
<translation type="unfinished">Paire de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
<source>UIDs</source>
<translation type="unfinished">UID</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="45"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="50"/>
<source>Subkeys</source>
<translation type="unfinished">Sous-clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="52"/>
<source>Operations</source>
<translation type="unfinished">Opérations</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="69"/>
<source>Key Details</source>
<translation type="unfinished">Détails clés</translation>
</message>
@@ -1507,7 +1643,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/key_generate/KeygenDialog.cpp" line="161"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Une erreur inconnue s&apos;est produite</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/key_generate/KeygenDialog.cpp" line="197"/>
@@ -1611,108 +1747,113 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyImportDetailDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="44"/>
<location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="61"/>
<source>Key Import Details</source>
<translation type="unfinished">Détails de l&apos;importation de clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="45"/>
<source>No keys found to import</source>
<translation type="unfinished">Aucune clé trouvée à importer</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="73"/>
<source>General key info</source>
<translation type="unfinished">Informations générales sur les clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="77"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="76"/>
<source>Considered</source>
<translation type="unfinished">Pris en considération</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="83"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="82"/>
<source>Public unchanged</source>
<translation type="unfinished">Public inchangé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="88"/>
<source>Imported</source>
<translation type="unfinished">Importé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="95"/>
<source>Not Imported</source>
<translation type="unfinished">Non importé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="103"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="102"/>
<source>Private Read</source>
<translation type="unfinished">Lecture privée</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="110"/>
<source>Private Imported</source>
<translation type="unfinished">Privé Importé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="118"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="117"/>
<source>Private Unchanged</source>
<translation type="unfinished">Privé Inchangé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="123"/>
+ <source>New Revocations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Name</source>
<translation type="unfinished">Nom</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Email</source>
<translation type="unfinished">E-mail</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Status</source>
<translation type="unfinished">Statut</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="140"/>
<source>Fingerprint</source>
<translation type="unfinished">Empreinte digitale</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="160"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
<source>Private</source>
<translation type="unfinished">Privé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="163"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
<source>Public</source>
<translation type="unfinished">Publique</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
<source>Unchanged</source>
<translation type="unfinished">Inchangé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="175"/>
<source>New Key</source>
<translation type="unfinished">Nouvelle clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="178"/>
<source>New Subkey</source>
<translation type="unfinished">Nouvelle sous-clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="176"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="182"/>
<source>New Signature</source>
<translation type="unfinished">Nouvelle signature</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="180"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="186"/>
<source>New UID</source>
<translation type="unfinished">Nouvel UID</translation>
</message>
@@ -1765,82 +1906,87 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Rechercher des clés...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Select</source>
<translation type="unfinished">Sélectionner</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Type</source>
<translation type="unfinished">Taper</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Name</source>
<translation type="unfinished">Nom</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Email Address</source>
<translation type="unfinished">Adresse e-mail</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Usage</source>
<translation type="unfinished">Usage</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Trust</source>
<translation type="unfinished">Confiance</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Finger Print</source>
<translation type="unfinished">Empreinte digitale</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="183"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
+ <source>Key ID</source>
+ <translation type="unfinished">Identifiant de clé</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="186"/>
<source>Refreshing Key List...</source>
<translation type="unfinished">Actualisation de la liste des clés...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Import Keys</source>
<translation type="unfinished">Importer des clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="356"/>
<source>You&apos;ve dropped something on the table.</source>
<translation type="unfinished">Vous avez fait tomber quelque chose sur la table.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
<source>GpgFrontend will now try to import key(s).</source>
<translation type="unfinished">GpgFrontend va maintenant essayer d&apos;importer des clés.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="360"/>
<source>Always import without bothering.</source>
<translation type="unfinished">Importez toujours sans vous soucier.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="452"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="455"/>
<source>Key List Refreshed.</source>
<translation type="unfinished">Liste des clés actualisée.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="473"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="476"/>
<source>Syncing Key List...</source>
<translation type="unfinished">Synchronisation de la liste des clés...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="481"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="484"/>
<source>Sync [%1/%2] %3 %4</source>
<translation type="unfinished">Synchronisation [%1/%2] %3 %4</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="491"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="494"/>
<source>Key List Sync Done.</source>
<translation type="unfinished">Synchronisation de la liste des clés terminée.</translation>
</message>
@@ -1848,347 +1994,368 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyMgmt</name>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
<source>All</source>
<translation type="unfinished">Tous</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="61"/>
<source>Only Public Key</source>
<translation type="unfinished">Clé publique uniquement</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="71"/>
<source>Has Private Key</source>
<translation type="unfinished">Possède une clé privée</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="77"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="81"/>
<source>No Primary Key</source>
<translation type="unfinished">Pas de clé primaire</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="86"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="90"/>
<source>Revoked</source>
<translation type="unfinished">Révoqué</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="94"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="98"/>
<source>Expired</source>
<translation type="unfinished">Expiré</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="123"/>
<source>KeyPair Management</source>
<translation type="unfinished">Gestion des paires de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="144"/>
<source>Open</source>
<translation type="unfinished">Ouvrir</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="142"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
<source>Open Key File</source>
<translation type="unfinished">Ouvrir le fichier clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="149"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="153"/>
<source>Close</source>
<translation type="unfinished">proche</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="152"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="156"/>
<source>New Keypair</source>
<translation type="unfinished">Nouvelle paire de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
<source>Generate KeyPair</source>
<translation type="unfinished">Générer une paire de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
<source>New Subkey</source>
<translation type="unfinished">Nouvelle sous-clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished">Générer une sous-clé pour la paire de clés sélectionnée</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="257"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="171"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
<source>File</source>
<translation type="unfinished">Déposer</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
<source>Import New Key From File</source>
<translation type="unfinished">Importer une nouvelle clé à partir d&apos;un fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
<source>Clipboard</source>
<translation type="unfinished">Presse-papiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="181"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished">Importer une nouvelle clé du presse-papiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="188"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
<source>Keyserver</source>
<translation type="unfinished">Serveur de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="196"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished">Importer une nouvelle clé à partir du serveur de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="198"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="531"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="202"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Key Package</source>
<translation type="unfinished">Paquet de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="201"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
<source>Import Key(s) From a Key Package</source>
<translation type="unfinished">Importer des clés à partir d&apos;un package de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
<source>Export To Clipboard</source>
<translation type="unfinished">Exporter vers le presse-papiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
<source>Export Checked Key(s) To Clipboard</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Exporter les clés vérifiées vers le presse-papiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="217"/>
<source>Export As Key Package</source>
<translation type="unfinished">Exporter en tant que package clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
<source>Export Checked Key(s) To a Key Package</source>
<translation type="unfinished">Exporter les clés vérifiées vers un package de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="224"/>
<source>Export As OpenSSH</source>
<translation type="unfinished">Exporter en tant qu&apos;OpenSSH</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="223"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
<source>Export Checked Key As OpenSSH Format to File</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Exporter la clé vérifiée au format OpenSSH vers un fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="231"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished">Supprimer la ou les clés sélectionnées</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="228"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
<source>Delete the Selected keys</source>
<translation type="unfinished">Supprimer les clés sélectionnées</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="236"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished">Supprimer les clés cochées</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="233"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="237"/>
<source>Delete the Checked keys</source>
<translation type="unfinished">Supprimer les clés cochées</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="238"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="242"/>
<source>Show Key Details</source>
<translation type="unfinished">Afficher les détails clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="239"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
<source>Show Details for this Key</source>
<translation type="unfinished">Afficher les détails de cette clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="244"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="248"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">Définir le niveau de confiance du propriétaire</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="281"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="285"/>
<source>Key</source>
<translation type="unfinished">Clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="262"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
<source>Generate Key</source>
<translation type="unfinished">Générer la clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="294"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="270"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="298"/>
<source>Import Key</source>
<translation type="unfinished">Importer la clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="272"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="276"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="306"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="307"/>
<source>Export Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="293"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="297"/>
<source>Import key</source>
<translation type="unfinished">Importer la clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="302"/>
- <source>Export key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="336"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="340"/>
<source>Deleting Keys</source>
<translation type="unfinished">Suppression de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="337"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="341"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished">Êtes-vous sûr de vouloir supprimer les clés suivantes&#xa0;?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="343"/>
<source>The action can not be undone.</source>
<translation type="unfinished">L&apos;action ne peut pas être annulée.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="404"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="416"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="483"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="507"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="551"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="408"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="420"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="487"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="498"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="511"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="541"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="549"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="565"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="573"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="589"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
<source>Key Not Found.</source>
<translation type="unfinished">Clé introuvable.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="379"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="462"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="468"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="370"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="383"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="466"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="472"/>
<source>Forbidden</source>
<translation type="unfinished">Interdit</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="367"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="371"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="384"/>
<source>Please check some keys before doing this operation.</source>
<translation type="unfinished">Veuillez vérifier certaines touches avant de faire cette opération.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="372"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="376"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="524"/>
<source>key(s) exported</source>
<translation type="unfinished">clé(s) exportée(s)</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="396"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="475"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="400"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="479"/>
<source>Exporting</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Exportation</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="405"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="417"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="495"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="409"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="421"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="488"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="499"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Une erreur inconnue s&apos;est produite</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="438"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="442"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="452"/>
<source>Invalid Operation</source>
<translation type="unfinished">Opération invalide</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="439"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="443"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished">Veuillez sélectionner une KeyPair avant de faire cette opération.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="449"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="453"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished">Si une paire de clés n&apos;a pas de clé privée, elle ne pourra pas générer de sous-clés.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="463"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="467"/>
<source>Please check a key before performing this operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="469"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="473"/>
<source>This operation accepts just a single key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="512"/>
<source>This key may not be able to export as OpenSSH format. Please check the key-size of the subkey(s) used to sign.</source>
<translation type="unfinished">Cette clé peut ne pas être en mesure d&apos;exporter au format OpenSSH. Veuillez vérifier la taille de la ou des sous-clés utilisées pour signer.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="515"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="519"/>
<source>Export OpenSSH Key To File</source>
<translation type="unfinished">Exporter la clé OpenSSH vers un fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="516"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
<source>OpenSSH Public Key Files</source>
<translation type="unfinished">Fichiers de clé publique OpenSSH</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="530"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Import Key Package</source>
<translation type="unfinished">Importer le paquet de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="534"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="542"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="566"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="550"/>
+ <source>The target file is too large for a key package.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="555"/>
<source>Import Key Package Passphrase File</source>
<translation type="unfinished">Importer le fichier de mot de passe du package de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="535"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="556"/>
<source>Key Package Passphrase File</source>
<translation type="unfinished">Fichier de mot de passe du package de clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="545"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="574"/>
+ <source>The target file is too large for a key package passphrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="580"/>
+ <source>Importing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="596"/>
<source>key(s) imported</source>
<translation type="unfinished">clé(s) importée(s)</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="552"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="590"/>
<source>An error occur in importing key package.</source>
<translation type="unfinished">Une erreur s&apos;est produite lors de l&apos;importation du package de clés.</translation>
</message>
@@ -2374,17 +2541,17 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">N&apos;expire jamais</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="258"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="257"/>
<source>No Data</source>
<translation type="unfinished">Pas de données</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="275"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="274"/>
<source>Warning: The primary key has expired.</source>
<translation type="unfinished">Avertissement&#xa0;: La clé primaire a expiré.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="279"/>
<source>Warning: The primary key has been revoked.</source>
<translation type="unfinished">Avertissement&#xa0;: La clé primaire a été révoquée.</translation>
</message>
@@ -2392,201 +2559,256 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyPairOperaTab</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="51"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="53"/>
<source>General Operations</source>
<translation type="unfinished">Opérations générales</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="59"/>
<source>Export Public Key</source>
<translation type="unfinished">Exporter la clé publique</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="65"/>
<source>Export Private Key</source>
<translation type="unfinished">Exporter la clé privée</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="70"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="72"/>
<source>Modify Expiration Datetime (Primary Key)</source>
<translation type="unfinished">Modifier la date d&apos;expiration (clé principale)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="73"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="75"/>
<source>Modify Password</source>
<translation type="unfinished">Modifier le mot de passe</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="92"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="93"/>
<source>Key Server Operation (Pubkey)</source>
<translation type="unfinished">Fonctionnement du serveur de clés (Pubkey)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="100"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="177"/>
<source>Generate Revoke Certificate</source>
<translation type="unfinished">Générer un certificat de révocation</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="106"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="107"/>
<source>Modify TOFU Policy</source>
<translation type="unfinished">Modifier la politique TOFU</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="101"/>
+ <source>Revoke Certificate Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="114"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">Définir le niveau de confiance du propriétaire</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="135"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="138"/>
<source>Upload Key Pair to Key Server</source>
<translation type="unfinished">Télécharger la paire de clés sur le serveur de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="143"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="146"/>
<source>Sync Key Pair From Key Server</source>
<translation type="unfinished">Synchroniser la paire de clés à partir du serveur de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="158"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="161"/>
<source>Export Full Secret Key</source>
<translation type="unfinished">Exporter la clé secrète complète</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="164"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="167"/>
<source>Export Shortest Secret Key</source>
<translation type="unfinished">Exporter la clé secrète la plus courte</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="191"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="237"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="182"/>
+ <source>Import Revoke Certificate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="298"/>
<source>Export Key To File</source>
<translation type="unfinished">Exporter la clé vers un fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="192"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="238"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="281"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished">Fichiers clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="197"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="243"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="286"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="215"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="261"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="304"/>
<source>Export Error</source>
<translation type="unfinished">Erreur d&apos;exportation</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="198"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="244"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="287"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="216"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="262"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="305"/>
<source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished">Impossible d&apos;ouvrir %1 pour l&apos;écriture</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="206"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="224"/>
<source>Exporting short private Key</source>
<translation type="unfinished">Exportation d&apos;une clé privée courte</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="207"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="254"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="225"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="272"/>
<source>You are about to export your</source>
<translation type="unfinished">Vous êtes sur le point d&apos;exporter votre</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="208"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="226"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="273"/>
<source> PRIVATE KEY </source>
<translation type="unfinished"> CLÉ PRIVÉE</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="227"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="274"/>
<source>This is NOT your Public Key, so DON&apos;T give it away.</source>
<translation type="unfinished">Ce n&apos;est PAS votre clé publique, alors NE la donnez PAS.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="228"/>
<source>Do you REALLY want to export your PRIVATE KEY in a Minimum Size?</source>
<translation type="unfinished">Vous voulez VRAIMENT exporter votre CLÉ PRIVÉE en Taille Minimum ?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="213"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="231"/>
<source>For OpenPGP keys it removes all signatures except for the latest self-signatures.</source>
<translation type="unfinished">Pour les clés OpenPGP, toutes les signatures sont supprimées, à l&apos;exception des dernières auto-signatures.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="253"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="271"/>
<source>Exporting private Key</source>
<translation type="unfinished">Exportation de la clé privée</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="257"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="275"/>
<source>Do you REALLY want to export your PRIVATE KEY?</source>
<translation type="unfinished">Voulez-vous VRAIMENT exporter votre CLÉ PRIVÉE&#xa0;?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="315"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="329"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="412"/>
<source>Revocation Certificates</source>
<translation type="unfinished">Certificats de révocation</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="326"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="340"/>
<source>Generate revocation certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="357"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
<source>Policy Auto</source>
<translation type="unfinished">Stratégie automatique</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="373"/>
<source>Policy Good</source>
<translation type="unfinished">Bonne politique</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="375"/>
<source>Policy Bad</source>
<translation type="unfinished">Politique incorrecte</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="377"/>
<source>Policy Ask</source>
<translation type="unfinished">Politique Demander</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="365"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="379"/>
<source>Policy Unknown</source>
<translation type="unfinished">Stratégie inconnue</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="352"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="366"/>
<source>Modify TOFU Policy(Default is Auto)</source>
<translation type="unfinished">Modifier la politique TOFU (la valeur par défaut est Auto)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="353"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="367"/>
<source>Policy for the Key Pair:</source>
<translation type="unfinished">Politique pour la paire de clés&#xa0;:</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="370"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="384"/>
<source>Not Successful</source>
<translation type="unfinished">Sans succès</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="385"/>
<source>Modify TOFU policy not successfully.</source>
<translation type="unfinished">Échec de la modification de la stratégie TOFU.</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="399"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="411"/>
+ <source>Import Key Revocation Certificate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="400"/>
+ <source>You are about to import the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="401"/>
+ <source>REVOCATION CERTIFICATE</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="402"/>
+ <source>A successful import will result in the key being irreversibly revoked.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="404"/>
+ <source>Do you REALLY want to execute this operation?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="420"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="429"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="437"/>
+ <source>Error</source>
+ <translation type="unfinished">Erreur</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="421"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="438"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="430"/>
+ <source>The target file is too large for a key revocation certificate.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::KeyPairSubkeyTab</name>
@@ -2682,12 +2904,12 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Date d&apos;expiration</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="202"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="203"/>
<source>Never Expire</source>
<translation type="unfinished">N&apos;expire jamais</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="239"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="240"/>
<source>Never Expires</source>
<translation type="unfinished">N&apos;expire jamais</translation>
</message>
@@ -3073,12 +3295,22 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">%1 clés trouvées. Double-cliquez sur une clé pour l&apos;importer.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="415"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="371"/>
+ <source>Warning</source>
+ <translation type="unfinished">Avertissement</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="372"/>
+ <source>Please select one KeyPair before doing this operation.</source>
+ <translation type="unfinished">Veuillez sélectionner une KeyPair avant de faire cette opération.</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="419"/>
<source>Key Imported</source>
<translation type="unfinished">Clé importée</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="426"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="430"/>
<source>Processing ...</source>
<translation type="unfinished"></translation>
</message>
@@ -3162,32 +3394,32 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Signataires</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="80"/>
<source>Expire Date</source>
<translation type="unfinished">Date d&apos;expiration</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="90"/>
<source>Sign For Key&apos;s UID(s)</source>
<translation type="unfinished">Signer pour les UID de la clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="114"/>
<source>Unsuccessful Operation</source>
<translation type="unfinished">Opération infructueuse</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="115"/>
<source>Signature operation failed for UID %1</source>
<translation type="unfinished">L&apos;opération de signature a échoué pour l&apos;UID %1</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
<source>Operation Complete</source>
<translation type="unfinished">Opération terminée</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="127"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
<source>The signature operation of the UID is complete</source>
<translation type="unfinished">L&apos;opération de signature de l&apos;UID est terminée</translation>
</message>
@@ -3207,7 +3439,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="78"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Une erreur inconnue s&apos;est produite</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="147"/>
@@ -3377,546 +3609,556 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::MainWindow</name>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="164"/>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="167"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="158"/>
<source>Critical error occur while loading GpgFrontend.</source>
<translation type="unfinished">Une erreur critique s&apos;est produite lors du chargement de GpgFrontend.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="157"/>
<source>Loading Failed</source>
<translation type="unfinished">Échec du chargement</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="48"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="100"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="143"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="162"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="187"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="214"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="257"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="276"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="293"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="307"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="325"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="342"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="356"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="375"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="430"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="449"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="503"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="528"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="568"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="605"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="631"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="671"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="709"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="735"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="768"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="801"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="811"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="836"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="72"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="119"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="175"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="208"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="244"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="320"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="242"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="250"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="145"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="164"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="260"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="311"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="329"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="347"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="361"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="435"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="454"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="489"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="536"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="613"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="639"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="717"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="743"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="775"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="822"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="847"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="121"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="210"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="246"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="322"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="368"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="255"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="163"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="277"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="326"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="376"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="450"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="529"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="632"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="736"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="802"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="50"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="165"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="280"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="330"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="381"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="455"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="537"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="640"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="813"/>
<source>Cannot read from file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="176"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="178"/>
<source>The target file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">Le fichier cible %1 existe déjà, devez-vous l&apos;écraser&#xa0;?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="65"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="179"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="284"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="333"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="411"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="575"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="678"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="750"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="817"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="66"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="181"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="288"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="338"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="416"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="583"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="686"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="757"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="828"/>
<source>Warning</source>
<translation type="unfinished">Avertissement</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="188"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="294"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="343"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="569"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="672"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="745"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="190"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="298"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="577"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="680"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="752"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="823"/>
<source>Cannot write to file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="83"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="197"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="52"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="199"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="54"/>
<source>Symmetric Encryption</source>
<translation type="unfinished">Chiffrement symétrique</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="198"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="200"/>
<source>No Key Selected. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">Aucune clé sélectionnée. Voulez-vous chiffrer avec un chiffrement symétrique à l&apos;aide d&apos;une phrase secrète&#xa0;?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="90"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="61"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="63"/>
<source>Symmetrically Encrypting</source>
<translation type="unfinished">Chiffrement symétrique</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="144"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="215"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="258"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="308"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="357"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="431"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="504"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="606"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="710"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="769"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="837"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="120"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="176"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="209"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="245"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="321"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="367"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="102"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="217"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="261"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="312"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="362"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="509"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="614"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="718"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="776"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="848"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="178"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="211"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="323"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="369"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Une erreur inconnue s&apos;est produite</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="125"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="550"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="653"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="277"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="558"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="661"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
<source>Invalid KeyPair</source>
<translation type="unfinished">Paire de clés invalide</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="240"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="654"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="278"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="242"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="559"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="662"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="280"/>
<source>The selected keypair cannot be used for encryption.</source>
<translation type="unfinished">La paire de clés sélectionnée ne peut pas être utilisée pour le chiffrement.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="552"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="655"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="128"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="560"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="663"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="281"/>
<source>For example the Following Key:</source>
<translation type="unfinished">Par exemple la clé suivante&#xa0;:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="134"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="109"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="135"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="111"/>
<source>Encrypting</source>
<translation type="unfinished">Chiffrement</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="204"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="206"/>
<source>Archiving &amp; Symmetrically Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="250"/>
<source>Archiving &amp; Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="285"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="334"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="289"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="584"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="687"/>
<source>The target file already exists, do you need to overwrite it?</source>
<translation type="unfinished">Le fichier cible existe déjà, devez-vous l&apos;écraser&#xa0;?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="299"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="200"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="202"/>
<source>Decrypting</source>
<translation type="unfinished">Déchiffrement</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/>
<source>Decrypting &amp; Extrating</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="385"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="539"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="642"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="145"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="390"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="547"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="650"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="147"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="267"/>
<source>No Key Checked</source>
<translation type="unfinished">Aucune clé vérifiée</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="386"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="540"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="643"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="391"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="548"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="651"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="148"/>
<source>Please check the key in the key toolbox on the right.</source>
<translation type="unfinished">Veuillez vérifier la clé dans la boîte à outils de clé à droite.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="393"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="98"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="154"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="398"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="156"/>
<source>Invalid Operation</source>
<translation type="unfinished">Opération invalide</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="394"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="399"/>
<source>The selected key contains a key that does not actually have a sign usage.</source>
<translation type="unfinished">La clé sélectionnée contient une clé qui n&apos;a pas réellement d&apos;utilisation de signe.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="396"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="401"/>
<source>for example the Following Key:</source>
<translation type="unfinished">par exemple la clé suivante&#xa0;:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="412"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="417"/>
<source>The signature file &quot;%1&quot; exists, do you need to overwrite it?</source>
<translation type="unfinished">Le fichier de signature &quot;%1&quot; existe, devez-vous l&apos;écraser&#xa0;?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="421"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="426"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="168"/>
<source>Signing</source>
<translation type="unfinished">Signature</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="470"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="475"/>
<source>File to be Verified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="471"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="476"/>
<source>Please provide An ABSOLUTE Path
If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="485"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="490"/>
<source>Please select the appropriate origin file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished">Veuillez sélectionner le fichier d&apos;origine ou le fichier de signature approprié. Assurez-vous que les deux sont dans ce dossier.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="235"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="499"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="237"/>
<source>Verifying</source>
<translation type="unfinished">Vérification</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="594"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="308"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="602"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="310"/>
<source>Encrypting and Signing</source>
<translation type="unfinished">Chiffrement et signature</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="697"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="705"/>
<source>Archiving &amp; Encrypting &amp; Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="818"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="758"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="829"/>
<source>The output file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">Le fichier de sortie %1 existe déjà, devez-vous l&apos;écraser&#xa0;?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="760"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="356"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="767"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="358"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished">Déchiffrement et vérification</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="827"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="838"/>
<source>Decrypting &amp; Verifying &amp; Extracting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="55"/>
<source>No Key Checked. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">Aucune clé vérifiée. Voulez-vous chiffrer avec un chiffrement symétrique à l&apos;aide d&apos;une phrase de passe&#xa0;?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="99"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
<source>The selected key contains a key that does not actually have a encrypt usage.</source>
<translation type="unfinished">La clé sélectionnée contient une clé qui n&apos;a pas réellement d&apos;utilisation de chiffrement.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
<source>The selected key contains a key that does not actually have a signature usage.</source>
<translation type="unfinished">La clé sélectionnée contient une clé qui n&apos;a pas réellement d&apos;utilisation de signature.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="266"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="268"/>
<source>Please check some key in the key toolbox on the right.</source>
<translation type="unfinished">Veuillez cocher une clé dans la boîte à outils des clés à droite.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
<source>Key Not Found.</source>
<translation type="unfinished">Clé introuvable.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="101"/>
- <source> (Local Time) </source>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/>
+ <source>Localize</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="105"/>
+ <source>UTC</source>
+ <translation type="unfinished">UTC</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
+ <source>Local Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="248"/>
<source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="251"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="256"/>
<source>Cannot open this file. The file is TOO LARGE (&gt;1MB) for GpgFrontend Text Editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/>
<source>GpgFrontend Upgradeable (New Version: %1).</source>
<translation type="unfinished">GpgFrontend évolutif (nouvelle version&#xa0;:&#xa0;%1).</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="307"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/>
<source>Withdrawn Version</source>
<translation type="unfinished">Version retirée</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="309"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
<source>This version(%1) may have been withdrawn by the developer due to serious problems. Please stop using this version immediately and use the latest stable version.</source>
<translation type="unfinished">Cette version (%1) a peut-être été retirée par le développeur en raison de graves problèmes. Veuillez cesser d&apos;utiliser cette version immédiatement et utilisez la dernière version stable.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
<source>You can download the latest stable version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished">Vous pouvez télécharger la dernière version stable (%1) sur la page des versions de Github.&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="324"/>
<source>This maybe a BETA Version (Latest Stable Version: %1).</source>
<translation type="unfinished">Il s&apos;agit peut-être d&apos;une version bêta (dernière version stable&#xa0;:&#xa0;%1).</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="45"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="44"/>
<source>New</source>
<translation type="unfinished">Nouveau</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="51"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="50"/>
<source>Open a new file</source>
<translation type="unfinished">Ouvrir un nouveau fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="54"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="53"/>
<source>Open...</source>
<translation type="unfinished">Ouvrir...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="56"/>
<source>Open an existing file</source>
<translation type="unfinished">Ouvrir un fichier existant</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="60"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="59"/>
<source>File Browser</source>
<translation type="unfinished">Navigateur de fichiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="62"/>
<source>Open a file browser</source>
<translation type="unfinished">Ouvrir un navigateur de fichiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="66"/>
<source>Save File</source>
<translation type="unfinished">Enregistrer le fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="70"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="69"/>
<source>Save the current File</source>
<translation type="unfinished">Enregistrer le fichier actuel</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="73"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="72"/>
<source>Save As</source>
<translation type="unfinished">Enregistrer sous</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="76"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="75"/>
<source>Save the current File as...</source>
<translation type="unfinished">Enregistrer le fichier actuel sous...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="79"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="78"/>
<source>Print</source>
<translation type="unfinished">Imprimer</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="82"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="81"/>
<source>Print Document</source>
<translation type="unfinished">Imprimer le document</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="84"/>
<source>Close</source>
<translation type="unfinished">proche</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="87"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="86"/>
<source>Close file</source>
<translation type="unfinished">Fermer le fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="90"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="89"/>
<source>Quit</source>
<translation type="unfinished">Quitter</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="93"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="92"/>
<source>Quit Program</source>
<translation type="unfinished">Quitter le programme</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="98"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="97"/>
<source>Undo</source>
<translation type="unfinished">annuler</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="99"/>
<source>Undo Last Edit Action</source>
<translation type="unfinished">Annuler la dernière action de modification</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="102"/>
<source>Redo</source>
<translation type="unfinished">Refaire</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="105"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="104"/>
<source>Redo Last Edit Action</source>
<translation type="unfinished">Rétablir la dernière action de modification</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="108"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="107"/>
<source>Zoom In</source>
<translation type="unfinished">Agrandir</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="112"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="111"/>
<source>Zoom Out</source>
<translation type="unfinished">Dézoomer</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="116"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="115"/>
<source>Paste</source>
<translation type="unfinished">Pâte</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="118"/>
<source>Paste Text From Clipboard</source>
<translation type="unfinished">Coller le texte du presse-papiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="121"/>
<source>Cut</source>
<translation type="unfinished">Couper</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="125"/>
<source>Cut the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">Couper le contenu de la sélection actuelle dans le presse-papiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="130"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="129"/>
<source>Copy</source>
<translation type="unfinished">Copier</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="134"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="133"/>
<source>Copy the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">Copier le contenu de la sélection actuelle dans le presse-papiers</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="138"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="137"/>
<source>Quote</source>
<translation type="unfinished">Citation</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="139"/>
<source>Quote whole text</source>
<translation type="unfinished">Citer le texte en entier</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="143"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="142"/>
<source>Select All</source>
<translation type="unfinished">Tout sélectionner</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="145"/>
<source>Select the whole text</source>
<translation type="unfinished">Sélectionnez tout le texte</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="149"/>
<source>Find</source>
<translation type="unfinished">Trouve</translation>
</message>
@@ -4528,7 +4770,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
<message>
<location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="63"/>
- <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="196"/>
<source>%1 character(s)</source>
<translation type="unfinished">%1 caractère(s)</translation>
</message>
@@ -4615,7 +4857,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="91"/>
- <source>Buddled Pinentry</source>
+ <source>Bundled Pinentry</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4858,7 +5100,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp" line="301"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Une erreur inconnue s&apos;est produite</translation>
</message>
</context>
<context>
@@ -4918,54 +5160,54 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished">Ouvrir le répertoire</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="143"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="203"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="422"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>Warning</source>
<translation type="unfinished">Avertissement</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="145"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="205"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="424"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
<source>Cannot read file %1:
%2.</source>
<translation type="unfinished">Impossible de lire le fichier %1&#xa0;:
%2.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="152"/>
<source>Open file</source>
<translation type="unfinished">Fichier ouvert</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="222"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="221"/>
<source>Save file</source>
<translation type="unfinished">Enregistrer le fichier</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="282"/>
<source>Unsaved document</source>
<translation type="unfinished">Document non enregistré</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="284"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
<source>The document &quot;%1&quot; has been modified. Do you want to save your changes?</source>
<translation type="unfinished">Le document &quot;%1&quot; a été modifié. Voulez-vous enregistrer vos modifications ?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="286"/>
<source>Note:</source>
<translation type="unfinished">Noter:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="288"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
<source>If you don&apos;t save these files, all changes are lost.</source>
<translation type="unfinished">Si vous n&apos;enregistrez pas ces fichiers, toutes les modifications sont perdues.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>No document to print</source>
<translation type="unfinished"></translation>
</message>
@@ -5045,27 +5287,27 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="38"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="39"/>
<source>Signatures Details</source>
<translation type="unfinished">Détails des signatures</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="62"/>
<source>No valid input found</source>
<translation type="unfinished">Aucune entrée valide trouvée</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="71"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="72"/>
<source>Error Validating signature</source>
<translation type="unfinished">Erreur lors de la validation de la signature</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
<source>File was signed on %1</source>
<translation type="unfinished">Le fichier a été signé le %1</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="76"/>
<location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="80"/>
<source>It Contains</source>
<translation type="unfinished">Il contient</translation>
@@ -5079,154 +5321,154 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyKeyDetailBox</name>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="53"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="54"/>
<source>Import from keyserver</source>
<translation type="unfinished">Importer depuis le serveur de clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="58"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="59"/>
<source>Key not present with id 0x</source>
<translation type="unfinished">Clé non présente avec l&apos;identifiant 0x</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Status</source>
<translation type="unfinished">Statut</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
<source>:</source>
<translation type="unfinished">:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="65"/>
<source>Key not present in key list</source>
<translation type="unfinished">Clé non présente dans la liste des clés</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="72"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="73"/>
<source>A Signature</source>
<translation type="unfinished">Une signature</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="77"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="92"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="107"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="123"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="138"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="78"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="93"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="108"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="124"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="139"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="154"/>
<source>Key Information is NOT Available</source>
<translation type="unfinished">Les informations clés ne sont PAS disponibles</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="79"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="94"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="109"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="125"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="140"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="155"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="80"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="95"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="110"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="126"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="141"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="156"/>
<source>Fingerprint</source>
<translation type="unfinished">Empreinte digitale</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
<source>Cert Revoked</source>
<translation type="unfinished">Certificat révoqué</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<source>Signature Expired</source>
<translation type="unfinished">Signature expirée</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
<source>Key Expired</source>
<translation type="unfinished">Clé expirée</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
<source>General Error</source>
<translation type="unfinished">Erreur générale</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Unknown Error </source>
<translation type="unfinished">Erreur inconnue</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="176"/>
<source>Signer Name</source>
<translation type="unfinished">Nom du signataire</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="177"/>
<source>Signer Email</source>
<translation type="unfinished">E-mail du signataire</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
<source>Key&apos;s Fingerprint</source>
<translation type="unfinished">Empreinte digitale de la clé</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="181"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
<source>Valid</source>
<translation type="unfinished">Valide</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="182"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
<source>Flags</source>
<translation type="unfinished">Drapeaux</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="187"/>
<source>Fully Valid</source>
<translation type="unfinished">Entièrement valide</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
<source>NOT Fully Valid</source>
<translation type="unfinished">PAS entièrement valide</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="196"/>
<source>Good</source>
<translation type="unfinished">Bon</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="201"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="199"/>
<source>Bad</source>
<translation type="unfinished">Mauvais</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="202"/>
<source>Expired</source>
<translation type="unfinished">Expiré</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="207"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="205"/>
<source>Missing Key</source>
<translation type="unfinished">Clé manquante</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="210"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="208"/>
<source>Revoked Key</source>
<translation type="unfinished">Clé révoquée</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="211"/>
<source>Expired Key</source>
<translation type="unfinished">Clé expirée</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="216"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="214"/>
<source>Missing CRL</source>
<translation type="unfinished">Liste de révocation de certificats manquante</translation>
</message>
@@ -5273,7 +5515,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
</context>
<context>
- <name>QObject</name>
+ <name>QCoreApplication</name>
<message>
<location filename="../../../../src/cmd.cpp" line="49"/>
<source>This is free software; see the source for copying conditions.</source>
@@ -5295,93 +5537,144 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="196"/>
- <source>GpgME inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
+ <source>Loading Gnupg Info...</source>
+ <translation type="unfinished">Chargement des informations sur Gnupg...</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="322"/>
- <source>GpgME Context inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="54"/>
+ <source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
+ <translation type="unfinished">Si ce processus est trop lent, veuillez définir l&apos;adresse du serveur de clés de manière appropriée dans le fichier de configuration gnupg (en fonction de la situation du réseau dans votre pays ou région).</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="331"/>
- <source>Gpg Key Detabase inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="63"/>
+ <source>Show Verify Details</source>
+ <translation type="unfinished">Afficher les détails de vérification</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="71"/>
+ <source>Public key not found locally</source>
+ <translation type="unfinished">Clé publique introuvable localement</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="75"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="72"/>
+ <source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
+ <translation type="unfinished">Il n&apos;y a pas de contenu de clé publique cible en local pour que GpgFrontend recueille suffisamment d&apos;informations sur cette signature. Voulez-vous importer la clé publique depuis Keyserver maintenant&#xa0;?</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="89"/>
<source>File Hash Information</source>
<translation type="unfinished">Informations de hachage de fichier</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <source>filename</source>
- <translation type="unfinished">nom de fichier</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
+ <source>Filename</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="92"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="100"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="108"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="95"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="99"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="104"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="110"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="116"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
<source>: </source>
<translation type="unfinished">:</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <source>file size(bytes)</source>
- <translation type="unfinished">taille du fichier (octets)</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="94"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="98"/>
+ <source>File Size</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="113"/>
- <source>Error in Calculating File Hash </source>
- <translation type="unfinished">Erreur dans le calcul du hachage du fichier</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="123"/>
+ <source>Error: cannot read target file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="143"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
<source>target path doesn&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="148"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="162"/>
<source>do NOT have permission to write path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="153"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="168"/>
<source>do NOT have permission to read/write file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="171"/>
<source>Success</source>
<translation type="unfinished">Succès</translation>
</message>
<message>
- <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="294"/>
+ <source>GpgME initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="397"/>
+ <source>GpgME Context initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="406"/>
+ <source>Gpg Key Detabase initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>File Hash Information</source>
+ <translation type="obsolete">Informations de hachage de fichier</translation>
+ </message>
+ <message>
+ <source>filename</source>
+ <translation type="obsolete">nom de fichier</translation>
+ </message>
+ <message>
+ <source>: </source>
+ <translation type="obsolete">:</translation>
+ </message>
+ <message>
+ <source>file size(bytes)</source>
+ <translation type="obsolete">taille du fichier (octets)</translation>
+ </message>
+ <message>
+ <source>Error in Calculating File Hash </source>
+ <translation type="obsolete">Erreur dans le calcul du hachage du fichier</translation>
+ </message>
+ <message>
+ <source>Success</source>
+ <translation type="obsolete">Succès</translation>
+ </message>
+ <message>
<source>Loading Gnupg Info...</source>
- <translation type="unfinished">Chargement des informations sur Gnupg...</translation>
+ <translation type="obsolete">Chargement des informations sur Gnupg...</translation>
</message>
<message>
- <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="54"/>
<source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
- <translation type="unfinished">Si ce processus est trop lent, veuillez définir l&apos;adresse du serveur de clés de manière appropriée dans le fichier de configuration gnupg (en fonction de la situation du réseau dans votre pays ou région).</translation>
+ <translation type="obsolete">Si ce processus est trop lent, veuillez définir l&apos;adresse du serveur de clés de manière appropriée dans le fichier de configuration gnupg (en fonction de la situation du réseau dans votre pays ou région).</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="64"/>
<source>Show Verify Details</source>
- <translation type="unfinished">Afficher les détails de vérification</translation>
+ <translation type="obsolete">Afficher les détails de vérification</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="73"/>
<source>Public key not found locally</source>
- <translation type="unfinished">Clé publique introuvable localement</translation>
+ <translation type="obsolete">Clé publique introuvable localement</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="74"/>
<source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
- <translation type="unfinished">Il n&apos;y a pas de contenu de clé publique cible en local pour que GpgFrontend recueille suffisamment d&apos;informations sur cette signature. Voulez-vous importer la clé publique depuis Keyserver maintenant&#xa0;?</translation>
+ <translation type="obsolete">Il n&apos;y a pas de contenu de clé publique cible en local pour que GpgFrontend recueille suffisamment d&apos;informations sur cette signature. Voulez-vous importer la clé publique depuis Keyserver maintenant&#xa0;?</translation>
</message>
</context>
</TS>
diff --git a/resource/lfs/locale/ts/GpgFrontend.it_IT.ts b/resource/lfs/locale/ts/GpgFrontend.it_IT.ts
index bd78ac11..4122612a 100644
--- a/resource/lfs/locale/ts/GpgFrontend.it_IT.ts
+++ b/resource/lfs/locale/ts/GpgFrontend.it_IT.ts
@@ -25,7 +25,7 @@
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="59"/>
- <source>Gernal State</source>
+ <source>General State</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -184,50 +184,85 @@
<translation type="unfinished">Stacca</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="76"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="79"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="111"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="77"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <source>Signed By</source>
+ <translation type="unfinished">Firmato da</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="91"/>
+ <source>Key ID</source>
+ <translation type="unfinished">ID chiave</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="89"/>
+ <source>Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="92"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">Chiave primaria</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="94"/>
+ <source>Key Create Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="99"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
+ <source>Sign Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="130"/>
<source>Signer</source>
<translation type="unfinished">Firmatario</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="82"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="101"/>
<source>Public Key Algo</source>
<translation type="unfinished">Algoritmo a chiave pubblica</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="84"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="103"/>
<source>Hash Algo</source>
<translation type="unfinished">Hash Algo</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
<source>Date</source>
- <translation type="unfinished">Data</translation>
+ <translation type="obsolete">Data</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
<source>UTC</source>
<translation type="unfinished">UTC</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
<source>Localized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="124"/>
<source>Invalid Signers</source>
<translation type="unfinished">Firmatori non validi</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="113"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="132"/>
<source>Fingerprint</source>
<translation type="unfinished">Impronta digitale</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="115"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="134"/>
<source>Reason</source>
<translation type="unfinished">Motivo</translation>
</message>
@@ -235,116 +270,164 @@
<context>
<name>GpgFrontend::GpgVerifyResultAnalyse</name>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="44"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="43"/>
<source>Verify Operation</source>
<translation type="unfinished">Verificare il funzionamento</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="47"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="46"/>
<source>Success</source>
<translation type="unfinished">Successo</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="49"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="48"/>
<source>Failed</source>
<translation type="unfinished">Fallito</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
<source>Signed On</source>
<translation type="unfinished">Firmato su</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
<source>UTC</source>
<translation type="unfinished">UTC</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
<source>Localized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="65"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="64"/>
<source>Signatures List</source>
<translation type="unfinished">Elenco firme</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="71"/>
<source>Signature [%1]:</source>
<translation type="unfinished">Firma [%1]:</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="73"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
<source>Status</source>
<translation type="unfinished">Stato</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="76"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="75"/>
<source>A Bad Signature.</source>
<translation type="unfinished">Una pessima firma.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="78"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="77"/>
<source>This Signature is invalid.</source>
<translation type="unfinished">Questa firma non è valida.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="83"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="82"/>
<source>A</source>
<translation type="unfinished">UN</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="85"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="84"/>
<source>Good</source>
<translation type="unfinished">Bene</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="87"/>
<source>Bad</source>
<translation type="unfinished">Cattivo</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="91"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="90"/>
<source>Expired</source>
<translation type="unfinished">Scaduto</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="94"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="93"/>
<source>Missing Key&apos;s</source>
<translation type="unfinished">Chiavi mancanti</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="97"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="96"/>
<source>Revoked Key&apos;s</source>
<translation type="unfinished">Chiavi revocate</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="100"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="99"/>
<source>Expired Key&apos;s</source>
<translation type="unfinished">Chiavi scadute</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="103"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="102"/>
<source>Missing CRL&apos;s</source>
<translation type="unfinished">CRL mancanti</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="107"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="106"/>
<source>Signature Fully Valid.</source>
<translation type="unfinished">Firma pienamente valida.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="108"/>
<source>Signature Not Fully Valid.</source>
<translation type="unfinished">Firma non completamente valida.</translation>
</message>
<message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <source>Tips</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="110"/>
- <source>(Adjust Trust Level to make it Fully Vaild)</source>
+ <source>Adjust Trust Level to make it Fully Vaild</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
+ <source>Fingerprint</source>
+ <translation type="unfinished">Impronta digitale</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="186"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="229"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
+ <source>Sign Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="217"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="220"/>
+ <source>Key ID</source>
+ <translation type="unfinished">ID chiave</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="218"/>
+ <source>Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="221"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">Chiave primaria</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="223"/>
+ <source>Key Create Date</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -358,67 +441,67 @@
<translation type="unfinished">NON è stato possibile verificare una firma a causa di una Chiave Mancante</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="131"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="132"/>
<source>A signature is valid but the key used to verify the signature has been revoked</source>
<translation type="unfinished">Una firma è valida ma la chiave utilizzata per verificare la firma è stata revocata</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="140"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="141"/>
<source>A signature is valid but expired</source>
<translation type="unfinished">Una firma è valida ma è scaduta</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="147"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="148"/>
<source>A signature is valid but the key used to verify the signature has expired.</source>
<translation type="unfinished">Una firma è valida ma la chiave utilizzata per verificare la firma è scaduta.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="155"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="156"/>
<source>There was some other error which prevented the signature verification.</source>
<translation type="unfinished">Si è verificato un altro errore che ha impedito la verifica della firma.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="163"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="164"/>
<source>Error for key with fingerprint</source>
<translation type="unfinished">Errore per chiave con impronta digitale</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="174"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="175"/>
<source>Could not find information that can be used for verification.</source>
<translation type="unfinished">Impossibile trovare informazioni che possono essere utilizzate per la verifica.</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="188"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="193"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
<source>Signed By</source>
<translation type="unfinished">Firmato da</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
<source>Unknown</source>
- <translation type="unfinished">Sconosciuto</translation>
+ <translation type="obsolete">Sconosciuto</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="197"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="234"/>
<source>Public Key Algo</source>
<translation type="unfinished">Algoritmo a chiave pubblica</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="201"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="191"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="236"/>
<source>Hash Algo</source>
<translation type="unfinished">Hash Algo</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
<source>Date</source>
- <translation type="unfinished">Data</translation>
+ <translation type="obsolete">Data</translation>
</message>
</context>
<context>
<name>GpgFrontend::Module::Integrated::GnuPGInfoGatheringModule::GnuPGInfoGatheringModule</name>
<message>
- <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="124"/>
+ <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="123"/>
<source>Embedded In</source>
<translation type="unfinished">Incorporato in</translation>
</message>
@@ -586,44 +669,43 @@
<context>
<name>GpgFrontend::UI::CommonUtils</name>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="185"/>
<source>GnuPG Context Loading Failed</source>
<translation type="unfinished">Caricamento del contesto GnuPG non riuscito</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="189"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
<source>Gnupg(gpg) is not installed correctly, please follow &lt;a href=&apos;https://www.gpgfrontend.bktus.com/#/faq?id=how-to-deal-with-39env-loading-failed39&apos;&gt;this notes&lt;/a&gt; in FAQ to install Gnupg and then open GpgFrontend. &lt;br /&gt;Or, you can open GnuPG Controller to set a custom GnuPG which GpgFrontend should use. Then, GpgFrontend will restart. &lt;br /&gt;&lt;br /&gt;Breif Reason: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
<source>No keys found to import</source>
- <translation type="unfinished">Nessuna chiave trovata da importare</translation>
+ <translation type="obsolete">Nessuna chiave trovata da importare</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="437"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="445"/>
<source>Timeout</source>
<translation type="unfinished">Tempo scaduto</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="252"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="250"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="381"/>
<source>Success</source>
<translation type="unfinished">Successo</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="253"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="251"/>
<source>Gpg Operation succeed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="263"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="365"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="261"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
<source>Failure</source>
<translation type="unfinished">Fallimento</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="264"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="262"/>
<source>Gpg Operation failed.
Error code: %1
@@ -632,92 +714,103 @@ Description: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="294"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="497"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="285"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="279"/>
<source>Open Key</source>
<translation type="unfinished">Chiave aperta</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="286"/>
<source>Key Files</source>
- <translation type="unfinished">File chiave</translation>
+ <translation type="obsolete">File chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="280"/>
<source>Keyring files</source>
<translation type="unfinished">File portachiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="292"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="288"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="295"/>
+ <source>The target file is too large for a keyring.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="301"/>
<source>File Open Failed</source>
<translation type="unfinished">Apertura file non riuscita</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="293"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="302"/>
<source>Failed to open file: </source>
<translation type="unfinished">Impossibile aprire il file: </translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="346"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="354"/>
<source>Processing</source>
<translation type="unfinished">In lavorazione</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="366"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
<source>Failed to execute command.</source>
<translation type="unfinished">Impossibile eseguire il comando.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="382"/>
<source>Succeed in executing command.</source>
<translation type="unfinished">Riuscire a eseguire il comando.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="376"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="384"/>
<source>Warning</source>
<translation type="unfinished">Avvertimento</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="377"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="385"/>
<source>Finished executing command.</source>
<translation type="unfinished">Terminata l&apos;esecuzione del comando.</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="398"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="406"/>
<source>Default Keyserver Not Found</source>
<translation type="unfinished">Keyserver predefinito non trovato</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="399"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="407"/>
<source>Cannot read default keyserver from your settings, please set a default keyserver first</source>
<translation type="unfinished">Impossibile leggere il server delle chiavi predefinito dalle impostazioni, impostare prima un server delle chiavi predefinito</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="434"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="442"/>
<source>Key Not Found</source>
<translation type="unfinished">Chiave non trovata</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="440"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="448"/>
<source>Key Server Not Found</source>
<translation type="unfinished">Server chiave non trovato</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="443"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="451"/>
<source>Connection Error</source>
<translation type="unfinished">Errore di connessione</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="454"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="462"/>
<source>The key has been updated</source>
<translation type="unfinished">La chiave è stata aggiornata</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="456"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="464"/>
<source>No need to update the key</source>
<translation type="unfinished">Non è necessario aggiornare la chiave</translation>
</message>
@@ -902,12 +995,12 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FilePage</name>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="63"/>
<source>Show Hidden File</source>
<translation type="unfinished">Mostra file nascosto</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="70"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="69"/>
<source>Show System File</source>
<translation type="unfinished">Mostra file di sistema</translation>
</message>
@@ -915,131 +1008,136 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FileTreeView</name>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="84"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="97"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="219"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="242"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="294"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="90"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="103"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="166"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="212"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="234"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="275"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="85"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="91"/>
<source>The path is not exists, unprivileged or unreachable.</source>
<translation type="unfinished">Il percorso non esiste, non privilegiato o irraggiungibile.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="98"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="104"/>
<source>The file is unprivileged or unreachable.</source>
<translation type="unfinished">Il file non è privilegiato o non è raggiungibile.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="157"/>
<source>Warning</source>
<translation type="unfinished">Avvertimento</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="159"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
<source>Are you sure you want to delete it?</source>
<translation type="unfinished">Sei sicuro di voler cancellare?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
<source>Unable to delete the file or folder.</source>
<translation type="unfinished">Impossibile eliminare il file o la cartella.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="176"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="189"/>
<source>Make New Directory</source>
<translation type="unfinished">Crea una nuova directory</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="178"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
<source>Directory Name</source>
<translation type="unfinished">Nome della cartella</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Create Empty File</source>
<translation type="unfinished">Crea file vuoto</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Filename (you can given extension)</source>
<translation type="unfinished">Nome file (puoi dare l&apos;estensione)</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="220"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="243"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="235"/>
<source>Unable to create the file.</source>
<translation type="unfinished">Impossibile creare il file.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="314"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="298"/>
<source>Rename</source>
<translation type="unfinished">Rinominare</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
<source>New Filename</source>
<translation type="unfinished">Nuovo nome file</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="295"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="276"/>
<source>Unable to rename the file or folder.</source>
<translation type="unfinished">Impossibile rinominare il file o la cartella.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="293"/>
<source>Open</source>
<translation type="unfinished">Apri</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="319"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="303"/>
<source>Delete</source>
<translation type="unfinished">Elimina</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="324"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
<source>Calculate Hash</source>
<translation type="unfinished">Calcola hash</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="329"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="313"/>
<source>Directory</source>
<translation type="unfinished">Cartella</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="334"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="318"/>
<source>File</source>
<translation type="unfinished">File</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="339"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="323"/>
<source>Compress...</source>
<translation type="unfinished">Comprimi...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="346"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="330"/>
<source>Open with Default System Application</source>
<translation type="unfinished">Apri con l&apos;applicazione di sistema predefinita</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="335"/>
<source>New</source>
<translation type="unfinished">Nuovo</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="393"/>
+ <source>Calculating</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::FindWidget</name>
<message>
- <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="46"/>
+ <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="45"/>
<source>Find</source>
<translation type="unfinished">Trova</translation>
</message>
@@ -1103,23 +1201,28 @@ Description: %3</source>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="63"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="79"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="81"/>
<source>Clear All Log (Total Size: %1)</source>
<translation type="unfinished">Cancella tutto il registro (dimensione totale: %1)</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="66"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="93"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="95"/>
<source>Clear All Data Objects (Total Size: %1)</source>
<translation type="unfinished">Cancella tutti gli oggetti dati (dimensione totale: %1)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="69"/>
+ <source>Reveal in File Explorer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="88"/>
<source>Confirm</source>
<translation type="unfinished">Conferma</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="87"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="89"/>
<source>Are you sure you want to clear all data objects?
This will result in loss of all cached form positions, statuses, key servers, etc.</source>
<translation type="unfinished">Sei sicuro di voler cancellare tutti gli oggetti dati? Ciò comporterà la perdita di tutte le posizioni dei moduli memorizzati nella cache, gli stati, i server delle chiavi, ecc.</translation>
@@ -1143,9 +1246,13 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Avanzate</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
<source>No ASCII Mode</source>
- <translation type="unfinished">Nessuna modalità ASCII</translation>
+ <translation type="obsolete">Nessuna modalità ASCII</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
+ <source>Use Binary Mode for File Operations</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="51"/>
@@ -1154,86 +1261,92 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="52"/>
+ <source>Enable GpgME Debug Log</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
<source>Use Custom GnuPG</source>
<translation type="unfinished">Usa GnuPG personalizzato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="54"/>
<source>Select GnuPG Path</source>
<translation type="unfinished">Seleziona Percorso GnuPG</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="55"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="56"/>
<source>Use Custom GnuPG Key Database Path</source>
<translation type="unfinished">Usa il percorso del database delle chiavi GnuPG personalizzato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="58"/>
<source>Select Key Database Path</source>
<translation type="unfinished">Seleziona il percorso del database delle chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="60"/>
+ <source>Restart Gpg Agent on start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="64"/>
<source>Tips: please select a directroy where &quot;gpgconf&quot; is located in.</source>
<translation type="unfinished">Suggerimenti: seleziona una directory in cui si trova &quot;gpgconf&quot;.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="66"/>
<source>Tips: notice that modify any of these settings will cause an Application restart.</source>
<translation type="unfinished">Suggerimenti: si noti che la modifica di una qualsiasi di queste impostazioni provocherà il riavvio dell&apos;applicazione.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="95"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="98"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="118"/>
<source>Open Directory</source>
<translation type="unfinished">Apri Rubrica</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="171"/>
<source>GnuPG Controller</source>
<translation type="unfinished">Controllore GnuPG</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="331"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="339"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="346"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="358"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="356"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="375"/>
<source>Illegal GnuPG Path</source>
<translation type="unfinished">Percorso GnuPG illegale</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="332"/>
<source>Target GnuPG Path is empty.</source>
- <translation type="unfinished">Il percorso GnuPG di destinazione è vuoto.</translation>
+ <translation type="obsolete">Il percorso GnuPG di destinazione è vuoto.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="340"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="357"/>
<source>Target GnuPG Path is not an exists readable directory.</source>
<translation type="unfinished">Target GnuPG Path non è una directory leggibile esistente.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="347"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="364"/>
<source>Target GnuPG Path is not an absolute path.</source>
<translation type="unfinished">Target GnuPG Path non è un percorso assoluto.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
<source>Target GnuPG Path contains no &quot;gpgconf&quot; executable.</source>
<translation type="unfinished">Il percorso GnuPG di destinazione non contiene l&amp;#39;eseguibile &amp;quot;gpgconf&amp;quot;.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="369"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="389"/>
<source>Illegal GnuPG Key Database Path</source>
<translation type="unfinished">Percorso illegale del database delle chiavi GnuPG</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="370"/>
<source>Target GnuPG Key Database Path is empty.</source>
- <translation type="unfinished">Il percorso del database delle chiavi GnuPG di destinazione è vuoto.</translation>
+ <translation type="obsolete">Il percorso del database delle chiavi GnuPG di destinazione è vuoto.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="377"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="390"/>
<source>Target GnuPG Key Database Path is not an exists readable directory.</source>
<translation type="unfinished">Il percorso del database delle chiavi di GnuPG di destinazione non è una directory leggibile esistente.</translation>
</message>
@@ -1247,7 +1360,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="44"/>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Description</source>
<translation type="unfinished">Descrizione</translation>
</message>
@@ -1273,31 +1386,50 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="48"/>
+ <source>Directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="49"/>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Directory Type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Path</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Configurations</source>
- <translation type="unfinished">Configurazioni</translation>
+ <translation type="obsolete">Configurazioni</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Component</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Key</source>
<translation type="unfinished">Chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Default Value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="60"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="91"/>
<source>Value</source>
<translation type="unfinished">Valore</translation>
</message>
@@ -1447,27 +1579,27 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
<source>KeyPair</source>
<translation type="unfinished">Coppia di chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
<source>UIDs</source>
<translation type="unfinished">UID</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="45"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="50"/>
<source>Subkeys</source>
<translation type="unfinished">Sottochiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="52"/>
<source>Operations</source>
<translation type="unfinished">Operazioni</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="69"/>
<source>Key Details</source>
<translation type="unfinished">Dettagli chiave</translation>
</message>
@@ -1611,108 +1743,113 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyImportDetailDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="44"/>
<location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="61"/>
<source>Key Import Details</source>
<translation type="unfinished">Dettagli sull&apos;importazione delle chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="45"/>
<source>No keys found to import</source>
<translation type="unfinished">Nessuna chiave trovata da importare</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="73"/>
<source>General key info</source>
<translation type="unfinished">Informazioni generali sui tasti</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="77"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="76"/>
<source>Considered</source>
<translation type="unfinished">Considerato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="83"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="82"/>
<source>Public unchanged</source>
<translation type="unfinished">Pubblico invariato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="88"/>
<source>Imported</source>
<translation type="unfinished">Importato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="95"/>
<source>Not Imported</source>
<translation type="unfinished">Non importato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="103"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="102"/>
<source>Private Read</source>
<translation type="unfinished">Lettura privata</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="110"/>
<source>Private Imported</source>
<translation type="unfinished">Importato privato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="118"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="117"/>
<source>Private Unchanged</source>
<translation type="unfinished">Privato Invariato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="123"/>
+ <source>New Revocations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Name</source>
<translation type="unfinished">Nome</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Email</source>
<translation type="unfinished">E-mail</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Status</source>
<translation type="unfinished">Stato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="140"/>
<source>Fingerprint</source>
<translation type="unfinished">Impronta digitale</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="160"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
<source>Private</source>
<translation type="unfinished">Privato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="163"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
<source>Public</source>
<translation type="unfinished">Pubblico</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
<source>Unchanged</source>
<translation type="unfinished">Invariato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="175"/>
<source>New Key</source>
<translation type="unfinished">Nuova chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="178"/>
<source>New Subkey</source>
<translation type="unfinished">Nuova sottochiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="176"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="182"/>
<source>New Signature</source>
<translation type="unfinished">Nuova firma</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="180"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="186"/>
<source>New UID</source>
<translation type="unfinished">Nuovo UID</translation>
</message>
@@ -1765,82 +1902,87 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Cerca chiavi...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Select</source>
<translation type="unfinished">Selezionare</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Type</source>
<translation type="unfinished">Tipo</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Name</source>
<translation type="unfinished">Nome</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Email Address</source>
<translation type="unfinished">Indirizzo email</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Usage</source>
<translation type="unfinished">Utilizzo</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Trust</source>
<translation type="unfinished">Fiducia</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Finger Print</source>
<translation type="unfinished">Impronta digitale</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="183"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
+ <source>Key ID</source>
+ <translation type="unfinished">ID chiave</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="186"/>
<source>Refreshing Key List...</source>
<translation type="unfinished">Aggiornamento elenco chiavi...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Import Keys</source>
<translation type="unfinished">Importa chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="356"/>
<source>You&apos;ve dropped something on the table.</source>
<translation type="unfinished">Hai lasciato cadere qualcosa sul tavolo.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
<source>GpgFrontend will now try to import key(s).</source>
<translation type="unfinished">GpgFrontend ora proverà a importare le chiavi.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="360"/>
<source>Always import without bothering.</source>
<translation type="unfinished">Importa sempre senza preoccuparti.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="452"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="455"/>
<source>Key List Refreshed.</source>
<translation type="unfinished">Elenco chiavi aggiornato.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="473"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="476"/>
<source>Syncing Key List...</source>
<translation type="unfinished">Sincronizzazione elenco chiavi...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="481"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="484"/>
<source>Sync [%1/%2] %3 %4</source>
<translation type="unfinished">Sincronizzazione [%1/%2] %3 %4</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="491"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="494"/>
<source>Key List Sync Done.</source>
<translation type="unfinished">Sincronizzazione elenco chiavi eseguita.</translation>
</message>
@@ -1848,347 +1990,368 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyMgmt</name>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
<source>All</source>
<translation type="unfinished">Tutti</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="61"/>
<source>Only Public Key</source>
<translation type="unfinished">Solo chiave pubblica</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="71"/>
<source>Has Private Key</source>
<translation type="unfinished">Ha una chiave privata</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="77"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="81"/>
<source>No Primary Key</source>
<translation type="unfinished">Nessuna chiave primaria</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="86"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="90"/>
<source>Revoked</source>
<translation type="unfinished">Revocato</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="94"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="98"/>
<source>Expired</source>
<translation type="unfinished">Scaduto</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="123"/>
<source>KeyPair Management</source>
<translation type="unfinished">Gestione delle coppie di chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="144"/>
<source>Open</source>
<translation type="unfinished">Apri</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="142"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
<source>Open Key File</source>
<translation type="unfinished">Apri file chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="149"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="153"/>
<source>Close</source>
<translation type="unfinished">Chiudi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="152"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="156"/>
<source>New Keypair</source>
<translation type="unfinished">Nuova coppia di chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
<source>Generate KeyPair</source>
<translation type="unfinished">Genera coppia di chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
<source>New Subkey</source>
<translation type="unfinished">Nuova sottochiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished">Genera sottochiave per la coppia di chiavi selezionata</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="257"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="171"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
<source>File</source>
<translation type="unfinished">File</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
<source>Import New Key From File</source>
<translation type="unfinished">Importa nuova chiave da file</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
<source>Clipboard</source>
<translation type="unfinished">Appunti</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="181"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished">Importa nuova chiave dagli appunti</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="188"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
<source>Keyserver</source>
<translation type="unfinished">Server delle chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="196"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished">Importa nuova chiave dal server delle chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="198"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="531"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="202"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Key Package</source>
<translation type="unfinished">Pacchetto chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="201"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
<source>Import Key(s) From a Key Package</source>
<translation type="unfinished">Importa chiavi da un pacchetto di chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
<source>Export To Clipboard</source>
<translation type="unfinished">Esporta negli appunti</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
<source>Export Checked Key(s) To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="217"/>
<source>Export As Key Package</source>
<translation type="unfinished">Esporta come pacchetto chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
<source>Export Checked Key(s) To a Key Package</source>
<translation type="unfinished">Esporta chiavi selezionate in un pacchetto di chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="224"/>
<source>Export As OpenSSH</source>
<translation type="unfinished">Esporta come OpenSSH</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="223"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
<source>Export Checked Key As OpenSSH Format to File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="231"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished">Elimina chiavi selezionate</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="228"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
<source>Delete the Selected keys</source>
<translation type="unfinished">Elimina le chiavi selezionate</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="236"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished">Elimina chiavi selezionate</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="233"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="237"/>
<source>Delete the Checked keys</source>
<translation type="unfinished">Elimina le chiavi selezionate</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="238"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="242"/>
<source>Show Key Details</source>
<translation type="unfinished">Mostra dettagli chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="239"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
<source>Show Details for this Key</source>
<translation type="unfinished">Mostra dettagli per questa chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="244"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="248"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">Imposta il livello di attendibilità del proprietario</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="281"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="285"/>
<source>Key</source>
<translation type="unfinished">Chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="262"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
<source>Generate Key</source>
<translation type="unfinished">Genera chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="294"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="270"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="298"/>
<source>Import Key</source>
<translation type="unfinished">Importa chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="272"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="276"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="306"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="307"/>
<source>Export Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="293"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="297"/>
<source>Import key</source>
<translation type="unfinished">Importa chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="302"/>
- <source>Export key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="336"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="340"/>
<source>Deleting Keys</source>
<translation type="unfinished">Cancellazione chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="337"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="341"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished">Sei sicuro di voler eliminare le seguenti chiavi?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="343"/>
<source>The action can not be undone.</source>
<translation type="unfinished">L&apos;azione non può essere annullata.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="404"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="416"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="483"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="507"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="551"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="408"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="420"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="487"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="498"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="511"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="541"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="549"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="565"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="573"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="589"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
<source>Key Not Found.</source>
<translation type="unfinished">Chiave non trovata.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="379"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="462"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="468"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="370"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="383"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="466"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="472"/>
<source>Forbidden</source>
<translation type="unfinished">Vietato</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="367"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="371"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="384"/>
<source>Please check some keys before doing this operation.</source>
<translation type="unfinished">Si prega di controllare alcune chiavi prima di eseguire questa operazione.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="372"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="376"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="524"/>
<source>key(s) exported</source>
<translation type="unfinished">chiavi esportate</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="396"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="475"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="400"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="479"/>
<source>Exporting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="405"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="417"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="495"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="409"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="421"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="488"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="499"/>
<source>Unknown error occurred</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="438"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="442"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="452"/>
<source>Invalid Operation</source>
<translation type="unfinished">Operazione non valida</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="439"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="443"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished">Si prega di selezionare un KeyPair prima di eseguire questa operazione.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="449"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="453"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished">Se una coppia di chiavi non dispone di una chiave privata, non sarà in grado di generare sottochiavi.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="463"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="467"/>
<source>Please check a key before performing this operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="469"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="473"/>
<source>This operation accepts just a single key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="512"/>
<source>This key may not be able to export as OpenSSH format. Please check the key-size of the subkey(s) used to sign.</source>
<translation type="unfinished">Questa chiave potrebbe non essere in grado di esportare come formato OpenSSH. Si prega di controllare la dimensione della chiave della/e sottochiave/i utilizzata/e per firmare.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="515"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="519"/>
<source>Export OpenSSH Key To File</source>
<translation type="unfinished">Esporta chiave OpenSSH in file</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="516"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
<source>OpenSSH Public Key Files</source>
<translation type="unfinished">File di chiavi pubbliche OpenSSH</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="530"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Import Key Package</source>
<translation type="unfinished">Importa pacchetto chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="534"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="542"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="566"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="550"/>
+ <source>The target file is too large for a key package.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="555"/>
<source>Import Key Package Passphrase File</source>
<translation type="unfinished">Importa file passphrase pacchetto chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="535"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="556"/>
<source>Key Package Passphrase File</source>
<translation type="unfinished">File di passphrase del pacchetto chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="545"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="574"/>
+ <source>The target file is too large for a key package passphrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="580"/>
+ <source>Importing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="596"/>
<source>key(s) imported</source>
<translation type="unfinished">chiavi importate</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="552"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="590"/>
<source>An error occur in importing key package.</source>
<translation type="unfinished">Si è verificato un errore durante l&apos;importazione del pacchetto di chiavi.</translation>
</message>
@@ -2374,17 +2537,17 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Non scade mai</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="258"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="257"/>
<source>No Data</source>
<translation type="unfinished">Nessun dato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="275"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="274"/>
<source>Warning: The primary key has expired.</source>
<translation type="unfinished">Avviso: la chiave primaria è scaduta.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="279"/>
<source>Warning: The primary key has been revoked.</source>
<translation type="unfinished">Avviso: la chiave primaria è stata revocata.</translation>
</message>
@@ -2392,201 +2555,256 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyPairOperaTab</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="51"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="53"/>
<source>General Operations</source>
<translation type="unfinished">Operazioni generali</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="59"/>
<source>Export Public Key</source>
<translation type="unfinished">Esporta chiave pubblica</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="65"/>
<source>Export Private Key</source>
<translation type="unfinished">Esporta chiave privata</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="70"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="72"/>
<source>Modify Expiration Datetime (Primary Key)</source>
<translation type="unfinished">Modifica data e ora di scadenza (chiave primaria)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="73"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="75"/>
<source>Modify Password</source>
<translation type="unfinished">Modifica password</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="92"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="93"/>
<source>Key Server Operation (Pubkey)</source>
<translation type="unfinished">Funzionamento del server delle chiavi (Pubkey)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="100"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="177"/>
<source>Generate Revoke Certificate</source>
<translation type="unfinished">Genera certificato revoca</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="106"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="107"/>
<source>Modify TOFU Policy</source>
<translation type="unfinished">Modifica la politica TOFU</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="101"/>
+ <source>Revoke Certificate Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="114"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">Imposta il livello di attendibilità del proprietario</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="135"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="138"/>
<source>Upload Key Pair to Key Server</source>
<translation type="unfinished">Carica coppia di chiavi sul server delle chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="143"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="146"/>
<source>Sync Key Pair From Key Server</source>
<translation type="unfinished">Sincronizza coppia di chiavi dal server delle chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="158"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="161"/>
<source>Export Full Secret Key</source>
<translation type="unfinished">Esporta chiave segreta completa</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="164"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="167"/>
<source>Export Shortest Secret Key</source>
<translation type="unfinished">Esporta la chiave segreta più breve</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="191"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="237"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="182"/>
+ <source>Import Revoke Certificate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="298"/>
<source>Export Key To File</source>
<translation type="unfinished">Esporta chiave in file</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="192"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="238"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="281"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished">File chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="197"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="243"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="286"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="215"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="261"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="304"/>
<source>Export Error</source>
<translation type="unfinished">Errore di esportazione</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="198"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="244"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="287"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="216"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="262"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="305"/>
<source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished">Impossibile aprire %1 per scrittura</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="206"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="224"/>
<source>Exporting short private Key</source>
<translation type="unfinished">Esportazione della chiave privata breve</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="207"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="254"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="225"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="272"/>
<source>You are about to export your</source>
<translation type="unfinished">Stai per esportare il tuo</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="208"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="226"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="273"/>
<source> PRIVATE KEY </source>
<translation type="unfinished"> CHIAVE PRIVATA </translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="227"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="274"/>
<source>This is NOT your Public Key, so DON&apos;T give it away.</source>
<translation type="unfinished">Questa NON è la tua chiave pubblica, quindi NON darla via.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="228"/>
<source>Do you REALLY want to export your PRIVATE KEY in a Minimum Size?</source>
<translation type="unfinished">Vuoi VERAMENTE esportare la tua CHIAVE PRIVATA in una Dimensione Minima?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="213"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="231"/>
<source>For OpenPGP keys it removes all signatures except for the latest self-signatures.</source>
<translation type="unfinished">Per le chiavi OpenPGP rimuove tutte le firme tranne le ultime autofirme.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="253"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="271"/>
<source>Exporting private Key</source>
<translation type="unfinished">Esportazione della chiave privata</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="257"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="275"/>
<source>Do you REALLY want to export your PRIVATE KEY?</source>
<translation type="unfinished">Vuoi VERAMENTE esportare la tua CHIAVE PRIVATA?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="315"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="329"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="412"/>
<source>Revocation Certificates</source>
<translation type="unfinished">Certificati di revoca</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="326"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="340"/>
<source>Generate revocation certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="357"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
<source>Policy Auto</source>
<translation type="unfinished">Criterio automatico</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="373"/>
<source>Policy Good</source>
<translation type="unfinished">Politica buona</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="375"/>
<source>Policy Bad</source>
<translation type="unfinished">Politica scadente</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="377"/>
<source>Policy Ask</source>
<translation type="unfinished">Politica Chiedi</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="365"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="379"/>
<source>Policy Unknown</source>
<translation type="unfinished">Politica sconosciuta</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="352"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="366"/>
<source>Modify TOFU Policy(Default is Auto)</source>
<translation type="unfinished">Modifica la politica TOFU (l&apos;impostazione predefinita è Auto)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="353"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="367"/>
<source>Policy for the Key Pair:</source>
<translation type="unfinished">Politica per la coppia di chiavi:</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="370"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="384"/>
<source>Not Successful</source>
<translation type="unfinished">Senza successo</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="385"/>
<source>Modify TOFU policy not successfully.</source>
<translation type="unfinished">Modifica criterio TOFU non correttamente.</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="399"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="411"/>
+ <source>Import Key Revocation Certificate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="400"/>
+ <source>You are about to import the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="401"/>
+ <source>REVOCATION CERTIFICATE</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="402"/>
+ <source>A successful import will result in the key being irreversibly revoked.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="404"/>
+ <source>Do you REALLY want to execute this operation?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="420"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="429"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="437"/>
+ <source>Error</source>
+ <translation type="unfinished">Errore</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="421"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="438"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="430"/>
+ <source>The target file is too large for a key revocation certificate.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::KeyPairSubkeyTab</name>
@@ -2682,12 +2900,12 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Data di scadenza</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="202"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="203"/>
<source>Never Expire</source>
<translation type="unfinished">Non scade mai</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="239"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="240"/>
<source>Never Expires</source>
<translation type="unfinished">Non scade mai</translation>
</message>
@@ -3073,12 +3291,22 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">%1 chiavi trovate. Fare doppio clic su una chiave per importarla.</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="415"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="371"/>
+ <source>Warning</source>
+ <translation type="unfinished">Avvertimento</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="372"/>
+ <source>Please select one KeyPair before doing this operation.</source>
+ <translation type="unfinished">Si prega di selezionare un KeyPair prima di eseguire questa operazione.</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="419"/>
<source>Key Imported</source>
<translation type="unfinished">Chiave importata</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="426"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="430"/>
<source>Processing ...</source>
<translation type="unfinished"></translation>
</message>
@@ -3162,32 +3390,32 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">Firmatari</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="80"/>
<source>Expire Date</source>
<translation type="unfinished">Data di scadenza</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="90"/>
<source>Sign For Key&apos;s UID(s)</source>
<translation type="unfinished">Firma per gli UID della chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="114"/>
<source>Unsuccessful Operation</source>
<translation type="unfinished">Operazione non riuscita</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="115"/>
<source>Signature operation failed for UID %1</source>
<translation type="unfinished">Operazione di firma non riuscita per l&apos;UID %1</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
<source>Operation Complete</source>
<translation type="unfinished">Operazione completata</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="127"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
<source>The signature operation of the UID is complete</source>
<translation type="unfinished">L&apos;operazione di firma dell&apos;UID è completata</translation>
</message>
@@ -3377,546 +3605,556 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::MainWindow</name>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="164"/>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="167"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="158"/>
<source>Critical error occur while loading GpgFrontend.</source>
<translation type="unfinished">Si è verificato un errore critico durante il caricamento di GpgFrontend.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="157"/>
<source>Loading Failed</source>
<translation type="unfinished">Caricamento non riuscito</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="48"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="100"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="143"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="162"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="187"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="214"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="257"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="276"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="293"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="307"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="325"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="342"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="356"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="375"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="430"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="449"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="503"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="528"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="568"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="605"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="631"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="671"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="709"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="735"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="768"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="801"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="811"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="836"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="72"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="119"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="175"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="208"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="244"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="320"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="242"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="250"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="145"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="164"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="260"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="311"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="329"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="347"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="361"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="435"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="454"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="489"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="536"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="613"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="639"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="717"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="743"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="775"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="822"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="847"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="121"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="210"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="246"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="322"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="368"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="255"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="163"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="277"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="326"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="376"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="450"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="529"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="632"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="736"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="802"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="50"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="165"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="280"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="330"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="381"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="455"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="537"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="640"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="813"/>
<source>Cannot read from file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="176"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="178"/>
<source>The target file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">Il file di destinazione %1 esiste già, è necessario sovrascriverlo?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="65"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="179"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="284"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="333"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="411"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="575"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="678"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="750"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="817"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="66"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="181"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="288"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="338"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="416"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="583"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="686"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="757"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="828"/>
<source>Warning</source>
<translation type="unfinished">Avvertimento</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="188"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="294"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="343"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="569"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="672"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="745"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="190"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="298"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="577"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="680"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="752"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="823"/>
<source>Cannot write to file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="83"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="197"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="52"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="199"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="54"/>
<source>Symmetric Encryption</source>
<translation type="unfinished">Crittografia simmetrica</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="198"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="200"/>
<source>No Key Selected. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">Nessuna chiave selezionata. Vuoi crittografare con un cifrario simmetrico utilizzando una passphrase?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="90"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="61"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="63"/>
<source>Symmetrically Encrypting</source>
<translation type="unfinished">Crittografia simmetrica</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="144"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="215"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="258"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="308"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="357"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="431"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="504"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="606"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="710"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="769"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="837"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="120"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="176"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="209"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="245"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="321"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="367"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="102"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="217"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="261"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="312"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="362"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="509"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="614"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="718"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="776"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="848"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="178"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="211"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="323"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="369"/>
<source>Unknown error occurred</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="125"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="550"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="653"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="277"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="558"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="661"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
<source>Invalid KeyPair</source>
<translation type="unfinished">Coppia di chiavi non valida</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="240"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="654"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="278"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="242"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="559"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="662"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="280"/>
<source>The selected keypair cannot be used for encryption.</source>
<translation type="unfinished">La coppia di chiavi selezionata non può essere utilizzata per la crittografia.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="552"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="655"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="128"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="560"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="663"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="281"/>
<source>For example the Following Key:</source>
<translation type="unfinished">Ad esempio la seguente chiave:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="134"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="109"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="135"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="111"/>
<source>Encrypting</source>
<translation type="unfinished">Crittografa</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="204"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="206"/>
<source>Archiving &amp; Symmetrically Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="250"/>
<source>Archiving &amp; Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="285"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="334"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="289"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="584"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="687"/>
<source>The target file already exists, do you need to overwrite it?</source>
<translation type="unfinished">Il file di destinazione esiste già, è necessario sovrascriverlo?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="299"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="200"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="202"/>
<source>Decrypting</source>
<translation type="unfinished">Decifra</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/>
<source>Decrypting &amp; Extrating</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="385"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="539"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="642"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="145"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="390"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="547"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="650"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="147"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="267"/>
<source>No Key Checked</source>
<translation type="unfinished">Nessuna chiave controllata</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="386"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="540"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="643"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="391"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="548"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="651"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="148"/>
<source>Please check the key in the key toolbox on the right.</source>
<translation type="unfinished">Si prega di controllare la chiave nella casella degli strumenti della chiave a destra.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="393"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="98"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="154"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="398"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="156"/>
<source>Invalid Operation</source>
<translation type="unfinished">Operazione non valida</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="394"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="399"/>
<source>The selected key contains a key that does not actually have a sign usage.</source>
<translation type="unfinished">La chiave selezionata contiene una chiave che non ha effettivamente un utilizzo del segno.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="396"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="401"/>
<source>for example the Following Key:</source>
<translation type="unfinished">ad esempio la seguente chiave:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="412"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="417"/>
<source>The signature file &quot;%1&quot; exists, do you need to overwrite it?</source>
<translation type="unfinished">Il file della firma &quot;%1&quot; esiste, è necessario sovrascriverlo?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="421"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="426"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="168"/>
<source>Signing</source>
<translation type="unfinished">Firma</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="470"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="475"/>
<source>File to be Verified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="471"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="476"/>
<source>Please provide An ABSOLUTE Path
If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="485"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="490"/>
<source>Please select the appropriate origin file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished">Si prega di selezionare il file di origine appropriato o il file di firma. Assicurati che entrambi siano in questa directory.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="235"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="499"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="237"/>
<source>Verifying</source>
<translation type="unfinished">Verifica</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="594"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="308"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="602"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="310"/>
<source>Encrypting and Signing</source>
<translation type="unfinished">Crittografa e Firma</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="697"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="705"/>
<source>Archiving &amp; Encrypting &amp; Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="818"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="758"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="829"/>
<source>The output file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">Il file di output %1 esiste già, devi sovrascriverlo?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="760"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="356"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="767"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="358"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished">Decifra e verifica</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="827"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="838"/>
<source>Decrypting &amp; Verifying &amp; Extracting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="55"/>
<source>No Key Checked. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">Nessuna chiave controllata. Vuoi crittografare con una cifra simmetrica usando una passphrase?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="99"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
<source>The selected key contains a key that does not actually have a encrypt usage.</source>
<translation type="unfinished">La chiave selezionata contiene una chiave che in realtà non ha un utilizzo di crittografia.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
<source>The selected key contains a key that does not actually have a signature usage.</source>
<translation type="unfinished">La chiave selezionata contiene una chiave che non ha effettivamente un utilizzo della firma.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="266"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="268"/>
<source>Please check some key in the key toolbox on the right.</source>
<translation type="unfinished">Si prega di controllare alcune chiavi nella casella degli strumenti chiave a destra.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
<source>Key Not Found.</source>
<translation type="unfinished">Chiave non trovata.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="101"/>
- <source> (Local Time) </source>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/>
+ <source>Localize</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="105"/>
+ <source>UTC</source>
+ <translation type="unfinished">UTC</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
+ <source>Local Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="248"/>
<source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="251"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="256"/>
<source>Cannot open this file. The file is TOO LARGE (&gt;1MB) for GpgFrontend Text Editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/>
<source>GpgFrontend Upgradeable (New Version: %1).</source>
<translation type="unfinished">GpgFrontend aggiornabile (nuova versione: %1).</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="307"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/>
<source>Withdrawn Version</source>
<translation type="unfinished">Versione ritirata</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="309"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
<source>This version(%1) may have been withdrawn by the developer due to serious problems. Please stop using this version immediately and use the latest stable version.</source>
<translation type="unfinished">Questa versione (%1) potrebbe essere stata ritirata dallo sviluppatore a causa di seri problemi. Si prega di interrompere immediatamente l&apos;utilizzo di questa versione e utilizzare l&apos;ultima versione stabile.</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
<source>You can download the latest stable version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished">Puoi scaricare l&apos;ultima versione stabile (%1) dalla pagina dei rilasci di Github.&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="324"/>
<source>This maybe a BETA Version (Latest Stable Version: %1).</source>
<translation type="unfinished">Questa potrebbe essere una versione BETA (ultima versione stabile: %1).</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="45"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="44"/>
<source>New</source>
<translation type="unfinished">Nuovo</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="51"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="50"/>
<source>Open a new file</source>
<translation type="unfinished">Apri un nuovo file</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="54"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="53"/>
<source>Open...</source>
<translation type="unfinished">Apri...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="56"/>
<source>Open an existing file</source>
<translation type="unfinished">Apri un file esistente</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="60"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="59"/>
<source>File Browser</source>
<translation type="unfinished">Cerca file</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="62"/>
<source>Open a file browser</source>
<translation type="unfinished">Apri un browser di file</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="66"/>
<source>Save File</source>
<translation type="unfinished">Salva</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="70"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="69"/>
<source>Save the current File</source>
<translation type="unfinished">Salva il file corrente</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="73"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="72"/>
<source>Save As</source>
<translation type="unfinished">Salva come</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="76"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="75"/>
<source>Save the current File as...</source>
<translation type="unfinished">Salva il file corrente come...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="79"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="78"/>
<source>Print</source>
<translation type="unfinished">Stampa</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="82"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="81"/>
<source>Print Document</source>
<translation type="unfinished">Stampa documento</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="84"/>
<source>Close</source>
<translation type="unfinished">Chiudi</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="87"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="86"/>
<source>Close file</source>
<translation type="unfinished">Chiudi file</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="90"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="89"/>
<source>Quit</source>
<translation type="unfinished">Uscire</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="93"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="92"/>
<source>Quit Program</source>
<translation type="unfinished">Esci dal programma</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="98"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="97"/>
<source>Undo</source>
<translation type="unfinished">Annulla</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="99"/>
<source>Undo Last Edit Action</source>
<translation type="unfinished">Annulla l&apos;ultima azione di modifica</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="102"/>
<source>Redo</source>
<translation type="unfinished">Ripeti</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="105"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="104"/>
<source>Redo Last Edit Action</source>
<translation type="unfinished">Ripeti l&apos;ultima azione di modifica</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="108"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="107"/>
<source>Zoom In</source>
<translation type="unfinished">Ingrandisci</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="112"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="111"/>
<source>Zoom Out</source>
<translation type="unfinished">Rimpicciolisci</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="116"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="115"/>
<source>Paste</source>
<translation type="unfinished">Incolla</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="118"/>
<source>Paste Text From Clipboard</source>
<translation type="unfinished">Incolla il testo dagli appunti</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="121"/>
<source>Cut</source>
<translation type="unfinished">Taglia</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="125"/>
<source>Cut the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">Taglia il contenuto della selezione corrente negli appunti</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="130"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="129"/>
<source>Copy</source>
<translation type="unfinished">Copia</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="134"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="133"/>
<source>Copy the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">Copia il contenuto della selezione corrente negli appunti</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="138"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="137"/>
<source>Quote</source>
<translation type="unfinished">Citazione</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="139"/>
<source>Quote whole text</source>
<translation type="unfinished">Cita tutto il testo</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="143"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="142"/>
<source>Select All</source>
<translation type="unfinished">Seleziona tutto</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="145"/>
<source>Select the whole text</source>
<translation type="unfinished">Seleziona l&apos;intero testo</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="149"/>
<source>Find</source>
<translation type="unfinished">Trova</translation>
</message>
@@ -4528,7 +4766,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
<message>
<location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="63"/>
- <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="196"/>
<source>%1 character(s)</source>
<translation type="unfinished">%1 carattere/i</translation>
</message>
@@ -4615,7 +4853,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="91"/>
- <source>Buddled Pinentry</source>
+ <source>Bundled Pinentry</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4918,54 +5156,54 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished">Apri Rubrica</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="143"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="203"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="422"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>Warning</source>
<translation type="unfinished">Avvertimento</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="145"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="205"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="424"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
<source>Cannot read file %1:
%2.</source>
<translation type="unfinished">Impossibile leggere il file %1:
%2.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="152"/>
<source>Open file</source>
<translation type="unfinished">Apri il file</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="222"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="221"/>
<source>Save file</source>
<translation type="unfinished">Salva</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="282"/>
<source>Unsaved document</source>
<translation type="unfinished">Documento non salvato</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="284"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
<source>The document &quot;%1&quot; has been modified. Do you want to save your changes?</source>
<translation type="unfinished">Il documento &quot;%1&quot; è stato modificato. Vuoi salvare le tue modifiche?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="286"/>
<source>Note:</source>
<translation type="unfinished">Nota:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="288"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
<source>If you don&apos;t save these files, all changes are lost.</source>
<translation type="unfinished">Se non salvi questi file, tutte le modifiche andranno perse.</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>No document to print</source>
<translation type="unfinished"></translation>
</message>
@@ -5045,27 +5283,27 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="38"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="39"/>
<source>Signatures Details</source>
<translation type="unfinished">Dettagli delle firme</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="62"/>
<source>No valid input found</source>
<translation type="unfinished">Nessun input valido trovato</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="71"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="72"/>
<source>Error Validating signature</source>
<translation type="unfinished">Errore durante la convalida della firma</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
<source>File was signed on %1</source>
<translation type="unfinished">Il file è stato firmato il %1</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="76"/>
<location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="80"/>
<source>It Contains</source>
<translation type="unfinished">Contiene</translation>
@@ -5079,154 +5317,154 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyKeyDetailBox</name>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="53"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="54"/>
<source>Import from keyserver</source>
<translation type="unfinished">Importa da keyserver</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="58"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="59"/>
<source>Key not present with id 0x</source>
<translation type="unfinished">Chiave non presente con ID 0x</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Status</source>
<translation type="unfinished">Stato</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
<source>:</source>
<translation type="unfinished">:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="65"/>
<source>Key not present in key list</source>
<translation type="unfinished">Chiave non presente nell&apos;elenco chiavi</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="72"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="73"/>
<source>A Signature</source>
<translation type="unfinished">Una firma</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="77"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="92"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="107"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="123"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="138"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="78"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="93"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="108"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="124"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="139"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="154"/>
<source>Key Information is NOT Available</source>
<translation type="unfinished">Le informazioni chiave NON sono disponibili</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="79"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="94"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="109"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="125"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="140"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="155"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="80"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="95"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="110"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="126"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="141"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="156"/>
<source>Fingerprint</source>
<translation type="unfinished">Impronta digitale</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
<source>Cert Revoked</source>
<translation type="unfinished">Certificato revocato</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<source>Signature Expired</source>
<translation type="unfinished">Firma scaduta</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
<source>Key Expired</source>
<translation type="unfinished">Chiave scaduta</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
<source>General Error</source>
<translation type="unfinished">Errore generale</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Unknown Error </source>
<translation type="unfinished">Errore sconosciuto </translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="176"/>
<source>Signer Name</source>
<translation type="unfinished">Nome del firmatario</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="177"/>
<source>Signer Email</source>
<translation type="unfinished">Email del firmatario</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
<source>Key&apos;s Fingerprint</source>
<translation type="unfinished">Impronta digitale della chiave</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="181"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
<source>Valid</source>
<translation type="unfinished">Valido</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="182"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
<source>Flags</source>
<translation type="unfinished">Flag</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="187"/>
<source>Fully Valid</source>
<translation type="unfinished">Completamente valido</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
<source>NOT Fully Valid</source>
<translation type="unfinished">NON completamente valido</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="196"/>
<source>Good</source>
<translation type="unfinished">Bene</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="201"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="199"/>
<source>Bad</source>
<translation type="unfinished">Cattivo</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="202"/>
<source>Expired</source>
<translation type="unfinished">Scaduto</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="207"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="205"/>
<source>Missing Key</source>
<translation type="unfinished">Chiave mancante</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="210"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="208"/>
<source>Revoked Key</source>
<translation type="unfinished">Chiave revocata</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="211"/>
<source>Expired Key</source>
<translation type="unfinished">Chiave scaduta</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="216"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="214"/>
<source>Missing CRL</source>
<translation type="unfinished">CRL mancante</translation>
</message>
@@ -5273,7 +5511,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
</context>
<context>
- <name>QObject</name>
+ <name>QCoreApplication</name>
<message>
<location filename="../../../../src/cmd.cpp" line="49"/>
<source>This is free software; see the source for copying conditions.</source>
@@ -5295,93 +5533,144 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="196"/>
- <source>GpgME inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
+ <source>Loading Gnupg Info...</source>
+ <translation type="unfinished">Caricamento informazioni Gnupg...</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="322"/>
- <source>GpgME Context inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="54"/>
+ <source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
+ <translation type="unfinished">Se questo processo è troppo lento, impostare l&apos;indirizzo del server delle chiavi in modo appropriato nel file di configurazione di gnupg (a seconda della situazione della rete nel proprio paese o regione).</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="331"/>
- <source>Gpg Key Detabase inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="63"/>
+ <source>Show Verify Details</source>
+ <translation type="unfinished">Mostra dettagli di verifica</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="71"/>
+ <source>Public key not found locally</source>
+ <translation type="unfinished">Chiave pubblica non trovata localmente</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="72"/>
+ <source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
+ <translation type="unfinished">Non c&apos;è contenuto di chiave pubblica di destinazione in locale per GpgFrontend per raccogliere informazioni sufficienti su questa firma. Vuoi importare la chiave pubblica da Keyserver adesso?</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="75"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="89"/>
<source>File Hash Information</source>
<translation type="unfinished">Informazioni sull&apos;hash del file</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <source>filename</source>
- <translation type="unfinished">nome del file</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
+ <source>Filename</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="92"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="100"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="108"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="95"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="99"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="104"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="110"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="116"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
<source>: </source>
<translation type="unfinished">: </translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <source>file size(bytes)</source>
- <translation type="unfinished">dimensione del file (byte)</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="94"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="98"/>
+ <source>File Size</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="113"/>
- <source>Error in Calculating File Hash </source>
- <translation type="unfinished">Errore nel calcolo dell&apos;hash del file </translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="123"/>
+ <source>Error: cannot read target file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="143"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
<source>target path doesn&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="148"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="162"/>
<source>do NOT have permission to write path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="153"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="168"/>
<source>do NOT have permission to read/write file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="171"/>
<source>Success</source>
<translation type="unfinished">Successo</translation>
</message>
<message>
- <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="294"/>
+ <source>GpgME initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="397"/>
+ <source>GpgME Context initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="406"/>
+ <source>Gpg Key Detabase initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>File Hash Information</source>
+ <translation type="obsolete">Informazioni sull&apos;hash del file</translation>
+ </message>
+ <message>
+ <source>filename</source>
+ <translation type="obsolete">nome del file</translation>
+ </message>
+ <message>
+ <source>: </source>
+ <translation type="obsolete">: </translation>
+ </message>
+ <message>
+ <source>file size(bytes)</source>
+ <translation type="obsolete">dimensione del file (byte)</translation>
+ </message>
+ <message>
+ <source>Error in Calculating File Hash </source>
+ <translation type="obsolete">Errore nel calcolo dell&apos;hash del file </translation>
+ </message>
+ <message>
+ <source>Success</source>
+ <translation type="obsolete">Successo</translation>
+ </message>
+ <message>
<source>Loading Gnupg Info...</source>
- <translation type="unfinished">Caricamento informazioni Gnupg...</translation>
+ <translation type="obsolete">Caricamento informazioni Gnupg...</translation>
</message>
<message>
- <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="54"/>
<source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
- <translation type="unfinished">Se questo processo è troppo lento, impostare l&apos;indirizzo del server delle chiavi in modo appropriato nel file di configurazione di gnupg (a seconda della situazione della rete nel proprio paese o regione).</translation>
+ <translation type="obsolete">Se questo processo è troppo lento, impostare l&apos;indirizzo del server delle chiavi in modo appropriato nel file di configurazione di gnupg (a seconda della situazione della rete nel proprio paese o regione).</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="64"/>
<source>Show Verify Details</source>
- <translation type="unfinished">Mostra dettagli di verifica</translation>
+ <translation type="obsolete">Mostra dettagli di verifica</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="73"/>
<source>Public key not found locally</source>
- <translation type="unfinished">Chiave pubblica non trovata localmente</translation>
+ <translation type="obsolete">Chiave pubblica non trovata localmente</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="74"/>
<source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
- <translation type="unfinished">Non c&apos;è contenuto di chiave pubblica di destinazione in locale per GpgFrontend per raccogliere informazioni sufficienti su questa firma. Vuoi importare la chiave pubblica da Keyserver adesso?</translation>
+ <translation type="obsolete">Non c&apos;è contenuto di chiave pubblica di destinazione in locale per GpgFrontend per raccogliere informazioni sufficienti su questa firma. Vuoi importare la chiave pubblica da Keyserver adesso?</translation>
</message>
</context>
</TS>
diff --git a/resource/lfs/locale/ts/GpgFrontend.zh_CN.ts b/resource/lfs/locale/ts/GpgFrontend.zh_CN.ts
index 75dabdf7..476f3807 100644
--- a/resource/lfs/locale/ts/GpgFrontend.zh_CN.ts
+++ b/resource/lfs/locale/ts/GpgFrontend.zh_CN.ts
@@ -6,101 +6,105 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="41"/>
<source>Decrypt Operation</source>
- <translation type="unfinished">解密操作</translation>
+ <translation>解密操作</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="44"/>
<source>Success</source>
- <translation type="unfinished">成功</translation>
+ <translation>成功</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="46"/>
<source>Failed</source>
- <translation type="unfinished">失败</translation>
+ <translation>失败</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="51"/>
<source>Unsupported Algo</source>
- <translation type="unfinished">不支持的算法</translation>
+ <translation>不被支持的算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="59"/>
<source>Gernal State</source>
- <translation type="unfinished">总览</translation>
+ <translation type="obsolete">总览</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="59"/>
+ <source>General State</source>
+ <translation>总览</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="62"/>
<source>File Name</source>
- <translation type="unfinished">文档名称</translation>
+ <translation>文件名</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="65"/>
<source>MIME</source>
- <translation type="unfinished">MIME</translation>
+ <translation>MIME</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="66"/>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="69"/>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="84"/>
<source>false</source>
- <translation type="unfinished">错误的</translation>
+ <translation>否</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="66"/>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="69"/>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="84"/>
<source>true</source>
- <translation type="unfinished">是</translation>
+ <translation>是</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="68"/>
<source>Message Integrity Protection</source>
- <translation type="unfinished"></translation>
+ <translation>信息完整性保护</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="74"/>
<source>Symmetric Encryption Algorithm</source>
- <translation type="unfinished"></translation>
+ <translation>对称加密算法</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="79"/>
<source>Session Key</source>
- <translation type="unfinished"></translation>
+ <translation>会话密钥</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="83"/>
<source>German Encryption Standards</source>
- <translation type="unfinished"></translation>
+ <translation>符合德国加密标准</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="91"/>
<source>Recipient(s)</source>
- <translation type="unfinished">收件人</translation>
+ <translation>接收者列表</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="97"/>
<source>Recipient</source>
- <translation type="unfinished">接受者</translation>
+ <translation>接收者</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="119"/>
<source>unknown</source>
- <translation type="unfinished">未知</translation>
+ <translation>未知</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="125"/>
<source>Key ID</source>
- <translation type="unfinished">密钥编号</translation>
+ <translation>密钥ID</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="126"/>
<source>Public Key Algo</source>
- <translation type="unfinished">公钥算法</translation>
+ <translation>公钥算法</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="128"/>
<source>Status</source>
- <translation type="unfinished">状态</translation>
+ <translation>状态</translation>
</message>
</context>
<context>
@@ -108,37 +112,37 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="40"/>
<source>Encrypt Operation</source>
- <translation type="unfinished">加密操作</translation>
+ <translation>加密操作</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="43"/>
<source>Success</source>
- <translation type="unfinished">成功</translation>
+ <translation>成功</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="45"/>
<source>Failed</source>
- <translation type="unfinished">失败</translation>
+ <translation>失败</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="56"/>
<source>Invalid Recipients</source>
- <translation type="unfinished">无效的收件人</translation>
+ <translation>无效的接受者</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="63"/>
<source>Recipients</source>
- <translation type="unfinished"></translation>
+ <translation>接受者</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="65"/>
<source>Fingerprint</source>
- <translation type="unfinished">指纹</translation>
+ <translation>指纹</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgEncryptResultAnalyse.cpp" line="67"/>
<source>Reason</source>
- <translation type="unfinished">原因</translation>
+ <translation>原因</translation>
</message>
</context>
<context>
@@ -146,206 +150,289 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="43"/>
<source>Sign Operation</source>
- <translation type="unfinished">签名操作</translation>
+ <translation>签名操作</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="46"/>
<source>Success</source>
- <translation type="unfinished">成功</translation>
+ <translation>成功</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="48"/>
<source>Failed</source>
- <translation type="unfinished">失败</translation>
+ <translation>失败</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="60"/>
<source>New Signature</source>
- <translation type="unfinished">新签名</translation>
+ <translation>新签名</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="63"/>
<source>Sign Mode</source>
- <translation type="unfinished">签名模式</translation>
+ <translation>签名模式</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="65"/>
<source>Normal</source>
- <translation type="unfinished">标准</translation>
+ <translation>标准签名</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="67"/>
<source>Clear</source>
- <translation type="unfinished">明文签名</translation>
+ <translation>明文签名</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="69"/>
<source>Detach</source>
- <translation type="unfinished">分离式签名</translation>
+ <translation>分离式签名</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="77"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <source>Signed By</source>
+ <translation>被...签名</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="91"/>
+ <source>Key ID</source>
+ <translation>密钥编号</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="76"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="79"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="111"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="89"/>
+ <source>Subkey</source>
+ <translation>子密钥</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="92"/>
+ <source>Primary Key</source>
+ <translation>主密钥</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="94"/>
+ <source>Key Create Date</source>
+ <translation>密钥创建时间</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="99"/>
+ <source>&lt;unknown&gt;</source>
+ <translation>&lt;未知&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
+ <source>Sign Date</source>
+ <translation>签署日期</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="130"/>
<source>Signer</source>
- <translation type="unfinished">签名者</translation>
+ <translation>签署人</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="82"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="101"/>
<source>Public Key Algo</source>
- <translation type="unfinished">公钥算法</translation>
+ <translation>公钥算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="84"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="103"/>
<source>Hash Algo</source>
- <translation type="unfinished">哈希算法</translation>
+ <translation>哈希算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
<source>Date</source>
- <translation type="unfinished">日期</translation>
+ <translation type="obsolete">日期</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
<source>UTC</source>
- <translation type="unfinished">世界标准时间</translation>
+ <translation>世界标准时间</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
<source>Localized</source>
- <translation type="unfinished">本地化</translation>
+ <translation>本地化</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="124"/>
<source>Invalid Signers</source>
- <translation type="unfinished">无效签名者</translation>
+ <translation>无效签署人</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="113"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="132"/>
<source>Fingerprint</source>
- <translation type="unfinished">指纹</translation>
+ <translation>指纹</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="115"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="134"/>
<source>Reason</source>
- <translation type="unfinished">原因</translation>
+ <translation>原因</translation>
</message>
</context>
<context>
<name>GpgFrontend::GpgVerifyResultAnalyse</name>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="44"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="43"/>
<source>Verify Operation</source>
<translation type="unfinished">验证操作</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="47"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="46"/>
<source>Success</source>
<translation type="unfinished">成功</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="49"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="48"/>
<source>Failed</source>
<translation type="unfinished">失败</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
<source>Signed On</source>
<translation type="unfinished">签署于</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
<source>UTC</source>
<translation type="unfinished">世界标准时间</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
<source>Localized</source>
<translation type="unfinished">本地化</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="65"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="64"/>
<source>Signatures List</source>
<translation type="unfinished">签名列表</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="71"/>
<source>Signature [%1]:</source>
<translation type="unfinished">签名 [%1]:</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="73"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
<source>Status</source>
<translation type="unfinished">状态</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="76"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="75"/>
<source>A Bad Signature.</source>
<translation type="unfinished">一个错误的签名。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="78"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="77"/>
<source>This Signature is invalid.</source>
<translation type="unfinished">此签名无效。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="83"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="82"/>
<source>A</source>
<translation type="unfinished">一种</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="85"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="84"/>
<source>Good</source>
<translation type="unfinished">正常</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="87"/>
<source>Bad</source>
<translation type="unfinished">异常</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="91"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="90"/>
<source>Expired</source>
<translation type="unfinished">已到期</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="94"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="93"/>
<source>Missing Key&apos;s</source>
<translation type="unfinished">密钥缺失</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="97"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="96"/>
<source>Revoked Key&apos;s</source>
<translation type="unfinished">撤销的密钥</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="100"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="99"/>
<source>Expired Key&apos;s</source>
<translation type="unfinished">过期的密钥</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="103"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="102"/>
<source>Missing CRL&apos;s</source>
<translation type="unfinished">CRL缺失</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="107"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="106"/>
<source>Signature Fully Valid.</source>
<translation type="unfinished">签名完全有效。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="108"/>
<source>Signature Not Fully Valid.</source>
<translation type="unfinished">签名不完全有效。</translation>
</message>
<message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <source>Tips</source>
+ <translation type="unfinished">提示</translation>
+ </message>
+ <message>
<location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="110"/>
- <source>(Adjust Trust Level to make it Fully Vaild)</source>
- <translation type="unfinished"></translation>
+ <source>Adjust Trust Level to make it Fully Vaild</source>
+ <translation type="unfinished">可以调整信任级别,使签名完全有效</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
+ <source>Fingerprint</source>
+ <translation type="unfinished">指纹</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="186"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="229"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished">&lt;未知&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
+ <source>Sign Date</source>
+ <translation type="unfinished">签署日期</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="217"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="220"/>
+ <source>Key ID</source>
+ <translation type="unfinished">密钥编号</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="218"/>
+ <source>Subkey</source>
+ <translation type="unfinished">子密钥</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="221"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">主密钥</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="223"/>
+ <source>Key Create Date</source>
+ <translation type="unfinished">密钥创建时间</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="117"/>
@@ -358,67 +445,67 @@
<translation type="unfinished">由于缺少密钥,无法验证签名</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="131"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="132"/>
<source>A signature is valid but the key used to verify the signature has been revoked</source>
<translation type="unfinished">签名有效,但用于验证签名的密钥已被撤销</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="140"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="141"/>
<source>A signature is valid but expired</source>
<translation type="unfinished">签名有效但已过期</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="147"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="148"/>
<source>A signature is valid but the key used to verify the signature has expired.</source>
<translation type="unfinished">签名有效,但用于验证签名的密钥已过期。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="155"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="156"/>
<source>There was some other error which prevented the signature verification.</source>
<translation type="unfinished">还有一些其他错误阻止了签名验证。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="163"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="164"/>
<source>Error for key with fingerprint</source>
<translation type="unfinished">带指纹的密钥错误</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="174"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="175"/>
<source>Could not find information that can be used for verification.</source>
<translation type="unfinished">找不到可用于验证的信息。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="188"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="193"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
<source>Signed By</source>
<translation type="unfinished">被...签名</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
<source>Unknown</source>
- <translation type="unfinished">未知</translation>
+ <translation type="obsolete">未知</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="197"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="234"/>
<source>Public Key Algo</source>
<translation type="unfinished">公钥算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="201"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="191"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="236"/>
<source>Hash Algo</source>
<translation type="unfinished">哈希算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
<source>Date</source>
- <translation type="unfinished">日期</translation>
+ <translation type="obsolete">日期</translation>
</message>
</context>
<context>
<name>GpgFrontend::Module::Integrated::GnuPGInfoGatheringModule::GnuPGInfoGatheringModule</name>
<message>
- <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="124"/>
+ <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="123"/>
<source>Embedded In</source>
<translation type="unfinished">嵌入</translation>
</message>
@@ -539,7 +626,7 @@
<message>
<location filename="../../../../src/ui/dialog/Wizard.cpp" line="116"/>
<source>If you have never used GpgFrontend before and also don&apos;t own a gpg key yet you may possibly want to read how to</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">如果您以前从未使用过 GpgFrontend,而且还没有 gpg 密钥,您可能需要阅读如何</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/Wizard.cpp" line="120"/>
@@ -549,7 +636,7 @@
<message>
<location filename="../../../../src/ui/dialog/Wizard.cpp" line="127"/>
<source>If you want to learn how to encrypt, decrypt, sign and verify text, you can read </source>
- <translation type="unfinished"></translation>
+ <translation>如果您想了解如何加密、解密、签名和验证文本,可以阅读 </translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/Wizard.cpp" line="132"/>
@@ -570,156 +657,170 @@
<message>
<location filename="../../../../src/ui/dialog/Wizard.cpp" line="144"/>
<source>If you want to operate file, you can read </source>
- <translation type="unfinished">如果要操作文件,可以阅读</translation>
+ <translation>如果要操作文件,可以阅读 </translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/Wizard.cpp" line="148"/>
<source>Encrypt &amp; Sign File</source>
- <translation type="unfinished">加密和签名文件</translation>
+ <translation>加密并签署文件</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/Wizard.cpp" line="152"/>
<source>Sign &amp; Verify File</source>
- <translation type="unfinished">签署并验证文件</translation>
+ <translation>签署并验证文件</translation>
</message>
</context>
<context>
<name>GpgFrontend::UI::CommonUtils</name>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="185"/>
<source>GnuPG Context Loading Failed</source>
<translation type="unfinished">GnuPG 上下文加载失败</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="189"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
<source>Gnupg(gpg) is not installed correctly, please follow &lt;a href=&apos;https://www.gpgfrontend.bktus.com/#/faq?id=how-to-deal-with-39env-loading-failed39&apos;&gt;this notes&lt;/a&gt; in FAQ to install Gnupg and then open GpgFrontend. &lt;br /&gt;Or, you can open GnuPG Controller to set a custom GnuPG which GpgFrontend should use. Then, GpgFrontend will restart. &lt;br /&gt;&lt;br /&gt;Breif Reason: %1</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Gnupg(gpg) 未正确安装,请按照常见问题中的 &lt;a href=&apos;https://www.gpgfrontend.bktus.com/#/faq?id=how-to-deal-with-39env-loading-failed39&apos;&gt;this notes&lt;/a&gt; 安装 Gnupg,然后打开 GpgFrontend。&lt;br /&gt;或者,您可以打开 GnuPG Controller 设置 GpgFrontend 应使用的自定义 GnuPG。然后,GpgFrontend 将重新启动。 &lt;br /&gt;&lt;br /&gt;错误原因:%1</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
<source>No keys found to import</source>
- <translation type="unfinished">找不到要导入的密钥</translation>
+ <translation type="obsolete">找不到要导入的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="437"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="445"/>
<source>Timeout</source>
<translation type="unfinished">超时</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="252"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="250"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="381"/>
<source>Success</source>
<translation type="unfinished">成功</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="253"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="251"/>
<source>Gpg Operation succeed.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Gpg 操作成功。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="263"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="365"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="261"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
<source>Failure</source>
<translation type="unfinished">失败</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="264"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="262"/>
<source>Gpg Operation failed.
Error code: %1
Source: %2
Description: %3</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Gpg 操作失败。
+
+错误代码: %1
+来源: %2
+说明: %3</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="294"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="497"/>
<source>Error</source>
<translation type="unfinished">错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="285"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="279"/>
<source>Open Key</source>
<translation type="unfinished">打开密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="286"/>
<source>Key Files</source>
- <translation type="unfinished">密钥文件</translation>
+ <translation type="obsolete">密钥文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="280"/>
<source>Keyring files</source>
<translation type="unfinished">密钥圈文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="292"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="288"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished">无法打开此文件。请确保这是一个普通文件,并且有读取权限。</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="295"/>
+ <source>The target file is too large for a keyring.</source>
+ <translation>目标文件对于一个密钥来说太大。</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="301"/>
<source>File Open Failed</source>
- <translation type="unfinished">文件打开失败</translation>
+ <translation>文件打开失败</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="293"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="302"/>
<source>Failed to open file: </source>
- <translation type="unfinished">打开文件失败:</translation>
+ <translation>打开文件失败: </translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="346"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="354"/>
<source>Processing</source>
- <translation type="unfinished">处理中</translation>
+ <translation>处理中</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="366"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
<source>Failed to execute command.</source>
- <translation type="unfinished">无法执行命令。</translation>
+ <translation>执行命令失败。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="382"/>
<source>Succeed in executing command.</source>
- <translation type="unfinished">成功执行命令。</translation>
+ <translation>成功执行命令。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="376"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="384"/>
<source>Warning</source>
- <translation type="unfinished">警告</translation>
+ <translation>警告</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="377"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="385"/>
<source>Finished executing command.</source>
- <translation type="unfinished">命令执行完毕。</translation>
+ <translation>命令执行完毕。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="398"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="406"/>
<source>Default Keyserver Not Found</source>
- <translation type="unfinished">未找到默认密钥服务器</translation>
+ <translation>未找到默认密钥服务器</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="399"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="407"/>
<source>Cannot read default keyserver from your settings, please set a default keyserver first</source>
- <translation type="unfinished">无法从您的设置中读取默认密钥服务器,请先设置默认密钥服务器</translation>
+ <translation>无法从您的设置中读取默认密钥服务器,请先设置默认密钥服务器</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="434"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="442"/>
<source>Key Not Found</source>
- <translation type="unfinished">未找到密钥</translation>
+ <translation>未找到密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="440"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="448"/>
<source>Key Server Not Found</source>
- <translation type="unfinished">未找到密钥服务器</translation>
+ <translation>未找到密钥服务器</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="443"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="451"/>
<source>Connection Error</source>
- <translation type="unfinished">连接错误</translation>
+ <translation>连接错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="454"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="462"/>
<source>The key has been updated</source>
- <translation type="unfinished">密钥已更新</translation>
+ <translation>密钥已更新</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="456"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="464"/>
<source>No need to update the key</source>
- <translation type="unfinished">无需更新密钥</translation>
+ <translation>无需更新密钥</translation>
</message>
<message>
<source>Password Input Dialog</source>
@@ -821,7 +922,7 @@ Description: %3</source>
<message>
<location filename="../../../../src/ui/dialog/import_export/ExportKeyPackageDialog.cpp" line="107"/>
<source>No key is suitable to export.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">没有适合导出的密钥。</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/import_export/ExportKeyPackageDialog.cpp" line="112"/>
@@ -902,12 +1003,12 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FilePage</name>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="63"/>
<source>Show Hidden File</source>
<translation type="unfinished">显示隐藏文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="70"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="69"/>
<source>Show System File</source>
<translation type="unfinished">显示系统文件</translation>
</message>
@@ -915,131 +1016,136 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FileTreeView</name>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="84"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="97"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="219"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="242"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="294"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="90"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="103"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="166"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="212"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="234"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="275"/>
<source>Error</source>
<translation type="unfinished">错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="85"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="91"/>
<source>The path is not exists, unprivileged or unreachable.</source>
<translation type="unfinished">该路径不存在、没有特权或无法访问。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="98"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="104"/>
<source>The file is unprivileged or unreachable.</source>
<translation type="unfinished">该目录不存在,或者您的权限不足。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="157"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="159"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
<source>Are you sure you want to delete it?</source>
<translation type="unfinished">你确定要删除吗?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
<source>Unable to delete the file or folder.</source>
<translation type="unfinished">无法删除文件或文件夹。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="176"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="189"/>
<source>Make New Directory</source>
<translation type="unfinished">新建目录</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="178"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
<source>Directory Name</source>
<translation type="unfinished">目录名称</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Create Empty File</source>
<translation type="unfinished">创建空文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Filename (you can given extension)</source>
<translation type="unfinished">文件名(您可以指定扩展名)</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="220"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="243"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="235"/>
<source>Unable to create the file.</source>
<translation type="unfinished">无法创建文件。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="314"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="298"/>
<source>Rename</source>
<translation type="unfinished">改名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
<source>New Filename</source>
<translation type="unfinished">新文件名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="295"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="276"/>
<source>Unable to rename the file or folder.</source>
<translation type="unfinished">无法重命名文件或文件夹。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="293"/>
<source>Open</source>
<translation type="unfinished">打开</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="319"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="303"/>
<source>Delete</source>
<translation type="unfinished">删除</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="324"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
<source>Calculate Hash</source>
<translation type="unfinished">计算哈希值</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="329"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="313"/>
<source>Directory</source>
<translation type="unfinished">目录</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="334"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="318"/>
<source>File</source>
<translation type="unfinished">文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="339"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="323"/>
<source>Compress...</source>
<translation type="unfinished">压缩...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="346"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="330"/>
<source>Open with Default System Application</source>
<translation type="unfinished">使用默认系统应用程序打开</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="335"/>
<source>New</source>
<translation type="unfinished">新建</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="393"/>
+ <source>Calculating</source>
+ <translation type="unfinished">计算中</translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::FindWidget</name>
<message>
- <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="46"/>
+ <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="45"/>
<source>Find</source>
<translation type="unfinished">查找</translation>
</message>
@@ -1089,40 +1195,45 @@ Description: %3</source>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="58"/>
<source>: </source>
- <translation type="unfinished">:</translation>
+ <translation>: </translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="59"/>
<source>GpgFrontend will restart automatically if you change the language!</source>
- <translation type="unfinished">如果您更改语言,GpgFrontend 将自动重启!</translation>
+ <translation>如果您更改语言,GpgFrontend 将自动重启!</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="61"/>
<source>Data</source>
- <translation type="unfinished">数据</translation>
+ <translation>数据</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="63"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="79"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="81"/>
<source>Clear All Log (Total Size: %1)</source>
- <translation type="unfinished">清除所有日志(总大小:%1)</translation>
+ <translation>清除所有日志(总大小:%1)</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="66"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="93"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="95"/>
<source>Clear All Data Objects (Total Size: %1)</source>
- <translation type="unfinished">清除所有数据对象(总大小:%1)</translation>
+ <translation>清除所有数据对象(总大小:%1)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="69"/>
+ <source>Reveal in File Explorer</source>
+ <translation>在文件资源管理器中显示</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="88"/>
<source>Confirm</source>
- <translation type="unfinished">确认</translation>
+ <translation>确认</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="87"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="89"/>
<source>Are you sure you want to clear all data objects?
This will result in loss of all cached form positions, statuses, key servers, etc.</source>
- <translation type="unfinished">您确定要清除所有数据对象吗?这将导致所有缓存的表单位置、状态、密钥服务器等丢失。</translation>
+ <translation>您确定要清除所有数据对象吗?这将导致所有缓存的页面位置、状态、密钥服务器等丢失。</translation>
</message>
</context>
<context>
@@ -1130,112 +1241,122 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="45"/>
<source>General</source>
- <translation type="unfinished">通用</translation>
+ <translation>通用</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="46"/>
<source>Key Database</source>
- <translation type="unfinished">密钥数据库</translation>
+ <translation>密钥数据库</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="47"/>
<source>Advanced</source>
- <translation type="unfinished">高级</translation>
+ <translation>高级</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
<source>No ASCII Mode</source>
- <translation type="unfinished">无 ASCII 模式</translation>
+ <translation type="obsolete">无 ASCII 模式</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
+ <source>Use Binary Mode for File Operations</source>
+ <translation>使用二进制模式进行文件操作</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="51"/>
<source>Use Pinentry as Password Input Dialog</source>
- <translation type="unfinished">使用 Pinentry 作为密码输入对话框</translation>
+ <translation>使用 Pinentry 作为密码输入对话框</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="52"/>
- <source>Use Custom GnuPG</source>
- <translation type="unfinished">使用自定义 GnuPG</translation>
+ <source>Enable GpgME Debug Log</source>
+ <translation>启用 GpgME 调试日志</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
+ <source>Use Custom GnuPG</source>
+ <translation>使用自定义 GnuPG</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="54"/>
<source>Select GnuPG Path</source>
- <translation type="unfinished">选择 GnuPG 路径</translation>
+ <translation>选择 GnuPG 路径</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="55"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="56"/>
<source>Use Custom GnuPG Key Database Path</source>
- <translation type="unfinished">使用自定义 GnuPG 密钥数据库路径</translation>
+ <translation>使用自定义 GnuPG 密钥数据库路径</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="58"/>
<source>Select Key Database Path</source>
- <translation type="unfinished">选择密钥数据库路径</translation>
+ <translation>选择密钥数据库路径</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="60"/>
+ <source>Restart Gpg Agent on start</source>
+ <translation>启动时重启 Gpg Agent</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="64"/>
<source>Tips: please select a directroy where &quot;gpgconf&quot; is located in.</source>
- <translation type="unfinished">提示:请选择“gpgconf”所在目录。</translation>
+ <translation>提示:请选择“gpgconf”所在目录。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="66"/>
<source>Tips: notice that modify any of these settings will cause an Application restart.</source>
- <translation type="unfinished">提示:请注意,修改任何这些设置都会导致应用程序重新启动。</translation>
+ <translation>提示:请注意,修改任何这些设置都会导致应用程序重新启动。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="95"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="98"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="118"/>
<source>Open Directory</source>
- <translation type="unfinished">打开目录</translation>
+ <translation>打开目录</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="171"/>
<source>GnuPG Controller</source>
- <translation type="unfinished">GnuPG 控制器</translation>
+ <translation>GnuPG 控制器</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="331"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="339"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="346"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="358"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="356"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="375"/>
<source>Illegal GnuPG Path</source>
- <translation type="unfinished">非法 GnuPG 路径</translation>
+ <translation>非法 GnuPG 路径</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="332"/>
<source>Target GnuPG Path is empty.</source>
- <translation type="unfinished">目标 GnuPG 路径为空。</translation>
+ <translation type="obsolete">目标 GnuPG 路径为空。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="340"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="357"/>
<source>Target GnuPG Path is not an exists readable directory.</source>
- <translation type="unfinished">目标 GnuPG 路径不是现有的可读目录。</translation>
+ <translation>目标 GnuPG 路径不是现有的可读目录。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="347"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="364"/>
<source>Target GnuPG Path is not an absolute path.</source>
- <translation type="unfinished">目标 GnuPG 路径不是绝对路径。</translation>
+ <translation>目标 GnuPG 路径不是绝对路径。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
<source>Target GnuPG Path contains no &quot;gpgconf&quot; executable.</source>
- <translation type="unfinished">目标 GnuPG 路径不包含“gpgconf”可执行文件。</translation>
+ <translation>目标 GnuPG 路径不包含“gpgconf”可执行文件。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="369"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="389"/>
<source>Illegal GnuPG Key Database Path</source>
- <translation type="unfinished">非法的 GnuPG 密钥数据库路径</translation>
+ <translation>非法的 GnuPG 密钥数据库路径</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="370"/>
<source>Target GnuPG Key Database Path is empty.</source>
- <translation type="unfinished">目标 GnuPG 密钥数据库路径为空。</translation>
+ <translation type="obsolete">目标 GnuPG 密钥数据库路径为空。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="377"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="390"/>
<source>Target GnuPG Key Database Path is not an exists readable directory.</source>
- <translation type="unfinished">目标 GnuPG 密钥数据库路径不是现有的可读目录。</translation>
+ <translation>目标 GnuPG 密钥数据库路径不是现有的可读目录。</translation>
</message>
</context>
<context>
@@ -1243,28 +1364,28 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="44"/>
<source>Name</source>
- <translation type="unfinished">姓名</translation>
+ <translation>名称</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="44"/>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Description</source>
- <translation type="unfinished">描述</translation>
+ <translation>描述</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="44"/>
<source>Version</source>
- <translation type="unfinished">版本</translation>
+ <translation>版本</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="45"/>
<source>Checksum</source>
- <translation type="unfinished">校验和</translation>
+ <translation>校验和</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="45"/>
<source>Binary Path</source>
- <translation type="unfinished">二进制路径</translation>
+ <translation>二进制路径</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="47"/>
@@ -1273,33 +1394,52 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="48"/>
+ <source>Directories</source>
+ <translation>目录</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="49"/>
+ <source>Options</source>
+ <translation>参数</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Directory Type</source>
+ <translation>目录类型</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Path</source>
+ <translation>路径</translation>
+ </message>
+ <message>
<source>Configurations</source>
- <translation type="unfinished">配置</translation>
+ <translation type="obsolete">配置</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Component</source>
- <translation type="unfinished">组件</translation>
+ <translation>组件</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Group</source>
- <translation type="unfinished">组</translation>
+ <translation>组</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Key</source>
- <translation type="unfinished">键</translation>
+ <translation>键</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Default Value</source>
- <translation type="unfinished">默认值</translation>
+ <translation>默认值</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="60"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="91"/>
<source>Value</source>
- <translation type="unfinished">值</translation>
+ <translation>值</translation>
</message>
</context>
<context>
@@ -1307,22 +1447,22 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/GpgFrontendApplication.cpp" line="64"/>
<source>Standard Exception Thrown</source>
- <translation type="unfinished">小意外</translation>
+ <translation>小意外</translation>
</message>
<message>
<location filename="../../../../src/ui/GpgFrontendApplication.cpp" line="65"/>
<source>Oops, an standard exception was thrown during the running of the program. This is not a serious problem, it may be the negligence of the programmer, please report this problem if you can.</source>
- <translation type="unfinished">糟糕,在程序运行期间遇到了一个小异常。这不是一个严重的问题,应该是由程序员的疏忽导致的,如果可以的话,请报告这个问题。</translation>
+ <translation>糟糕,在程序运行期间遇到了一个小异常。这不是一个严重的问题,应该是由程序员的疏忽导致的,如果可以的话,请报告这个问题。</translation>
</message>
<message>
<location filename="../../../../src/ui/GpgFrontendApplication.cpp" line="73"/>
<source>Unhandled Exception Thrown</source>
- <translation type="unfinished">未处理的异常</translation>
+ <translation>未处理的异常</translation>
</message>
<message>
<location filename="../../../../src/ui/GpgFrontendApplication.cpp" line="74"/>
<source>Oops, an unhandled exception was thrown during the running of the program. This is not a serious problem, it may be the negligence of the programmer, please report this problem if you can.</source>
- <translation type="unfinished">糟糕,在程序运行期间引发了未处理的异常。这不是一个严重的问题,可能是程序员的疏忽,如果可以的话,请报告这个问题。</translation>
+ <translation>糟糕,在程序运行期间引发了未处理的异常。这不是一个严重的问题,可能是程序员的疏忽,如果可以的话,请报告这个问题。</translation>
</message>
</context>
<context>
@@ -1330,37 +1470,37 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="45"/>
<source>Copy</source>
- <translation type="unfinished">复制</translation>
+ <translation>复制</translation>
</message>
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="46"/>
<source>Save File</source>
- <translation type="unfinished">保存文件</translation>
+ <translation>保存为文件</translation>
</message>
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="47"/>
<source>Clear</source>
- <translation type="unfinished">清空面板</translation>
+ <translation>清空面板</translation>
</message>
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="167"/>
<source>Save Information Board&apos;s Content</source>
- <translation type="unfinished">保存信息面板的内容</translation>
+ <translation>保存信息面板的内容</translation>
</message>
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="167"/>
<source>Text (*.txt)</source>
- <translation type="unfinished"></translation>
+ <translation>文本文件 (*.txt)</translation>
</message>
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="176"/>
<source>Error</source>
- <translation type="unfinished">错误</translation>
+ <translation>错误</translation>
</message>
<message>
<location filename="../../../../src/ui/widgets/InfoBoardWidget.cpp" line="177"/>
<source>The file path is not exists, unprivileged or unreachable.</source>
- <translation type="unfinished">文件路径不存在、无特权或无法访问。</translation>
+ <translation>文件路径不存在、无特权或无法访问。</translation>
</message>
</context>
<context>
@@ -1447,27 +1587,27 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
<source>KeyPair</source>
<translation type="unfinished">密钥对</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
<source>UIDs</source>
<translation type="unfinished">UID</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="45"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="50"/>
<source>Subkeys</source>
<translation type="unfinished">子密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="52"/>
<source>Operations</source>
<translation type="unfinished">操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="69"/>
<source>Key Details</source>
<translation type="unfinished">密钥详情</translation>
</message>
@@ -1507,7 +1647,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/key_generate/KeygenDialog.cpp" line="161"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">发生了未知错误</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/key_generate/KeygenDialog.cpp" line="197"/>
@@ -1611,108 +1751,113 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyImportDetailDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="44"/>
<location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="61"/>
<source>Key Import Details</source>
<translation type="unfinished">密钥导入详细信息</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="45"/>
<source>No keys found to import</source>
<translation type="unfinished">找不到要导入的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="73"/>
<source>General key info</source>
<translation type="unfinished">一般密钥信息</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="77"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="76"/>
<source>Considered</source>
<translation type="unfinished">经过认证</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="83"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="82"/>
<source>Public unchanged</source>
<translation type="unfinished">公开且不变</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="88"/>
<source>Imported</source>
<translation type="unfinished">导入</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="95"/>
<source>Not Imported</source>
<translation type="unfinished">未导入</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="103"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="102"/>
<source>Private Read</source>
<translation type="unfinished">私有且可读</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="110"/>
<source>Private Imported</source>
<translation type="unfinished">私有并导入</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="118"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="117"/>
<source>Private Unchanged</source>
<translation type="unfinished">私有未变更</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="123"/>
+ <source>New Revocations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Name</source>
<translation type="unfinished">姓名</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Email</source>
<translation type="unfinished">电子邮件</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Status</source>
<translation type="unfinished">状态</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="140"/>
<source>Fingerprint</source>
<translation type="unfinished">指纹</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="160"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
<source>Private</source>
<translation type="unfinished">私有的</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="163"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
<source>Public</source>
<translation type="unfinished">公开的</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
<source>Unchanged</source>
<translation type="unfinished">未变化</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="175"/>
<source>New Key</source>
<translation type="unfinished">新密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="178"/>
<source>New Subkey</source>
<translation type="unfinished">新子密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="176"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="182"/>
<source>New Signature</source>
<translation type="unfinished">新签名</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="180"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="186"/>
<source>New UID</source>
<translation type="unfinished">新 UID</translation>
</message>
@@ -1765,82 +1910,87 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">搜索钥匙...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Select</source>
<translation type="unfinished">选择</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Type</source>
<translation type="unfinished">类型</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Name</source>
<translation type="unfinished">姓名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Email Address</source>
<translation type="unfinished">电子邮件地址</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Usage</source>
<translation type="unfinished">用法</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Trust</source>
<translation type="unfinished">信任</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Finger Print</source>
<translation type="unfinished">指纹</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="183"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
+ <source>Key ID</source>
+ <translation type="unfinished">密钥编号</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="186"/>
<source>Refreshing Key List...</source>
<translation type="unfinished">正在刷新密钥列表...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Import Keys</source>
<translation type="unfinished">导入密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="356"/>
<source>You&apos;ve dropped something on the table.</source>
<translation type="unfinished">你把东西掉在桌子上了。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
<source>GpgFrontend will now try to import key(s).</source>
<translation type="unfinished">GpgFrontend 现在将尝试导入密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="360"/>
<source>Always import without bothering.</source>
<translation type="unfinished">始终导入而无需打扰。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="452"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="455"/>
<source>Key List Refreshed.</source>
<translation type="unfinished">密钥列表已刷新。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="473"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="476"/>
<source>Syncing Key List...</source>
<translation type="unfinished">正在同步密钥列表...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="481"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="484"/>
<source>Sync [%1/%2] %3 %4</source>
<translation type="unfinished">同步 [%1/%2] %3 %4</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="491"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="494"/>
<source>Key List Sync Done.</source>
<translation type="unfinished">密钥列表同步完成。</translation>
</message>
@@ -1848,347 +1998,368 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyMgmt</name>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
<source>All</source>
<translation type="unfinished">全部</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="61"/>
<source>Only Public Key</source>
<translation type="unfinished">只有公钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="71"/>
<source>Has Private Key</source>
<translation type="unfinished">有私钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="77"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="81"/>
<source>No Primary Key</source>
<translation type="unfinished">无主密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="86"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="90"/>
<source>Revoked</source>
<translation type="unfinished">已吊销</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="94"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="98"/>
<source>Expired</source>
<translation type="unfinished">已到期</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="123"/>
<source>KeyPair Management</source>
<translation type="unfinished">密钥对管理</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="144"/>
<source>Open</source>
<translation type="unfinished">打开</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="142"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
<source>Open Key File</source>
<translation type="unfinished">打开密钥文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="149"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="153"/>
<source>Close</source>
<translation type="unfinished">关闭</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="152"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="156"/>
<source>New Keypair</source>
<translation type="unfinished">新密钥对</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
<source>Generate KeyPair</source>
<translation type="unfinished">生成密钥对</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
<source>New Subkey</source>
<translation type="unfinished">新子密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished">为选定的密钥对生成子密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="257"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="171"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
<source>File</source>
<translation type="unfinished">文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
<source>Import New Key From File</source>
<translation type="unfinished">从文件导入新密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
<source>Clipboard</source>
<translation type="unfinished">剪贴板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="181"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished">从剪贴板导入新密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="188"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
<source>Keyserver</source>
<translation type="unfinished">密钥服务器</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="196"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished">从密钥服务器导入新密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="198"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="531"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="202"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Key Package</source>
<translation type="unfinished">密钥包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="201"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
<source>Import Key(s) From a Key Package</source>
<translation type="unfinished">从密钥包导入密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
<source>Export To Clipboard</source>
<translation type="unfinished">导出到剪贴板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
<source>Export Checked Key(s) To Clipboard</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">将选中的密钥导出到剪贴板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="217"/>
<source>Export As Key Package</source>
<translation type="unfinished">导出为密钥包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
<source>Export Checked Key(s) To a Key Package</source>
<translation type="unfinished">将勾选的密钥导出到密钥包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="224"/>
<source>Export As OpenSSH</source>
<translation type="unfinished">导出为OpenSSH密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="223"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
<source>Export Checked Key As OpenSSH Format to File</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">将校验过的密钥导出为 OpenSSH 格式文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="231"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished">删除这些选定的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="228"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
<source>Delete the Selected keys</source>
<translation type="unfinished">删除这个选定的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="236"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished">删除选中的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="233"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="237"/>
<source>Delete the Checked keys</source>
<translation type="unfinished">删除选中的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="238"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="242"/>
<source>Show Key Details</source>
<translation type="unfinished">显示密钥细节</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="239"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
<source>Show Details for this Key</source>
<translation type="unfinished">显示此密钥的详细信息</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="244"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="248"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">设置所有者信任级别</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="281"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="285"/>
<source>Key</source>
<translation type="unfinished">密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="262"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
<source>Generate Key</source>
<translation type="unfinished">生成密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="294"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="270"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="298"/>
<source>Import Key</source>
<translation type="unfinished">导入密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="272"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="276"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="306"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="307"/>
<source>Export Key</source>
<translation type="unfinished">导出密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="293"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="297"/>
<source>Import key</source>
<translation type="unfinished">导入密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="302"/>
- <source>Export key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="336"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="340"/>
<source>Deleting Keys</source>
<translation type="unfinished">删除密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="337"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="341"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished">您确定要删除以下密钥吗?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="343"/>
<source>The action can not be undone.</source>
<translation type="unfinished">该操作无法撤消。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="404"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="416"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="483"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="507"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="551"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="408"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="420"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="487"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="498"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="511"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="541"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="549"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="565"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="573"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="589"/>
<source>Error</source>
<translation type="unfinished">错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
<source>Key Not Found.</source>
<translation type="unfinished">未找到密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="379"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="462"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="468"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="370"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="383"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="466"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="472"/>
<source>Forbidden</source>
<translation type="unfinished">操作被禁止</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="367"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="371"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="384"/>
<source>Please check some keys before doing this operation.</source>
<translation type="unfinished">请在执行此操作之前勾选一些密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="372"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="376"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="524"/>
<source>key(s) exported</source>
<translation type="unfinished">导出的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="396"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="475"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="400"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="479"/>
<source>Exporting</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">导出中</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="405"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="417"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="495"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="409"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="421"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="488"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="499"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">发生了未知错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="438"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="442"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="452"/>
<source>Invalid Operation</source>
<translation type="unfinished">无效操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="439"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="443"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished">请在执行此操作前选择一个钥对。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="449"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="453"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished">如果密钥对没有私钥,那么它将无法生成子密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="463"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="467"/>
<source>Please check a key before performing this operation.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">请在执行此操作前勾选一个密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="469"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="473"/>
<source>This operation accepts just a single key.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">此操作只接受单个密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="512"/>
<source>This key may not be able to export as OpenSSH format. Please check the key-size of the subkey(s) used to sign.</source>
<translation type="unfinished">此密钥可能无法导出为 OpenSSH 格式。请检查用于签名的子密钥的密钥大小。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="515"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="519"/>
<source>Export OpenSSH Key To File</source>
<translation type="unfinished">将 OpenSSH 密钥导出到文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="516"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
<source>OpenSSH Public Key Files</source>
<translation type="unfinished">OpenSSH 公钥文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="530"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Import Key Package</source>
<translation type="unfinished">导入密钥包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="534"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="542"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="566"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished">无法打开此文件。请确保这是一个普通文件,并且有读取权限。</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="550"/>
+ <source>The target file is too large for a key package.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="555"/>
<source>Import Key Package Passphrase File</source>
<translation type="unfinished">导入密钥包密码文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="535"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="556"/>
<source>Key Package Passphrase File</source>
<translation type="unfinished">密钥包密码文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="545"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="574"/>
+ <source>The target file is too large for a key package passphrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="580"/>
+ <source>Importing</source>
+ <translation type="unfinished">导入中</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="596"/>
<source>key(s) imported</source>
<translation type="unfinished">导入的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="552"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="590"/>
<source>An error occur in importing key package.</source>
<translation type="unfinished">导入密钥包出错。</translation>
</message>
@@ -2374,17 +2545,17 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">永不过期</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="258"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="257"/>
<source>No Data</source>
<translation type="unfinished">没有数据</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="275"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="274"/>
<source>Warning: The primary key has expired.</source>
<translation type="unfinished">警告:主密钥已过期。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="279"/>
<source>Warning: The primary key has been revoked.</source>
<translation type="unfinished">警告:主密钥已被撤销。</translation>
</message>
@@ -2392,200 +2563,255 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyPairOperaTab</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="51"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="53"/>
<source>General Operations</source>
- <translation type="unfinished">一般操作</translation>
+ <translation>一般操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="59"/>
<source>Export Public Key</source>
- <translation type="unfinished">导出公钥</translation>
+ <translation>导出公钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="65"/>
<source>Export Private Key</source>
- <translation type="unfinished">导出私钥</translation>
+ <translation>导出私钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="70"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="72"/>
<source>Modify Expiration Datetime (Primary Key)</source>
- <translation type="unfinished">修改到期日期时间(主密钥)</translation>
+ <translation>修改到期日期时间(主密钥)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="73"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="75"/>
<source>Modify Password</source>
- <translation type="unfinished">修改密码</translation>
+ <translation>修改密码</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="92"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="93"/>
<source>Key Server Operation (Pubkey)</source>
- <translation type="unfinished">密钥服务器操作(公钥)</translation>
+ <translation>密钥服务器操作(公钥)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="100"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="177"/>
<source>Generate Revoke Certificate</source>
- <translation type="unfinished">生成撤销证书</translation>
+ <translation>生成吊销证书</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="106"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="107"/>
<source>Modify TOFU Policy</source>
- <translation type="unfinished">修改TOFU策略</translation>
+ <translation>修改TOFU策略</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="101"/>
+ <source>Revoke Certificate Operation</source>
+ <translation>吊销证书操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="114"/>
<source>Set Owner Trust Level</source>
- <translation type="unfinished">设置所有者信任级别</translation>
+ <translation>设置所有者信任级别</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="135"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="138"/>
<source>Upload Key Pair to Key Server</source>
- <translation type="unfinished">上传密钥对到密钥服务器</translation>
+ <translation>上传密钥对到密钥服务器</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="143"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="146"/>
<source>Sync Key Pair From Key Server</source>
- <translation type="unfinished">从密钥服务器同步密钥对</translation>
+ <translation>从密钥服务器同步密钥对</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="158"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="161"/>
<source>Export Full Secret Key</source>
- <translation type="unfinished">导出完整密钥</translation>
+ <translation>导出完整私钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="164"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="167"/>
<source>Export Shortest Secret Key</source>
- <translation type="unfinished">导出最短密钥</translation>
+ <translation>导出最短私钥</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="182"/>
+ <source>Import Revoke Certificate</source>
+ <translation>导入吊销证书</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="191"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="237"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="298"/>
<source>Export Key To File</source>
- <translation type="unfinished">将密钥导出到文件</translation>
+ <translation>将密钥导出到文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="192"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="238"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="281"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="299"/>
<source>Key Files</source>
- <translation type="unfinished">密钥文件</translation>
+ <translation>密钥文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="197"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="243"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="286"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="215"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="261"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="304"/>
<source>Export Error</source>
- <translation type="unfinished">导出错误</translation>
+ <translation>导出错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="198"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="244"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="287"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="216"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="262"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="305"/>
<source>Couldn&apos;t open %1 for writing</source>
- <translation type="unfinished">无法打开 %1 进行写入</translation>
+ <translation>无法打开 %1 进行写入</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="206"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="224"/>
<source>Exporting short private Key</source>
- <translation type="unfinished">导出短私钥</translation>
+ <translation>导出短私钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="207"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="254"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="225"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="272"/>
<source>You are about to export your</source>
- <translation type="unfinished">您即将导出您的</translation>
+ <translation>您即将导出您的</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="208"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="226"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="273"/>
<source> PRIVATE KEY </source>
- <translation type="unfinished"> 私钥</translation>
+ <translation> 私钥 </translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="227"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="274"/>
<source>This is NOT your Public Key, so DON&apos;T give it away.</source>
- <translation type="unfinished">这不是你的公钥,所以不要把它给别人!</translation>
+ <translation>这不是你的公钥,所以不要把它给别人。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="228"/>
<source>Do you REALLY want to export your PRIVATE KEY in a Minimum Size?</source>
- <translation type="unfinished">您真的想以最小尺寸导出您的私钥吗?</translation>
+ <translation>您真的想以最小尺寸导出您的私钥吗?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="213"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="231"/>
<source>For OpenPGP keys it removes all signatures except for the latest self-signatures.</source>
- <translation type="unfinished">对于 OpenPGP 密钥,它会删除除最新的自签名之外的所有签名。</translation>
+ <translation>对于 OpenPGP 密钥,它会删除除最新的自签名之外的所有签名。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="253"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="271"/>
<source>Exporting private Key</source>
- <translation type="unfinished">导出私钥</translation>
+ <translation>导出私钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="257"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="275"/>
<source>Do you REALLY want to export your PRIVATE KEY?</source>
- <translation type="unfinished">你真的想导出你的私钥吗?</translation>
+ <translation>你真的想导出你的私钥吗?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="315"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="329"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="412"/>
<source>Revocation Certificates</source>
- <translation type="unfinished">吊销证书</translation>
+ <translation>吊销证书</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="326"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="340"/>
<source>Generate revocation certificate</source>
- <translation type="unfinished"></translation>
+ <translation>生成撤吊销证书</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="357"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
<source>Policy Auto</source>
- <translation type="unfinished">策略:自动</translation>
+ <translation>策略:自动</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="373"/>
<source>Policy Good</source>
- <translation type="unfinished">策略:正常</translation>
+ <translation>策略:正常</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="375"/>
<source>Policy Bad</source>
- <translation type="unfinished">策略:异常</translation>
+ <translation>策略:异常</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="377"/>
<source>Policy Ask</source>
- <translation type="unfinished">策略:咨询</translation>
+ <translation>策略:询问</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="365"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="379"/>
<source>Policy Unknown</source>
- <translation type="unfinished">策略:未知</translation>
+ <translation>策略:未知</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="352"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="366"/>
<source>Modify TOFU Policy(Default is Auto)</source>
- <translation type="unfinished">修改TOFU策略(默认为自动)</translation>
+ <translation>修改TOFU策略(默认为自动)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="353"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="367"/>
<source>Policy for the Key Pair:</source>
- <translation type="unfinished">密钥对策略:</translation>
+ <translation>密钥对策略:</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="370"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="384"/>
<source>Not Successful</source>
- <translation type="unfinished">不成功</translation>
+ <translation>失败</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="385"/>
<source>Modify TOFU policy not successfully.</source>
- <translation type="unfinished">修改 TOFU 策略不成功。</translation>
+ <translation>修改 TOFU 策略失败。</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="399"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="411"/>
+ <source>Import Key Revocation Certificate</source>
+ <translation>导入密钥吊销证书</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="400"/>
+ <source>You are about to import the</source>
+ <translation>您将导入</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="401"/>
+ <source>REVOCATION CERTIFICATE</source>
+ <translation>吊销证书</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="402"/>
+ <source>A successful import will result in the key being irreversibly revoked.</source>
+ <translation>导入成功后,密钥将被不可逆转地吊销。</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="404"/>
+ <source>Do you REALLY want to execute this operation?</source>
+ <translation>您真的想执行这个操作吗?</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="420"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="429"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="437"/>
+ <source>Error</source>
+ <translation>错误</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="421"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="438"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation>无法打开此文件。请确保这是一个普通文件,并且有读取权限。</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="430"/>
+ <source>The target file is too large for a key revocation certificate.</source>
+ <translation>目标文件对于一个密钥吊销证书来说太大了。</translation>
</message>
</context>
<context>
@@ -2674,7 +2900,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="159"/>
<source>Create Date</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">创建时间</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="160"/>
@@ -2682,12 +2908,12 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">到期日期</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="202"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="203"/>
<source>Never Expire</source>
<translation type="unfinished">永不过期</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="239"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="240"/>
<source>Never Expires</source>
<translation type="unfinished">永不过期</translation>
</message>
@@ -2794,12 +3020,12 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairUIDTab.cpp" line="163"/>
<source>Create Date</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">创建时间</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairUIDTab.cpp" line="164"/>
<source>Expired Date</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">过期时间</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairUIDTab.cpp" line="240"/>
@@ -2980,7 +3206,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="70"/>
<location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="74"/>
<source>: </source>
- <translation type="unfinished">:</translation>
+ <translation>: </translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="74"/>
@@ -3073,14 +3299,24 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">找到 %1 个密钥。双击一个密钥来导入它。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="415"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="371"/>
+ <source>Warning</source>
+ <translation type="unfinished">警告</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="372"/>
+ <source>Please select one KeyPair before doing this operation.</source>
+ <translation type="unfinished">请在执行此操作前选择一个钥对。</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="419"/>
<source>Key Imported</source>
<translation type="unfinished">密钥导入成功</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="426"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="430"/>
<source>Processing ...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">处理中 ......</translation>
</message>
</context>
<context>
@@ -3088,22 +3324,22 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="74"/>
<source>Key not found in the Keyserver.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">密钥服务器中找不到密钥。</translation>
</message>
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="77"/>
<source>Network connection timeout.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">网络连接错误。</translation>
</message>
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="80"/>
<source>Cannot resolve the address of target key server.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">网络连接超时。</translation>
</message>
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="83"/>
<source>General connection error occurred.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">出现一般连接错误。</translation>
</message>
<message>
<location filename="../../../../src/ui/thread/KeyServerImportTask.cpp" line="89"/>
@@ -3162,32 +3398,32 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">签名者</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="80"/>
<source>Expire Date</source>
<translation type="unfinished">到期日期</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="90"/>
<source>Sign For Key&apos;s UID(s)</source>
<translation type="unfinished">为密钥的 UID 签名</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="114"/>
<source>Unsuccessful Operation</source>
<translation type="unfinished">不成功的操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="115"/>
<source>Signature operation failed for UID %1</source>
<translation type="unfinished">UID %1 的签名操作失败</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
<source>Operation Complete</source>
<translation type="unfinished">操作完成</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="127"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
<source>The signature operation of the UID is complete</source>
<translation type="unfinished">UID的签名操作完成</translation>
</message>
@@ -3207,7 +3443,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="78"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">发生未知错误</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="147"/>
@@ -3232,7 +3468,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="158"/>
<source>Upload Failed</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">上传失败</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/import_export/KeyUploadDialog.cpp" line="162"/>
@@ -3351,7 +3587,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsKeyServer.cpp" line="221"/>
<source>timeout(ms): </source>
- <translation type="unfinished"></translation>
+ <translation>超时时间(毫秒): </translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsKeyServer.cpp" line="245"/>
@@ -3377,546 +3613,557 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::MainWindow</name>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="164"/>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="167"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="158"/>
<source>Critical error occur while loading GpgFrontend.</source>
<translation type="unfinished">加载 GpgFrontend 时发生严重错误。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="157"/>
<source>Loading Failed</source>
<translation type="unfinished">加载失败</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="48"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="100"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="143"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="162"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="187"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="214"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="257"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="276"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="293"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="307"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="325"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="342"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="356"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="375"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="430"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="449"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="503"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="528"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="568"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="605"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="631"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="671"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="709"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="735"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="768"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="801"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="811"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="836"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="72"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="119"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="175"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="208"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="244"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="320"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="242"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="250"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="145"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="164"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="260"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="311"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="329"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="347"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="361"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="435"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="454"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="489"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="536"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="613"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="639"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="717"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="743"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="775"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="822"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="847"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="121"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="210"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="246"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="322"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="368"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="255"/>
<source>Error</source>
<translation type="unfinished">错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="163"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="277"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="326"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="376"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="450"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="529"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="632"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="736"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="802"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="50"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="165"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="280"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="330"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="381"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="455"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="537"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="640"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="813"/>
<source>Cannot read from file: %1</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">无法读取文件:%1</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="176"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="178"/>
<source>The target file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">目标文件 %1 已经存在,是否需要覆盖?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="65"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="179"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="284"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="333"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="411"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="575"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="678"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="750"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="817"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="66"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="181"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="288"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="338"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="416"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="583"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="686"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="757"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="828"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="188"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="294"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="343"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="569"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="672"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="745"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="190"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="298"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="577"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="680"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="752"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="823"/>
<source>Cannot write to file: %1</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">无法写入文件:%1</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="83"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="197"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="52"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="199"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="54"/>
<source>Symmetric Encryption</source>
<translation type="unfinished">对称加密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="198"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="200"/>
<source>No Key Selected. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">未选择密钥。您想使用密码使用对称密码进行加密吗?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="90"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="61"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="63"/>
<source>Symmetrically Encrypting</source>
- <translation type="unfinished">对称加密</translation>
- </message>
- <message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="144"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="215"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="258"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="308"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="357"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="431"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="504"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="606"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="710"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="769"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="837"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="120"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="176"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="209"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="245"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="321"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="367"/>
+ <translation type="unfinished">对称加密中</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="102"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="217"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="261"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="312"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="362"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="509"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="614"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="718"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="776"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="848"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="178"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="211"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="323"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="369"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">发生了未知错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="125"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="550"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="653"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="277"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="558"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="661"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
<source>Invalid KeyPair</source>
<translation type="unfinished">无效的密钥对</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="240"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="654"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="278"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="242"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="559"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="662"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="280"/>
<source>The selected keypair cannot be used for encryption.</source>
<translation type="unfinished">所选的密钥对不能用于加密。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="552"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="655"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="128"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="560"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="663"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="281"/>
<source>For example the Following Key:</source>
<translation type="unfinished">例如以下密钥:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="134"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="109"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="135"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="111"/>
<source>Encrypting</source>
<translation type="unfinished">加密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="204"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="206"/>
<source>Archiving &amp; Symmetrically Encrypting</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">正在打包并进行对称加密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="250"/>
<source>Archiving &amp; Encrypting</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">正在打包并进行加密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="285"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="334"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="289"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="584"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="687"/>
<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/MainWindowFileSlotFunction.cpp" line="299"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="200"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="202"/>
<source>Decrypting</source>
<translation type="unfinished">解密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/>
<source>Decrypting &amp; Extrating</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">正在进行解密并解包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="385"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="539"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="642"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="145"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="390"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="547"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="650"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="147"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="267"/>
<source>No Key Checked</source>
<translation type="unfinished">未勾选任何密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="386"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="540"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="643"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="391"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="548"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="651"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="148"/>
<source>Please check the key in the key toolbox on the right.</source>
<translation type="unfinished">请勾选右侧密钥工具箱中的密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="393"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="98"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="154"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="398"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="156"/>
<source>Invalid Operation</source>
<translation type="unfinished">无效操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="394"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="399"/>
<source>The selected key contains a key that does not actually have a sign usage.</source>
<translation type="unfinished">所选密钥包含一个实际上没有符号用法的密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="396"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="401"/>
<source>for example the Following Key:</source>
<translation type="unfinished">例如以下密钥:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="412"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="417"/>
<source>The signature file &quot;%1&quot; exists, do you need to overwrite it?</source>
<translation type="unfinished">签名文件“%1”存在,是否需要覆盖?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="421"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="426"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="168"/>
<source>Signing</source>
<translation type="unfinished">签名</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="470"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="475"/>
<source>File to be Verified</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">被验证的文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="471"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="476"/>
<source>Please provide An ABSOLUTE Path
If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </source>
- <translation type="unfinished"></translation>
+ <translation>请提供绝对路径
+如果确认数据和签名都在一个文件中,请置空: </translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="485"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="490"/>
<source>Please select the appropriate origin file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished">请选择合适的源文件或签名文件。确保两者都在此目录中。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="235"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="499"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="237"/>
<source>Verifying</source>
<translation type="unfinished">验证</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="594"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="308"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="602"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="310"/>
<source>Encrypting and Signing</source>
<translation type="unfinished">加密和签名</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="697"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="705"/>
<source>Archiving &amp; Encrypting &amp; Signing</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">正在进行打包、加密及签名操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="818"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="758"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="829"/>
<source>The output file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">输出文件 %1 已经存在,是否需要覆盖?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="760"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="356"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="767"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="358"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished">解密和验证</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="827"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="838"/>
<source>Decrypting &amp; Verifying &amp; Extracting</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">正在进行解包、解密及验证操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="55"/>
<source>No Key Checked. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">未选中任何密钥。您想使用密码对文字进行对称加密吗?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="99"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
<source>The selected key contains a key that does not actually have a encrypt usage.</source>
<translation type="unfinished">所选密钥包含一个实际上没有加密用途的密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
<source>The selected key contains a key that does not actually have a signature usage.</source>
<translation type="unfinished">所选密钥包含一个实际上没有签名用法的密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="266"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="268"/>
<source>Please check some key in the key toolbox on the right.</source>
<translation type="unfinished">请勾选右侧密钥工具箱中的一些密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
<source>Key Not Found.</source>
<translation type="unfinished">未找到密钥。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="101"/>
- <source> (Local Time) </source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/>
+ <source>Localize</source>
+ <translation type="unfinished">本地化</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="105"/>
+ <source>UTC</source>
+ <translation type="unfinished">世界标准时间</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
+ <source>Local Time</source>
+ <translation type="unfinished">当地时间</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="248"/>
<source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">无法打开此文件。请确保这是一个普通文件,并且有读取权限。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="251"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="256"/>
<source>Cannot open this file. The file is TOO LARGE (&gt;1MB) for GpgFrontend Text Editor.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">无法打开此文件。文件对于 GpgFrontend 文本编辑器来说过大(&gt;1MB)。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/>
<source>GpgFrontend Upgradeable (New Version: %1).</source>
<translation type="unfinished">GpgFrontend 可升级(新版本:%1)。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="307"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/>
<source>Withdrawn Version</source>
<translation type="unfinished">被召回的版本</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="309"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
<source>This version(%1) may have been withdrawn by the developer due to serious problems. Please stop using this version immediately and use the latest stable version.</source>
<translation type="unfinished">由于严重问题,此版本(%1) 可能已被开发人员召回。请立即停止使用此版本并使用最新的稳定版。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
<source>You can download the latest stable version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished">您可以在 Github Releases Page 上下载最新的稳定版 (%1)。&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="324"/>
<source>This maybe a BETA Version (Latest Stable Version: %1).</source>
<translation type="unfinished">这可能是 BETA 版本(最新稳定版:%1)。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="45"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="44"/>
<source>New</source>
<translation type="unfinished">新建</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="51"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="50"/>
<source>Open a new file</source>
<translation type="unfinished">打开一个新文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="54"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="53"/>
<source>Open...</source>
<translation type="unfinished">打开...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="56"/>
<source>Open an existing file</source>
<translation type="unfinished">打开现有文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="60"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="59"/>
<source>File Browser</source>
<translation type="unfinished">文件浏览器</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="62"/>
<source>Open a file browser</source>
<translation type="unfinished">打开文件浏览器</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="66"/>
<source>Save File</source>
<translation type="unfinished">保存文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="70"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="69"/>
<source>Save the current File</source>
<translation type="unfinished">保存当前文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="73"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="72"/>
<source>Save As</source>
<translation type="unfinished">另存为</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="76"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="75"/>
<source>Save the current File as...</source>
<translation type="unfinished">将当前文件另存为...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="79"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="78"/>
<source>Print</source>
<translation type="unfinished">打印</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="82"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="81"/>
<source>Print Document</source>
<translation type="unfinished">打印文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="84"/>
<source>Close</source>
<translation type="unfinished">关闭</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="87"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="86"/>
<source>Close file</source>
<translation type="unfinished">关闭文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="90"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="89"/>
<source>Quit</source>
<translation type="unfinished">退出</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="93"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="92"/>
<source>Quit Program</source>
<translation type="unfinished">退出程序</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="98"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="97"/>
<source>Undo</source>
<translation type="unfinished">撤消</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="99"/>
<source>Undo Last Edit Action</source>
<translation type="unfinished">撤消上次编辑操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="102"/>
<source>Redo</source>
<translation type="unfinished">重做</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="105"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="104"/>
<source>Redo Last Edit Action</source>
<translation type="unfinished">重做上次编辑操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="108"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="107"/>
<source>Zoom In</source>
<translation type="unfinished">放大</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="112"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="111"/>
<source>Zoom Out</source>
<translation type="unfinished">缩小</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="116"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="115"/>
<source>Paste</source>
<translation type="unfinished">粘贴</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="118"/>
<source>Paste Text From Clipboard</source>
<translation type="unfinished">从剪贴板粘贴文本</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="121"/>
<source>Cut</source>
<translation type="unfinished">剪切</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="125"/>
<source>Cut the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">将当前选择的内容剪切到剪贴板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="130"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="129"/>
<source>Copy</source>
<translation type="unfinished">复制</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="134"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="133"/>
<source>Copy the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">将当前选择的内容复制到剪贴板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="138"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="137"/>
<source>Quote</source>
<translation type="unfinished">引用</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="139"/>
<source>Quote whole text</source>
<translation type="unfinished">引用全文</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="143"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="142"/>
<source>Select All</source>
<translation type="unfinished">全选</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="145"/>
<source>Select the whole text</source>
<translation type="unfinished">选择整个文本</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="149"/>
<source>Find</source>
<translation type="unfinished">查找</translation>
</message>
@@ -4362,7 +4609,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="656"/>
<source>Import key from...</source>
- <translation type="unfinished">从...导入密钥</translation>
+ <translation>从···导入密钥</translation>
</message>
<message>
<location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="657"/>
@@ -4486,7 +4733,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsNetwork.cpp" line="171"/>
<source>Server Url</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">服务器路径</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsNetwork.cpp" line="181"/>
@@ -4528,7 +4775,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
<message>
<location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="63"/>
- <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="196"/>
<source>%1 character(s)</source>
<translation type="unfinished">%1 个字符</translation>
</message>
@@ -4581,42 +4828,46 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="67"/>
<source>Repeat PIN:</source>
- <translation type="unfinished"></translation>
+ <translation>重复密码:</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="68"/>
<source>Show passphrase</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">显示密码</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="68"/>
<source>Hide passphrase</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">隐藏密码</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="71"/>
<source>Given PIN was wrong. Please retry.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">所给的密码有误,请重新输入。</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="74"/>
<source>PIN:</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">密码:</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="84"/>
<source>Passphrases do not match</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">密码不匹配</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="87"/>
<source>Caps Lock is on</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">大写锁定已开启</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="91"/>
+ <source>Bundled Pinentry</source>
+ <translation type="unfinished">集成Pinentry</translation>
+ </message>
+ <message>
<source>Buddled Pinentry</source>
- <translation type="unfinished"></translation>
+ <translation type="obsolete">集成Pinentry</translation>
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="95"/>
@@ -4770,7 +5021,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/SignersPicker.cpp" line="73"/>
<source>Signers Picker</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">签署人选择界面</translation>
</message>
</context>
<context>
@@ -4858,7 +5109,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp" line="301"/>
<source>Unknown error occurred</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">发生未知错误</translation>
</message>
</context>
<context>
@@ -4918,56 +5169,56 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished">打开目录</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="143"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="203"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="422"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="145"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="205"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="424"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
<source>Cannot read file %1:
%2.</source>
<translation type="unfinished">无法读取文件 %1:
%2。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="152"/>
<source>Open file</source>
<translation type="unfinished">打开文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="222"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="221"/>
<source>Save file</source>
<translation type="unfinished">保存存档</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="282"/>
<source>Unsaved document</source>
<translation type="unfinished">未保存的文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="284"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
<source>The document &quot;%1&quot; has been modified. Do you want to save your changes?</source>
<translation type="unfinished">文档“%1”已被修改。是否要保存更改?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="286"/>
<source>Note:</source>
<translation type="unfinished">笔记:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="288"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
<source>If you don&apos;t save these files, all changes are lost.</source>
<translation type="unfinished">如果您不保存这些文件,所有更改都将丢失。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>No document to print</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">没有要打印的文件</translation>
</message>
</context>
<context>
@@ -4998,7 +5249,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/help/AboutDialog.cpp" line="164"/>
<source>: </source>
- <translation type="unfinished">:</translation>
+ <translation>: </translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/help/AboutDialog.cpp" line="246"/>
@@ -5034,7 +5285,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<message>
<location filename="../../../../src/ui/dialog/help/AboutDialog.cpp" line="263"/>
<source>This version has serious problems and has been withdrawn. Please stop using it immediately.</source>
- <translation type="unfinished">此版本存在严重问题,已经被召回。请立即停止使用!</translation>
+ <translation>此版本存在严重问题,已经被召回。请立即停止使用。</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/help/AboutDialog.cpp" line="274"/>
@@ -5045,27 +5296,27 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="38"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="39"/>
<source>Signatures Details</source>
<translation type="unfinished">签名详情</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="62"/>
<source>No valid input found</source>
<translation type="unfinished">找不到有效的输入</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="71"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="72"/>
<source>Error Validating signature</source>
<translation type="unfinished">验证签名时出错</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
<source>File was signed on %1</source>
<translation type="unfinished">文件已在 %1 上签名</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="76"/>
<location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="80"/>
<source>It Contains</source>
<translation type="unfinished">它包含了</translation>
@@ -5079,154 +5330,154 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyKeyDetailBox</name>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="53"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="54"/>
<source>Import from keyserver</source>
<translation type="unfinished">从密钥服务器导入</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="58"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="59"/>
<source>Key not present with id 0x</source>
<translation type="unfinished">不存在 ID 为 0x 的密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Status</source>
<translation type="unfinished">状态</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
<source>:</source>
<translation type="unfinished">:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="65"/>
<source>Key not present in key list</source>
<translation type="unfinished">密钥不在密钥列表中</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="72"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="73"/>
<source>A Signature</source>
<translation type="unfinished">一个签名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="77"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="92"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="107"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="123"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="138"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="78"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="93"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="108"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="124"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="139"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="154"/>
<source>Key Information is NOT Available</source>
<translation type="unfinished">密钥信息不可用</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="79"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="94"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="109"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="125"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="140"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="155"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="80"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="95"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="110"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="126"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="141"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="156"/>
<source>Fingerprint</source>
<translation type="unfinished">指纹</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
<source>Cert Revoked</source>
<translation type="unfinished">证书吊销</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<source>Signature Expired</source>
<translation type="unfinished">签名过期</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
<source>Key Expired</source>
<translation type="unfinished">密钥过期</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
<source>General Error</source>
<translation type="unfinished">一般错误</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Unknown Error </source>
- <translation type="unfinished">未知错误</translation>
+ <translation>未知错误 </translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="176"/>
<source>Signer Name</source>
<translation type="unfinished">签名者姓名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="177"/>
<source>Signer Email</source>
<translation type="unfinished">签名者电子邮件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
<source>Key&apos;s Fingerprint</source>
<translation type="unfinished">密钥的指纹</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="181"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
<source>Valid</source>
<translation type="unfinished">有效的</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="182"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
<source>Flags</source>
<translation type="unfinished">标志</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="187"/>
<source>Fully Valid</source>
<translation type="unfinished">完全有效</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
<source>NOT Fully Valid</source>
<translation type="unfinished">不完全有效</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="196"/>
<source>Good</source>
<translation type="unfinished">正常</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="201"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="199"/>
<source>Bad</source>
<translation type="unfinished">异常</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="202"/>
<source>Expired</source>
<translation type="unfinished">已到期</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="207"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="205"/>
<source>Missing Key</source>
<translation type="unfinished">缺少密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="210"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="208"/>
<source>Revoked Key</source>
<translation type="unfinished">撤销密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="211"/>
<source>Expired Key</source>
<translation type="unfinished">过期密钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="216"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="214"/>
<source>Missing CRL</source>
<translation type="unfinished">缺少 CRL</translation>
</message>
@@ -5273,115 +5524,166 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
</context>
<context>
- <name>QObject</name>
+ <name>QCoreApplication</name>
<message>
<location filename="../../../../src/cmd.cpp" line="49"/>
<source>This is free software; see the source for copying conditions.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">此为自由软件。关于版权信息,请参阅源代码中的版权文件。</translation>
</message>
<message>
<location filename="../../../../src/cmd.cpp" line="54"/>
<source>Build DateTime: </source>
- <translation type="unfinished"></translation>
+ <translation>构建时间: </translation>
</message>
<message>
<location filename="../../../../src/cmd.cpp" line="55"/>
<source>Build Version: </source>
- <translation type="unfinished"></translation>
+ <translation>构建版本: </translation>
</message>
<message>
<location filename="../../../../src/cmd.cpp" line="56"/>
<source>Source Code Version: </source>
- <translation type="unfinished"></translation>
+ <translation>源代码版本: </translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="196"/>
- <source>GpgME inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
+ <source>Loading Gnupg Info...</source>
+ <translation type="unfinished">正在加载 Gnupg 信息...</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="322"/>
- <source>GpgME Context inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="54"/>
+ <source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
+ <translation type="unfinished">如果此过程太慢,请在 gnupg 配置文件中适当设置密钥服务器地址(取决于您所在国家或地区的网络情况)。</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="331"/>
- <source>Gpg Key Detabase inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="63"/>
+ <source>Show Verify Details</source>
+ <translation type="unfinished">显示验证详细信息</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="75"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="71"/>
+ <source>Public key not found locally</source>
+ <translation type="unfinished">本地未找到公钥</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="72"/>
+ <source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
+ <translation type="unfinished">本地没有目标公钥内容供 GpgFrontend 收集有关此签名的足够信息。现在要从密钥服务器导入公钥吗?</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="89"/>
<source>File Hash Information</source>
<translation type="unfinished">文件哈希信息</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <source>filename</source>
- <translation type="unfinished">文档名称</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
+ <source>Filename</source>
+ <translation type="unfinished">文件名</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="92"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="100"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="108"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="95"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="99"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="104"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="110"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="116"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
<source>: </source>
- <translation type="unfinished">:</translation>
+ <translation>: </translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <source>file size(bytes)</source>
- <translation type="unfinished">文件大小(字节)</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="94"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="98"/>
+ <source>File Size</source>
+ <translation type="unfinished">文件大小</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="113"/>
- <source>Error in Calculating File Hash </source>
- <translation type="unfinished">计算文件哈希时出错</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="123"/>
+ <source>Error: cannot read target file</source>
+ <translation type="unfinished">错误:无法读取目标文件</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="143"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
<source>target path doesn&apos;t exists</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">目标路径不存在</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="148"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="162"/>
<source>do NOT have permission to write path</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">缺少写入路径的权限</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="153"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="168"/>
<source>do NOT have permission to read/write file</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">缺少读写文件的权限</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="171"/>
<source>Success</source>
<translation type="unfinished">成功</translation>
</message>
<message>
- <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="294"/>
+ <source>GpgME initiation failed</source>
+ <translation type="unfinished">GpgME初始化失败</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="397"/>
+ <source>GpgME Context initiation failed</source>
+ <translation type="unfinished">GpgME上下文初始化失败</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="406"/>
+ <source>Gpg Key Detabase initiation failed</source>
+ <translation type="unfinished">密钥数据库初始化失败</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>File Hash Information</source>
+ <translation type="obsolete">文件哈希信息</translation>
+ </message>
+ <message>
+ <source>filename</source>
+ <translation type="obsolete">文档名称</translation>
+ </message>
+ <message>
+ <source>: </source>
+ <translation type="obsolete">:</translation>
+ </message>
+ <message>
+ <source>file size(bytes)</source>
+ <translation type="obsolete">文件大小(字节)</translation>
+ </message>
+ <message>
+ <source>Error in Calculating File Hash </source>
+ <translation type="obsolete">计算文件哈希时出错</translation>
+ </message>
+ <message>
+ <source>Success</source>
+ <translation type="obsolete">成功</translation>
+ </message>
+ <message>
<source>Loading Gnupg Info...</source>
- <translation type="unfinished">正在加载 Gnupg 信息...</translation>
+ <translation type="obsolete">正在加载 Gnupg 信息...</translation>
</message>
<message>
- <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="54"/>
<source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
- <translation type="unfinished">如果此过程太慢,请在 gnupg 配置文件中适当设置密钥服务器地址(取决于您所在国家或地区的网络情况)。</translation>
+ <translation type="obsolete">如果此过程太慢,请在 gnupg 配置文件中适当设置密钥服务器地址(取决于您所在国家或地区的网络情况)。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="64"/>
<source>Show Verify Details</source>
- <translation type="unfinished">显示验证详细信息</translation>
+ <translation type="obsolete">显示验证详细信息</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="73"/>
<source>Public key not found locally</source>
- <translation type="unfinished">本地未找到公钥</translation>
+ <translation type="obsolete">本地未找到公钥</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="74"/>
<source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
- <translation type="unfinished">本地没有目标公钥内容供 GpgFrontend 收集有关此签名的足够信息。现在要从密钥服务器导入公钥吗?</translation>
+ <translation type="obsolete">本地没有目标公钥内容供 GpgFrontend 收集有关此签名的足够信息。现在要从密钥服务器导入公钥吗?</translation>
</message>
</context>
</TS>
diff --git a/resource/lfs/locale/ts/GpgFrontend.zh_TW.ts b/resource/lfs/locale/ts/GpgFrontend.zh_TW.ts
index 13fdc856..b94379ff 100644
--- a/resource/lfs/locale/ts/GpgFrontend.zh_TW.ts
+++ b/resource/lfs/locale/ts/GpgFrontend.zh_TW.ts
@@ -25,7 +25,7 @@
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="59"/>
- <source>Gernal State</source>
+ <source>General State</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -36,7 +36,7 @@
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="65"/>
<source>MIME</source>
- <translation type="unfinished">啞劇</translation>
+ <translation type="unfinished">MIME</translation>
</message>
<message>
<location filename="../../../../src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp" line="66"/>
@@ -184,50 +184,85 @@
<translation type="unfinished">分離</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="76"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="79"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="111"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="77"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <source>Signed By</source>
+ <translation type="unfinished">被...簽名</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="91"/>
+ <source>Key ID</source>
+ <translation type="unfinished">鑰匙編號</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="89"/>
+ <source>Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="92"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">首要的關鍵</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="94"/>
+ <source>Key Create Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="99"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
+ <source>Sign Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="130"/>
<source>Signer</source>
<translation type="unfinished">簽名者</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="82"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="101"/>
<source>Public Key Algo</source>
<translation type="unfinished">公鑰算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="84"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="103"/>
<source>Hash Algo</source>
<translation type="unfinished">哈希算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
<source>Date</source>
- <translation type="unfinished">日期</translation>
+ <translation type="obsolete">日期</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="86"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
<source>UTC</source>
<translation type="unfinished">世界標準時間</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="90"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="109"/>
<source>Localized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="105"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="124"/>
<source>Invalid Signers</source>
<translation type="unfinished">無效的簽名者</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="113"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="98"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="132"/>
<source>Fingerprint</source>
<translation type="unfinished">指紋</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="115"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgSignResultAnalyse.cpp" line="134"/>
<source>Reason</source>
<translation type="unfinished">原因</translation>
</message>
@@ -235,116 +270,164 @@
<context>
<name>GpgFrontend::GpgVerifyResultAnalyse</name>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="44"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="43"/>
<source>Verify Operation</source>
<translation type="unfinished">驗證操作</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="47"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="46"/>
<source>Success</source>
<translation type="unfinished">成功</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="49"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="48"/>
<source>Failed</source>
<translation type="unfinished">失敗</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
<source>Signed On</source>
<translation type="unfinished">已登錄</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="58"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="57"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
<source>UTC</source>
<translation type="unfinished">世界標準時間</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="62"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="61"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
<source>Localized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="65"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="64"/>
<source>Signatures List</source>
<translation type="unfinished">簽名列表</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="71"/>
<source>Signature [%1]:</source>
<translation type="unfinished">簽名 [%1]:</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="73"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="72"/>
<source>Status</source>
<translation type="unfinished">狀態</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="76"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="75"/>
<source>A Bad Signature.</source>
<translation type="unfinished">一個錯誤的簽名。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="78"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="77"/>
<source>This Signature is invalid.</source>
<translation type="unfinished">此簽名無效。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="83"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="82"/>
<source>A</source>
<translation type="unfinished">一種</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="85"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="84"/>
<source>Good</source>
<translation type="unfinished">好的</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="88"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="87"/>
<source>Bad</source>
<translation type="unfinished">壞的</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="91"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="90"/>
<source>Expired</source>
<translation type="unfinished">已到期</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="94"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="93"/>
<source>Missing Key&apos;s</source>
<translation type="unfinished">鑰匙不見了</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="97"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="96"/>
<source>Revoked Key&apos;s</source>
<translation type="unfinished">撤銷的鑰匙</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="100"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="99"/>
<source>Expired Key&apos;s</source>
<translation type="unfinished">過期的金鑰</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="103"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="102"/>
<source>Missing CRL&apos;s</source>
<translation type="unfinished">缺少 CRL</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="107"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="106"/>
<source>Signature Fully Valid.</source>
<translation type="unfinished">簽名完全有效。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="108"/>
<source>Signature Not Fully Valid.</source>
<translation type="unfinished">簽名不完全有效。</translation>
</message>
<message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="109"/>
+ <source>Tips</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="110"/>
- <source>(Adjust Trust Level to make it Fully Vaild)</source>
+ <source>Adjust Trust Level to make it Fully Vaild</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
+ <source>Fingerprint</source>
+ <translation type="unfinished">指紋</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="186"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="229"/>
+ <source>&lt;unknown&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="192"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="194"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="237"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="239"/>
+ <source>Sign Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="217"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="220"/>
+ <source>Key ID</source>
+ <translation type="unfinished">鑰匙編號</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="218"/>
+ <source>Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="221"/>
+ <source>Primary Key</source>
+ <translation type="unfinished">首要的關鍵</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="223"/>
+ <source>Key Create Date</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -358,67 +441,67 @@
<translation type="unfinished">由於缺少金鑰,無法驗證簽名</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="131"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="132"/>
<source>A signature is valid but the key used to verify the signature has been revoked</source>
<translation type="unfinished">簽名有效,但用於驗證簽名的金鑰已被撤銷</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="140"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="141"/>
<source>A signature is valid but expired</source>
<translation type="unfinished">簽名有效但已過期</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="147"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="148"/>
<source>A signature is valid but the key used to verify the signature has expired.</source>
<translation type="unfinished">簽名有效,但用於驗證簽名的金鑰已過期。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="155"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="156"/>
<source>There was some other error which prevented the signature verification.</source>
<translation type="unfinished">還有一些其他錯誤阻止了簽名驗證。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="163"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="164"/>
<source>Error for key with fingerprint</source>
<translation type="unfinished">帶指紋的鑰匙錯誤</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="174"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="175"/>
<source>Could not find information that can be used for verification.</source>
<translation type="unfinished">找不到可用於驗證的信息。</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="188"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="193"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="184"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="228"/>
<source>Signed By</source>
<translation type="unfinished">被...簽名</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
<source>Unknown</source>
- <translation type="unfinished">未知</translation>
+ <translation type="obsolete">未知</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="197"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="189"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="234"/>
<source>Public Key Algo</source>
<translation type="unfinished">公鑰算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="201"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="191"/>
+ <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="236"/>
<source>Hash Algo</source>
<translation type="unfinished">哈希算法</translation>
</message>
<message>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="205"/>
- <location filename="../../../../src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp" line="209"/>
<source>Date</source>
- <translation type="unfinished">日期</translation>
+ <translation type="obsolete">日期</translation>
</message>
</context>
<context>
<name>GpgFrontend::Module::Integrated::GnuPGInfoGatheringModule::GnuPGInfoGatheringModule</name>
<message>
- <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="124"/>
+ <location filename="../../../../src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp" line="123"/>
<source>Embedded In</source>
<translation type="unfinished">嵌入</translation>
</message>
@@ -586,44 +669,43 @@
<context>
<name>GpgFrontend::UI::CommonUtils</name>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="185"/>
<source>GnuPG Context Loading Failed</source>
<translation type="unfinished">GnuPG 上下文加載失敗</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="189"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="187"/>
<source>Gnupg(gpg) is not installed correctly, please follow &lt;a href=&apos;https://www.gpgfrontend.bktus.com/#/faq?id=how-to-deal-with-39env-loading-failed39&apos;&gt;this notes&lt;/a&gt; in FAQ to install Gnupg and then open GpgFrontend. &lt;br /&gt;Or, you can open GnuPG Controller to set a custom GnuPG which GpgFrontend should use. Then, GpgFrontend will restart. &lt;br /&gt;&lt;br /&gt;Breif Reason: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
<source>No keys found to import</source>
- <translation type="unfinished">找不到要導入的金鑰</translation>
+ <translation type="obsolete">找不到要導入的金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="437"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="445"/>
<source>Timeout</source>
<translation type="unfinished">暫停</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="252"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="250"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="381"/>
<source>Success</source>
<translation type="unfinished">成功</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="253"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="251"/>
<source>Gpg Operation succeed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="263"/>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="365"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="261"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="373"/>
<source>Failure</source>
<translation type="unfinished">失敗</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="264"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="262"/>
<source>Gpg Operation failed.
Error code: %1
@@ -632,92 +714,103 @@ Description: %3</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="277"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="294"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="497"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="285"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="279"/>
<source>Open Key</source>
<translation type="unfinished">開關鍵</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="286"/>
<source>Key Files</source>
- <translation type="unfinished">關鍵文件</translation>
+ <translation type="obsolete">關鍵文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="287"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="280"/>
<source>Keyring files</source>
<translation type="unfinished">鑰匙圈文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="292"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="288"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="295"/>
+ <source>The target file is too large for a keyring.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="301"/>
<source>File Open Failed</source>
<translation type="unfinished">文件打開失敗</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="293"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="302"/>
<source>Failed to open file: </source>
<translation type="unfinished">開啟檔案失敗原因 : </translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="346"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="354"/>
<source>Processing</source>
<translation type="unfinished">加工</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="366"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
<source>Failed to execute command.</source>
<translation type="unfinished">無法執行命令。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="374"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="382"/>
<source>Succeed in executing command.</source>
<translation type="unfinished">成功執行命令。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="376"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="384"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="377"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="385"/>
<source>Finished executing command.</source>
<translation type="unfinished">命令執行完畢。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="398"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="406"/>
<source>Default Keyserver Not Found</source>
<translation type="unfinished">未找到預設金鑰伺服器</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="399"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="407"/>
<source>Cannot read default keyserver from your settings, please set a default keyserver first</source>
<translation type="unfinished">無法從您的設定值中讀取預設金鑰伺服器,請先設定值預設金鑰伺服器</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="434"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="442"/>
<source>Key Not Found</source>
<translation type="unfinished">未找到金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="440"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="448"/>
<source>Key Server Not Found</source>
<translation type="unfinished">未找到金鑰伺服器</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="443"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="451"/>
<source>Connection Error</source>
<translation type="unfinished">連線錯誤</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="454"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="462"/>
<source>The key has been updated</source>
<translation type="unfinished">金鑰已更新</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="456"/>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="464"/>
<source>No need to update the key</source>
<translation type="unfinished">無需更新金鑰</translation>
</message>
@@ -902,12 +995,12 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FilePage</name>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="63"/>
<source>Show Hidden File</source>
<translation type="unfinished">顯示隱藏文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FilePage.cpp" line="70"/>
+ <location filename="../../../../src/ui/widgets/FilePage.cpp" line="69"/>
<source>Show System File</source>
<translation type="unfinished">顯示系統文件</translation>
</message>
@@ -915,131 +1008,136 @@ Description: %3</source>
<context>
<name>GpgFrontend::UI::FileTreeView</name>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="84"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="97"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="219"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="242"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="294"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="90"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="103"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="166"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="212"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="234"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="275"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="85"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="91"/>
<source>The path is not exists, unprivileged or unreachable.</source>
<translation type="unfinished">該路徑不存在、沒有特權或無法存取。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="98"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="104"/>
<source>The file is unprivileged or unreachable.</source>
<translation type="unfinished">該文件沒有特權或無法存取。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="157"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="159"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="158"/>
<source>Are you sure you want to delete it?</source>
<translation type="unfinished">你確定要刪除嗎?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="167"/>
<source>Unable to delete the file or folder.</source>
<translation type="unfinished">無法刪除文件或文件夾。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="176"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="189"/>
<source>Make New Directory</source>
<translation type="unfinished">新建目錄</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="178"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="177"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="190"/>
<source>Directory Name</source>
<translation type="unfinished">目錄名稱</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Create Empty File</source>
<translation type="unfinished">創建空文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="209"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="232"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="226"/>
<source>Filename (you can given extension)</source>
<translation type="unfinished">文件名(您可以指定擴展名)</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="220"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="243"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="235"/>
<source>Unable to create the file.</source>
<translation type="unfinished">無法創建文件。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="314"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="298"/>
<source>Rename</source>
<translation type="unfinished">改名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="277"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="267"/>
<source>New Filename</source>
<translation type="unfinished">新文件名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="295"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="276"/>
<source>Unable to rename the file or folder.</source>
<translation type="unfinished">無法重命名文件或文件夾。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="293"/>
<source>Open</source>
<translation type="unfinished">打開</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="319"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="303"/>
<source>Delete</source>
<translation type="unfinished">刪除</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="324"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="308"/>
<source>Calculate Hash</source>
<translation type="unfinished">計算哈希</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="329"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="313"/>
<source>Directory</source>
<translation type="unfinished">目錄</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="334"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="318"/>
<source>File</source>
<translation type="unfinished">文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="339"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="323"/>
<source>Compress...</source>
<translation type="unfinished">壓縮...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="346"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="330"/>
<source>Open with Default System Application</source>
<translation type="unfinished">使用預設系統應用程序打開</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="335"/>
<source>New</source>
<translation type="unfinished">新的</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/widgets/FileTreeView.cpp" line="393"/>
+ <source>Calculating</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::FindWidget</name>
<message>
- <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="46"/>
+ <location filename="../../../../src/ui/widgets/FindWidget.cpp" line="45"/>
<source>Find</source>
<translation type="unfinished">找</translation>
</message>
@@ -1103,23 +1201,28 @@ Description: %3</source>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="63"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="79"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="81"/>
<source>Clear All Log (Total Size: %1)</source>
<translation type="unfinished">清除所有日誌(總大小:%1)</translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="66"/>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="93"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="95"/>
<source>Clear All Data Objects (Total Size: %1)</source>
<translation type="unfinished">清除所有數據對象(總大小:%1)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="69"/>
+ <source>Reveal in File Explorer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="88"/>
<source>Confirm</source>
<translation type="unfinished">確認</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="87"/>
+ <location filename="../../../../src/ui/dialog/settings/SettingsGeneral.cpp" line="89"/>
<source>Are you sure you want to clear all data objects?
This will result in loss of all cached form positions, statuses, key servers, etc.</source>
<translation type="unfinished">您確定要清除所有數據對象嗎?這將導致所有緩存的表單位置、狀態、金鑰伺服器等丟失。</translation>
@@ -1143,9 +1246,13 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">先進的</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
<source>No ASCII Mode</source>
- <translation type="unfinished">無 ASCII 模式</translation>
+ <translation type="obsolete">無 ASCII 模式</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="49"/>
+ <source>Use Binary Mode for File Operations</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="51"/>
@@ -1154,86 +1261,92 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="52"/>
+ <source>Enable GpgME Debug Log</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
<source>Use Custom GnuPG</source>
<translation type="unfinished">使用自定義 GnuPG</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="53"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="54"/>
<source>Select GnuPG Path</source>
<translation type="unfinished">選擇 GnuPG 路徑</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="55"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="56"/>
<source>Use Custom GnuPG Key Database Path</source>
<translation type="unfinished">使用自定義 GnuPG 金鑰數據庫路徑</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="58"/>
<source>Select Key Database Path</source>
<translation type="unfinished">選擇金鑰數據庫路徑</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="60"/>
+ <source>Restart Gpg Agent on start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="64"/>
<source>Tips: please select a directroy where &quot;gpgconf&quot; is located in.</source>
<translation type="unfinished">提示:請選擇“gpgconf”所在目錄。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="66"/>
<source>Tips: notice that modify any of these settings will cause an Application restart.</source>
<translation type="unfinished">提示:請注意,修改任何這些設定值都會導致應用程序重新啟動。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="95"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="98"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="118"/>
<source>Open Directory</source>
<translation type="unfinished">打開目錄</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="171"/>
<source>GnuPG Controller</source>
<translation type="unfinished">GnuPG 控制器</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="331"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="339"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="346"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="358"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="356"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="375"/>
<source>Illegal GnuPG Path</source>
<translation type="unfinished">非法 GnuPG 路徑</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="332"/>
<source>Target GnuPG Path is empty.</source>
- <translation type="unfinished">目標 GnuPG 路徑為空。</translation>
+ <translation type="obsolete">目標 GnuPG 路徑為空。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="340"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="357"/>
<source>Target GnuPG Path is not an exists readable directory.</source>
<translation type="unfinished">目標 GnuPG 路徑不是現有的可讀目錄。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="347"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="364"/>
<source>Target GnuPG Path is not an absolute path.</source>
<translation type="unfinished">目標 GnuPG 路徑不是絕對路徑。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
<source>Target GnuPG Path contains no &quot;gpgconf&quot; executable.</source>
<translation type="unfinished">目標 GnuPG 路徑不包含“gpgconf”可執行文件。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="369"/>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="376"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="389"/>
<source>Illegal GnuPG Key Database Path</source>
<translation type="unfinished">非法的 GnuPG 金鑰數據庫路徑</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="370"/>
<source>Target GnuPG Key Database Path is empty.</source>
- <translation type="unfinished">目標 GnuPG 金鑰數據庫路徑為空。</translation>
+ <translation type="obsolete">目標 GnuPG 金鑰數據庫路徑為空。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="377"/>
+ <location filename="../../../../src/ui/dialog/gnupg/GnuPGControllerDialog.cpp" line="390"/>
<source>Target GnuPG Key Database Path is not an exists readable directory.</source>
<translation type="unfinished">目標 GnuPG 金鑰數據庫路徑不是現有的可讀目錄。</translation>
</message>
@@ -1247,7 +1360,7 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="44"/>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Description</source>
<translation type="unfinished">描述</translation>
</message>
@@ -1273,31 +1386,50 @@ This will result in loss of all cached form positions, statuses, key servers, et
</message>
<message>
<location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="48"/>
+ <source>Directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="49"/>
+ <source>Options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Directory Type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="68"/>
+ <source>Path</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Configurations</source>
- <translation type="unfinished">配置</translation>
+ <translation type="obsolete">配置</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Component</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="58"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="89"/>
<source>Key</source>
<translation type="unfinished">鑰匙</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="59"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="90"/>
<source>Default Value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="60"/>
+ <location filename="../../../../src/ui/dialog/help/GnupgTab.cpp" line="91"/>
<source>Value</source>
<translation type="unfinished">價值</translation>
</message>
@@ -1447,27 +1579,27 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
<source>KeyPair</source>
<translation type="unfinished">金鑰對</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
<source>UIDs</source>
<translation type="unfinished">UID</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="45"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="50"/>
<source>Subkeys</source>
<translation type="unfinished">子鍵</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="47"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="52"/>
<source>Operations</source>
<translation type="unfinished">運作中</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyDetailsDialog.cpp" line="69"/>
<source>Key Details</source>
<translation type="unfinished">關鍵細節</translation>
</message>
@@ -1611,108 +1743,113 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyImportDetailDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="42"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="44"/>
<location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="61"/>
<source>Key Import Details</source>
<translation type="unfinished">金鑰導入詳細信息</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="43"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="45"/>
<source>No keys found to import</source>
<translation type="unfinished">找不到要導入的金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="73"/>
<source>General key info</source>
<translation type="unfinished">一般關鍵信息</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="77"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="76"/>
<source>Considered</source>
<translation type="unfinished">經過考慮的</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="83"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="82"/>
<source>Public unchanged</source>
<translation type="unfinished">公開不變</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="88"/>
<source>Imported</source>
<translation type="unfinished">進口</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="95"/>
<source>Not Imported</source>
<translation type="unfinished">未進口</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="103"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="102"/>
<source>Private Read</source>
<translation type="unfinished">私用閱讀</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="110"/>
<source>Private Imported</source>
<translation type="unfinished">私用進口</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="118"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="117"/>
<source>Private Unchanged</source>
<translation type="unfinished">私用不變</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="123"/>
+ <source>New Revocations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Name</source>
<translation type="unfinished">姓名</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Email</source>
<translation type="unfinished">電子郵件</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="133"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="139"/>
<source>Status</source>
<translation type="unfinished">狀態</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="140"/>
<source>Fingerprint</source>
<translation type="unfinished">指紋</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="160"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
<source>Private</source>
<translation type="unfinished">私用</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="163"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
<source>Public</source>
<translation type="unfinished">民眾</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="166"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
<source>Unchanged</source>
<translation type="unfinished">不變</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="169"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="175"/>
<source>New Key</source>
<translation type="unfinished">新增鑰匙</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="172"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="178"/>
<source>New Subkey</source>
<translation type="unfinished">新增子系金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="176"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="182"/>
<source>New Signature</source>
<translation type="unfinished">新增簽署檔</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="180"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyImportDetailDialog.cpp" line="186"/>
<source>New UID</source>
<translation type="unfinished">新 UID</translation>
</message>
@@ -1765,82 +1902,87 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">搜索鑰匙...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Select</source>
<translation type="unfinished">選擇</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Type</source>
<translation type="unfinished">類型</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Name</source>
<translation type="unfinished">姓名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="167"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="170"/>
<source>Email Address</source>
<translation type="unfinished">電子郵件位址</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Usage</source>
<translation type="unfinished">用法</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Trust</source>
<translation type="unfinished">相信</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="168"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
<source>Finger Print</source>
<translation type="unfinished">指紋</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="183"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="171"/>
+ <source>Key ID</source>
+ <translation type="unfinished">鑰匙編號</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="186"/>
<source>Refreshing Key List...</source>
<translation type="unfinished">正在刷新金鑰列表...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="351"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Import Keys</source>
<translation type="unfinished">導入金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="356"/>
<source>You&apos;ve dropped something on the table.</source>
<translation type="unfinished">你把東西掉在桌子上了。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
<source>GpgFrontend will now try to import key(s).</source>
<translation type="unfinished">GpgFrontend 現在將嘗試導入金鑰。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="357"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="360"/>
<source>Always import without bothering.</source>
<translation type="unfinished">始終導入而無需打擾。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="452"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="455"/>
<source>Key List Refreshed.</source>
<translation type="unfinished">金鑰列表已刷新。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="473"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="476"/>
<source>Syncing Key List...</source>
<translation type="unfinished">正在同步金鑰列表...</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="481"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="484"/>
<source>Sync [%1/%2] %3 %4</source>
<translation type="unfinished">同步 [%1/%2] %3 %4</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/KeyList.cpp" line="491"/>
+ <location filename="../../../../src/ui/widgets/KeyList.cpp" line="494"/>
<source>Key List Sync Done.</source>
<translation type="unfinished">金鑰列表同步完成。</translation>
</message>
@@ -1848,347 +1990,368 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyMgmt</name>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
<source>All</source>
<translation type="unfinished">全部</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="61"/>
<source>Only Public Key</source>
<translation type="unfinished">只有公鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="71"/>
<source>Has Private Key</source>
<translation type="unfinished">有私鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="77"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="81"/>
<source>No Primary Key</source>
<translation type="unfinished">無主鍵</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="86"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="90"/>
<source>Revoked</source>
<translation type="unfinished">撤銷</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="94"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="98"/>
<source>Expired</source>
<translation type="unfinished">已到期</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="123"/>
<source>KeyPair Management</source>
<translation type="unfinished">金鑰對管理</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="144"/>
<source>Open</source>
<translation type="unfinished">打開</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="142"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
<source>Open Key File</source>
<translation type="unfinished">打開金鑰文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="146"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="149"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="153"/>
<source>Close</source>
<translation type="unfinished">關閉</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="152"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="156"/>
<source>New Keypair</source>
<translation type="unfinished">新金鑰對</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
<source>Generate KeyPair</source>
<translation type="unfinished">生成金鑰對</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
<source>New Subkey</source>
<translation type="unfinished">新增子系金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="163"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished">為選定的金鑰對生成子金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="167"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="257"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="171"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
<source>File</source>
<translation type="unfinished">文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
<source>Import New Key From File</source>
<translation type="unfinished">從文件導入新金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="173"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
<source>Clipboard</source>
<translation type="unfinished">剪貼板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="181"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished">從剪貼板導入新金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="188"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
<source>Keyserver</source>
<translation type="unfinished">金鑰伺服器</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="192"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="196"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished">從金鑰伺服器導入新金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="198"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="531"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="202"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Key Package</source>
<translation type="unfinished">鑰匙包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="201"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
<source>Import Key(s) From a Key Package</source>
<translation type="unfinished">從金鑰包導入金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="205"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
<source>Export To Clipboard</source>
<translation type="unfinished">導出到剪貼板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="209"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
<source>Export Checked Key(s) To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="213"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="217"/>
<source>Export As Key Package</source>
<translation type="unfinished">導出為金鑰包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
<source>Export Checked Key(s) To a Key Package</source>
<translation type="unfinished">將檢查的金鑰導出到金鑰包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="220"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="224"/>
<source>Export As OpenSSH</source>
<translation type="unfinished">導出為 OpenSSH</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="223"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
<source>Export Checked Key As OpenSSH Format to File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="227"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="231"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished">刪除選定的鍵</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="228"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
<source>Delete the Selected keys</source>
<translation type="unfinished">刪除選定的鍵</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="232"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="236"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished">刪除選中的金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="233"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="237"/>
<source>Delete the Checked keys</source>
<translation type="unfinished">刪除選中的鍵</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="238"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="242"/>
<source>Show Key Details</source>
<translation type="unfinished">顯示關鍵細節</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="239"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
<source>Show Details for this Key</source>
<translation type="unfinished">顯示此鍵的詳細信息</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="243"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="244"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="248"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">設定所有者信任級別</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="261"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="281"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="285"/>
<source>Key</source>
<translation type="unfinished">鑰匙</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="262"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
<source>Generate Key</source>
<translation type="unfinished">生成金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="266"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="294"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="270"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="298"/>
<source>Import Key</source>
<translation type="unfinished">導入金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="272"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="276"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="306"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="307"/>
<source>Export Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="293"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="297"/>
<source>Import key</source>
<translation type="unfinished">導入金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="302"/>
- <source>Export key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="336"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="340"/>
<source>Deleting Keys</source>
<translation type="unfinished">刪除金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="337"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="341"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished">您確定要刪除以下鍵嗎?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="343"/>
<source>The action can not be undone.</source>
<translation type="unfinished">該操作無法撤消。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="404"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="416"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="483"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="507"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="551"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="408"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="420"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="487"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="498"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="511"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="541"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="549"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="565"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="573"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="589"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="355"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="444"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="359"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
<source>Key Not Found.</source>
<translation type="unfinished">未找到金鑰。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="379"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="462"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="468"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="370"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="383"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="466"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="472"/>
<source>Forbidden</source>
<translation type="unfinished">禁止的</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="367"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="371"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="384"/>
<source>Please check some keys before doing this operation.</source>
<translation type="unfinished">請在執行此操作之前檢查一些鍵。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="372"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="376"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="524"/>
<source>key(s) exported</source>
<translation type="unfinished">導出的金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="396"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="475"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="400"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="479"/>
<source>Exporting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="405"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="417"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="495"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="409"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="421"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="488"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="499"/>
<source>Unknown error occurred</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="438"/>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="448"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="442"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="452"/>
<source>Invalid Operation</source>
<translation type="unfinished">無效操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="439"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="443"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished">請在執行此操作前選擇一個 KeyPair。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="449"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="453"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished">如果金鑰對沒有私鑰,那麼它將無法生成子金鑰。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="463"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="467"/>
<source>Please check a key before performing this operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="469"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="473"/>
<source>This operation accepts just a single key.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="512"/>
<source>This key may not be able to export as OpenSSH format. Please check the key-size of the subkey(s) used to sign.</source>
<translation type="unfinished">此金鑰可能無法導出為 OpenSSH 格式。請檢查用於簽名的子金鑰的金鑰大小。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="515"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="519"/>
<source>Export OpenSSH Key To File</source>
<translation type="unfinished">將 OpenSSH 金鑰導出到文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="516"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="520"/>
<source>OpenSSH Public Key Files</source>
<translation type="unfinished">OpenSSH 公鑰文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="530"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="532"/>
<source>Import Key Package</source>
<translation type="unfinished">導入金鑰包</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="534"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="542"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="566"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="550"/>
+ <source>The target file is too large for a key package.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="555"/>
<source>Import Key Package Passphrase File</source>
<translation type="unfinished">導入金鑰包密碼文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="535"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="556"/>
<source>Key Package Passphrase File</source>
<translation type="unfinished">金鑰包密碼文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="545"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="574"/>
+ <source>The target file is too large for a key package passphrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="580"/>
+ <source>Importing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="596"/>
<source>key(s) imported</source>
<translation type="unfinished">導入的金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="552"/>
+ <location filename="../../../../src/ui/main_window/KeyMgmt.cpp" line="590"/>
<source>An error occur in importing key package.</source>
<translation type="unfinished">導入金鑰包出錯。</translation>
</message>
@@ -2374,17 +2537,17 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">永不過期</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="258"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="257"/>
<source>No Data</source>
<translation type="unfinished">沒有數據</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="275"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="274"/>
<source>Warning: The primary key has expired.</source>
<translation type="unfinished">警告:主鍵已過期。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairDetailTab.cpp" line="279"/>
<source>Warning: The primary key has been revoked.</source>
<translation type="unfinished">警告:主鍵已被撤銷。</translation>
</message>
@@ -2392,201 +2555,256 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::KeyPairOperaTab</name>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="51"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="53"/>
<source>General Operations</source>
<translation type="unfinished">一般操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="57"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="59"/>
<source>Export Public Key</source>
<translation type="unfinished">導出公鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="63"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="65"/>
<source>Export Private Key</source>
<translation type="unfinished">導出私鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="70"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="72"/>
<source>Modify Expiration Datetime (Primary Key)</source>
<translation type="unfinished">修改到期日期時間(主鍵)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="73"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="75"/>
<source>Modify Password</source>
<translation type="unfinished">修改密碼</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="92"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="93"/>
<source>Key Server Operation (Pubkey)</source>
<translation type="unfinished">金鑰伺服器操作(公鑰)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="100"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="177"/>
<source>Generate Revoke Certificate</source>
<translation type="unfinished">生成撤銷證書</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="106"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="107"/>
<source>Modify TOFU Policy</source>
<translation type="unfinished">修改豆腐政策</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="111"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="101"/>
+ <source>Revoke Certificate Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="114"/>
<source>Set Owner Trust Level</source>
<translation type="unfinished">設定所有者信任級別</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="135"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="138"/>
<source>Upload Key Pair to Key Server</source>
<translation type="unfinished">上傳金鑰對到金鑰伺服器</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="143"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="146"/>
<source>Sync Key Pair From Key Server</source>
<translation type="unfinished">從金鑰伺服器同步金鑰對</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="158"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="161"/>
<source>Export Full Secret Key</source>
<translation type="unfinished">導出完整金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="164"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="167"/>
<source>Export Shortest Secret Key</source>
<translation type="unfinished">導出最短金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="191"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="237"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="280"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="182"/>
+ <source>Import Revoke Certificate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="298"/>
<source>Export Key To File</source>
<translation type="unfinished">將金鑰導出到文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="192"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="238"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="281"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished">關鍵文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="197"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="243"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="286"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="215"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="261"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="304"/>
<source>Export Error</source>
<translation type="unfinished">導出錯誤</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="198"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="244"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="287"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="216"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="262"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="305"/>
<source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished">無法打開 %1 進行寫入</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="206"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="224"/>
<source>Exporting short private Key</source>
<translation type="unfinished">導出短私鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="207"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="254"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="225"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="272"/>
<source>You are about to export your</source>
<translation type="unfinished">您即將導出您的</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="208"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="255"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="226"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="273"/>
<source> PRIVATE KEY </source>
<translation type="unfinished"> 私密金鑰 </translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="209"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="256"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="227"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="274"/>
<source>This is NOT your Public Key, so DON&apos;T give it away.</source>
<translation type="unfinished">這不是你的公鑰,所以不要把它洩露出去。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="210"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="228"/>
<source>Do you REALLY want to export your PRIVATE KEY in a Minimum Size?</source>
<translation type="unfinished">您真的想以最小尺寸導出您的私鑰嗎?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="213"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="231"/>
<source>For OpenPGP keys it removes all signatures except for the latest self-signatures.</source>
<translation type="unfinished">對於 OpenPGP 金鑰,它會刪除除最新的自簽名之外的所有簽名。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="253"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="271"/>
<source>Exporting private Key</source>
<translation type="unfinished">導出私鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="257"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="275"/>
<source>Do you REALLY want to export your PRIVATE KEY?</source>
<translation type="unfinished">你真的想導出你的私鑰嗎?</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="315"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="329"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="412"/>
<source>Revocation Certificates</source>
<translation type="unfinished">吊銷證書</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="326"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="340"/>
<source>Generate revocation certificate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="357"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
<source>Policy Auto</source>
<translation type="unfinished">政策自動</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="359"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="373"/>
<source>Policy Good</source>
<translation type="unfinished">政策好</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="347"/>
<location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="361"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="375"/>
<source>Policy Bad</source>
<translation type="unfinished">政策不好</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="363"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="377"/>
<source>Policy Ask</source>
<translation type="unfinished">政策諮詢</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="348"/>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="365"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="362"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="379"/>
<source>Policy Unknown</source>
<translation type="unfinished">政策未知</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="352"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="366"/>
<source>Modify TOFU Policy(Default is Auto)</source>
<translation type="unfinished">修改TOFU 政策(預設為自動)</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="353"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="367"/>
<source>Policy for the Key Pair:</source>
<translation type="unfinished">金鑰對策略:</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="370"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="384"/>
<source>Not Successful</source>
<translation type="unfinished">不成功</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="371"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="385"/>
<source>Modify TOFU policy not successfully.</source>
<translation type="unfinished">修改 TOFU 策略不成功。</translation>
</message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="399"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="411"/>
+ <source>Import Key Revocation Certificate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="400"/>
+ <source>You are about to import the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="401"/>
+ <source>REVOCATION CERTIFICATE</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="402"/>
+ <source>A successful import will result in the key being irreversibly revoked.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="404"/>
+ <source>Do you REALLY want to execute this operation?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="420"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="429"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="437"/>
+ <source>Error</source>
+ <translation type="unfinished">錯誤</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="421"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="438"/>
+ <source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairOperaTab.cpp" line="430"/>
+ <source>The target file is too large for a key revocation certificate.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GpgFrontend::UI::KeyPairSubkeyTab</name>
@@ -2682,12 +2900,12 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">到期日期</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="202"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="203"/>
<source>Never Expire</source>
<translation type="unfinished">永不過期</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="239"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp" line="240"/>
<source>Never Expires</source>
<translation type="unfinished">永不過期</translation>
</message>
@@ -3073,12 +3291,22 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">找到 %1 個金鑰。雙擊一個鍵來導入它。</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="415"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="371"/>
+ <source>Warning</source>
+ <translation type="unfinished">警告</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="372"/>
+ <source>Please select one KeyPair before doing this operation.</source>
+ <translation type="unfinished">請在執行此操作前選擇一個 KeyPair。</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="419"/>
<source>Key Imported</source>
<translation type="unfinished">鑰匙進口</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="426"/>
+ <location filename="../../../../src/ui/dialog/import_export/KeyServerImportDialog.cpp" line="430"/>
<source>Processing ...</source>
<translation type="unfinished"></translation>
</message>
@@ -3162,32 +3390,32 @@ This will result in loss of all cached form positions, statuses, key servers, et
<translation type="unfinished">簽名者</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="86"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="80"/>
<source>Expire Date</source>
<translation type="unfinished">到期日期</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="96"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="90"/>
<source>Sign For Key&apos;s UID(s)</source>
<translation type="unfinished">為金鑰的 UID 簽名</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="114"/>
<source>Unsuccessful Operation</source>
<translation type="unfinished">不成功的操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="115"/>
<source>Signature operation failed for UID %1</source>
<translation type="unfinished">UID %1 的簽名操作失敗</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="126"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="120"/>
<source>Operation Complete</source>
<translation type="unfinished">操作完成</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="127"/>
+ <location filename="../../../../src/ui/dialog/keypair_details/KeyUIDSignDialog.cpp" line="121"/>
<source>The signature operation of the UID is complete</source>
<translation type="unfinished">UID的簽名操作完成</translation>
</message>
@@ -3377,546 +3605,556 @@ This will result in loss of all cached form positions, statuses, key servers, et
<context>
<name>GpgFrontend::UI::MainWindow</name>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="164"/>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="167"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="158"/>
<source>Critical error occur while loading GpgFrontend.</source>
<translation type="unfinished">加載 GpgFrontend 時發生嚴重錯誤。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindow.cpp" line="157"/>
<source>Loading Failed</source>
<translation type="unfinished">加載失敗</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="48"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="100"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="143"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="162"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="187"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="214"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="257"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="276"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="293"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="307"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="325"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="342"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="356"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="375"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="430"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="449"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="484"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="503"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="528"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="568"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="605"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="631"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="671"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="709"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="735"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="768"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="801"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="811"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="836"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="72"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="119"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="175"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="208"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="244"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="320"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="366"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="242"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="250"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="145"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="164"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="216"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="260"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="311"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="329"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="347"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="361"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="380"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="435"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="454"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="489"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="508"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="536"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="613"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="639"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="717"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="743"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="775"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="822"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="847"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="74"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="121"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="177"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="210"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="246"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="322"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="368"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="255"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="49"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="163"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="277"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="326"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="376"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="450"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="529"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="632"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="736"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="802"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="50"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="165"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="280"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="330"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="381"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="455"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="537"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="640"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="744"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="813"/>
<source>Cannot read from file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="176"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="178"/>
<source>The target file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">目標文件 %1 已經存在,是否需要覆蓋?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="65"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="179"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="284"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="333"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="411"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="575"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="678"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="750"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="817"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="66"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="181"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="288"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="338"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="416"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="583"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="686"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="757"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="828"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="74"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="188"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="294"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="343"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="569"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="672"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="745"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="812"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="190"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="298"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="577"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="680"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="752"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="823"/>
<source>Cannot write to file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="83"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="197"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="52"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="199"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="54"/>
<source>Symmetric Encryption</source>
<translation type="unfinished">對稱加密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="84"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="198"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="200"/>
<source>No Key Selected. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">未選擇金鑰。您想使用密碼使用對稱密碼進行加密嗎?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="90"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="61"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="63"/>
<source>Symmetrically Encrypting</source>
<translation type="unfinished">對稱加密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="144"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="215"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="258"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="308"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="357"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="431"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="504"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="606"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="710"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="769"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="837"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="73"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="120"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="176"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="209"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="245"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="321"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="367"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="102"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="217"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="261"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="312"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="362"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="509"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="614"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="718"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="776"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="848"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="75"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="178"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="211"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="247"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="323"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="369"/>
<source>Unknown error occurred</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="125"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="550"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="653"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="277"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="558"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="661"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
<source>Invalid KeyPair</source>
<translation type="unfinished">無效的金鑰對</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="126"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="240"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="654"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="278"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="242"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="559"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="662"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="280"/>
<source>The selected keypair cannot be used for encryption.</source>
<translation type="unfinished">所選的金鑰對不能用於加密。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="127"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="241"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="552"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="655"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="279"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="128"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="560"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="663"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="159"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="281"/>
<source>For example the Following Key:</source>
<translation type="unfinished">例如以下鍵:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="134"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="109"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="135"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="111"/>
<source>Encrypting</source>
<translation type="unfinished">加密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="204"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="206"/>
<source>Archiving &amp; Symmetrically Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="250"/>
<source>Archiving &amp; Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="285"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="334"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="576"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="679"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="289"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="339"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="584"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="687"/>
<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/MainWindowFileSlotFunction.cpp" line="299"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="200"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="303"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="202"/>
<source>Decrypting</source>
<translation type="unfinished">解密</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="348"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/>
<source>Decrypting &amp; Extrating</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="385"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="539"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="642"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="145"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="265"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="390"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="547"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="650"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="147"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="267"/>
<source>No Key Checked</source>
<translation type="unfinished">未檢查金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="386"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="540"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="643"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="391"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="548"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="651"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="148"/>
<source>Please check the key in the key toolbox on the right.</source>
<translation type="unfinished">請檢查右側鑰匙工具箱中的鑰匙。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="393"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="98"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="154"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="398"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="156"/>
<source>Invalid Operation</source>
<translation type="unfinished">無效操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="394"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="399"/>
<source>The selected key contains a key that does not actually have a sign usage.</source>
<translation type="unfinished">所選金鑰包含一個實際上沒有符號用法的金鑰。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="396"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="401"/>
<source>for example the Following Key:</source>
<translation type="unfinished">例如以下鍵:</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="412"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="417"/>
<source>The signature file &quot;%1&quot; exists, do you need to overwrite it?</source>
<translation type="unfinished">簽名文件“%1”存在,是否需要覆蓋?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="421"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="166"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="426"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="168"/>
<source>Signing</source>
<translation type="unfinished">簽約</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="470"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="475"/>
<source>File to be Verified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="471"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="476"/>
<source>Please provide An ABSOLUTE Path
If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="485"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="490"/>
<source>Please select the appropriate origin file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished">請選擇合適的源文件或簽名文件。確保兩者都在此目錄中。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="494"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="235"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="499"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="237"/>
<source>Verifying</source>
<translation type="unfinished">驗證</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="594"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="308"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="602"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="310"/>
<source>Encrypting and Signing</source>
<translation type="unfinished">加密和簽名</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="697"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="705"/>
<source>Archiving &amp; Encrypting &amp; Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="751"/>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="818"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="758"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="829"/>
<source>The output file %1 already exists, do you need to overwrite it?</source>
<translation type="unfinished">輸出文件 %1 已經存在,是否需要覆蓋?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="760"/>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="356"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="767"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="358"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished">解密和驗證</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="827"/>
+ <location filename="../../../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="838"/>
<source>Decrypting &amp; Verifying &amp; Extracting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="53"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="55"/>
<source>No Key Checked. Do you want to encrypt with a symmetric cipher using a passphrase?</source>
<translation type="unfinished">未檢查金鑰。您想使用密碼短語使用對稱密碼進行加密嗎?</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="99"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="101"/>
<source>The selected key contains a key that does not actually have a encrypt usage.</source>
<translation type="unfinished">所選金鑰包含一個實際上沒有加密用途的金鑰。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="155"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="157"/>
<source>The selected key contains a key that does not actually have a signature usage.</source>
<translation type="unfinished">所選金鑰包含一個實際上沒有簽名用法的金鑰。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="266"/>
+ <location filename="../../../../src/ui/main_window/MainWindowGpgOperaFunction.cpp" line="268"/>
<source>Please check some key in the key toolbox on the right.</source>
<translation type="unfinished">請檢查右側鑰匙工具箱中的一些鑰匙。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="96"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="116"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="148"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="161"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="174"/>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="189"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="97"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="120"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="156"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="169"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="182"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="197"/>
<source>Key Not Found.</source>
<translation type="unfinished">未找到金鑰。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="101"/>
- <source> (Local Time) </source>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/>
+ <source>Localize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="105"/>
+ <source>UTC</source>
+ <translation type="unfinished">世界標準時間</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
+ <source>Local Time</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="243"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="248"/>
<source>Cannot open this file. Please make sure that this is a regular file and it&apos;s readable.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="251"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="256"/>
<source>Cannot open this file. The file is TOO LARGE (&gt;1MB) for GpgFrontend Text Editor.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="302"/>
<source>GpgFrontend Upgradeable (New Version: %1).</source>
<translation type="unfinished">GpgFrontend 可升級(新版本:%1)。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="307"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/>
<source>Withdrawn Version</source>
<translation type="unfinished">撤回版</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="309"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
<source>This version(%1) may have been withdrawn by the developer due to serious problems. Please stop using this version immediately and use the latest stable version.</source>
<translation type="unfinished">由於嚴重問題,此版本(%1) 可能已被開發人員撤回。請立即停止使用此版本並使用最新的穩定版本。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="314"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
<source>You can download the latest stable version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished">您可以在 Github Releases Page 上下載最新的穩定版本 (%1)。&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="319"/>
+ <location filename="../../../../src/ui/main_window/MainWindowSlotFunction.cpp" line="324"/>
<source>This maybe a BETA Version (Latest Stable Version: %1).</source>
<translation type="unfinished">這可能是 BETA 版本(最新穩定版本:%1)。</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="45"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="44"/>
<source>New</source>
<translation type="unfinished">新的</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="51"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="50"/>
<source>Open a new file</source>
<translation type="unfinished">打開一個新文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="54"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="53"/>
<source>Open...</source>
<translation type="unfinished">打開...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="57"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="56"/>
<source>Open an existing file</source>
<translation type="unfinished">打開現有文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="60"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="59"/>
<source>File Browser</source>
<translation type="unfinished">文件瀏覽器</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="63"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="62"/>
<source>Open a file browser</source>
<translation type="unfinished">打開文件瀏覽器</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="67"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="66"/>
<source>Save File</source>
<translation type="unfinished">保存存檔</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="70"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="69"/>
<source>Save the current File</source>
<translation type="unfinished">保存當前文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="73"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="72"/>
<source>Save As</source>
<translation type="unfinished">另存為</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="76"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="75"/>
<source>Save the current File as...</source>
<translation type="unfinished">將當前文件另存為...</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="79"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="78"/>
<source>Print</source>
<translation type="unfinished">打印</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="82"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="81"/>
<source>Print Document</source>
<translation type="unfinished">打印文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="85"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="84"/>
<source>Close</source>
<translation type="unfinished">關閉</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="87"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="86"/>
<source>Close file</source>
<translation type="unfinished">關閉文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="90"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="89"/>
<source>Quit</source>
<translation type="unfinished">退出</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="93"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="92"/>
<source>Quit Program</source>
<translation type="unfinished">退出程序</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="98"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="97"/>
<source>Undo</source>
<translation type="unfinished">撤消</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="100"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="99"/>
<source>Undo Last Edit Action</source>
<translation type="unfinished">撤消上次編輯操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="103"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="102"/>
<source>Redo</source>
<translation type="unfinished">重做</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="105"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="104"/>
<source>Redo Last Edit Action</source>
<translation type="unfinished">重做上次編輯操作</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="108"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="107"/>
<source>Zoom In</source>
<translation type="unfinished">放大</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="112"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="111"/>
<source>Zoom Out</source>
<translation type="unfinished">縮小</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="116"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="115"/>
<source>Paste</source>
<translation type="unfinished">粘貼</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="119"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="118"/>
<source>Paste Text From Clipboard</source>
<translation type="unfinished">從剪貼板粘貼文本</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="122"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="121"/>
<source>Cut</source>
<translation type="unfinished">切</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="126"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="125"/>
<source>Cut the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">將當前選擇的內容剪切到剪貼板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="130"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="129"/>
<source>Copy</source>
<translation type="unfinished">複製</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="134"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="133"/>
<source>Copy the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished">將當前選擇的內容複製到剪貼板</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="138"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="137"/>
<source>Quote</source>
<translation type="unfinished">引用</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="140"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="139"/>
<source>Quote whole text</source>
<translation type="unfinished">引用全文</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="143"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="142"/>
<source>Select All</source>
<translation type="unfinished">全選</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="146"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="145"/>
<source>Select the whole text</source>
<translation type="unfinished">選擇整個文本</translation>
</message>
<message>
- <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="150"/>
+ <location filename="../../../../src/ui/main_window/MainWindowUI.cpp" line="149"/>
<source>Find</source>
<translation type="unfinished">找</translation>
</message>
@@ -4528,7 +4766,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
<message>
<location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="63"/>
- <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/PlainTextEditorPage.cpp" line="196"/>
<source>%1 character(s)</source>
<translation type="unfinished">%1 個字符</translation>
</message>
@@ -4615,7 +4853,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
<message>
<location filename="../../../../src/ui/function/RaisePinentry.cpp" line="91"/>
- <source>Buddled Pinentry</source>
+ <source>Bundled Pinentry</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4918,54 +5156,54 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished">打開目錄</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="143"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="203"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="422"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="145"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="205"/>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="424"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="144"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="423"/>
<source>Cannot read file %1:
%2.</source>
<translation type="unfinished">無法讀取文件 %1:
%2。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="152"/>
<source>Open file</source>
<translation type="unfinished">打開文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="222"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="221"/>
<source>Save file</source>
<translation type="unfinished">保存存檔</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="282"/>
<source>Unsaved document</source>
<translation type="unfinished">未保存的文件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="284"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="283"/>
<source>The document &quot;%1&quot; has been modified. Do you want to save your changes?</source>
<translation type="unfinished">文檔“%1”已被修改。是否要保存更改?</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="286"/>
<source>Note:</source>
<translation type="unfinished">筆記:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="288"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="287"/>
<source>If you don&apos;t save these files, all changes are lost.</source>
<translation type="unfinished">如果您不保存這些文件,所有更改都將丟失。</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="460"/>
+ <location filename="../../../../src/ui/widgets/TextEdit.cpp" line="459"/>
<source>No document to print</source>
<translation type="unfinished"></translation>
</message>
@@ -5045,27 +5283,27 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyDetailsDialog</name>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="38"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="39"/>
<source>Signatures Details</source>
<translation type="unfinished">簽名詳情</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="61"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="62"/>
<source>No valid input found</source>
<translation type="unfinished">找不到有效的輸入</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="71"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="72"/>
<source>Error Validating signature</source>
<translation type="unfinished">驗證簽名時出錯</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="74"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
<source>File was signed on %1</source>
<translation type="unfinished">文件已在 %1 上簽名</translation>
</message>
<message>
- <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="75"/>
+ <location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="76"/>
<location filename="../../../../src/ui/dialog/details/VerifyDetailsDialog.cpp" line="80"/>
<source>It Contains</source>
<translation type="unfinished">它包含了</translation>
@@ -5079,154 +5317,154 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<context>
<name>GpgFrontend::UI::VerifyKeyDetailBox</name>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="53"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="54"/>
<source>Import from keyserver</source>
<translation type="unfinished">從金鑰伺服器導入</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="58"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="59"/>
<source>Key not present with id 0x</source>
<translation type="unfinished">不存在 ID 為 0x 的金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Status</source>
<translation type="unfinished">狀態</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="62"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="63"/>
<source>:</source>
<translation type="unfinished">:</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="64"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="65"/>
<source>Key not present in key list</source>
<translation type="unfinished">金鑰不在金鑰列表中</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="72"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="73"/>
<source>A Signature</source>
<translation type="unfinished">一個簽名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="77"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="92"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="107"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="123"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="138"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="153"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="78"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="93"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="108"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="124"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="139"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="154"/>
<source>Key Information is NOT Available</source>
<translation type="unfinished">關鍵信息不可用</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="79"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="94"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="109"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="125"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="140"/>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="155"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="80"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="95"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="110"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="126"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="141"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="156"/>
<source>Fingerprint</source>
<translation type="unfinished">指紋</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="87"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="88"/>
<source>Cert Revoked</source>
<translation type="unfinished">證書吊銷</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="102"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="103"/>
<source>Signature Expired</source>
<translation type="unfinished">簽名過期</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="117"/>
<location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="118"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="119"/>
<source>Key Expired</source>
<translation type="unfinished">金鑰過期</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="133"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="134"/>
<source>General Error</source>
<translation type="unfinished">一般錯誤</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="148"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="149"/>
<source>Unknown Error </source>
<translation type="unfinished">異常錯誤 </translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="176"/>
<source>Signer Name</source>
<translation type="unfinished">簽名者姓名</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="177"/>
<source>Signer Email</source>
<translation type="unfinished">簽名者電子郵件</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="178"/>
<source>Key&apos;s Fingerprint</source>
<translation type="unfinished">鑰匙的指紋</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="181"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="179"/>
<source>Valid</source>
<translation type="unfinished">有效的</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="182"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="180"/>
<source>Flags</source>
<translation type="unfinished">旗幟</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="187"/>
<source>Fully Valid</source>
<translation type="unfinished">完全有效</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="191"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="189"/>
<source>NOT Fully Valid</source>
<translation type="unfinished">不完全有效</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="198"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="196"/>
<source>Good</source>
<translation type="unfinished">好的</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="201"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="199"/>
<source>Bad</source>
<translation type="unfinished">壞的</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="204"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="202"/>
<source>Expired</source>
<translation type="unfinished">已到期</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="207"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="205"/>
<source>Missing Key</source>
<translation type="unfinished">缺少鑰匙</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="210"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="208"/>
<source>Revoked Key</source>
<translation type="unfinished">撤銷金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="213"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="211"/>
<source>Expired Key</source>
<translation type="unfinished">過期金鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="216"/>
+ <location filename="../../../../src/ui/widgets/VerifyKeyDetailBox.cpp" line="214"/>
<source>Missing CRL</source>
<translation type="unfinished">缺少 CRL</translation>
</message>
@@ -5273,7 +5511,7 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
</message>
</context>
<context>
- <name>QObject</name>
+ <name>QCoreApplication</name>
<message>
<location filename="../../../../src/cmd.cpp" line="49"/>
<source>This is free software; see the source for copying conditions.</source>
@@ -5295,93 +5533,144 @@ If Data And Signature is COMBINED within a single file, KEEP THIS EMPTY: </sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="196"/>
- <source>GpgME inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
+ <source>Loading Gnupg Info...</source>
+ <translation type="unfinished">正在加載 Gnupg 信息...</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="322"/>
- <source>GpgME Context inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="54"/>
+ <source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
+ <translation type="unfinished">如果此過程太慢,請在 gnupg 組態檔案中適當設定金鑰伺服器位址(取決於您所在國家或地區的網絡情況)。</translation>
</message>
<message>
- <location filename="../../../../src/core/GpgCoreInit.cpp" line="331"/>
- <source>Gpg Key Detabase inilization failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="63"/>
+ <source>Show Verify Details</source>
+ <translation type="unfinished">顯示驗證詳細信息</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="71"/>
+ <source>Public key not found locally</source>
+ <translation type="unfinished">本地未找到公鑰</translation>
+ </message>
+ <message>
+ <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="72"/>
+ <source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
+ <translation type="unfinished">本地沒有目標公鑰內容供 GpgFrontend 收集有關此簽名的足夠信息。現在要從 Keyserver 導入公鑰嗎?</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="75"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="89"/>
<source>File Hash Information</source>
<translation type="unfinished">文件哈希信息</translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <source>filename</source>
- <translation type="unfinished">文檔名稱</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
+ <source>Filename</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="76"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="92"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="100"/>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="108"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="90"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="95"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="99"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="104"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="110"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="116"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="125"/>
<source>: </source>
<translation type="unfinished">: </translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="83"/>
- <source>file size(bytes)</source>
- <translation type="unfinished">文件大小(字節)</translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="94"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="98"/>
+ <source>File Size</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="113"/>
- <source>Error in Calculating File Hash </source>
- <translation type="unfinished">計算檔案雜湊中有錯誤 </translation>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="123"/>
+ <source>Error: cannot read target file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="143"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
<source>target path doesn&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="148"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="162"/>
<source>do NOT have permission to write path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="153"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="168"/>
<source>do NOT have permission to read/write file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../../src/core/utils/IOUtils.cpp" line="156"/>
+ <location filename="../../../../src/core/utils/IOUtils.cpp" line="171"/>
<source>Success</source>
<translation type="unfinished">成功</translation>
</message>
<message>
- <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="53"/>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="294"/>
+ <source>GpgME initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="397"/>
+ <source>GpgME Context initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../../src/core/GpgCoreInit.cpp" line="406"/>
+ <source>Gpg Key Detabase initiation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>File Hash Information</source>
+ <translation type="obsolete">文件哈希信息</translation>
+ </message>
+ <message>
+ <source>filename</source>
+ <translation type="obsolete">文檔名稱</translation>
+ </message>
+ <message>
+ <source>: </source>
+ <translation type="obsolete">: </translation>
+ </message>
+ <message>
+ <source>file size(bytes)</source>
+ <translation type="obsolete">文件大小(字節)</translation>
+ </message>
+ <message>
+ <source>Error in Calculating File Hash </source>
+ <translation type="obsolete">計算檔案雜湊中有錯誤 </translation>
+ </message>
+ <message>
+ <source>Success</source>
+ <translation type="obsolete">成功</translation>
+ </message>
+ <message>
<source>Loading Gnupg Info...</source>
- <translation type="unfinished">正在加載 Gnupg 信息...</translation>
+ <translation type="obsolete">正在加載 Gnupg 信息...</translation>
</message>
<message>
- <location filename="../../../../src/ui/GpgFrontendUIInit.cpp" line="54"/>
<source>If this process is too slow, please set the key server address appropriately in the gnupg configuration file (depending on the network situation in your country or region).</source>
- <translation type="unfinished">如果此過程太慢,請在 gnupg 組態檔案中適當設定金鑰伺服器位址(取決於您所在國家或地區的網絡情況)。</translation>
+ <translation type="obsolete">如果此過程太慢,請在 gnupg 組態檔案中適當設定金鑰伺服器位址(取決於您所在國家或地區的網絡情況)。</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="64"/>
<source>Show Verify Details</source>
- <translation type="unfinished">顯示驗證詳細信息</translation>
+ <translation type="obsolete">顯示驗證詳細信息</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="73"/>
<source>Public key not found locally</source>
- <translation type="unfinished">本地未找到公鑰</translation>
+ <translation type="obsolete">本地未找到公鑰</translation>
</message>
<message>
- <location filename="../../../../src/ui/UserInterfaceUtils.cpp" line="74"/>
<source>There is no target public key content in local for GpgFrontend to gather enough information about this Signature. Do you want to import the public key from Keyserver now?</source>
- <translation type="unfinished">本地沒有目標公鑰內容供 GpgFrontend 收集有關此簽名的足夠信息。現在要從 Keyserver 導入公鑰嗎?</translation>
+ <translation type="obsolete">本地沒有目標公鑰內容供 GpgFrontend 收集有關此簽名的足夠信息。現在要從 Keyserver 導入公鑰嗎?</translation>
</message>
</context>
</TS>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 71734127..6a7cf4a8 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -171,10 +171,6 @@ if (BUILD_APPLICATION)
list(APPEND ALL_RUNTIME_DEP_PATH_LIST ${_libDllPath})
unset(_libDllPath)
- file(GLOB _libDllPath "${_libDllBinPath}/libarchive-*.dll")
- list(APPEND ALL_RUNTIME_DEP_PATH_LIST ${_libDllPath})
-
- unset(_libDllPath)
file(GLOB _libDllPath "${_libDllBinPath}/libassuan-*.dll")
list(APPEND ALL_RUNTIME_DEP_PATH_LIST ${_libDllPath})
@@ -271,6 +267,10 @@ if (BUILD_APPLICATION)
file(GLOB _libDllPath "${_libDllBinPath}/libcrypto-*.dll")
list(APPEND ALL_RUNTIME_DEP_PATH_LIST ${_libDllPath})
+ unset(_libDllPath)
+ file(GLOB _libDllPath "${_libDllBinPath}/libxml2-*.dll")
+ list(APPEND ALL_RUNTIME_DEP_PATH_LIST ${_libDllPath})
+
# gpgme-w32spawn.exe
unset(_libExEPath)
file(GLOB _libExEPath "${_libDllBinPath}/gpgme-w32spawn.exe")
@@ -452,6 +452,17 @@ if (BUILD_APPLICATION)
TS_FILES ${TS_FILES}
SOURCES ${ALL_SOURCE_FILES}
INCLUDE_DIRECTORIES ${CMAKE_SOURCE_DIR}/src)
+
+ file(GLOB QT_TRANSLATIONS_TS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/third_party/qttranslations/translations/*.ts)
+ list(FILTER QT_TRANSLATIONS_TS INCLUDE REGEX ".*(qt|qtbase)_.*\.ts$")
+ add_custom_target(qttranslations ALL)
+ qt_add_lrelease(qttranslations
+ TS_FILES ${QT_TRANSLATIONS_TS}
+ QM_FILES_OUTPUT_VARIABLE QT_TRANSLATIONS_QM)
+ qt_add_resources(${AppName} "qttranslations"
+ PREFIX "/i18n_qt"
+ BASE ${CMAKE_CURRENT_BINARY_DIR}
+ FILES ${QT_TRANSLATIONS_QM})
endif()
# if building linux package
diff --git a/src/app.cpp b/src/app.cpp
index b8b20300..a5539a37 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -33,6 +33,7 @@
#include "ui/GpgFrontendUIInit.h"
// main
+#include "init.h"
#include "main.h"
namespace GpgFrontend {
@@ -69,6 +70,9 @@ auto StartApplication(const GFCxtWPtr& p_ctx) -> int {
int restart_count = 0;
do {
+ // refresh locale settings
+ if (restart_count > 0) InitLocale();
+
// after that load ui totally
GpgFrontend::UI::InitGpgFrontendUI(app);
diff --git a/src/cmd.cpp b/src/cmd.cpp
index f060a16b..cef0a984 100644
--- a/src/cmd.cpp
+++ b/src/cmd.cpp
@@ -46,14 +46,15 @@ auto PrintVersion() -> int {
<< "v" << VERSION_MAJOR << "." << VERSION_MINOR << "." << VERSION_PATCH
<< '\n';
stream << "Copyright (©) 2021 Saturneric <[email protected]>" << '\n'
- << QObject::tr(
+ << QCoreApplication::tr(
"This is free software; see the source for copying conditions.")
<< '\n'
<< '\n';
- stream << QObject::tr("Build DateTime: ") << BUILD_TIMESTAMP << '\n'
- << QObject::tr("Build Version: ") << BUILD_VERSION << '\n'
- << QObject::tr("Source Code Version: ") << GIT_VERSION << '\n';
+ stream << QCoreApplication::tr("Build DateTime: ") << BUILD_TIMESTAMP << '\n'
+ << QCoreApplication::tr("Build Version: ") << BUILD_VERSION << '\n'
+ << QCoreApplication::tr("Source Code Version: ") << GIT_VERSION
+ << '\n';
stream << Qt::endl;
return 0;
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index ed12ad01..a37ea7ee 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -75,12 +75,29 @@ endif ()
# spdlog
target_link_libraries(gpgfrontend_core PRIVATE spdlog)
-# link libarchive
-if(APPLE)
- set(LibArchive_INCLUDE_DIR "/usr/local/opt/libarchive/include")
+
+# configure libarchive
+if(NOT MINGW)
+ if(APPLE)
+ if(EXISTS "/usr/local/opt/libarchive/include")
+ set(LibArchive_INCLUDE_DIR "/usr/local/opt/libarchive/include")
+ else()
+ set(LibArchive_INCLUDE_DIR "/opt/homebrew/opt/libarchive/include")
+ endif()
+ endif()
+ find_package(LibArchive REQUIRED)
+ target_include_directories(gpgfrontend_core PRIVATE ${LibArchive_INCLUDE_DIR})
+else()
+ if(MINGW)
+ set_target_properties(archive
+ PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
+ )
+ endif()
endif()
-find_package(LibArchive REQUIRED)
-target_include_directories(gpgfrontend_core PRIVATE ${LibArchive_INCLUDE_DIR})
+
+# link libarchive
target_link_libraries(gpgfrontend_core PRIVATE archive)
# link Qt core
diff --git a/src/core/GpgCoreInit.cpp b/src/core/GpgCoreInit.cpp
index f231056f..d2e4c2ec 100644
--- a/src/core/GpgCoreInit.cpp
+++ b/src/core/GpgCoreInit.cpp
@@ -38,7 +38,6 @@
#include "core/function/gpg/GpgKeyGetter.h"
#include "core/module/ModuleManager.h"
#include "core/thread/Task.h"
-#include "core/thread/TaskRunner.h"
#include "core/thread/TaskRunnerGetter.h"
#include "core/utils/CommonUtils.h"
#include "core/utils/GpgUtils.h"
@@ -77,7 +76,7 @@ auto SearchKeyDatabasePath(const QList<QString>& candidate_paths) -> QString {
return {};
}
-auto InitGpgME(const QString& gnupg_path) -> bool {
+auto InitGpgME(const QString& gpgconf_path, const QString& gnupg_path) -> bool {
// init gpgme subsystem and get gpgme library version
Module::UpsertRTValue("core", "gpgme.version",
QString(gpgme_check_version(nullptr)));
@@ -88,8 +87,11 @@ auto InitGpgME(const QString& gnupg_path) -> bool {
#endif
if (!gnupg_path.isEmpty()) {
- GF_CORE_LOG_DEBUG("gpgme set engine info, gnupg path: {}", gnupg_path);
- CheckGpgError(gpgme_set_engine_info(GPGME_PROTOCOL_OPENPGP,
+ GF_CORE_LOG_DEBUG("gpgme set engine info, gpgconf path: {}, gnupg path: {}",
+ gpgconf_path, gnupg_path);
+ CheckGpgError(gpgme_set_engine_info(GPGME_PROTOCOL_GPGCONF,
+ gpgconf_path.toUtf8(), nullptr));
+ CheckGpgError(gpgme_set_engine_info(GPGME_PROTOCOL_OpenPGP,
gnupg_path.toUtf8(), nullptr));
}
@@ -218,13 +220,12 @@ auto GetGnuPGPathByGpgConf(const QString& gnupg_install_fs_path) -> QString {
}
return "";
}
-
-auto DetectGnuPGPath() -> QString {
+auto DetectGpgConfPath() -> QString {
auto settings = GlobalSettingStation::GetInstance().GetSettings();
auto use_custom_gnupg_install_path =
- settings.value("basic/use_custom_gnupg_install_path", false).toBool();
+ settings.value("gnupg/use_custom_gnupg_install_path", false).toBool();
auto custom_gnupg_install_path =
- settings.value("basic/custom_gnupg_install_path", QString{}).toString();
+ settings.value("gnupg/custom_gnupg_install_path", QString{}).toString();
QString gnupg_install_fs_path;
// user defined
@@ -262,12 +263,15 @@ auto DetectGnuPGPath() -> QString {
}
if (!gnupg_install_fs_path.isEmpty()) {
- return GetGnuPGPathByGpgConf(
- QFileInfo(gnupg_install_fs_path).absoluteFilePath());
+ return QFileInfo(gnupg_install_fs_path).absoluteFilePath();
}
return "";
}
+auto DetectGnuPGPath(QString gpgconf_path) -> QString {
+ return GetGnuPGPathByGpgConf(gpgconf_path);
+}
+
void InitGpgFrontendCore(CoreInitArgs args) {
// initialize global register table
Module::UpsertRTValue("core", "env.state.gpgme", 0);
@@ -279,13 +283,15 @@ void InitGpgFrontendCore(CoreInitArgs args) {
// initialize locale environment
GF_CORE_LOG_DEBUG("locale: {}", setlocale(LC_CTYPE, nullptr));
- auto gnupg_install_fs_path = DetectGnuPGPath();
+ auto gpgconf_install_fs_path = DetectGpgConfPath();
+ auto gnupg_install_fs_path = DetectGnuPGPath(gpgconf_install_fs_path);
+ GF_CORE_LOG_INFO("detected gpgconf path: {}", gpgconf_install_fs_path);
GF_CORE_LOG_INFO("detected gnupg path: {}", gnupg_install_fs_path);
// initialize library gpgme
- if (!InitGpgME(gnupg_install_fs_path)) {
+ if (!InitGpgME(gpgconf_install_fs_path, gnupg_install_fs_path)) {
CoreSignalStation::GetInstance()->SignalBadGnupgEnv(
- QObject::tr("GpgME inilization failed"));
+ QCoreApplication::tr("GpgME initiation failed"));
return;
}
@@ -301,19 +307,19 @@ void InitGpgFrontendCore(CoreInitArgs args) {
settings.value("network/auto_import_missing_key", false).toBool();
auto use_custom_key_database_path =
- settings.value("basic/use_custom_key_database_path", false)
+ settings.value("gnupg/use_custom_key_database_path", false)
.toBool();
auto custom_key_database_path =
- settings.value("basic/custom_key_database_path", QString{})
+ settings.value("gnupg/custom_key_database_path", QString{})
.toString();
auto custom_gnupg_install_path =
- settings.value("basic/custom_gnupg_install_path", QString{})
+ settings.value("gnupg/custom_gnupg_install_path", QString{})
.toString();
auto use_pinentry_as_password_input_dialog =
- settings.value("basic/use_pinentry_as_password_input_dialog", false)
+ settings.value("gnupg/use_pinentry_as_password_input_dialog", false)
.toBool();
GF_CORE_LOG_DEBUG("core loaded if use custom key databse path: {}",
@@ -388,7 +394,7 @@ void InitGpgFrontendCore(CoreInitArgs args) {
if (!ctx.Good()) {
GF_CORE_LOG_ERROR("default gnupg context init error, abort");
CoreSignalStation::GetInstance()->SignalBadGnupgEnv(
- QObject::tr("GpgME Context inilization failed"));
+ QCoreApplication::tr("GpgME Context initiation failed"));
return -1;
}
Module::UpsertRTValue("core", "env.state.ctx", 1);
@@ -397,7 +403,7 @@ void InitGpgFrontendCore(CoreInitArgs args) {
if (args.load_default_gpg_context) {
if (!GpgKeyGetter::GetInstance().FlushKeyCache()) {
CoreSignalStation::GetInstance()->SignalBadGnupgEnv(
- QObject::tr("Gpg Key Detabase inilization failed"));
+ QCoreApplication::tr("Gpg Key Detabase initiation failed"));
};
}
GF_CORE_LOG_DEBUG(
@@ -432,7 +438,15 @@ void InitGpgFrontendCore(CoreInitArgs args) {
"received callback from gnupg-info-gathering ");
// try to restart all components
- GpgFrontend::GpgAdvancedOperator::RestartGpgComponents();
+ auto settings =
+ GlobalSettingStation::GetInstance().GetSettings();
+ auto restart_all_gnupg_components_on_start =
+ settings.value("gnupg/restart_gpg_agent_on_start", false)
+ .toBool();
+
+ if (restart_all_gnupg_components_on_start) {
+ GpgAdvancedOperator::RestartGpgComponents();
+ }
Module::UpsertRTValue("core", "env.state.gnupg", 1);
// announce that all checkings were finished
diff --git a/src/core/function/ArchiveFileOperator.cpp b/src/core/function/ArchiveFileOperator.cpp
index f1345f87..2b76e4ac 100644
--- a/src/core/function/ArchiveFileOperator.cpp
+++ b/src/core/function/ArchiveFileOperator.cpp
@@ -89,13 +89,13 @@ void ArchiveFileOperator::NewArchive2DataExchanger(
const OperationCallback &cb) {
RunIOOperaAsync(
[=](const DataObjectPtr &data_object) -> GFError {
- std::array<char, 1024> buff{};
auto ret = 0;
const auto base_path = QDir(QDir(target_directory).absolutePath());
auto *archive = archive_write_new();
archive_write_add_filter_none(archive);
archive_write_set_format_pax_restricted(archive);
+ archive_write_set_format_option(archive, "pax", "hdrcharset", "BINARY");
archive_write_open(archive, exchanger.get(), nullptr,
ArchiveWriteCallback, ArchiveCloseWriteCallback);
@@ -104,8 +104,10 @@ void ArchiveFileOperator::NewArchive2DataExchanger(
archive_read_disk_set_standard_lookup(disk);
#ifdef WINDOWS
- auto r = archive_read_disk_open_w(
- disk, target_directory.toStdWString().c_str());
+ auto target_directory_utf16_wstr = std::wstring(
+ reinterpret_cast<const wchar_t *>((target_directory).utf16()));
+ auto r =
+ archive_read_disk_open_w(disk, target_directory_utf16_wstr.c_str());
#else
auto r = archive_read_disk_open(disk, target_directory.toUtf8());
#endif
@@ -132,38 +134,56 @@ void ArchiveFileOperator::NewArchive2DataExchanger(
archive_read_disk_descend(disk);
- // turn absolute path to relative path
- archive_entry_set_pathname(
- entry,
- base_path.relativeFilePath(QString(archive_entry_pathname(entry)))
- .toUtf8());
+#ifdef WINDOWS
+ auto source_path =
+ QString::fromUtf16(reinterpret_cast<const char16_t *>(
+ archive_entry_pathname_w(entry)));
+#else
+ auto source_path = QString::fromUtf8(archive_entry_pathname(entry));
+#endif
- r = archive_write_header(archive, entry);
- if (r < ARCHIVE_OK) {
- GF_CORE_LOG_ERROR(
- "archive_write_header() failed, ret: {}, explain: {} ", r,
- archive_error_string(archive));
- continue;
- }
+ QFile file(source_path);
+ if (file.open(QIODeviceBase::ReadOnly)) {
+ // turn absolute path to relative path
+ auto relativ_path_name = base_path.relativeFilePath(source_path);
+ archive_entry_set_pathname(entry, relativ_path_name.toUtf8());
- if (r == ARCHIVE_FATAL) {
- GF_CORE_LOG_ERROR(
- "archive_write_header() failed, ret: {}, explain: {}, "
- "abort ...",
- r, archive_error_string(archive));
- ret = -1;
- break;
- }
+#ifdef WINDOWS
+ auto source_path_utf16_wstr = std::wstring(
+ reinterpret_cast<const wchar_t *>(source_path.utf16()));
+ archive_entry_copy_sourcepath_w(entry,
+ source_path_utf16_wstr.c_str());
+#else
- if (r > ARCHIVE_FAILED) {
- auto fd = open(archive_entry_sourcepath(entry), O_RDONLY);
- auto len = read(fd, buff.data(), buff.size());
- while (len > 0) {
- archive_write_data(archive, buff.data(), len);
- len = read(fd, buff.data(), buff.size());
+ archive_entry_copy_sourcepath(entry, source_path.toUtf8());
+#endif
+
+ r = archive_write_header(archive, entry);
+ if (r < ARCHIVE_OK) {
+ GF_CORE_LOG_ERROR(
+ "archive_write_header() failed, ret: {}, explain: {} ", r,
+ archive_error_string(archive));
+ continue;
+ }
+
+ if (r == ARCHIVE_FATAL) {
+ GF_CORE_LOG_ERROR(
+ "archive_write_header() failed, ret: {}, explain: {}, "
+ "abort ...",
+ r, archive_error_string(archive));
+ ret = -1;
+ break;
+ }
+
+ if (r > ARCHIVE_FAILED) {
+ auto buffer = file.read(1024);
+ while (!buffer.isEmpty()) {
+ archive_write_data(archive, buffer.data(), buffer.size());
+ buffer = file.read(1024);
+ }
}
- close(fd);
}
+ archive_write_finish_entry(archive);
archive_entry_free(entry);
}
@@ -204,6 +224,7 @@ void ArchiveFileOperator::ExtractArchiveFromDataExchanger(
r = archive_read_open(archive, &rdata, nullptr, ArchiveReadCallback,
nullptr);
+
if (r != ARCHIVE_OK) {
GF_CORE_LOG_ERROR("archive_read_open(), ret: {}, reason: {}", r,
archive_error_string(archive));
@@ -228,9 +249,17 @@ void ArchiveFileOperator::ExtractArchiveFromDataExchanger(
break;
}
- archive_entry_set_pathname(
- entry,
- (target_path + "/" + archive_entry_pathname(entry)).toUtf8());
+ auto path_name = QString::fromUtf8(archive_entry_pathname(entry));
+ auto target_path_name = target_path + "/" + path_name;
+
+#ifdef WINDOWS
+ auto target_path_utf16_wstr = std::wstring(
+ reinterpret_cast<const wchar_t *>((target_path_name).utf16()));
+ archive_entry_copy_pathname_w(entry, target_path_utf16_wstr.c_str());
+#else
+
+ archive_entry_set_pathname(entry, target_path_name.toUtf8());
+#endif
r = archive_write_header(ext, entry);
if (r != ARCHIVE_OK) {
diff --git a/src/core/function/GlobalSettingStation.cpp b/src/core/function/GlobalSettingStation.cpp
index 6969c15a..594b6661 100644
--- a/src/core/function/GlobalSettingStation.cpp
+++ b/src/core/function/GlobalSettingStation.cpp
@@ -59,10 +59,6 @@ class GlobalSettingStation::Impl {
GF_CORE_LOG_INFO("app data path: {}", app_data_path_);
GF_CORE_LOG_INFO("app log path: {}", app_log_path_);
- GF_CORE_LOG_DEBUG("app log files total size: {}", GetLogFilesSize());
- GF_CORE_LOG_DEBUG("app data objects files total size: {}",
- GetDataObjectsFilesSize());
-
if (!QDir(app_data_path_).exists()) QDir(app_data_path_).mkpath(".");
if (!QDir(app_log_path_).exists()) QDir(app_log_path_).mkpath(".");
}
diff --git a/src/core/function/SecureMemoryAllocator.cpp b/src/core/function/SecureMemoryAllocator.cpp
index 692c36c5..fccd09fe 100644
--- a/src/core/function/SecureMemoryAllocator.cpp
+++ b/src/core/function/SecureMemoryAllocator.cpp
@@ -28,14 +28,14 @@
#include "SecureMemoryAllocator.h"
-#ifndef MACOS
+#if !defined(MACOS) && defined(DEBUG)
#include <mimalloc.h>
#endif
namespace GpgFrontend {
auto SecureMemoryAllocator::Allocate(std::size_t size) -> void* {
-#ifndef MACOS
+#if !defined(MACOS) && defined(DEBUG)
auto* addr = mi_malloc(size);
#else
auto* addr = malloc(size);
@@ -44,7 +44,7 @@ auto SecureMemoryAllocator::Allocate(std::size_t size) -> void* {
}
auto SecureMemoryAllocator::Reallocate(void* ptr, std::size_t size) -> void* {
-#ifndef MACOS
+#if !defined(MACOS) && defined(DEBUG)
auto* addr = mi_realloc(ptr, size);
#else
auto* addr = realloc(ptr, size);
@@ -53,7 +53,7 @@ auto SecureMemoryAllocator::Reallocate(void* ptr, std::size_t size) -> void* {
}
void SecureMemoryAllocator::Deallocate(void* p) {
-#ifndef MACOS
+#if !defined(MACOS) && defined(DEBUG)
mi_free(p);
#else
free(p);
diff --git a/src/core/function/gpg/GpgFileOpera.cpp b/src/core/function/gpg/GpgFileOpera.cpp
index 94a08c76..ad506c4a 100644
--- a/src/core/function/gpg/GpgFileOpera.cpp
+++ b/src/core/function/gpg/GpgFileOpera.cpp
@@ -99,6 +99,7 @@ void GpgFileOpera::EncryptDirectory(const KeyArgsList& keys,
const QString& out_path,
const GpgOperationCallback& cb) {
auto ex = std::make_shared<GFDataExchanger>(kDataExchangerSize);
+ auto w_ex = std::weak_ptr<GFDataExchanger>(ex);
RunGpgOperaAsync(
[=](const DataObjectPtr& data_object) -> GpgError {
@@ -127,6 +128,9 @@ void GpgFileOpera::EncryptDirectory(const KeyArgsList& keys,
in_path, ex, [=](GFError err, const DataObjectPtr&) {
GF_CORE_LOG_DEBUG("new archive 2 data exchanger operation, err: {}",
err);
+ if (decltype(ex) p_ex = w_ex.lock(); err < 0 && p_ex != nullptr) {
+ ex->CloseWrite();
+ }
});
}
@@ -365,6 +369,7 @@ void GpgFileOpera::EncryptSignDirectory(const KeyArgsList& keys,
const QString& out_path,
const GpgOperationCallback& cb) {
auto ex = std::make_shared<GFDataExchanger>(kDataExchangerSize);
+ auto w_ex = std::weak_ptr<GFDataExchanger>(ex);
RunGpgOperaAsync(
[=](const DataObjectPtr& data_object) -> GpgError {
@@ -395,6 +400,9 @@ void GpgFileOpera::EncryptSignDirectory(const KeyArgsList& keys,
ArchiveFileOperator::NewArchive2DataExchanger(
in_path, ex, [=](GFError err, const DataObjectPtr&) {
GF_CORE_LOG_DEBUG("new archive 2 fd operation, err: {}", err);
+ if (decltype(ex) p_ex = w_ex.lock(); err < 0 && p_ex != nullptr) {
+ ex->CloseWrite();
+ }
});
}
diff --git a/src/core/function/gpg/GpgKeyOpera.cpp b/src/core/function/gpg/GpgKeyOpera.cpp
index 118f4784..e0ecb3ce 100644
--- a/src/core/function/gpg/GpgKeyOpera.cpp
+++ b/src/core/function/gpg/GpgKeyOpera.cpp
@@ -30,8 +30,6 @@
#include <gpg-error.h>
-#include <memory>
-
#include "core/GpgModel.h"
#include "core/function/gpg/GpgCommandExecutor.h"
#include "core/function/gpg/GpgKeyGetter.h"
@@ -53,7 +51,7 @@ GpgKeyOpera::GpgKeyOpera(int channel)
* Delete keys
* @param uidList key ids
*/
-void GpgKeyOpera::DeleteKeys(GpgFrontend::KeyIdArgsListPtr key_ids) {
+void GpgKeyOpera::DeleteKeys(KeyIdArgsListPtr key_ids) {
GpgError err;
for (const auto& tmp : *key_ids) {
auto key = GpgKeyGetter::GetInstance().GetKey(tmp);
@@ -130,7 +128,7 @@ void GpgKeyOpera::GenerateRevokeCert(const GpgKey& key,
// Code From Gpg4Win
while (proc->canReadLine()) {
const QString line = QString::fromUtf8(proc->readLine()).trimmed();
- GF_CORE_LOG_DEBUG("line: {}", line.toStdString());
+ GF_CORE_LOG_DEBUG("line: {}", line);
if (line == QLatin1String("[GNUPG:] GET_BOOL gen_revoke.okay")) {
proc->write("y\n");
} else if (line == QLatin1String("[GNUPG:] GET_LINE "
@@ -514,7 +512,7 @@ auto GpgKeyOpera::ModifyTOFUPolicy(const GpgKey& key,
return CheckGpgError(err);
}
-void GpgKeyOpera::DeleteKey(const GpgFrontend::KeyId& key_id) {
+void GpgKeyOpera::DeleteKey(const KeyId& key_id) {
auto keys = std::make_unique<KeyIdArgsList>();
keys->push_back(key_id);
DeleteKeys(std::move(keys));
diff --git a/src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp b/src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp
index 5d0ce920..f364423d 100644
--- a/src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp
+++ b/src/core/function/result_analyse/GpgDecryptResultAnalyse.cpp
@@ -56,7 +56,7 @@ void GpgFrontend::GpgDecryptResultAnalyse::doAnalyse() {
if (result != nullptr && result->recipients != nullptr) {
stream_ << Qt::endl;
- stream_ << "## " << tr("Gernal State") << ": " << Qt::endl;
+ stream_ << "## " << tr("General State") << ": " << Qt::endl;
if (result->file_name != nullptr) {
stream_ << "- " << tr("File Name") << ": " << result->file_name
diff --git a/src/core/function/result_analyse/GpgSignResultAnalyse.cpp b/src/core/function/result_analyse/GpgSignResultAnalyse.cpp
index bf429f38..3f3040b8 100644
--- a/src/core/function/result_analyse/GpgSignResultAnalyse.cpp
+++ b/src/core/function/result_analyse/GpgSignResultAnalyse.cpp
@@ -71,23 +71,42 @@ void GpgSignResultAnalyse::doAnalyse() {
stream_ << Qt::endl;
- auto singer_key = GpgKeyGetter::GetInstance().GetKey(new_sign->fpr);
+ QString fpr = new_sign->fpr == nullptr ? "" : new_sign->fpr;
+ auto singer_key = GpgKeyGetter::GetInstance().GetKey(fpr);
if (singer_key.IsGood()) {
- stream_ << "- " << tr("Signer") << ": "
+ stream_ << "- " << tr("Signed By") << ": "
<< singer_key.GetUIDs()->front().GetUID() << Qt::endl;
+
+ auto subkeys = singer_key.GetSubKeys();
+ auto it = std::find_if(
+ subkeys->begin(), subkeys->end(),
+ [fpr](const GpgSubKey &k) { return k.GetFingerprint() == fpr; });
+
+ if (it != subkeys->end()) {
+ auto &subkey = *it;
+ if (subkey.GetFingerprint() != singer_key.GetFingerprint()) {
+ stream_ << "- " << tr("Key ID") << ": " << singer_key.GetId()
+ << " (" << tr("Subkey") << ")" << Qt::endl;
+ } else {
+ stream_ << "- " << tr("Key ID") << ": " << singer_key.GetId()
+ << " (" << tr("Primary Key") << ")" << Qt::endl;
+ }
+ stream_ << "- " << tr("Key Create Date") << ": "
+ << QLocale().toString(subkey.GetCreateTime()) << Qt::endl;
+ }
} else {
- stream_ << "- " << tr("Signer") << ": "
- << "<unknown>" << Qt::endl;
+ stream_ << "- " << tr("Signed By") << "(" << tr("Fingerprint") << ")"
+ << ": " << (fpr.isEmpty() ? tr("<unknown>") : fpr) << Qt::endl;
}
stream_ << "- " << tr("Public Key Algo") << ": "
<< gpgme_pubkey_algo_name(new_sign->pubkey_algo) << Qt::endl;
stream_ << "- " << tr("Hash Algo") << ": "
<< gpgme_hash_algo_name(new_sign->hash_algo) << Qt::endl;
- stream_ << "- " << tr("Date") << "(" << tr("UTC") << ")"
+ stream_ << "- " << tr("Sign Date") << "(" << tr("UTC") << ")"
<< ": "
<< QDateTime::fromSecsSinceEpoch(new_sign->timestamp).toString()
<< Qt::endl;
- stream_ << "- " << tr("Date") << "(" << tr("Localized") << ")"
+ stream_ << "- " << tr("Sign Date") << "(" << tr("Localized") << ")"
<< ": " << GetFormatedDateByTimestamp(new_sign->timestamp)
<< Qt::endl;
diff --git a/src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp b/src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp
index 618275f9..df6b58b0 100644
--- a/src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp
+++ b/src/core/function/result_analyse/GpgVerifyResultAnalyse.cpp
@@ -28,7 +28,6 @@
#include "GpgVerifyResultAnalyse.h"
-#include "GpgFrontend.h"
#include "core/GpgModel.h"
#include "core/function/gpg/GpgKeyGetter.h"
#include "core/utils/CommonUtils.h"
@@ -74,7 +73,7 @@ void GpgFrontend::GpgVerifyResultAnalyse::doAnalyse() {
switch (gpg_err_code(sign->status)) {
case GPG_ERR_BAD_SIGNATURE:
stream_ << tr("A Bad Signature.") << Qt::endl;
- print_signer(stream_, sign);
+ print_signer(stream_, GpgSignature(sign));
stream_ << tr("This Signature is invalid.") << Qt::endl;
can_continue = false;
setStatus(-1);
@@ -107,12 +106,13 @@ void GpgFrontend::GpgVerifyResultAnalyse::doAnalyse() {
stream_ << tr("Signature Fully Valid.") << Qt::endl;
} else {
stream_ << tr("Signature Not Fully Valid.") << Qt::endl;
- stream_ << tr("(Adjust Trust Level to make it Fully Vaild)")
+ stream_ << "- " << tr("Tips") << ": "
+ << tr("Adjust Trust Level to make it Fully Vaild")
<< Qt::endl;
}
if ((sign->status & GPGME_SIGSUM_KEY_MISSING) == 0U) {
- if (!print_signer(stream_, sign)) setStatus(0);
+ if (!print_signer(stream_, GpgSignature(sign))) setStatus(0);
} else {
stream_ << tr("Key is NOT present with ID 0x") << sign->fpr
<< Qt::endl;
@@ -126,19 +126,20 @@ void GpgFrontend::GpgVerifyResultAnalyse::doAnalyse() {
<< tr("A signature could NOT be verified due to a Missing Key")
<< Qt::endl;
setStatus(-2);
+ print_signer_without_key(stream_, GpgSignature(sign));
break;
case GPG_ERR_CERT_REVOKED:
stream_ << tr("A signature is valid but the key used to verify the "
"signature has been revoked")
<< Qt::endl;
- if (!print_signer(stream_, sign)) {
+ if (!print_signer(stream_, GpgSignature(sign))) {
setStatus(0);
}
setStatus(-1);
break;
case GPG_ERR_SIG_EXPIRED:
stream_ << tr("A signature is valid but expired") << Qt::endl;
- if (!print_signer(stream_, sign)) {
+ if (!print_signer(stream_, GpgSignature(sign))) {
setStatus(0);
}
setStatus(-1);
@@ -147,7 +148,7 @@ void GpgFrontend::GpgVerifyResultAnalyse::doAnalyse() {
stream_ << tr("A signature is valid but the key used to "
"verify the signature has expired.")
<< Qt::endl;
- if (!print_signer(stream_, sign)) {
+ if (!print_signer(stream_, GpgSignature(sign))) {
setStatus(0);
}
break;
@@ -178,39 +179,67 @@ void GpgFrontend::GpgVerifyResultAnalyse::doAnalyse() {
}
}
+auto GpgFrontend::GpgVerifyResultAnalyse::print_signer_without_key(
+ QTextStream &stream, GpgSignature sign) -> bool {
+ stream_ << "- " << tr("Signed By") << "(" << tr("Fingerprint") << ")"
+ << ": "
+ << (sign.GetFingerprint().isEmpty() ? tr("<unknown>")
+ : sign.GetFingerprint())
+ << Qt::endl;
+ stream << "- " << tr("Public Key Algo") << ": " << sign.GetPubkeyAlgo()
+ << Qt::endl;
+ stream << "- " << tr("Hash Algo") << ": " << sign.GetHashAlgo() << Qt::endl;
+ stream << "- " << tr("Sign Date") << "(" << tr("UTC") << ")"
+ << ": " << sign.GetCreateTime().toString() << Qt::endl;
+ stream << "- " << tr("Sign Date") << "(" << tr("Localized") << ")"
+ << ": " << QLocale().toString(sign.GetCreateTime()) << Qt::endl;
+ return true;
+}
+
auto GpgFrontend::GpgVerifyResultAnalyse::print_signer(QTextStream &stream,
- gpgme_signature_t sign)
+ GpgSignature sign)
-> bool {
- bool key_found = true;
- auto key = GpgFrontend::GpgKeyGetter::GetInstance().GetKey(sign->fpr);
-
- if (!key.IsGood()) {
- stream << "- " << tr("Signed By") << ": "
- << "<" << tr("Unknown") << ">" << Qt::endl;
- setStatus(0);
- key_found = false;
- } else {
+ auto fingerprint = sign.GetFingerprint();
+ auto key = GpgFrontend::GpgKeyGetter::GetInstance().GetKey(fingerprint);
+ if (key.IsGood()) {
stream << "- " << tr("Signed By") << ": " << key.GetUIDs()->front().GetUID()
<< Qt::endl;
- }
- if (sign->pubkey_algo != 0U) {
- stream << "- " << tr("Public Key Algo") << ": "
- << gpgme_pubkey_algo_name(sign->pubkey_algo) << Qt::endl;
- }
- if (sign->hash_algo != 0U) {
- stream << "- " << tr("Hash Algo") << ": "
- << gpgme_hash_algo_name(sign->hash_algo) << Qt::endl;
- }
- if (sign->timestamp != 0U) {
- stream << "- " << tr("Date") << "(" << tr("UTC") << ")"
- << ": " << QDateTime::fromSecsSinceEpoch(sign->timestamp).toString()
- << Qt::endl;
- stream << "- " << tr("Date") << "(" << tr("Localized") << ")"
- << ": " << GetFormatedDateByTimestamp(sign->timestamp) << Qt::endl;
+ auto subkeys = key.GetSubKeys();
+ auto it = std::find_if(subkeys->begin(), subkeys->end(),
+ [fingerprint](const GpgSubKey &k) {
+ return k.GetFingerprint() == fingerprint;
+ });
+
+ if (it != subkeys->end()) {
+ auto &subkey = *it;
+ if (subkey.GetFingerprint() != key.GetFingerprint()) {
+ stream << "- " << tr("Key ID") << ": " << key.GetId() << " ("
+ << tr("Subkey") << ")" << Qt::endl;
+ } else {
+ stream << "- " << tr("Key ID") << ": " << key.GetId() << " ("
+ << tr("Primary Key") << ")" << Qt::endl;
+ }
+ stream << "- " << tr("Key Create Date") << ": "
+ << QLocale().toString(subkey.GetCreateTime()) << Qt::endl;
+ }
+
+ } else {
+ stream_ << "- " << tr("Signed By") << "(" << tr("Fingerprint") << ")"
+ << ": " << (fingerprint.isEmpty() ? tr("<unknown>") : fingerprint)
+ << Qt::endl;
+ setStatus(0);
}
+
+ stream << "- " << tr("Public Key Algo") << ": " << sign.GetPubkeyAlgo()
+ << Qt::endl;
+ stream << "- " << tr("Hash Algo") << ": " << sign.GetHashAlgo() << Qt::endl;
+ stream << "- " << tr("Sign Date") << "(" << tr("UTC") << ")"
+ << ": " << sign.GetCreateTime().toString() << Qt::endl;
+ stream << "- " << tr("Sign Date") << "(" << tr("Localized") << ")"
+ << ": " << QLocale().toString(sign.GetCreateTime()) << Qt::endl;
stream << Qt::endl;
- return key_found;
+ return key.IsGood();
}
auto GpgFrontend::GpgVerifyResultAnalyse::GetSignatures() const
diff --git a/src/core/function/result_analyse/GpgVerifyResultAnalyse.h b/src/core/function/result_analyse/GpgVerifyResultAnalyse.h
index 8aa2e41f..7b846f5e 100644
--- a/src/core/function/result_analyse/GpgVerifyResultAnalyse.h
+++ b/src/core/function/result_analyse/GpgVerifyResultAnalyse.h
@@ -77,7 +77,17 @@ class GPGFRONTEND_CORE_EXPORT GpgVerifyResultAnalyse : public GpgResultAnalyse {
* @return true
* @return false
*/
- auto print_signer(QTextStream &stream, gpgme_signature_t sign) -> bool;
+ auto print_signer(QTextStream &stream, GpgSignature sign) -> bool;
+
+ /**
+ * @brief
+ *
+ * @param stream
+ * @param sign
+ * @return true
+ * @return false
+ */
+ auto print_signer_without_key(QTextStream &stream, GpgSignature sign) -> bool;
GpgError error_; ///<
GpgVerifyResult result_; ///<
diff --git a/src/core/model/GpgSignature.cpp b/src/core/model/GpgSignature.cpp
index e2cb7e4b..e2671165 100644
--- a/src/core/model/GpgSignature.cpp
+++ b/src/core/model/GpgSignature.cpp
@@ -121,7 +121,7 @@ auto GpgSignature::GetExpireTime() const -> QDateTime {
* @return QString
*/
auto GpgSignature::GetFingerprint() const -> QString {
- return signature_ref_->fpr;
+ return signature_ref_->fpr != nullptr ? signature_ref_->fpr : "";
}
/**
diff --git a/src/core/utils/GpgUtils.cpp b/src/core/utils/GpgUtils.cpp
index db3513eb..0d00b13e 100644
--- a/src/core/utils/GpgUtils.cpp
+++ b/src/core/utils/GpgUtils.cpp
@@ -99,8 +99,9 @@ auto TextIsSigned(QString text) -> int {
auto SetExtensionOfOutputFile(const QString& path, GpgOperation opera,
bool ascii) -> QString {
+ auto file_info = QFileInfo(path);
QString new_extension;
- QString current_extension = QFileInfo(path).suffix();
+ QString current_extension = file_info.suffix();
if (ascii) {
switch (opera) {
@@ -127,23 +128,24 @@ auto SetExtensionOfOutputFile(const QString& path, GpgOperation opera,
}
if (!new_extension.isEmpty()) {
- return QFileInfo(path).path() + "/" + QFileInfo(path).completeBaseName() +
- "." + new_extension;
+ return file_info.absolutePath() + "/" + file_info.completeBaseName() + "." +
+ new_extension;
}
-
- return path;
+ return file_info.absolutePath() + "/" + file_info.completeBaseName();
}
auto SetExtensionOfOutputFileForArchive(const QString& path, GpgOperation opera,
bool ascii) -> QString {
QString extension;
+ auto file_info = QFileInfo(path);
if (ascii) {
switch (opera) {
case kENCRYPT:
case kENCRYPT_SIGN:
- extension = ".tar.asc";
- return path + extension;
+ if (file_info.completeSuffix() != "tar") extension += ".tar";
+ extension += ".asc";
+ return QFileInfo(path).absoluteFilePath() + extension;
break;
default:
break;
@@ -152,15 +154,15 @@ auto SetExtensionOfOutputFileForArchive(const QString& path, GpgOperation opera,
switch (opera) {
case kENCRYPT:
case kENCRYPT_SIGN:
- extension = ".tar.gpg";
- return path + extension;
+ if (file_info.completeSuffix() != "tar") extension += ".tar";
+ extension += ".gpg";
+ return QFileInfo(path).absoluteFilePath() + extension;
break;
default:
break;
}
}
- auto file_info = QFileInfo(path);
return file_info.absolutePath() + "/" + file_info.baseName();
}
diff --git a/src/core/utils/IOUtils.cpp b/src/core/utils/IOUtils.cpp
index 1541d726..1002badd 100644
--- a/src/core/utils/IOUtils.cpp
+++ b/src/core/utils/IOUtils.cpp
@@ -86,40 +86,43 @@ auto CalculateHash(const QString& file_path) -> QString {
QTextStream ss(&buffer);
if (info.isFile() && info.isReadable()) {
- ss << "# " << QObject::tr("File Hash Information") << Qt::endl;
- ss << "- " << QObject::tr("Filename") << QObject::tr(": ")
+ ss << "# " << QCoreApplication::tr("File Hash Information") << Qt::endl;
+ ss << "- " << QCoreApplication::tr("Filename") << QCoreApplication::tr(": ")
<< info.fileName() << Qt::endl;
// read all data
- ss << "- " << QObject::tr("File Size (bytes)") << QObject::tr(": ")
- << QString::number(info.size()) << Qt::endl;
+ ss << "- " << QCoreApplication::tr("File Size") << "(bytes)"
+ << QCoreApplication::tr(": ") << QString::number(info.size())
+ << Qt::endl;
- ss << "- " << QObject::tr("File Size") << QObject::tr(": ")
- << GetHumanFriendlyFileSize(info.size()) << Qt::endl;
+ ss << "- " << QCoreApplication::tr("File Size")
+ << QCoreApplication::tr(": ") << GetHumanFriendlyFileSize(info.size())
+ << Qt::endl;
// md5
ss << "- "
- << "MD5" << QObject::tr(": ")
+ << "MD5" << QCoreApplication::tr(": ")
<< GetFileChecksum(file_path, QCryptographicHash::Md5).toHex()
<< Qt::endl;
// sha1
ss << "- "
- << "SHA1" << QObject::tr(": ")
+ << "SHA1" << QCoreApplication::tr(": ")
<< GetFileChecksum(file_path, QCryptographicHash::Sha1).toHex()
<< Qt::endl;
// sha1
ss << "- "
- << "SHA256" << QObject::tr(": ")
+ << "SHA256" << QCoreApplication::tr(": ")
<< GetFileChecksum(file_path, QCryptographicHash::Sha256).toHex()
<< Qt::endl;
ss << Qt::endl;
} else {
- ss << "# " << QObject::tr("Error: cannot read target file") << Qt::endl;
- ss << "- " << QObject::tr("Filename") << QObject::tr(": ")
+ ss << "# " << QCoreApplication::tr("Error: cannot read target file")
+ << Qt::endl;
+ ss << "- " << QCoreApplication::tr("Filename") << QCoreApplication::tr(": ")
<< info.fileName() << Qt::endl;
}
@@ -150,20 +153,22 @@ auto TargetFilePreCheck(const QString& path, bool read)
if (read) {
if (!file_info.exists()) {
- return {false, QObject::tr("target path doesn't exists")};
+ return {false, QCoreApplication::tr("target path doesn't exists")};
}
} else {
QFileInfo const path_info(file_info.absolutePath());
if (!path_info.isWritable()) {
- return {false, QObject::tr("do NOT have permission to write path")};
+ return {false,
+ QCoreApplication::tr("do NOT have permission to write path")};
}
}
if (read ? !file_info.isReadable() : false) {
- return {false, QObject::tr("do NOT have permission to read/write file")};
+ return {false,
+ QCoreApplication::tr("do NOT have permission to read/write file")};
}
- return {true, QObject::tr("Success")};
+ return {true, QCoreApplication::tr("Success")};
}
auto GetFullExtension(const QString& path) -> QString {
diff --git a/src/init.cpp b/src/init.cpp
index f9a1dabd..76c1fd4c 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -30,6 +30,7 @@
#include "core/GpgCoreInit.h"
#include "core/function/GlobalSettingStation.h"
+#include "core/function/gpg/GpgAdvancedOperator.h"
#include "core/thread/TaskRunnerGetter.h"
#include "core/utils/LogUtils.h"
#include "module/GpgFrontendModuleInit.h"
@@ -54,11 +55,19 @@ int setenv(const char *name, const char *value, int overwrite) {
#endif
void InitLoggingSystem(const GFCxtSPtr &ctx) {
+#ifdef DEBUG
RegisterSyncLogger("core", ctx->log_level);
RegisterSyncLogger("main", ctx->log_level);
RegisterSyncLogger("module", ctx->log_level);
RegisterSyncLogger("ui", ctx->log_level);
RegisterSyncLogger("test", ctx->log_level);
+#else
+ RegisterAsyncLogger("core", ctx->log_level);
+ RegisterAsyncLogger("main", ctx->log_level);
+ RegisterAsyncLogger("module", ctx->log_level);
+ RegisterAsyncLogger("ui", ctx->log_level);
+ RegisterAsyncLogger("test", ctx->log_level);
+#endif
}
void InitGlobalPathEnv() {
@@ -66,13 +75,13 @@ void InitGlobalPathEnv() {
bool use_custom_gnupg_install_path =
GlobalSettingStation::GetInstance()
.GetSettings()
- .value("basic/use_custom_gnupg_install_path", false)
+ .value("gnupg/use_custom_gnupg_install_path", false)
.toBool();
QString custom_gnupg_install_path =
GlobalSettingStation::GetInstance()
.GetSettings()
- .value("basic/custom_gnupg_install_path")
+ .value("gnupg/custom_gnupg_install_path")
.toString();
// add custom gnupg install path into env $PATH
@@ -86,6 +95,15 @@ void InitGlobalPathEnv() {
QString modified_path_value = getenv("PATH");
GF_MAIN_LOG_DEBUG("Modified System PATH: {}", modified_path_value);
}
+
+ if (GlobalSettingStation::GetInstance()
+ .GetSettings()
+ .value("gnupg/enable_gpgme_debug_log", false)
+ .toBool()) {
+ qputenv("GPGME_DEBUG",
+ QString("9:%1").arg(QDir::currentPath() + "/gpgme.log").toUtf8());
+ GF_CORE_LOG_DEBUG("GPGME_DEBUG ENV: {}", qgetenv("GPGME_DEBUG"));
+ }
}
void InitGlobalBasicalEnv(const GFCxtWPtr &p_ctx, bool gui_mode) {
@@ -94,6 +112,9 @@ void InitGlobalBasicalEnv(const GFCxtWPtr &p_ctx, bool gui_mode) {
return;
}
+ // init default locale of application
+ InitLocale();
+
// initialize logging system
SetDefaultLogLevel(ctx->log_level);
InitLoggingSystem(ctx);
@@ -120,12 +141,40 @@ void InitGlobalBasicalEnv(const GFCxtWPtr &p_ctx, bool gui_mode) {
InitGpgFrontendCore(core_init_args);
}
+/**
+ * @brief setup the locale and load the translations
+ *
+ */
+void InitLocale() {
+ // get the instance of the GlobalSettingStation
+ auto settings =
+ GpgFrontend::GlobalSettingStation::GetInstance().GetSettings();
+
+ // read from settings file
+ auto lang = settings.value("basic/lang").toString();
+ GF_UI_LOG_INFO("current system default locale: {}", QLocale().name());
+ GF_UI_LOG_INFO("locale settings from config: {}", lang);
+
+ auto target_locale =
+ lang.trimmed().isEmpty() ? QLocale::system() : QLocale(lang);
+ GF_UI_LOG_INFO("application's target locale: {}", target_locale.name());
+ QLocale::setDefault(target_locale);
+}
+
void ShutdownGlobalBasicalEnv(const GFCxtWPtr &p_ctx) {
GFCxtSPtr ctx = p_ctx.lock();
if (ctx == nullptr) {
return;
}
+ // clear password cache
+ if (GlobalSettingStation::GetInstance()
+ .GetSettings()
+ .value("basic/clear_gpg_password_cache", false)
+ .toBool()) {
+ GpgAdvancedOperator::ClearGpgPasswordCache([](int, DataObjectPtr) {});
+ }
+
Thread::TaskRunnerGetter::GetInstance().StopAllTeakRunner();
DestroyGpgFrontendCore();
diff --git a/src/init.h b/src/init.h
index 1481b435..7a688504 100644
--- a/src/init.h
+++ b/src/init.h
@@ -48,6 +48,12 @@ void InitGlobalPathEnv();
/**
* @brief
*
+ */
+void InitLocale();
+
+/**
+ * @brief
+ *
* @param args
*/
void InitGlobalBasicalEnv(const GFCxtWPtr &, bool);
diff --git a/src/module/integrated/version_checking_module/VersionCheckTask.cpp b/src/module/integrated/version_checking_module/VersionCheckTask.cpp
index 34827838..83844af8 100644
--- a/src/module/integrated/version_checking_module/VersionCheckTask.cpp
+++ b/src/module/integrated/version_checking_module/VersionCheckTask.cpp
@@ -59,38 +59,44 @@ auto VersionCheckTask::Run() -> int {
}
void VersionCheckTask::slot_parse_latest_version_info() {
- version_.current_version = current_version_;
-
- if (latest_reply_ == nullptr ||
- latest_reply_->error() != QNetworkReply::NoError) {
- MODULE_LOG_ERROR("latest version request error");
+ if (latest_reply_ == nullptr) {
+ version_.latest_version = current_version_;
+ version_.loading_done = false;
+ } else if (latest_reply_->error() != QNetworkReply::NoError) {
+ MODULE_LOG_ERROR("latest version request error: ",
+ latest_reply_->errorString());
version_.latest_version = current_version_;
} else {
latest_reply_bytes_ = latest_reply_->readAll();
auto latest_reply_json = QJsonDocument::fromJson(latest_reply_bytes_);
- QString latest_version = latest_reply_json["tag_name"].toString();
- MODULE_LOG_INFO("latest version from Github: {}", latest_version);
-
- QRegularExpression re(R"(^[vV](\d+\.)?(\d+\.)?(\*|\d+))");
- auto version_match = re.match(latest_version);
- if (version_match.hasMatch()) {
- latest_version = version_match.captured(0);
- MODULE_LOG_DEBUG("latest version matched: {}", latest_version);
+ if (latest_reply_json.isObject()) {
+ QString latest_version = latest_reply_json["tag_name"].toString();
+
+ QRegularExpression re(R"(^[vV](\d+\.)?(\d+\.)?(\*|\d+))");
+ auto version_match = re.match(latest_version);
+ if (version_match.hasMatch()) {
+ latest_version = version_match.captured(0);
+ MODULE_LOG_INFO("latest version from github: {}", latest_version);
+ } else {
+ latest_version = current_version_;
+ MODULE_LOG_WARN("latest version unknown, set to current version: {}",
+ current_version_);
+ }
+
+ bool prerelease = latest_reply_json["prerelease"].toBool();
+ bool draft = latest_reply_json["draft"].toBool();
+ auto publish_date = latest_reply_json["published_at"].toString();
+ auto release_note = latest_reply_json["body"].toString();
+ version_.latest_version = latest_version;
+ version_.latest_prerelease_version_from_remote = prerelease;
+ version_.latest_draft_from_remote = draft;
+ version_.publish_date = publish_date;
+ version_.release_note = release_note;
} else {
- latest_version = current_version_;
- MODULE_LOG_WARN("latest version unknown");
+ MODULE_LOG_WARN("cannot parse data got from github: {}",
+ latest_reply_bytes_);
}
-
- bool prerelease = latest_reply_json["prerelease"].toBool();
- bool draft = latest_reply_json["draft"].toBool();
- auto publish_date = latest_reply_json["published_at"].toString();
- auto release_note = latest_reply_json["body"].toString();
- version_.latest_version = latest_version;
- version_.latest_prerelease_version_from_remote = prerelease;
- version_.latest_draft_from_remote = draft;
- version_.publish_date = publish_date;
- version_.release_note = release_note;
}
if (latest_reply_ != nullptr) {
@@ -116,20 +122,17 @@ void VersionCheckTask::slot_parse_latest_version_info() {
}
void VersionCheckTask::slot_parse_current_version_info() {
- if (current_reply_ == nullptr ||
- current_reply_->error() != QNetworkReply::NoError) {
- if (current_reply_ != nullptr) {
- MODULE_LOG_ERROR("current version request network error: {}",
- current_reply_->errorString().toStdString());
- } else {
- MODULE_LOG_ERROR(
- "current version request network error, null reply object");
- }
+ if (current_reply_ == nullptr) {
+ // loading done
+ version_.loading_done = false;
- version_.current_version_publish_in_remote = false;
+ } else if (current_reply_->error() != QNetworkReply::NoError) {
+ MODULE_LOG_ERROR("current version request network error: {}",
+ current_reply_->errorString());
// loading done
version_.loading_done = true;
+ version_.current_version_publish_in_remote = false;
} else {
version_.current_version_publish_in_remote = true;
current_reply_bytes_ = current_reply_->readAll();
@@ -143,7 +146,8 @@ void VersionCheckTask::slot_parse_current_version_info() {
// loading done
version_.loading_done = true;
} else {
- MODULE_LOG_WARN("cannot parse data got from github");
+ MODULE_LOG_WARN("cannot parse data got from github: {}",
+ current_reply_bytes_);
}
}
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
index 6a1ab570..f23cc928 100644
--- a/src/test/CMakeLists.txt
+++ b/src/test/CMakeLists.txt
@@ -47,4 +47,12 @@ if (XCODE_BUILD)
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}")
endif ()
+if(MINGW)
+ set_target_properties(gtest
+ PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
+ )
+endif()
+
add_test(AllTestsInGpgFrontend gpgfrontend_test)
diff --git a/src/ui/GpgFrontendUIInit.cpp b/src/ui/GpgFrontendUIInit.cpp
index eca77b76..148402d4 100644
--- a/src/ui/GpgFrontendUIInit.cpp
+++ b/src/ui/GpgFrontendUIInit.cpp
@@ -40,7 +40,7 @@
namespace GpgFrontend::UI {
-extern void InitLocale();
+extern void InitUITranslations();
void WaitEnvCheckingProcess() {
GF_UI_LOG_DEBUG("need to waiting for env checking process");
@@ -50,11 +50,12 @@ void WaitEnvCheckingProcess() {
waiting_dialog->setMaximum(0);
waiting_dialog->setMinimum(0);
auto* waiting_dialog_label = new QLabel(
- QObject::tr("Loading Gnupg Info...") + "<br /><br />" +
- QObject::tr("If this process is too slow, please set the key "
- "server address appropriately in the gnupg configuration "
- "file (depending "
- "on the network situation in your country or region)."));
+ QCoreApplication::tr("Loading Gnupg Info...") + "<br /><br />" +
+ QCoreApplication::tr(
+ "If this process is too slow, please set the key "
+ "server address appropriately in the gnupg configuration "
+ "file (depending "
+ "on the network situation in your country or region)."));
waiting_dialog_label->setWordWrap(true);
waiting_dialog->setLabel(waiting_dialog_label);
waiting_dialog->resize(420, 120);
@@ -104,7 +105,16 @@ void PreInitGpgFrontendUI() { CommonUtils::GetInstance(); }
void InitGpgFrontendUI(QApplication* /*app*/) {
// init locale
- InitLocale();
+ InitUITranslations();
+
+#ifdef WINDOWS
+ // support dark mode on windows
+ QApplication::setStyle("fusion");
+#endif
+
+ // register meta types
+ qRegisterMetaType<QSharedPointer<GpgPassphraseContext> >(
+ "QSharedPointer<GpgPassphraseContext>");
// init signal station
UISignalStation::GetInstance();
@@ -172,9 +182,6 @@ void InitGpgFrontendUI(QApplication* /*app*/) {
0) {
WaitEnvCheckingProcess();
}
-
- qRegisterMetaType<QSharedPointer<GpgPassphraseContext> >(
- "QSharedPointer<GpgPassphraseContext>");
}
auto RunGpgFrontendUI(QApplication* app) -> int {
@@ -204,26 +211,33 @@ void GPGFRONTEND_UI_EXPORT DestroyGpgFrontendUI() {}
* @brief setup the locale and load the translations
*
*/
-void InitLocale() {
- // get the instance of the GlobalSettingStation
- auto settings =
- GpgFrontend::GlobalSettingStation::GetInstance().GetSettings();
-
- // read from settings file
- auto lang = settings.value("basic/lang").toString();
- GF_UI_LOG_INFO("current system default locale: {}", QLocale().name());
-
- auto target_locale = lang.isEmpty() ? QLocale() : QLocale(lang);
- QLocale::setDefault(target_locale);
- GF_UI_LOG_INFO("target locale settings: {}", target_locale.name());
-
+void InitUITranslations() {
auto* translator = new QTranslator(QCoreApplication::instance());
- if (translator->load(target_locale, QLatin1String(PROJECT_NAME),
+ if (translator->load(QLocale(), QLatin1String(PROJECT_NAME),
QLatin1String("."), QLatin1String(":/i18n"),
QLatin1String(".qm"))) {
- GF_UI_LOG_DEBUG("load target translation file done");
+ GF_UI_LOG_DEBUG("load target translation file done, locale: {}",
+ QLocale().name());
QCoreApplication::installTranslator(translator);
}
+
+ auto* base_translation = new QTranslator(QCoreApplication::instance());
+ if (base_translation->load(QLocale(), QLatin1String("qt"), QLatin1String("_"),
+ QLatin1String(":/i18n_qt"),
+ QLatin1String(".qm"))) {
+ GF_UI_LOG_DEBUG("load qt translation file done, locale: {}",
+ QLocale().name());
+ QCoreApplication::installTranslator(base_translation);
+ }
+
+ base_translation = new QTranslator(QCoreApplication::instance());
+ if (base_translation->load(QLocale(), QLatin1String("qtbase"),
+ QLatin1String("_"), QLatin1String(":/i18n_qt"),
+ QLatin1String(".qm"))) {
+ GF_UI_LOG_DEBUG("load qtbase translation file done, locale: {}",
+ QLocale().name());
+ QCoreApplication::installTranslator(base_translation);
+ }
}
} // namespace GpgFrontend::UI
diff --git a/src/ui/UISignalStation.h b/src/ui/UISignalStation.h
index aee61300..7358f854 100644
--- a/src/ui/UISignalStation.h
+++ b/src/ui/UISignalStation.h
@@ -74,6 +74,24 @@ class UISignalStation : public QObject {
/**
* @brief
*
+ */
+ void SignalMainWindowlUpdateBasicalOperaMenu(unsigned int);
+
+ /**
+ * @brief
+ *
+ */
+ void SignalMainWindowOpenFile(QString);
+
+ /**
+ * @brief
+ *
+ */
+ void SignalKeyRevoked(QString);
+
+ /**
+ * @brief
+ *
* @param text
* @param verify_label_status
*/
diff --git a/src/ui/UserInterfaceUtils.cpp b/src/ui/UserInterfaceUtils.cpp
index 9e1d906f..ab8aeac9 100644
--- a/src/ui/UserInterfaceUtils.cpp
+++ b/src/ui/UserInterfaceUtils.cpp
@@ -28,6 +28,8 @@
#include "UserInterfaceUtils.h"
+#include <cstddef>
+
#include "core/GpgConstants.h"
#include "core/function/CoreSignalStation.h"
#include "core/function/gpg/GpgKeyGetter.h"
@@ -57,17 +59,17 @@ void show_verify_details(QWidget *parent, InfoBoardWidget *info_board,
GpgError error, const GpgVerifyResult &verify_result) {
// take out result
info_board->ResetOptionActionsMenu();
- info_board->AddOptionalAction(QObject::tr("Show Verify Details"), [=]() {
- VerifyDetailsDialog(parent, error, verify_result);
- });
+ info_board->AddOptionalAction(
+ QCoreApplication::tr("Show Verify Details"),
+ [=]() { VerifyDetailsDialog(parent, error, verify_result); });
}
void import_unknown_key_from_keyserver(
QWidget *parent, const GpgVerifyResultAnalyse &verify_res) {
QMessageBox::StandardButton reply;
reply = QMessageBox::question(
- parent, QObject::tr("Public key not found locally"),
- QObject::tr(
+ parent, QCoreApplication::tr("Public key not found locally"),
+ QCoreApplication::tr(
"There is no target public key content in local for GpgFrontend to "
"gather enough information about this Signature. Do you want to "
"import the public key from Keyserver now?"),
@@ -273,19 +275,34 @@ void CommonUtils::SlotImportKeys(QWidget *parent, const QString &in_buffer) {
}
void CommonUtils::SlotImportKeyFromFile(QWidget *parent) {
- auto file_name = QFileDialog::getOpenFileName(this, tr("Open Key"), QString(),
- tr("Key Files")) +
- " (*.asc *.txt);;" + tr("Keyring files") +
- " (*.gpg);;All Files (*)";
- if (!file_name.isNull()) {
- QByteArray key_buffer;
- if (!ReadFile(file_name, key_buffer)) {
- QMessageBox::critical(nullptr, tr("File Open Failed"),
- tr("Failed to open file: ") + file_name);
- return;
- }
- SlotImportKeys(parent, key_buffer);
+ auto file_name =
+ QFileDialog::getOpenFileName(parent, tr("Open Key"), QString(),
+ tr("Keyring files") + " (*.asc *.gpg)");
+ if (file_name.isEmpty()) return;
+
+ QFileInfo file_info(file_name);
+
+ if (!file_info.isFile() || !file_info.isReadable()) {
+ QMessageBox::critical(
+ parent, tr("Error"),
+ tr("Cannot open this file. Please make sure that this "
+ "is a regular file and it's readable."));
+ return;
+ }
+
+ if (file_info.size() > static_cast<qint64>(1024 * 1024)) {
+ QMessageBox::critical(parent, tr("Error"),
+ tr("The target file is too large for a keyring."));
+ return;
+ }
+
+ QByteArray key_buffer;
+ if (!ReadFile(file_name, key_buffer)) {
+ QMessageBox::critical(nullptr, tr("File Open Failed"),
+ tr("Failed to open file: ") + file_name);
+ return;
}
+ SlotImportKeys(parent, key_buffer);
}
void CommonUtils::SlotImportKeyFromKeyServer(QWidget *parent) {
@@ -334,7 +351,7 @@ void CommonUtils::SlotExecuteGpgCommand(
const QStringList &arguments,
const std::function<void(QProcess *)> &interact_func) {
QEventLoop looper;
- auto dialog = new WaitingDialog(tr("Processing"), nullptr);
+ auto *dialog = new WaitingDialog(tr("Processing"), nullptr);
dialog->show();
auto *gpg_process = new QProcess(&looper);
gpg_process->setProcessChannelMode(QProcess::MergedChannels);
@@ -408,7 +425,7 @@ void CommonUtils::SlotImportKeyFromKeyServer(
target_keyserver_url.host() +
"/pks/lookup?op=get&search=0x" + key_id + "&options=mr");
- GF_UI_LOG_DEBUG("request url: {}", req_url.toString().toStdString());
+ GF_UI_LOG_DEBUG("request url: {}", req_url.toString());
// Waiting for reply
QNetworkReply *reply = network_manager->get(QNetworkRequest(req_url));
@@ -498,7 +515,7 @@ void CommonUtils::SlotRestartApplication(int code) {
}
}
-bool CommonUtils::isApplicationNeedRestart() {
+auto CommonUtils::isApplicationNeedRestart() -> bool {
return application_need_to_restart_at_once_;
}
diff --git a/src/ui/dialog/Wizard.cpp b/src/ui/dialog/Wizard.cpp
index 89ebee27..b6fa53f3 100644
--- a/src/ui/dialog/Wizard.cpp
+++ b/src/ui/dialog/Wizard.cpp
@@ -218,20 +218,20 @@ ConclusionPage::ConclusionPage(QWidget* parent) : QWizardPage(parent) {
setTitle(tr("Ready."));
setSubTitle(tr("Have fun with GpgFrontend!"));
- auto* bottomLabel = new QLabel(
+ auto* bottom_label = new QLabel(
tr("You are ready to use GpgFrontend now.<br><br>") +
"<a "
- "href=\"https://saturneric.github.io/GpgFrontend/index.html#/"
+ "href=\"https://gpgfrontend.bktus.com/manual/understand-interface"
"overview\">" +
tr("The Online Document") + "</a>" +
tr(" will get you started with GpgFrontend. Anytime you encounter "
"problems, please try to find help from the documentation") +
"<br>");
- bottomLabel->setTextFormat(Qt::RichText);
- bottomLabel->setTextInteractionFlags(Qt::TextBrowserInteraction);
- bottomLabel->setOpenExternalLinks(true);
- bottomLabel->setWordWrap(true);
+ bottom_label->setTextFormat(Qt::RichText);
+ bottom_label->setTextInteractionFlags(Qt::TextBrowserInteraction);
+ bottom_label->setOpenExternalLinks(true);
+ bottom_label->setWordWrap(true);
open_help_check_box_ = new QCheckBox(tr("Open offline help."));
open_help_check_box_->setChecked(true);
@@ -243,7 +243,7 @@ ConclusionPage::ConclusionPage(QWidget* parent) : QWizardPage(parent) {
// registerField("openHelp", openHelpCheckBox);
auto* layout = new QVBoxLayout;
- layout->addWidget(bottomLabel);
+ layout->addWidget(bottom_label);
// layout->addWidget(openHelpCheckBox);
layout->addWidget(dont_show_wizard_checkbox_);
setLayout(layout);
diff --git a/src/ui/dialog/gnupg/GnuPGControllerDialog.cpp b/src/ui/dialog/gnupg/GnuPGControllerDialog.cpp
index 9e3573f5..ffe8d3af 100644
--- a/src/ui/dialog/gnupg/GnuPGControllerDialog.cpp
+++ b/src/ui/dialog/gnupg/GnuPGControllerDialog.cpp
@@ -46,15 +46,18 @@ GnuPGControllerDialog::GnuPGControllerDialog(QWidget* parent)
ui_->keyDatabaseGroupBox->setTitle(tr("Key Database"));
ui_->advanceGroupBox->setTitle(tr("Advanced"));
- ui_->asciiModeCheckBox->setText(tr("No ASCII Mode"));
+ ui_->asciiModeCheckBox->setText(tr("Use Binary Mode for File Operations"));
ui_->usePinentryAsPasswordInputDialogCheckBox->setText(
tr("Use Pinentry as Password Input Dialog"));
+ ui_->gpgmeDebugLogCheckBox->setText(tr("Enable GpgME Debug Log"));
ui_->useCustomGnuPGInstallPathCheckBox->setText(tr("Use Custom GnuPG"));
ui_->useCustomGnuPGInstallPathButton->setText(tr("Select GnuPG Path"));
ui_->keyDatabseUseCustomCheckBox->setText(
tr("Use Custom GnuPG Key Database Path"));
ui_->customKeyDatabasePathSelectButton->setText(
tr("Select Key Database Path"));
+ ui_->restartGpgAgentOnStartCheckBox->setText(
+ tr("Restart Gpg Agent on start"));
// tips
ui_->customGnuPGPathTipsLabel->setText(
@@ -98,18 +101,7 @@ GnuPGControllerDialog::GnuPGControllerDialog(QWidget* parent)
GF_UI_LOG_DEBUG("key databse path selected: {}",
selected_custom_key_database_path);
- if (!check_custom_gnupg_key_database_path(
- selected_custom_key_database_path)) {
- return;
- }
-
- auto settings = GlobalSettingStation::GetInstance().GetSettings();
-
- // update settings
- if (!settings.contains("basic/custom_key_database_path")) {
- settings.setValue("basic/custom_key_database_path",
- selected_custom_key_database_path);
- }
+ custom_key_database_path_ = selected_custom_key_database_path;
// announce the restart
this->slot_set_restart_needed(kDeepRestartCode);
@@ -129,16 +121,7 @@ GnuPGControllerDialog::GnuPGControllerDialog(QWidget* parent)
GF_UI_LOG_DEBUG("gnupg install path selected: {}",
selected_custom_gnupg_install_path);
- // notify the user and precheck
- if (!check_custom_gnupg_path(selected_custom_gnupg_install_path)) {
- return;
- }
-
- auto settings = GlobalSettingStation::GetInstance().GetSettings();
- if (!settings.contains("basic/custom_gnupg_install_path")) {
- settings.setValue("basic/custom_gnupg_install_path",
- selected_custom_gnupg_install_path);
- }
+ custom_gnupg_path_ = selected_custom_gnupg_install_path;
// announce the restart
this->slot_set_restart_needed(kDeepRestartCode);
@@ -149,7 +132,23 @@ GnuPGControllerDialog::GnuPGControllerDialog(QWidget* parent)
});
connect(ui_->usePinentryAsPasswordInputDialogCheckBox,
- &QCheckBox::stateChanged, this, [=](int state) {
+ &QCheckBox::stateChanged, this, [=](int) {
+ // announce the restart
+ this->slot_set_restart_needed(kDeepRestartCode);
+ });
+
+ connect(ui_->gpgmeDebugLogCheckBox, &QCheckBox::stateChanged, this, [=](int) {
+ // announce the restart
+ this->slot_set_restart_needed(kDeepRestartCode);
+ });
+
+ connect(ui_->asciiModeCheckBox, &QCheckBox::stateChanged, this, [=](int) {
+ // announce the restart
+ this->slot_set_restart_needed(kDeepRestartCode);
+ });
+
+ connect(ui_->restartGpgAgentOnStartCheckBox, &QCheckBox::stateChanged, this,
+ [=](int) {
// announce the restart
this->slot_set_restart_needed(kDeepRestartCode);
});
@@ -189,37 +188,39 @@ void GnuPGControllerDialog::slot_update_custom_key_database_path_label(
// announce the restart
this->slot_set_restart_needed(kDeepRestartCode);
- const auto database_path = Module::RetrieveRTValueTypedOrDefault<>(
- "core", "gpgme.ctx.database_path", QString{});
- GF_UI_LOG_DEBUG("got gpgme.ctx.database_path from rt: {}", database_path);
-
- if (state != Qt::CheckState::Checked) {
- ui_->currentKeyDatabasePathLabel->setText(database_path);
-
- // hide label (not necessary to show the default path)
- this->ui_->currentKeyDatabasePathLabel->setHidden(true);
- } else {
- // read from settings file
- QString custom_key_database_path =
- GlobalSettingStation::GetInstance()
- .GetSettings()
- .value("basic/custom_key_database_path")
- .toString();
-
- GF_UI_LOG_DEBUG("selected_custom_key_database_path from settings: {}",
- custom_key_database_path);
+ // hide label (not necessary to show the default path)
+ this->ui_->currentKeyDatabasePathLabel->setHidden(state !=
+ Qt::CheckState::Checked);
+ if (state == Qt::CheckState::Checked) {
+ if (custom_key_database_path_.isEmpty()) {
+ // read from settings file
+ QString custom_key_database_path =
+ GlobalSettingStation::GetInstance()
+ .GetSettings()
+ .value("gnupg/custom_key_database_path")
+ .toString();
+ GF_UI_LOG_DEBUG("selected_custom_key_database_path from settings: {}",
+ custom_key_database_path);
+ custom_key_database_path_ = custom_key_database_path;
+ }
// notify the user
- check_custom_gnupg_key_database_path(custom_key_database_path);
+ if (!check_custom_gnupg_key_database_path(custom_key_database_path_)) {
+ return;
+ };
// set label value
- if (!custom_key_database_path.isEmpty()) {
- ui_->currentKeyDatabasePathLabel->setText(custom_key_database_path);
- this->ui_->currentKeyDatabasePathLabel->setHidden(false);
- } else {
- this->ui_->currentKeyDatabasePathLabel->setHidden(true);
+ if (!custom_key_database_path_.isEmpty()) {
+ ui_->currentKeyDatabasePathLabel->setText(custom_key_database_path_);
}
}
+
+ if (ui_->currentKeyDatabasePathLabel->text().isEmpty()) {
+ const auto database_path = Module::RetrieveRTValueTypedOrDefault<>(
+ "core", "gpgme.ctx.database_path", QString{});
+ GF_UI_LOG_DEBUG("got gpgme.ctx.database_path from rt: {}", database_path);
+ ui_->currentKeyDatabasePathLabel->setText(database_path);
+ }
}
void GnuPGControllerDialog::slot_update_custom_gnupg_install_path_label(
@@ -227,95 +228,115 @@ void GnuPGControllerDialog::slot_update_custom_gnupg_install_path_label(
// announce the restart
this->slot_set_restart_needed(kDeepRestartCode);
- const auto home_path = Module::RetrieveRTValueTypedOrDefault<>(
- "com.bktus.gpgfrontend.module.integrated.gnupg-info-gathering",
- "gnupg.home_path", QString{});
- GF_UI_LOG_DEBUG("got gnupg home path from rt: {}", home_path);
-
- if (state != Qt::CheckState::Checked) {
- ui_->currentCustomGnuPGInstallPathLabel->setText(home_path);
-
- // hide label (not necessary to show the default path)
- this->ui_->currentCustomGnuPGInstallPathLabel->setHidden(true);
- } else {
- // read from settings file
- QString custom_gnupg_install_path =
- GlobalSettingStation::GetInstance()
- .GetSettings()
- .value("basic/custom_gnupg_install_path")
- .toString();
-
- GF_UI_LOG_DEBUG("custom_gnupg_install_path from settings: {}",
- custom_gnupg_install_path);
-
- // notify the user
- check_custom_gnupg_path(custom_gnupg_install_path);
-
- // set label value
- if (!custom_gnupg_install_path.isEmpty()) {
- ui_->currentCustomGnuPGInstallPathLabel->setText(
- custom_gnupg_install_path);
- this->ui_->currentCustomGnuPGInstallPathLabel->setHidden(false);
- } else {
- this->ui_->currentCustomGnuPGInstallPathLabel->setHidden(true);
+ // hide label (not necessary to show the default path)
+ this->ui_->currentCustomGnuPGInstallPathLabel->setHidden(
+ state != Qt::CheckState::Checked);
+ do {
+ if (state == Qt::CheckState::Checked) {
+ if (custom_gnupg_path_.isEmpty()) {
+ // read from settings file
+ QString custom_gnupg_install_path =
+ GlobalSettingStation::GetInstance()
+ .GetSettings()
+ .value("gnupg/custom_gnupg_install_path")
+ .toString();
+ GF_UI_LOG_DEBUG("custom_gnupg_install_path from settings: {}",
+ custom_gnupg_install_path);
+ custom_gnupg_path_ = custom_gnupg_install_path;
+ }
+
+ // notify the user
+ if (!check_custom_gnupg_path(custom_gnupg_path_)) {
+ break;
+ }
+
+ // set label value
+ if (!custom_gnupg_path_.isEmpty()) {
+ ui_->currentCustomGnuPGInstallPathLabel->setText(custom_gnupg_path_);
+ }
}
+ } while (false);
+
+ if (ui_->currentCustomGnuPGInstallPathLabel->text().isEmpty()) {
+ const auto gnupg_path = Module::RetrieveRTValueTypedOrDefault<>(
+ "core", "gpgme.ctx.app_path", QString{});
+ GF_UI_LOG_DEBUG("got gnupg home path from rt: {}", gnupg_path);
+ auto dir = QFileInfo(gnupg_path).path();
+ ui_->currentCustomGnuPGInstallPathLabel->setText(dir);
}
}
void GnuPGControllerDialog::set_settings() {
- auto& settings_station = GlobalSettingStation::GetInstance();
+ auto settings = GlobalSettingStation::GetInstance().GetSettings();
- bool non_ascii_when_export = settings_station.GetSettings()
- .value("basic/non_ascii_when_export", true)
- .toBool();
- GF_UI_LOG_DEBUG("non_ascii_when_export: {}", non_ascii_when_export);
- if (non_ascii_when_export) ui_->asciiModeCheckBox->setCheckState(Qt::Checked);
+ bool non_ascii_at_file_operation =
+ settings.value("gnupg/non_ascii_at_file_operation", true).toBool();
+ if (non_ascii_at_file_operation)
+ ui_->asciiModeCheckBox->setCheckState(Qt::Checked);
bool const use_custom_key_database_path =
- settings_station.GetSettings()
- .value("basic/use_custom_key_database_path", false)
- .toBool();
+ settings.value("gnupg/use_custom_key_database_path", false).toBool();
if (use_custom_key_database_path) {
ui_->keyDatabseUseCustomCheckBox->setCheckState(Qt::Checked);
}
+ bool const enable_gpgme_debug_log =
+ settings.value("gnupg/enable_gpgme_debug_log", false).toBool();
+ if (enable_gpgme_debug_log) {
+ ui_->gpgmeDebugLogCheckBox->setCheckState(Qt::Checked);
+ }
+
this->slot_update_custom_key_database_path_label(
ui_->keyDatabseUseCustomCheckBox->checkState());
bool const use_custom_gnupg_install_path =
- settings_station.GetSettings()
- .value("basic/use_custom_gnupg_install_path", false)
- .toBool();
+ settings.value("gnupg/use_custom_gnupg_install_path", false).toBool();
if (use_custom_gnupg_install_path) {
ui_->useCustomGnuPGInstallPathCheckBox->setCheckState(Qt::Checked);
}
bool const use_pinentry_as_password_input_dialog =
- settings_station.GetSettings()
- .value("basic/use_pinentry_as_password_input_dialog", false)
+ settings.value("gnupg/use_pinentry_as_password_input_dialog", false)
.toBool();
if (use_pinentry_as_password_input_dialog) {
ui_->usePinentryAsPasswordInputDialogCheckBox->setCheckState(Qt::Checked);
}
- this->slot_update_custom_gnupg_install_path_label(
- ui_->useCustomGnuPGInstallPathCheckBox->checkState());
+ bool const restart_gpg_agent_on_start =
+ settings.value("gnupg/restart_gpg_agent_on_start", false).toBool();
+ if (restart_gpg_agent_on_start) {
+ ui_->restartGpgAgentOnStartCheckBox->setCheckState(Qt::Checked);
+ }
this->slot_set_restart_needed(false);
+
+ this->slot_update_custom_key_database_path_label(
+ use_custom_key_database_path ? Qt::Checked : Qt::Unchecked);
+
+ this->slot_update_custom_gnupg_install_path_label(
+ use_custom_gnupg_install_path ? Qt::Checked : Qt::Unchecked);
}
void GnuPGControllerDialog::apply_settings() {
auto settings =
GpgFrontend::GlobalSettingStation::GetInstance().GetSettings();
- settings.setValue("basic/non_ascii_when_export",
+ settings.setValue("gnupg/non_ascii_at_file_operation",
ui_->asciiModeCheckBox->isChecked());
- settings.setValue("basic/use_custom_key_database_path",
+ settings.setValue("gnupg/use_custom_key_database_path",
ui_->keyDatabseUseCustomCheckBox->isChecked());
- settings.setValue("basic/use_custom_gnupg_install_path",
+ settings.setValue("gnupg/use_custom_gnupg_install_path",
ui_->useCustomGnuPGInstallPathCheckBox->isChecked());
- settings.setValue("basic/use_pinentry_as_password_input_dialog",
+ settings.setValue("gnupg/use_pinentry_as_password_input_dialog",
ui_->usePinentryAsPasswordInputDialogCheckBox->isChecked());
+ settings.setValue("gnupg/enable_gpgme_debug_log",
+ ui_->gpgmeDebugLogCheckBox->isChecked());
+ settings.setValue("gnupg/custom_key_database_path",
+ ui_->currentKeyDatabasePathLabel->text());
+ settings.setValue("gnupg/custom_gnupg_install_path",
+ ui_->currentCustomGnuPGInstallPathLabel->text());
+ settings.setValue("gnupg/restart_gpg_agent_on_start",
+ ui_->restartGpgAgentOnStartCheckBox->isChecked());
}
int GnuPGControllerDialog::get_restart_needed() const {
diff --git a/src/ui/dialog/gnupg/GnuPGControllerDialog.h b/src/ui/dialog/gnupg/GnuPGControllerDialog.h
index 201801dc..6e8ef797 100644
--- a/src/ui/dialog/gnupg/GnuPGControllerDialog.h
+++ b/src/ui/dialog/gnupg/GnuPGControllerDialog.h
@@ -84,6 +84,8 @@ class GnuPGControllerDialog : public GeneralDialog {
private:
std::shared_ptr<Ui_GnuPGControllerDialog> ui_; ///<
int restart_needed_{0}; ///<
+ QString custom_key_database_path_;
+ QString custom_gnupg_path_;
/**
* @brief Get the Restart Needed object
diff --git a/src/ui/dialog/import_export/KeyImportDetailDialog.cpp b/src/ui/dialog/import_export/KeyImportDetailDialog.cpp
index 40a8ec80..5b71c0f6 100644
--- a/src/ui/dialog/import_export/KeyImportDetailDialog.cpp
+++ b/src/ui/dialog/import_export/KeyImportDetailDialog.cpp
@@ -118,6 +118,13 @@ void KeyImportDetailDialog::create_general_info_box() {
general_info_box_layout->addWidget(
new QLabel(QString::number(m_result_->secret_unchanged)), row, 1);
}
+
+ if (m_result_->new_revocations != 0) {
+ general_info_box_layout->addWidget(new QLabel(tr("New Revocations") + ": "),
+ row, 0);
+ general_info_box_layout->addWidget(
+ new QLabel(QString::number(m_result_->new_revocations)), row, 1);
+ }
}
void KeyImportDetailDialog::create_keys_table() {
diff --git a/src/ui/dialog/import_export/KeyServerImportDialog.cpp b/src/ui/dialog/import_export/KeyServerImportDialog.cpp
index 599d512d..296df539 100644
--- a/src/ui/dialog/import_export/KeyServerImportDialog.cpp
+++ b/src/ui/dialog/import_export/KeyServerImportDialog.cpp
@@ -411,7 +411,7 @@ void KeyServerImportDialog::slot_import_finished(
set_loading(false);
if (!success) {
- GF_UI_LOG_ERROR("Error From Reply", buffer.toStdString());
+ GF_UI_LOG_ERROR("error from reply: {}", buffer);
set_message(err_msg, true);
return;
}
diff --git a/src/ui/dialog/import_export/KeyUploadDialog.cpp b/src/ui/dialog/import_export/KeyUploadDialog.cpp
index 903b2e14..f59f9daa 100644
--- a/src/ui/dialog/import_export/KeyUploadDialog.cpp
+++ b/src/ui/dialog/import_export/KeyUploadDialog.cpp
@@ -136,11 +136,11 @@ void KeyUploadDialog::slot_upload_finished() {
this->close();
QByteArray response = reply->readAll();
- GF_UI_LOG_DEBUG("response: {}", response.toStdString());
+ GF_UI_LOG_DEBUG("upload response: {}", response);
auto error = reply->error();
if (error != QNetworkReply::NoError) {
- GF_UI_LOG_DEBUG("error from reply: {}", reply->errorString().toStdString());
+ GF_UI_LOG_DEBUG("error from reply: {}", reply->errorString());
QString message;
switch (error) {
case QNetworkReply::ContentNotFoundError:
diff --git a/src/ui/dialog/key_generate/KeygenDialog.cpp b/src/ui/dialog/key_generate/KeygenDialog.cpp
index 08816f98..50e28adf 100644
--- a/src/ui/dialog/key_generate/KeygenDialog.cpp
+++ b/src/ui/dialog/key_generate/KeygenDialog.cpp
@@ -141,7 +141,7 @@ void KeyGenDialog::slot_key_gen_accept() {
if (!GlobalSettingStation::GetInstance()
.GetSettings()
- .value("basic/use_pinentry_as_password_input_dialog", false)
+ .value("gnupg/use_pinentry_as_password_input_dialog", false)
.toBool() &&
!no_pass_phrase_check_box_->isChecked()) {
SetCacheValue("PinentryContext", "NEW_PASSPHRASE");
diff --git a/src/ui/dialog/keypair_details/KeyDetailsDialog.cpp b/src/ui/dialog/keypair_details/KeyDetailsDialog.cpp
index 6908592b..9545405b 100644
--- a/src/ui/dialog/keypair_details/KeyDetailsDialog.cpp
+++ b/src/ui/dialog/keypair_details/KeyDetailsDialog.cpp
@@ -29,6 +29,7 @@
#include "KeyDetailsDialog.h"
#include "core/GpgModel.h"
+#include "ui/UISignalStation.h"
#include "ui/dialog/keypair_details/KeyPairDetailTab.h"
#include "ui/dialog/keypair_details/KeyPairOperaTab.h"
#include "ui/dialog/keypair_details/KeyPairSubkeyTab.h"
@@ -40,11 +41,22 @@ KeyDetailsDialog::KeyDetailsDialog(const GpgKey& key, QWidget* parent)
tab_widget_ = new QTabWidget();
tab_widget_->addTab(new KeyPairDetailTab(key.GetId(), tab_widget_),
tr("KeyPair"));
- tab_widget_->addTab(new KeyPairUIDTab(key.GetId(), tab_widget_), tr("UIDs"));
- tab_widget_->addTab(new KeyPairSubkeyTab(key.GetId(), tab_widget_),
- tr("Subkeys"));
- tab_widget_->addTab(new KeyPairOperaTab(key.GetId(), tab_widget_),
- tr("Operations"));
+
+ if (!key.IsRevoked()) {
+ tab_widget_->addTab(new KeyPairUIDTab(key.GetId(), tab_widget_),
+ tr("UIDs"));
+
+ tab_widget_->addTab(new KeyPairSubkeyTab(key.GetId(), tab_widget_),
+ tr("Subkeys"));
+ tab_widget_->addTab(new KeyPairOperaTab(key.GetId(), tab_widget_),
+ tr("Operations"));
+ }
+
+ QString m_key_id = key.GetId();
+ connect(UISignalStation::GetInstance(), &UISignalStation::SignalKeyRevoked,
+ this, [this, m_key_id](const QString& key_id) {
+ if (key_id == m_key_id) this->close();
+ });
auto* main_layout = new QVBoxLayout;
main_layout->addWidget(tab_widget_);
diff --git a/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp b/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp
index 7756ac37..6e4a1df0 100644
--- a/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp
+++ b/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp
@@ -83,8 +83,7 @@ KeyPairOperaTab::KeyPairOperaTab(const QString& key_id, QWidget* parent)
auto* advance_h_box_layout = new QHBoxLayout();
- auto settings =
- GpgFrontend::GlobalSettingStation::GetInstance().GetSettings();
+ auto settings = GlobalSettingStation::GetInstance().GetSettings();
// read settings
bool forbid_all_gnupg_connection =
@@ -98,11 +97,11 @@ KeyPairOperaTab::KeyPairOperaTab(const QString& key_id, QWidget* parent)
advance_h_box_layout->addWidget(key_server_opera_button);
if (m_key_.IsPrivateKey() && m_key_.IsHasMasterKey()) {
- auto* revoke_cert_gen_button =
- new QPushButton(tr("Generate Revoke Certificate"));
- connect(revoke_cert_gen_button, &QPushButton::clicked, this,
- &KeyPairOperaTab::slot_gen_revoke_cert);
- advance_h_box_layout->addWidget(revoke_cert_gen_button);
+ auto* revoke_cert_opera_button =
+ new QPushButton(tr("Revoke Certificate Operation"));
+ revoke_cert_opera_button->setStyleSheet("text-align:center;");
+ revoke_cert_opera_button->setMenu(rev_cert_opera_menu_);
+ advance_h_box_layout->addWidget(revoke_cert_opera_button);
}
auto* modify_tofu_button = new QPushButton(tr("Modify TOFU Policy"));
@@ -171,6 +170,21 @@ void KeyPairOperaTab::CreateOperaMenu() {
secret_key_export_opera_menu_->addAction(export_full_secret_key);
secret_key_export_opera_menu_->addAction(export_shortest_secret_key);
+
+ rev_cert_opera_menu_ = new QMenu(this);
+
+ auto* rev_cert_gen_action =
+ new QAction(tr("Generate Revoke Certificate"), this);
+ connect(rev_cert_gen_action, &QAction::triggered, this,
+ &KeyPairOperaTab::slot_gen_revoke_cert);
+
+ auto* revoke_cert_import_action =
+ new QAction(tr("Import Revoke Certificate"));
+ connect(revoke_cert_import_action, &QAction::triggered, this,
+ &KeyPairOperaTab::slot_import_revoke_cert);
+
+ rev_cert_opera_menu_->addAction(revoke_cert_import_action);
+ rev_cert_opera_menu_->addAction(rev_cert_gen_action);
}
void KeyPairOperaTab::slot_export_public_key() {
@@ -352,7 +366,7 @@ void KeyPairOperaTab::slot_modify_tofu_policy() {
this, tr("Modify TOFU Policy(Default is Auto)"),
tr("Policy for the Key Pair:"), items, 0, false, &ok);
if (ok && !item.isEmpty()) {
- GF_UI_LOG_DEBUG("selected policy: {}", item.toStdString());
+ GF_UI_LOG_DEBUG("selected policy: {}", item);
gpgme_tofu_policy_t tofu_policy = GPGME_TOFU_POLICY_AUTO;
if (item == tr("Policy Auto")) {
tofu_policy = GPGME_TOFU_POLICY_AUTO;
@@ -379,4 +393,54 @@ void KeyPairOperaTab::slot_set_owner_trust_level() {
function->deleteLater();
}
+void KeyPairOperaTab::slot_import_revoke_cert() {
+ // Show a information box with explanation about private key
+ int ret = QMessageBox::information(
+ this, tr("Import Key Revocation Certificate"),
+ "<h3>" + tr("You are about to import the") + "<font color=\"red\">" +
+ " " + tr("REVOCATION CERTIFICATE") + " " + "</font>!</h3>\n" +
+ tr("A successful import will result in the key being irreversibly "
+ "revoked.") +
+ "<br />" + tr("Do you REALLY want to execute this operation?"),
+ QMessageBox::Cancel | QMessageBox::Ok);
+
+ // export key, if ok was clicked
+ if (ret != QMessageBox::Ok) return;
+
+ auto rev_file_name = QFileDialog::getOpenFileName(
+ this, tr("Import Key Revocation Certificate"), {},
+ tr("Revocation Certificates") + " (*.rev)");
+
+ if (rev_file_name.isEmpty()) return;
+
+ QFileInfo rev_file_info(rev_file_name);
+
+ if (!rev_file_info.isFile() || !rev_file_info.isReadable()) {
+ QMessageBox::critical(
+ this, tr("Error"),
+ tr("Cannot open this file. Please make sure that this "
+ "is a regular file and it's readable."));
+ return;
+ }
+
+ // max file size is 1 mb
+ if (rev_file_info.size() > static_cast<qint64>(1024 * 1024)) {
+ QMessageBox::critical(
+ this, tr("Error"),
+ tr("The target file is too large for a key revocation certificate."));
+ return;
+ }
+
+ QFile rev_file(rev_file_info.absoluteFilePath());
+ if (!rev_file.open(QIODeviceBase::ReadOnly)) {
+ QMessageBox::critical(
+ this, tr("Error"),
+ tr("Cannot open this file. Please make sure that this "
+ "is a regular file and it's readable."));
+ return;
+ }
+
+ emit UISignalStation::GetInstance()->SignalKeyRevoked(m_key_.GetId());
+ CommonUtils::GetInstance()->SlotImportKeys(nullptr, rev_file.readAll());
+}
} // namespace GpgFrontend::UI
diff --git a/src/ui/dialog/keypair_details/KeyPairOperaTab.h b/src/ui/dialog/keypair_details/KeyPairOperaTab.h
index bb20d067..22c94957 100644
--- a/src/ui/dialog/keypair_details/KeyPairOperaTab.h
+++ b/src/ui/dialog/keypair_details/KeyPairOperaTab.h
@@ -120,9 +120,16 @@ class KeyPairOperaTab : public QWidget {
*/
void slot_set_owner_trust_level();
+ /**
+ * @brief
+ *
+ */
+ void slot_import_revoke_cert();
+
private:
- GpgKey m_key_; ///<
- QMenu* key_server_opera_menu_{}; ///<
+ GpgKey m_key_; ///<
+ QMenu* key_server_opera_menu_{}; ///<
+ QMenu* rev_cert_opera_menu_{};
QMenu* secret_key_export_opera_menu_{}; ///<
};
} // namespace GpgFrontend::UI
diff --git a/src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp b/src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp
index 22d1db2a..43fb6f3b 100644
--- a/src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp
+++ b/src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp
@@ -58,9 +58,9 @@ KeySetExpireDateDialog::KeySetExpireDateDialog(const KeyId& key_id,
}
void KeySetExpireDateDialog::slot_confirm() {
- GF_UI_LOG_DEBUG("called: {} {}",
- ui_->dateEdit->date().toString().toStdString(),
- ui_->timeEdit->time().toString().toStdString());
+ GF_UI_LOG_DEBUG("confirm called, date: {}, time: {}",
+ ui_->dateEdit->date().toString(),
+ ui_->timeEdit->time().toString());
auto datetime = QDateTime(ui_->dateEdit->date(), ui_->timeEdit->time());
std::unique_ptr<QDateTime> expires = nullptr;
if (ui_->noExpirationCheckBox->checkState() == Qt::Unchecked) {
@@ -99,7 +99,7 @@ void KeySetExpireDateDialog::init() {
auto settings =
GpgFrontend::GlobalSettingStation::GetInstance().GetSettings();
- bool longer_expiration_date = longer_expiration_date =
+ bool longer_expiration_date =
settings.value("basic/longer_expiration_date").toBool();
auto max_date_time =
diff --git a/src/ui/dialog/settings/SettingsDialog.cpp b/src/ui/dialog/settings/SettingsDialog.cpp
index 2af56906..a26ddf0b 100644
--- a/src/ui/dialog/settings/SettingsDialog.cpp
+++ b/src/ui/dialog/settings/SettingsDialog.cpp
@@ -129,7 +129,7 @@ auto SettingsDialog::ListLanguages() -> QHash<QString, QString> {
QStringList filenames = QDir(QLatin1String(":/i18n")).entryList();
for (const auto& file : filenames) {
- GF_UI_LOG_DEBUG("get locale from locale directory: {}", file.toStdString());
+ GF_UI_LOG_DEBUG("get locale from locale directory: {}", file);
auto start = file.indexOf('.') + 1;
auto end = file.lastIndexOf('.');
diff --git a/src/ui/dialog/settings/SettingsGeneral.cpp b/src/ui/dialog/settings/SettingsGeneral.cpp
index 44c66e10..bcf42867 100644
--- a/src/ui/dialog/settings/SettingsGeneral.cpp
+++ b/src/ui/dialog/settings/SettingsGeneral.cpp
@@ -66,6 +66,8 @@ GeneralTab::GeneralTab(QWidget* parent)
tr("Clear All Data Objects (Total Size: %1)")
.arg(GlobalSettingStation::GetInstance().GetDataObjectsFilesSize()));
+ ui_->revealInFileExplorerButton->setText(tr("Reveal in File Explorer"));
+
lang_ = SettingsDialog::ListLanguages();
for (const auto& l : lang_) {
ui_->langSelectBox->addItem(l);
@@ -96,6 +98,11 @@ GeneralTab::GeneralTab(QWidget* parent)
}
});
+ connect(ui_->revealInFileExplorerButton, &QPushButton::clicked, this, [=]() {
+ QDesktopServices::openUrl(QUrl::fromLocalFile(
+ GlobalSettingStation::GetInstance().GetAppDataPath()));
+ });
+
SetSettings();
}
@@ -124,7 +131,7 @@ void GeneralTab::SetSettings() {
QString lang_key = settings.value("basic/lang").toString();
QString lang_value = lang_.value(lang_key);
- GF_UI_LOG_DEBUG("lang settings current: {}", lang_value.toStdString());
+ GF_UI_LOG_DEBUG("lang settings current: {}", lang_value);
if (!lang_.empty()) {
ui_->langSelectBox->setCurrentIndex(
ui_->langSelectBox->findText(lang_value));
diff --git a/src/ui/function/GenerateRevokeCertification.cpp b/src/ui/function/GenerateRevokeCertification.cpp
index b4a6c934..9f8afcff 100644
--- a/src/ui/function/GenerateRevokeCertification.cpp
+++ b/src/ui/function/GenerateRevokeCertification.cpp
@@ -63,7 +63,7 @@ auto GenerateRevokeCertification::Exec(const GpgKey& key,
// Code From Gpg4Win
while (proc->canReadLine()) {
const QString line = QString::fromUtf8(proc->readLine()).trimmed();
- GF_UI_LOG_DEBUG("line: {}", line.toStdString());
+ GF_UI_LOG_DEBUG("line: {}", line);
if (line == QLatin1String("[GNUPG:] GET_BOOL gen_revoke.okay")) {
proc->write("y\n");
} else if (line == QLatin1String("[GNUPG:] GET_LINE "
diff --git a/src/ui/function/RaisePinentry.cpp b/src/ui/function/RaisePinentry.cpp
index 64e10c48..216712e8 100644
--- a/src/ui/function/RaisePinentry.cpp
+++ b/src/ui/function/RaisePinentry.cpp
@@ -55,8 +55,8 @@ auto RaisePinentry::Exec() -> int {
GF_UI_LOG_DEBUG(
"setting pinetry's arguments, context uids: {}, passphrase info: {}, "
"prev_was_bad: {}",
- context_->GetUidsInfo().toStdString(),
- context_->GetPassphraseInfo().toStdString(), context_->IsPreWasBad());
+ context_->GetUidsInfo(), context_->GetPassphraseInfo(),
+ context_->IsPreWasBad());
bool ask_for_new = context_->IsAskForNew() &&
context_->GetPassphraseInfo().isEmpty() &&
@@ -88,7 +88,7 @@ auto RaisePinentry::Exec() -> int {
pinentry->setFormattedPassphrase({false, QString()});
pinentry->setConstraintsOptions({false, QString(), QString(), QString()});
- pinentry->setWindowTitle(tr("Buddled Pinentry"));
+ pinentry->setWindowTitle(tr("Bundled Pinentry"));
/* If we reuse the same dialog window. */
pinentry->setPin(QString());
diff --git a/src/ui/function/SetOwnerTrustLevel.cpp b/src/ui/function/SetOwnerTrustLevel.cpp
index 360abfce..87f4cb61 100644
--- a/src/ui/function/SetOwnerTrustLevel.cpp
+++ b/src/ui/function/SetOwnerTrustLevel.cpp
@@ -54,7 +54,7 @@ auto SetOwnerTrustLevel::Exec(const QString& key_id) -> bool {
key.GetOwnerTrustLevel(), false, &ok);
if (ok && !item.isEmpty()) {
- GF_UI_LOG_DEBUG("selected owner trust policy: {}", item.toStdString());
+ GF_UI_LOG_DEBUG("selected owner trust policy: {}", item);
int trust_level = 0; // Unknown Level
if (item == tr("Ultimate")) {
trust_level = 5;
diff --git a/src/ui/main_window/GeneralMainWindow.cpp b/src/ui/main_window/GeneralMainWindow.cpp
index 2eb9f2a4..e3577199 100644
--- a/src/ui/main_window/GeneralMainWindow.cpp
+++ b/src/ui/main_window/GeneralMainWindow.cpp
@@ -102,6 +102,9 @@ void GpgFrontend::UI::GeneralMainWindow::slot_restore_settings() noexcept {
}
}
+ if (size_.width() < 600) size_.setWidth(600);
+ if (size_.height() < 400) size_.setHeight(400);
+
this->move(pos_);
this->resize(size_);
}
diff --git a/src/ui/main_window/KeyMgmt.cpp b/src/ui/main_window/KeyMgmt.cpp
index 29d26613..96df89d1 100644
--- a/src/ui/main_window/KeyMgmt.cpp
+++ b/src/ui/main_window/KeyMgmt.cpp
@@ -303,7 +303,7 @@ void KeyMgmt::create_tool_bars() {
export_tool_button->setMenu(export_key_menu_);
export_tool_button->setPopupMode(QToolButton::InstantPopup);
export_tool_button->setIcon(QIcon(":/icons/key_export.png"));
- export_tool_button->setToolTip(tr("Export key"));
+ export_tool_button->setToolTip(tr("Export Key"));
export_tool_button->setText(tr("Export Key"));
export_tool_button->setToolButtonStyle(icon_style_);
key_tool_bar->addWidget(export_tool_button);
@@ -529,14 +529,51 @@ void KeyMgmt::SlotExportAsOpenSSHFormat() {
void KeyMgmt::SlotImportKeyPackage() {
auto key_package_file_name = QFileDialog::getOpenFileName(
- this, tr("Import Key Package"), {},
- tr("Key Package") + " (*.gfepack);;All Files (*)");
+ this, tr("Import Key Package"), {}, tr("Key Package") + " (*.gfepack)");
+
+ if (key_package_file_name.isEmpty()) return;
+
+ // max file size is 32 mb
+ QFileInfo key_package_file_info(key_package_file_name);
+
+ if (!key_package_file_info.isFile() || !key_package_file_info.isReadable()) {
+ QMessageBox::critical(
+ this, tr("Error"),
+ tr("Cannot open this file. Please make sure that this "
+ "is a regular file and it's readable."));
+ return;
+ }
+
+ if (key_package_file_info.size() > static_cast<qint64>(32 * 1024 * 1024)) {
+ QMessageBox::critical(
+ this, tr("Error"),
+ tr("The target file is too large for a key package."));
+ return;
+ }
auto key_file_name = QFileDialog::getOpenFileName(
this, tr("Import Key Package Passphrase File"), {},
- tr("Key Package Passphrase File") + " (*.key);;All Files (*)");
+ tr("Key Package Passphrase File") + " (*.key)");
- if (key_package_file_name.isEmpty() || key_file_name.isEmpty()) return;
+ if (key_file_name.isEmpty()) return;
+
+ // max file size is 1 mb
+ QFileInfo key_file_info(key_file_name);
+
+ if (!key_file_info.isFile() || !key_file_info.isReadable()) {
+ QMessageBox::critical(
+ this, tr("Error"),
+ tr("Cannot open this file. Please make sure that this "
+ "is a regular file and it's readable."));
+ return;
+ }
+
+ if (key_file_info.size() > static_cast<qint64>(1024 * 1024)) {
+ QMessageBox::critical(
+ this, tr("Error"),
+ tr("The target file is too large for a key package passphrase."));
+ return;
+ }
GF_UI_LOG_INFO("importing key package: {}", key_package_file_name);
CommonUtils::WaitForOpera(
diff --git a/src/ui/main_window/MainWindow.cpp b/src/ui/main_window/MainWindow.cpp
index ef7910ab..27634570 100644
--- a/src/ui/main_window/MainWindow.cpp
+++ b/src/ui/main_window/MainWindow.cpp
@@ -103,6 +103,12 @@ void MainWindow::Init() noexcept {
[=](const QString &message, int timeout) {
statusBar()->showMessage(message, timeout);
});
+ connect(UISignalStation::GetInstance(),
+ &UISignalStation::SignalMainWindowlUpdateBasicalOperaMenu, this,
+ &MainWindow::SlotUpdateCryptoMenuStatus);
+ connect(UISignalStation::GetInstance(),
+ &UISignalStation::SignalMainWindowOpenFile, this,
+ &MainWindow::SlotOpenFile);
m_key_list_->AddMenuAction(append_selected_keys_act_);
m_key_list_->AddMenuAction(append_key_create_date_to_editor_act_);
@@ -123,21 +129,6 @@ void MainWindow::Init() noexcept {
edit_->CurTextPage()->setFocus();
- // before application exit
- connect(qApp, &QCoreApplication::aboutToQuit, this, []() {
- GF_UI_LOG_DEBUG("about to quit process started");
-
- if (GlobalSettingStation::GetInstance()
- .GetSettings()
- .value("basic/clear_gpg_password_cache", false)
- .toBool()) {
- GpgFrontend::GpgAdvancedOperator::ClearGpgPasswordCache(
- [](int, DataObjectPtr) {
-
- });
- }
- });
-
Module::ListenRTPublishEvent(
this, "com.bktus.gpgfrontend.module.integrated.version-checking",
"version.loading_done",
@@ -178,8 +169,8 @@ void MainWindow::restore_settings() {
if (key_server.default_server < 0) key_server.default_server = 0;
auto settings = GlobalSettingStation::GetInstance().GetSettings();
- if (!settings.contains("basic/non_ascii_when_export")) {
- settings.setValue("basic/non_ascii_when_export", true);
+ if (!settings.contains("gnupg/non_ascii_at_file_operation")) {
+ settings.setValue("gnupg/non_ascii_at_file_operation", true);
}
// set appearance
diff --git a/src/ui/main_window/MainWindow.h b/src/ui/main_window/MainWindow.h
index 34166444..523c14f0 100644
--- a/src/ui/main_window/MainWindow.h
+++ b/src/ui/main_window/MainWindow.h
@@ -74,11 +74,6 @@ class MainWindow : public GeneralMainWindow {
*/
void Init() noexcept;
- /**
- * @details refresh and enable specify crypto-menu actions.
- */
- void SetCryptoMenuStatus(CryptoMenu::OperationType type);
-
signals:
/**
@@ -119,6 +114,11 @@ class MainWindow : public GeneralMainWindow {
public slots:
/**
+ * @details refresh and enable specify crypto-menu actions.
+ */
+ void SlotUpdateCryptoMenuStatus(unsigned int type);
+
+ /**
* @details Open a new tab for path
*/
void SlotOpenFile(const QString& path);
diff --git a/src/ui/main_window/MainWindowFileSlotFunction.cpp b/src/ui/main_window/MainWindowFileSlotFunction.cpp
index c2465d86..6f550c09 100644
--- a/src/ui/main_window/MainWindowFileSlotFunction.cpp
+++ b/src/ui/main_window/MainWindowFileSlotFunction.cpp
@@ -51,13 +51,13 @@ void MainWindow::SlotFileEncrypt(const QString& path) {
return;
}
- bool const non_ascii_when_export =
+ bool const non_ascii_at_file_operation =
GlobalSettingStation::GetInstance()
.GetSettings()
- .value("basic/non_ascii_when_export", true)
+ .value("gnupg/non_ascii_at_file_operation", true)
.toBool();
auto out_path =
- SetExtensionOfOutputFile(path, kENCRYPT, !non_ascii_when_export);
+ SetExtensionOfOutputFile(path, kENCRYPT, !non_ascii_at_file_operation);
if (QFile::exists(out_path)) {
auto out_file_name = tr("The target file %1 already exists, "
@@ -90,7 +90,7 @@ void MainWindow::SlotFileEncrypt(const QString& path) {
CommonUtils::WaitForOpera(
this, tr("Symmetrically Encrypting"), [=](const OperaWaitingHd& op_hd) {
GpgFileOpera::GetInstance().EncryptFileSymmetric(
- path, !non_ascii_when_export, out_path,
+ path, !non_ascii_at_file_operation, out_path,
[=](GpgError err, const DataObjectPtr& data_obj) {
// stop waiting
op_hd();
@@ -134,8 +134,9 @@ void MainWindow::SlotFileEncrypt(const QString& path) {
CommonUtils::WaitForOpera(
this, tr("Encrypting"), [=](const OperaWaitingHd& op_hd) {
GpgFileOpera::GetInstance().EncryptFile(
- {p_keys->begin(), p_keys->end()}, path, !non_ascii_when_export,
- out_path, [=](GpgError err, const DataObjectPtr& data_obj) {
+ {p_keys->begin(), p_keys->end()}, path,
+ !non_ascii_at_file_operation, out_path,
+ [=](GpgError err, const DataObjectPtr& data_obj) {
// stop waiting
op_hd();
@@ -165,13 +166,13 @@ void MainWindow::SlotDirectoryEncrypt(const QString& path) {
return;
}
- bool const non_ascii_when_export =
+ bool const non_ascii_at_file_operation =
GlobalSettingStation::GetInstance()
.GetSettings()
- .value("basic/non_ascii_when_export", true)
+ .value("gnupg/non_ascii_at_file_operation", true)
.toBool();
- auto out_path = SetExtensionOfOutputFileForArchive(path, kENCRYPT,
- !non_ascii_when_export);
+ auto out_path = SetExtensionOfOutputFileForArchive(
+ path, kENCRYPT, !non_ascii_at_file_operation);
if (QFile::exists(out_path)) {
auto out_file_name = tr("The target file %1 already exists, "
@@ -205,7 +206,7 @@ void MainWindow::SlotDirectoryEncrypt(const QString& path) {
this, tr("Archiving & Symmetrically Encrypting"),
[=](const OperaWaitingHd& op_hd) {
GpgFileOpera::GetInstance().EncryptDerectorySymmetric(
- path, !non_ascii_when_export, out_path,
+ path, !non_ascii_at_file_operation, out_path,
[=](GpgError err, const DataObjectPtr& data_obj) {
// stop waiting
op_hd();
@@ -248,8 +249,9 @@ void MainWindow::SlotDirectoryEncrypt(const QString& path) {
CommonUtils::WaitForOpera(
this, tr("Archiving & Encrypting"), [=](const OperaWaitingHd& op_hd) {
GpgFileOpera::GetInstance().EncryptDirectory(
- {p_keys->begin(), p_keys->end()}, path, !non_ascii_when_export,
- out_path, [=](GpgError err, const DataObjectPtr& data_obj) {
+ {p_keys->begin(), p_keys->end()}, path,
+ !non_ascii_at_file_operation, out_path,
+ [=](GpgError err, const DataObjectPtr& data_obj) {
// stop waiting
op_hd();
@@ -280,6 +282,7 @@ void MainWindow::SlotFileDecrypt(const QString& path) {
}
auto out_path = SetExtensionOfOutputFile(path, kDECRYPT, true);
+ GF_UI_LOG_DEBUG("file decrypt target output path: {}", out_path);
if (QFileInfo(out_path).exists()) {
auto ret = QMessageBox::warning(
this, tr("Warning"),
@@ -329,6 +332,7 @@ void MainWindow::SlotArchiveDecrypt(const QString& path) {
}
auto out_path = SetExtensionOfOutputFileForArchive(path, kDECRYPT, true);
+ GF_UI_LOG_DEBUG("archive decrypt target output path: {}", out_path);
if (QFileInfo(out_path).exists()) {
auto ret = QMessageBox::warning(
this, tr("Warning"),
@@ -400,13 +404,13 @@ void MainWindow::SlotFileSign(const QString& path) {
}
}
- bool const non_ascii_when_export =
+ bool const non_ascii_at_file_operation =
GlobalSettingStation::GetInstance()
.GetSettings()
- .value("basic/non_ascii_when_export", true)
+ .value("gnupg/non_ascii_at_file_operation", true)
.toBool();
auto sig_file_path =
- SetExtensionOfOutputFile(path, kSIGN, !non_ascii_when_export);
+ SetExtensionOfOutputFile(path, kSIGN, !non_ascii_at_file_operation);
if (QFileInfo(sig_file_path).exists()) {
auto ret = QMessageBox::warning(this, tr("Warning"),
@@ -421,7 +425,7 @@ void MainWindow::SlotFileSign(const QString& path) {
CommonUtils::WaitForOpera(
this, tr("Signing"), [=](const OperaWaitingHd& op_hd) {
GpgFileOpera::GetInstance().SignFile(
- {keys->begin(), keys->end()}, path, !non_ascii_when_export,
+ {keys->begin(), keys->end()}, path, !non_ascii_at_file_operation,
sig_file_path, [=](GpgError err, const DataObjectPtr& data_obj) {
// stop waiting
op_hd();
@@ -559,13 +563,13 @@ void MainWindow::SlotFileEncryptSign(const QString& path) {
}
}
- bool const non_ascii_when_export =
+ bool const non_ascii_at_file_operation =
GlobalSettingStation::GetInstance()
.GetSettings()
- .value("basic/non_ascii_when_export", true)
+ .value("gnupg/non_ascii_at_file_operation", true)
.toBool();
- auto out_path =
- SetExtensionOfOutputFile(path, kENCRYPT_SIGN, !non_ascii_when_export);
+ auto out_path = SetExtensionOfOutputFile(path, kENCRYPT_SIGN,
+ !non_ascii_at_file_operation);
check_result = TargetFilePreCheck(out_path, false);
if (!std::get<0>(check_result)) {
@@ -599,7 +603,7 @@ void MainWindow::SlotFileEncryptSign(const QString& path) {
GpgFileOpera::GetInstance().EncryptSignFile(
{p_keys->begin(), p_keys->end()},
{p_signer_keys->begin(), p_signer_keys->end()}, path,
- !non_ascii_when_export, out_path,
+ !non_ascii_at_file_operation, out_path,
[=](GpgError err, const DataObjectPtr& data_obj) {
// stop waiting
op_hd();
@@ -662,13 +666,13 @@ void MainWindow::SlotDirectoryEncryptSign(const QString& path) {
}
}
- bool const non_ascii_when_export =
+ bool const non_ascii_at_file_operation =
GlobalSettingStation::GetInstance()
.GetSettings()
- .value("basic/non_ascii_when_export", true)
+ .value("gnupg/non_ascii_at_file_operation", true)
.toBool();
- auto out_path = SetExtensionOfOutputFileForArchive(path, kENCRYPT_SIGN,
- !non_ascii_when_export);
+ auto out_path = SetExtensionOfOutputFileForArchive(
+ path, kENCRYPT_SIGN, !non_ascii_at_file_operation);
check_result = TargetFilePreCheck(out_path, false);
if (!std::get<0>(check_result)) {
@@ -703,7 +707,7 @@ void MainWindow::SlotDirectoryEncryptSign(const QString& path) {
GpgFileOpera::GetInstance().EncryptSignDirectory(
{p_keys->begin(), p_keys->end()},
{p_signer_keys->begin(), p_signer_keys->end()}, path,
- !non_ascii_when_export, out_path,
+ !non_ascii_at_file_operation, out_path,
[=](GpgError err, const DataObjectPtr& data_obj) {
// stop waiting
op_hd();
diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp
index 2ee7470c..6f0a99fb 100644
--- a/src/ui/main_window/MainWindowSlotFunction.cpp
+++ b/src/ui/main_window/MainWindowSlotFunction.cpp
@@ -50,10 +50,10 @@ void MainWindow::slot_find() {
}
// At first close verifynotification, if existing
- edit_->SlotCurPageTextEdit()->CloseNoteByClass("findwidget");
+ edit_->SlotCurPageTextEdit()->CloseNoteByClass("FindWidget");
auto* fw = new FindWidget(this, edit_->CurTextPage());
- edit_->SlotCurPageTextEdit()->ShowNotificationWidget(fw, "findWidget");
+ edit_->SlotCurPageTextEdit()->ShowNotificationWidget(fw, "FindWidget");
}
/*
@@ -122,7 +122,8 @@ void MainWindow::slot_append_keys_expire_datetime() {
}
auto expire_datetime_format_str_local =
- QLocale().toString(key.GetCreateTime()) + tr(" (Local Time) ") + "\n";
+ QLocale().toString(key.GetCreateTime()) + " (" + tr("Local Time") + ") " +
+ "\n";
auto expire_datetime_format_str =
key.GetCreateTime().toString(Qt::ISODate) + " (UTC) " + "\n";
diff --git a/src/ui/main_window/MainWindowSlotUI.cpp b/src/ui/main_window/MainWindowSlotUI.cpp
index 74091c63..99a26626 100644
--- a/src/ui/main_window/MainWindowSlotUI.cpp
+++ b/src/ui/main_window/MainWindowSlotUI.cpp
@@ -65,13 +65,8 @@ void MainWindow::slot_open_key_management() {
void MainWindow::slot_open_file_tab() { edit_->SlotNewFileTab(); }
void MainWindow::slot_disable_tab_actions(int number) {
- bool disable;
-
- disable = number == -1;
-
- if (edit_->CurFilePage() != nullptr) {
- disable = true;
- }
+ auto disable = number == -1;
+ if (edit_->CurFilePage() != nullptr) disable = true;
print_act_->setDisabled(disable);
save_act_->setDisabled(disable);
@@ -100,6 +95,12 @@ void MainWindow::slot_disable_tab_actions(int number) {
cut_pgp_header_act_->setDisabled(disable);
add_pgp_header_act_->setDisabled(disable);
+
+ if (edit_->CurFilePage() != nullptr) {
+ GF_UI_LOG_DEBUG("edit current page is file page");
+ auto* file_page = edit_->CurFilePage();
+ emit file_page->SignalCurrentTabChanged();
+ }
}
void MainWindow::slot_open_settings_dialog() {
@@ -184,9 +185,9 @@ void MainWindow::SlotSetRestartNeeded(int mode) {
int MainWindow::get_restart_needed() const { return this->restart_needed_; }
-void MainWindow::SetCryptoMenuStatus(
- MainWindow::CryptoMenu::OperationType type) {
- GF_UI_LOG_DEBUG("type: {}", type);
+void MainWindow::SlotUpdateCryptoMenuStatus(unsigned int type) {
+ MainWindow::CryptoMenu::OperationType opera_type = type;
+ GF_UI_LOG_DEBUG("update crypto menu status, type: {}", opera_type);
// refresh status to disable all
verify_act_->setDisabled(true);
@@ -197,22 +198,22 @@ void MainWindow::SetCryptoMenuStatus(
decrypt_verify_act_->setDisabled(true);
// enable according to type
- if (type & MainWindow::CryptoMenu::Verify) {
+ if ((opera_type & MainWindow::CryptoMenu::Verify) != 0U) {
verify_act_->setDisabled(false);
}
- if (type & MainWindow::CryptoMenu::Sign) {
+ if ((opera_type & MainWindow::CryptoMenu::Sign) != 0U) {
sign_act_->setDisabled(false);
}
- if (type & MainWindow::CryptoMenu::Encrypt) {
+ if ((opera_type & MainWindow::CryptoMenu::Encrypt) != 0U) {
encrypt_act_->setDisabled(false);
}
- if (type & MainWindow::CryptoMenu::EncryptAndSign) {
+ if ((opera_type & MainWindow::CryptoMenu::EncryptAndSign) != 0U) {
encrypt_sign_act_->setDisabled(false);
}
- if (type & MainWindow::CryptoMenu::Decrypt) {
+ if ((opera_type & MainWindow::CryptoMenu::Decrypt) != 0U) {
decrypt_act_->setDisabled(false);
}
- if (type & MainWindow::CryptoMenu::DecryptAndVerify) {
+ if ((opera_type & MainWindow::CryptoMenu::DecryptAndVerify) != 0U) {
decrypt_verify_act_->setDisabled(false);
}
}
diff --git a/src/ui/main_window/MainWindowUI.cpp b/src/ui/main_window/MainWindowUI.cpp
index c193e4d1..8b6fc74c 100644
--- a/src/ui/main_window/MainWindowUI.cpp
+++ b/src/ui/main_window/MainWindowUI.cpp
@@ -147,6 +147,7 @@ void MainWindow::create_actions() {
&TextEdit::SlotSelectAll);
find_act_ = new QAction(tr("Find"), this);
+ find_act_->setIcon(QIcon(":/icons/search.png"));
find_act_->setShortcut(QKeySequence::Find);
find_act_->setToolTip(tr("Find a word"));
connect(find_act_, &QAction::triggered, this, &MainWindow::slot_find);
@@ -330,7 +331,7 @@ void MainWindow::create_actions() {
});
import_key_from_edit_act_ = new QAction(tr("Editor"), this);
- import_key_from_edit_act_->setIcon(QIcon(":/icons/txt.png"));
+ import_key_from_edit_act_->setIcon(QIcon(":/icons/editor.png"));
import_key_from_edit_act_->setToolTip(tr("Import New Key From Editor"));
connect(import_key_from_edit_act_, &QAction::triggered, this,
&MainWindow::slot_import_key_from_edit);
diff --git a/src/ui/thread/ListedKeyServerTestTask.cpp b/src/ui/thread/ListedKeyServerTestTask.cpp
index 4ab7ba5f..f50a66ab 100644
--- a/src/ui/thread/ListedKeyServerTestTask.cpp
+++ b/src/ui/thread/ListedKeyServerTestTask.cpp
@@ -47,20 +47,19 @@ auto GpgFrontend::UI::ListedKeyServerTestTask::Run() -> int {
size_t index = 0;
for (const auto& url : urls_) {
auto key_url = QUrl{url};
- GF_UI_LOG_DEBUG("key server request: {}", key_url.host().toStdString());
+ GF_UI_LOG_DEBUG("key server request: {}", key_url.host());
auto* network_reply = network_manager_->get(QNetworkRequest{key_url});
auto* timer = new QTimer(this);
connect(network_reply, &QNetworkReply::finished, this,
[this, index, network_reply]() {
- GF_UI_LOG_DEBUG("key server domain reply: {}",
- urls_[index].toStdString());
+ GF_UI_LOG_DEBUG("key server domain reply: {}", urls_[index]);
this->slot_process_network_reply(index, network_reply);
});
connect(timer, &QTimer::timeout, this, [this, index, network_reply]() {
- GF_UI_LOG_DEBUG("timeout for key server: {}", urls_[index].toStdString());
+ GF_UI_LOG_DEBUG("timeout for key server: {}", urls_[index]);
if (network_reply->isRunning()) {
network_reply->abort();
this->slot_process_network_reply(index, network_reply);
diff --git a/src/ui/thread/ProxyConnectionTestTask.cpp b/src/ui/thread/ProxyConnectionTestTask.cpp
index 6b0993fe..b681ca6d 100644
--- a/src/ui/thread/ProxyConnectionTestTask.cpp
+++ b/src/ui/thread/ProxyConnectionTestTask.cpp
@@ -45,13 +45,12 @@ auto GpgFrontend::UI::ProxyConnectionTestTask::Run() -> int {
connect(network_reply, &QNetworkReply::finished, this,
[this, network_reply]() {
- GF_UI_LOG_DEBUG("key server domain reply: {} received",
- url_.toStdString());
+ GF_UI_LOG_DEBUG("key server domain reply: {} received", url_);
this->slot_process_network_reply(network_reply);
});
connect(timer, &QTimer::timeout, this, [this, network_reply]() {
- GF_UI_LOG_DEBUG("timeout for key server: {}", url_.toStdString());
+ GF_UI_LOG_DEBUG("timeout for key server: {}", url_);
if (network_reply->isRunning()) {
network_reply->abort();
this->slot_process_network_reply(network_reply);
@@ -65,8 +64,8 @@ auto GpgFrontend::UI::ProxyConnectionTestTask::Run() -> int {
void GpgFrontend::UI::ProxyConnectionTestTask::slot_process_network_reply(
QNetworkReply* reply) {
auto buffer = reply->readAll();
- GF_UI_LOG_DEBUG("key server domain reply: {}, buffer size: {}",
- url_.toStdString(), buffer.size());
+ GF_UI_LOG_DEBUG("key server domain reply: {}, buffer size: {}", url_,
+ buffer.size());
if (reply->error() == QNetworkReply::NoError && !buffer.isEmpty()) {
result_ = "Reachable";
diff --git a/src/ui/widgets/FilePage.cpp b/src/ui/widgets/FilePage.cpp
index c6260003..d99bfc53 100644
--- a/src/ui/widgets/FilePage.cpp
+++ b/src/ui/widgets/FilePage.cpp
@@ -96,56 +96,16 @@ FilePage::FilePage(QWidget* parent, const QString& target_path)
[this](const QString& path) { this->ui_->pathEdit->setText(path); });
connect(file_tree_view_, &FileTreeView::SignalPathChanged, this,
&FilePage::SignalPathChanged);
-
- auto* main_window = qobject_cast<MainWindow*>(this->parent());
- if (main_window != nullptr) {
- connect(file_tree_view_, &FileTreeView::SignalOpenFile, main_window,
- &MainWindow::SlotOpenFile);
-
- connect(file_tree_view_, &FileTreeView::SignalSelectedChanged, this,
- [main_window](const QString& selected_path) {
- MainWindow::CryptoMenu::OperationType operation_type =
- MainWindow::CryptoMenu::None;
-
- // abort...
- if (selected_path.isEmpty()) return;
-
- QFileInfo const info(selected_path);
-
- if ((info.isDir() || info.isFile()) &&
- (info.suffix() != "gpg" && info.suffix() != "pgp" &&
- info.suffix() != "sig" && info.suffix() != "asc")) {
- operation_type |= MainWindow::CryptoMenu::Encrypt;
- }
-
- if ((info.isDir() || info.isFile()) &&
- (info.suffix() != "gpg" && info.suffix() != "pgp" &&
- info.suffix() != "sig" && info.suffix() != "asc")) {
- operation_type |= MainWindow::CryptoMenu::EncryptAndSign;
- }
-
- if (info.isFile() &&
- (info.suffix() == "gpg" || info.suffix() == "pgp" ||
- info.suffix() == "asc")) {
- operation_type |= MainWindow::CryptoMenu::Decrypt;
- operation_type |= MainWindow::CryptoMenu::DecryptAndVerify;
- }
-
- if (info.isFile() &&
- (info.suffix() != "gpg" && info.suffix() != "pgp" &&
- info.suffix() != "sig" && info.suffix() != "asc")) {
- operation_type |= MainWindow::CryptoMenu::Sign;
- }
-
- if (info.isFile() &&
- (info.suffix() == "sig" || info.suffix() == "gpg" ||
- info.suffix() == "pgp" || info.suffix() == "asc")) {
- operation_type |= MainWindow::CryptoMenu::Verify;
- }
-
- main_window->SetCryptoMenuStatus(operation_type);
- });
- }
+ connect(file_tree_view_, &FileTreeView::SignalOpenFile,
+ UISignalStation::GetInstance(),
+ &UISignalStation::SignalMainWindowOpenFile);
+ connect(file_tree_view_, &FileTreeView::SignalSelectedChanged, this,
+ &FilePage::update_main_basical_opera_menu);
+ connect(this, &FilePage::SignalCurrentTabChanged, this,
+ [this]() { update_main_basical_opera_menu(GetSelected()); });
+ connect(this, &FilePage::SignalMainWindowlUpdateBasicalOperaMenu,
+ UISignalStation::GetInstance(),
+ &UISignalStation::SignalMainWindowlUpdateBasicalOperaMenu);
}
auto FilePage::GetSelected() const -> QString {
@@ -164,4 +124,43 @@ void FilePage::keyPressEvent(QKeyEvent* event) {
}
}
+void FilePage::update_main_basical_opera_menu(const QString& selected_path) {
+ MainWindow::CryptoMenu::OperationType operation_type =
+ MainWindow::CryptoMenu::None;
+
+ // abort...
+ if (selected_path.isEmpty()) return;
+
+ QFileInfo const info(selected_path);
+
+ if ((info.isDir() || info.isFile()) &&
+ (info.suffix() != "gpg" && info.suffix() != "pgp" &&
+ info.suffix() != "sig" && info.suffix() != "asc")) {
+ operation_type |= MainWindow::CryptoMenu::Encrypt;
+ }
+
+ if ((info.isDir() || info.isFile()) &&
+ (info.suffix() != "gpg" && info.suffix() != "pgp" &&
+ info.suffix() != "sig" && info.suffix() != "asc")) {
+ operation_type |= MainWindow::CryptoMenu::EncryptAndSign;
+ }
+
+ if (info.isFile() && (info.suffix() == "gpg" || info.suffix() == "pgp" ||
+ info.suffix() == "asc")) {
+ operation_type |= MainWindow::CryptoMenu::Decrypt;
+ operation_type |= MainWindow::CryptoMenu::DecryptAndVerify;
+ }
+
+ if (info.isFile() && (info.suffix() != "gpg" && info.suffix() != "pgp" &&
+ info.suffix() != "sig" && info.suffix() != "asc")) {
+ operation_type |= MainWindow::CryptoMenu::Sign;
+ }
+
+ if (info.isFile() && (info.suffix() == "sig" || info.suffix() == "gpg" ||
+ info.suffix() == "pgp" || info.suffix() == "asc")) {
+ operation_type |= MainWindow::CryptoMenu::Verify;
+ }
+
+ emit SignalMainWindowlUpdateBasicalOperaMenu(operation_type);
+}
} // namespace GpgFrontend::UI
diff --git a/src/ui/widgets/FilePage.h b/src/ui/widgets/FilePage.h
index da5370a2..7f05e405 100644
--- a/src/ui/widgets/FilePage.h
+++ b/src/ui/widgets/FilePage.h
@@ -71,7 +71,7 @@ class FilePage : public QWidget {
*
* @param path
*/
- void SignalPathChanged(const QString& path);
+ void SignalPathChanged(const QString&);
/**
* @brief
@@ -79,8 +79,20 @@ class FilePage : public QWidget {
* @param text
* @param verify_label_status
*/
- void SignalRefreshInfoBoard(const QString& text,
- InfoBoardStatus verify_label_status);
+ void SignalRefreshInfoBoard(const QString&, InfoBoardStatus);
+
+ /**
+ * @brief
+ *
+ */
+ void SignalCurrentTabChanged();
+
+ /**
+ * @brief
+ *
+ * @param int
+ */
+ void SignalMainWindowlUpdateBasicalOperaMenu(unsigned int);
protected:
/**
@@ -99,6 +111,14 @@ class FilePage : public QWidget {
QMenu* popup_menu_{}; ///<
QMenu* option_popup_menu_{}; ///<
FileTreeView* file_tree_view_;
+
+ private slots:
+
+ /**
+ * @brief
+ *
+ */
+ void update_main_basical_opera_menu(const QString&);
};
} // namespace GpgFrontend::UI
diff --git a/src/ui/widgets/FileTreeView.cpp b/src/ui/widgets/FileTreeView.cpp
index 0c299a97..b0241b63 100644
--- a/src/ui/widgets/FileTreeView.cpp
+++ b/src/ui/widgets/FileTreeView.cpp
@@ -49,6 +49,7 @@ FileTreeView::FileTreeView(QWidget* parent, const QString& target_path)
slot_create_popup_menu();
this->setContextMenuPolicy(Qt::CustomContextMenu);
+
connect(this, &QWidget::customContextMenuRequested, this,
&FileTreeView::slot_show_custom_context_menu);
connect(this, &QTreeView::doubleClicked, this,
@@ -159,7 +160,7 @@ auto FileTreeView::SlotDeleteSelectedItem() -> void {
if (ret == QMessageBox::Cancel) return;
- GF_UI_LOG_DEBUG("delete item: {}", data.toString().toStdString());
+ GF_UI_LOG_DEBUG("delete item: {}", data.toString());
if (!dir_model_->remove(index)) {
QMessageBox::critical(this, tr("Error"),
@@ -194,25 +195,19 @@ void FileTreeView::SlotMkdirBelowAtSelectedItem() {
}
void FileTreeView::SlotTouch() {
-#ifdef WINDOWS
- auto root_path_str = dir_model_->rootPath().toStdU16String();
-#else
- auto root_path_str = dir_model_->rootPath().toStdString();
-#endif
- std::filesystem::path root_path(root_path_str);
+ auto root_path = dir_model_->rootPath();
QString new_file_name;
bool ok;
+
new_file_name = QInputDialog::getText(
this, tr("Create Empty File"), tr("Filename (you can given extension)"),
QLineEdit::Normal, new_file_name, &ok);
if (ok && !new_file_name.isEmpty()) {
-#ifdef WINDOWS
- auto file_path = root_path / new_file_name.toStdU16String();
-#else
- auto file_path = root_path / new_file_name.toStdString();
-#endif
- QFile new_file(file_path.u8string().c_str());
+ auto file_path = root_path + "/" + new_file_name;
+ GF_UI_LOG_DEBUG("new file path: {}", file_path);
+
+ QFile new_file(file_path);
if (!new_file.open(QIODevice::WriteOnly | QIODevice::NewOnly)) {
QMessageBox::critical(this, tr("Error"),
tr("Unable to create the file."));
@@ -223,6 +218,7 @@ void FileTreeView::SlotTouch() {
void FileTreeView::SlotTouchBelowAtSelectedItem() {
auto root_path(selected_path_);
+ if (root_path.isEmpty()) root_path = dir_model_->rootPath();
QString new_file_name;
bool ok;
@@ -231,6 +227,7 @@ void FileTreeView::SlotTouchBelowAtSelectedItem() {
QLineEdit::Normal, new_file_name, &ok);
if (ok && !new_file_name.isEmpty()) {
auto file_path = root_path + "/" + new_file_name;
+ GF_UI_LOG_DEBUG("new file path: {}", file_path);
QFile new_file(file_path);
if (!new_file.open(QIODevice::WriteOnly | QIODevice::NewOnly)) {
@@ -257,7 +254,7 @@ void FileTreeView::keyPressEvent(QKeyEvent* event) {
void FileTreeView::SlotOpenSelectedItemBySystemApplication() {
QFileInfo const info(selected_path_);
if (info.isDir()) {
- const auto file_path = info.filePath().toUtf8().toStdString();
+ const auto file_path = info.filePath().toUtf8();
QDesktopServices::openUrl(QUrl::fromLocalFile(selected_path_));
} else {
@@ -274,7 +271,7 @@ void FileTreeView::SlotRenameSelectedItem() {
auto file_info = QFileInfo(selected_path_);
auto new_name_path = file_info.absolutePath() + "/" + text;
GF_UI_LOG_DEBUG("new filename path: {}", new_name_path);
- if (QDir().rename(file_info.absoluteFilePath(), new_name_path)) {
+ if (!QDir().rename(file_info.absoluteFilePath(), new_name_path)) {
QMessageBox::critical(this, tr("Error"),
tr("Unable to rename the file or folder."));
return;
@@ -334,16 +331,16 @@ void FileTreeView::slot_create_popup_menu() {
connect(action_open_with_system_default_application, &QAction::triggered,
this, &FileTreeView::SlotOpenSelectedItemBySystemApplication);
- auto* new_item_action_menu = new QMenu(this);
- new_item_action_menu->setTitle(tr("New"));
- new_item_action_menu->addAction(action_create_empty_file_);
- new_item_action_menu->addAction(action_make_directory_);
+ new_item_action_menu_ = new QMenu(this);
+ new_item_action_menu_->setTitle(tr("New"));
+ new_item_action_menu_->addAction(action_create_empty_file_);
+ new_item_action_menu_->addAction(action_make_directory_);
popup_menu_->addAction(action_open_file_);
popup_menu_->addAction(action_open_with_system_default_application);
popup_menu_->addSeparator();
- popup_menu_->addMenu(new_item_action_menu);
+ popup_menu_->addMenu(new_item_action_menu_);
popup_menu_->addSeparator();
popup_menu_->addAction(action_rename_file_);
@@ -354,22 +351,40 @@ void FileTreeView::slot_create_popup_menu() {
void FileTreeView::slot_show_custom_context_menu(const QPoint& point) {
auto target_path = this->GetPathByClickPoint(point);
+ auto select_path = GetSelectedPath();
+
+ GF_UI_LOG_DEBUG("file tree view, target path: {}, select path: {}",
+ target_path, select_path);
+ if (target_path.isEmpty() && !select_path.isEmpty()) {
+ target_path = select_path;
+ }
- if (!target_path.isEmpty()) {
- action_open_file_->setEnabled(true);
+ QFileInfo file_info(target_path);
+
+ action_open_file_->setEnabled(false);
+ action_rename_file_->setEnabled(false);
+ action_delete_file_->setEnabled(false);
+ action_calculate_hash_->setEnabled(false);
+ action_make_directory_->setEnabled(false);
+ action_create_empty_file_->setEnabled(false);
+ action_calculate_hash_->setEnabled(false);
+
+ if (file_info.exists()) {
+ action_open_file_->setEnabled(file_info.isFile() && file_info.isReadable());
action_rename_file_->setEnabled(true);
action_delete_file_->setEnabled(true);
- QFileInfo const info(this->GetSelectedPath());
- action_calculate_hash_->setEnabled(info.isFile() && info.isReadable());
-
+ action_make_directory_->setEnabled(file_info.isDir() &&
+ file_info.isWritable());
+ action_create_empty_file_->setEnabled(file_info.isDir() &&
+ file_info.isWritable());
+ action_calculate_hash_->setEnabled(file_info.isFile() &&
+ file_info.isReadable());
} else {
- action_open_file_->setEnabled(false);
- action_rename_file_->setEnabled(false);
- action_delete_file_->setEnabled(false);
-
- action_calculate_hash_->setEnabled(false);
+ action_create_empty_file_->setEnabled(true);
+ action_make_directory_->setEnabled(true);
}
+
popup_menu_->exec(this->GetMousePointGlobal(point));
}
@@ -377,11 +392,11 @@ void FileTreeView::slot_calculate_hash() {
CommonUtils::WaitForOpera(
this->parentWidget(), tr("Calculating"), [=](const OperaWaitingHd& hd) {
RunOperaAsync(
- [=](DataObjectPtr data_object) {
+ [=](const DataObjectPtr& data_object) {
data_object->Swap({CalculateHash(this->GetSelectedPath())});
return 0;
},
- [hd](int rtn, DataObjectPtr data_object) {
+ [hd](int rtn, const DataObjectPtr& data_object) {
hd();
if (rtn < 0 || !data_object->Check<QString>()) {
return;
@@ -402,4 +417,8 @@ void FileTreeView::paintEvent(QPaintEvent* event) {
this->resizeColumnToContents(i);
}
}
+
+void FileTreeView::mousePressEvent(QMouseEvent* event) {
+ QTreeView::mousePressEvent(event);
+}
} // namespace GpgFrontend::UI
diff --git a/src/ui/widgets/FileTreeView.h b/src/ui/widgets/FileTreeView.h
index 9e9b03dd..cd3b1cb8 100644
--- a/src/ui/widgets/FileTreeView.h
+++ b/src/ui/widgets/FileTreeView.h
@@ -38,14 +38,14 @@ class FileTreeView : public QTreeView {
/**
* @brief Get the Current Path object
*
- * @return std::filesystem::path
+ * @return QString
*/
auto GetCurrentPath() -> QString;
/**
* @brief Get the Selected Path object
*
- * @return std::filesystem::path
+ * @return QString
*/
auto GetSelectedPath() -> QString;
@@ -53,7 +53,7 @@ class FileTreeView : public QTreeView {
* @brief Get the Path By Click Point object
*
* @param point
- * @return std::filesystem::path
+ * @return QString
*/
auto GetPathByClickPoint(const QPoint& point) -> QString;
@@ -88,6 +88,13 @@ class FileTreeView : public QTreeView {
*/
void paintEvent(QPaintEvent* event) override;
+ /**
+ * @brief
+ *
+ * @param event
+ */
+ void mousePressEvent(QMouseEvent* event) override;
+
signals:
/**
@@ -218,6 +225,7 @@ class FileTreeView : public QTreeView {
QString selected_path_; ///<
QMenu* popup_menu_;
+ QMenu* new_item_action_menu_;
QAction* action_open_file_;
QAction* action_rename_file_;
QAction* action_delete_file_;
diff --git a/src/ui/widgets/FindWidget.cpp b/src/ui/widgets/FindWidget.cpp
index 7cc569e4..6b5b386c 100644
--- a/src/ui/widgets/FindWidget.cpp
+++ b/src/ui/widgets/FindWidget.cpp
@@ -33,9 +33,8 @@ namespace GpgFrontend::UI {
FindWidget::FindWidget(QWidget* parent, PlainTextEditorPage* edit)
: QWidget(parent), m_text_page_(edit) {
find_edit_ = new QLineEdit(this);
- auto* close_button = new QPushButton(
- this->style()->standardIcon(QStyle::SP_TitleBarCloseButton), QString(),
- this);
+ auto* close_button =
+ new QPushButton(QIcon(":/icons/close.png"), QString(), this);
auto* next_button =
new QPushButton(QIcon(":/icons/button_next.png"), QString());
auto* previous_button =
@@ -60,24 +59,10 @@ FindWidget::FindWidget(QWidget* parent, PlainTextEditorPage* edit)
connect(close_button, &QPushButton::clicked, this, &FindWidget::slot_close);
// The timer is necessary for setting the focus
- QTimer::singleShot(0, find_edit_, SLOT(setFocus()));
+ QTimer::singleShot(32, find_edit_, SLOT(setFocus()));
}
-void FindWidget::set_background() {
- // auto cursor = m_text_page_->GetTextPage()->textCursor();
- // if match is found set background of QLineEdit to white, otherwise to red
- QPalette bg_palette(find_edit_->palette());
-
- if (!find_edit_->text().isEmpty() && m_text_page_->GetTextPage()
- ->document()
- ->find(find_edit_->text())
- .position() < 0) {
- bg_palette.setColor(QPalette::Base, "#ececba");
- } else {
- bg_palette.setColor(QPalette::Base, Qt::white);
- }
- find_edit_->setPalette(bg_palette);
-}
+void FindWidget::set_background() {}
void FindWidget::slot_find_next() {
QTextCursor cursor = m_text_page_->GetTextPage()->textCursor();
diff --git a/src/ui/widgets/InfoBoardWidget.cpp b/src/ui/widgets/InfoBoardWidget.cpp
index fdec1e50..d1a006c5 100644
--- a/src/ui/widgets/InfoBoardWidget.cpp
+++ b/src/ui/widgets/InfoBoardWidget.cpp
@@ -115,7 +115,7 @@ void InfoBoardWidget::AssociateTabWidget(QTabWidget* tab) {
void InfoBoardWidget::AddOptionalAction(const QString& name,
const std::function<void()>& action) {
- GF_UI_LOG_DEBUG("add option: {}", name.toStdString());
+ GF_UI_LOG_DEBUG("add option action: {}", name);
auto* action_button = new QPushButton(name);
auto* layout = new QHBoxLayout();
layout->setContentsMargins(5, 0, 5, 0);
@@ -165,7 +165,7 @@ void InfoBoardWidget::slot_copy() {
void InfoBoardWidget::slot_save() {
auto file_path = QFileDialog::getSaveFileName(
this, tr("Save Information Board's Content"), {}, tr("Text (*.txt)"));
- GF_UI_LOG_DEBUG("file path: {}", file_path.toStdString());
+ GF_UI_LOG_DEBUG("file path: {}", file_path);
if (file_path.isEmpty()) return;
QFile file(file_path);
diff --git a/src/ui/widgets/KeyList.cpp b/src/ui/widgets/KeyList.cpp
index 58e53ae0..48c99269 100644
--- a/src/ui/widgets/KeyList.cpp
+++ b/src/ui/widgets/KeyList.cpp
@@ -115,7 +115,7 @@ void KeyList::AddListGroupTab(const QString& name, const QString& id,
KeyListRow::KeyType selectType,
KeyListColumn::InfoType infoType,
const KeyTable::KeyTableFilter filter) {
- GF_UI_LOG_DEBUG("add tab: {}", name.toStdString());
+ GF_UI_LOG_DEBUG("add list group tab: {}", name);
auto* key_list = new QTableWidget(this);
if (m_key_list_ == nullptr) {
@@ -126,7 +126,7 @@ void KeyList::AddListGroupTab(const QString& name, const QString& id,
m_key_tables_.emplace_back(key_list, selectType, infoType, filter);
m_key_tables_.back().SetMenuAbility(menu_ability_);
- key_list->setColumnCount(7);
+ key_list->setColumnCount(8);
key_list->horizontalHeader()->setSectionResizeMode(
QHeaderView::ResizeToContents);
key_list->verticalHeader()->hide();
@@ -159,13 +159,16 @@ void KeyList::AddListGroupTab(const QString& name, const QString& id,
if ((infoType & KeyListColumn::Validity) == 0U) {
key_list->setColumnHidden(5, true);
}
- if ((infoType & KeyListColumn::FingerPrint) == 0U) {
+ if ((infoType & KeyListColumn::KeyID) == 0U) {
key_list->setColumnHidden(6, true);
}
+ if ((infoType & KeyListColumn::FingerPrint) == 0U) {
+ key_list->setColumnHidden(7, true);
+ }
QStringList labels;
labels << tr("Select") << tr("Type") << tr("Name") << tr("Email Address")
- << tr("Usage") << tr("Trust") << tr("Finger Print");
+ << tr("Usage") << tr("Trust") << tr("Key ID") << tr("Finger Print");
key_list->setHorizontalHeaderLabels(labels);
key_list->horizontalHeader()->setStretchLastSection(false);
@@ -190,7 +193,7 @@ void KeyList::SlotRefreshUI() {
this->slot_refresh_ui();
}
-KeyIdArgsListPtr KeyList::GetChecked(const KeyTable& key_table) {
+auto KeyList::GetChecked(const KeyTable& key_table) -> KeyIdArgsListPtr {
auto ret = std::make_unique<KeyIdArgsList>();
for (int i = 0; i < key_table.key_list_->rowCount(); i++) {
if (key_table.key_list_->item(i, 0)->checkState() == Qt::Checked) {
@@ -200,7 +203,7 @@ KeyIdArgsListPtr KeyList::GetChecked(const KeyTable& key_table) {
return ret;
}
-KeyIdArgsListPtr KeyList::GetChecked() {
+auto KeyList::GetChecked() -> KeyIdArgsListPtr {
auto* key_list =
qobject_cast<QTableWidget*>(ui_->keyGroupTab->currentWidget());
const auto& buffered_keys =
@@ -214,7 +217,7 @@ KeyIdArgsListPtr KeyList::GetChecked() {
return ret;
}
-KeyIdArgsListPtr KeyList::GetAllPrivateKeys() {
+auto KeyList::GetAllPrivateKeys() -> KeyIdArgsListPtr {
auto* key_list =
qobject_cast<QTableWidget*>(ui_->keyGroupTab->currentWidget());
const auto& buffered_keys =
@@ -228,7 +231,7 @@ KeyIdArgsListPtr KeyList::GetAllPrivateKeys() {
return ret;
}
-KeyIdArgsListPtr KeyList::GetPrivateChecked() {
+auto KeyList::GetPrivateChecked() -> KeyIdArgsListPtr {
auto ret = std::make_unique<KeyIdArgsList>();
if (ui_->keyGroupTab->size().isEmpty()) return ret;
@@ -289,7 +292,7 @@ KeyIdArgsListPtr KeyList::GetSelected() {
return ret;
}
-[[maybe_unused]] bool KeyList::ContainsPrivateKeys() {
+[[maybe_unused]] auto KeyList::ContainsPrivateKeys() -> bool {
if (ui_->keyGroupTab->size().isEmpty()) return false;
m_key_list_ = qobject_cast<QTableWidget*>(ui_->keyGroupTab->currentWidget());
@@ -315,7 +318,7 @@ void KeyList::contextMenuEvent(QContextMenuEvent* event) {
QString current_tab_widget_obj_name =
ui_->keyGroupTab->widget(ui_->keyGroupTab->currentIndex())->objectName();
GF_UI_LOG_DEBUG("current tab widget object name: {}",
- current_tab_widget_obj_name.toStdString());
+ current_tab_widget_obj_name);
if (current_tab_widget_obj_name == "favourite") {
QList<QAction*> actions = popup_menu_->actions();
for (QAction* action : actions) {
@@ -388,7 +391,7 @@ void KeyList::dropEvent(QDropEvent* event) {
QFile file;
file.setFileName(tmp.toLocalFile());
if (!file.open(QIODevice::ReadOnly)) {
- GF_UI_LOG_ERROR("couldn't open file: {}", tmp.toString().toStdString());
+ GF_UI_LOG_ERROR("couldn't open file: {}", tmp.toString());
}
QByteArray in_buffer = file.readAll();
this->import_keys(in_buffer);
@@ -426,7 +429,7 @@ void KeyList::SetDoubleClickedAction(
this->m_action_ = std::move(action);
}
-QString KeyList::GetSelectedKey() {
+auto KeyList::GetSelectedKey() -> QString {
if (ui_->keyGroupTab->size().isEmpty()) return {};
const auto& buffered_keys =
m_key_tables_[ui_->keyGroupTab->currentIndex()].buffered_keys_;
@@ -576,12 +579,16 @@ void KeyTable::Refresh(KeyLinkListPtr m_keys) {
while (it != keys->end()) {
// filter by search bar's keyword
if (ability_ & KeyMenuAbility::SEARCH_BAR && !keyword_.isEmpty()) {
- auto name = it->GetName().toLower();
- auto email = it->GetEmail().toLower();
- auto comment = it->GetComment().toLower();
+ QStringList infos;
+ infos << it->GetName().toLower() << it->GetEmail().toLower()
+ << it->GetComment().toLower() << it->GetFingerprint().toLower();
+
+ auto subkeys = it->GetSubKeys();
+ for (const auto& subkey : *subkeys) {
+ infos << subkey.GetFingerprint().toLower() << subkey.GetID().toLower();
+ }
- if (!name.contains(keyword_) && !email.contains(keyword_) &&
- !comment.contains(keyword_)) {
+ if (infos.filter(keyword_.toLower()).isEmpty()) {
it = keys->erase(it);
continue;
}
@@ -657,22 +664,28 @@ void KeyTable::Refresh(KeyLinkListPtr m_keys) {
temp_validity->setTextAlignment(Qt::AlignCenter);
key_list_->setItem(row_index, 5, temp_validity);
+ auto* temp_id = new QTableWidgetItem(it->GetId());
+ temp_id->setTextAlignment(Qt::AlignCenter);
+ key_list_->setItem(row_index, 6, temp_id);
+
auto* temp_fpr = new QTableWidgetItem(it->GetFingerprint());
temp_fpr->setTextAlignment(Qt::AlignCenter);
- key_list_->setItem(row_index, 6, temp_fpr);
+ key_list_->setItem(row_index, 7, temp_fpr);
+
+ QFont font = tmp2->font();
// strike out expired keys
- if (it->IsExpired() || it->IsRevoked()) {
- QFont strike = tmp2->font();
- strike.setStrikeOut(true);
- tmp0->setFont(strike);
- temp_usage->setFont(strike);
- temp_fpr->setFont(strike);
- temp_validity->setFont(strike);
- tmp1->setFont(strike);
- tmp2->setFont(strike);
- tmp3->setFont(strike);
- }
+ if (it->IsExpired() || it->IsRevoked()) font.setStrikeOut(true);
+ if (it->IsPrivateKey()) font.setBold(true);
+
+ tmp0->setFont(font);
+ temp_usage->setFont(font);
+ temp_fpr->setFont(font);
+ temp_validity->setFont(font);
+ tmp1->setFont(font);
+ tmp2->setFont(font);
+ tmp3->setFont(font);
+ temp_id->setFont(font);
// move to buffered keys
buffered_keys_.emplace_back(std::move(*it));
diff --git a/src/ui/widgets/KeyList.h b/src/ui/widgets/KeyList.h
index cfefe043..25180496 100644
--- a/src/ui/widgets/KeyList.h
+++ b/src/ui/widgets/KeyList.h
@@ -59,6 +59,7 @@ struct KeyListColumn {
static constexpr InfoType Usage = 1 << 3; ///<
static constexpr InfoType Validity = 1 << 4; ///<
static constexpr InfoType FingerPrint = 1 << 5; ///<
+ static constexpr InfoType KeyID = 1 << 6; ///<
};
/**
diff --git a/src/ui/widgets/PlainTextEditorPage.cpp b/src/ui/widgets/PlainTextEditorPage.cpp
index 7d951006..8f4890cc 100644
--- a/src/ui/widgets/PlainTextEditorPage.cpp
+++ b/src/ui/widgets/PlainTextEditorPage.cpp
@@ -110,11 +110,11 @@ void PlainTextEditorPage::slot_format_gpg_header() {
QString content = ui_->textPage->toPlainText();
// Get positions of the gpg-headers, if they exist
- int start = content.indexOf(GpgFrontend::PGP_SIGNED_BEGIN);
- int startSig = content.indexOf(GpgFrontend::PGP_SIGNATURE_BEGIN);
- int endSig = content.indexOf(GpgFrontend::PGP_SIGNATURE_END);
+ auto start = content.indexOf(GpgFrontend::PGP_SIGNED_BEGIN);
+ auto start_sig = content.indexOf(GpgFrontend::PGP_SIGNATURE_BEGIN);
+ auto end_sig = content.indexOf(GpgFrontend::PGP_SIGNATURE_END);
- if (start < 0 || startSig < 0 || endSig < 0 || sign_marked_) {
+ if (start < 0 || start_sig < 0 || end_sig < 0 || sign_marked_) {
return;
}
@@ -127,8 +127,8 @@ void PlainTextEditorPage::slot_format_gpg_header() {
// set font style for the signature
QTextCursor cursor(ui_->textPage->document());
- cursor.setPosition(startSig, QTextCursor::MoveAnchor);
- cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, endSig);
+ cursor.setPosition(start_sig, QTextCursor::MoveAnchor);
+ cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, end_sig);
cursor.setCharFormat(signFormat);
// set the font style for the header
@@ -141,14 +141,13 @@ void PlainTextEditorPage::slot_format_gpg_header() {
void PlainTextEditorPage::ReadFile() {
read_done_ = false;
read_bytes_ = 0;
- ui_->textPage->setEnabled(false);
- ui_->textPage->setReadOnly(true);
- ui_->textPage->blockSignals(true);
- ui_->loadingLabel->setHidden(false);
- ui_->textPage->document()->blockSignals(true);
auto *text_page = this->GetTextPage();
+ text_page->setEnabled(false);
text_page->setReadOnly(true);
+ text_page->blockSignals(true);
+ text_page->document()->blockSignals(true);
+ ui_->loadingLabel->setHidden(false);
const auto target_path = this->full_file_path_;
@@ -161,17 +160,17 @@ void PlainTextEditorPage::ReadFile() {
connect(this, &PlainTextEditorPage::SignalUIBytesDisplayed, read_task,
&FileReadTask::SignalFileBytesReadNext, Qt::QueuedConnection);
- connect(read_task, &FileReadTask::SignalTaskShouldEnd, this,
- []() { GF_UI_LOG_DEBUG("read thread closed"); });
connect(this, &PlainTextEditorPage::close, read_task,
- [=]() { read_task->SignalTaskShouldEnd(0); });
+ [=]() { emit read_task->SignalTaskShouldEnd(0); });
connect(read_task, &FileReadTask::SignalFileBytesReadEnd, this, [=]() {
// set the UI
+ GF_UI_LOG_DEBUG("signal file bytes read end rised");
this->read_done_ = true;
- this->ui_->textPage->setEnabled(true);
+ text_page->setEnabled(true);
text_page->document()->setModified(false);
- this->ui_->textPage->blockSignals(false);
- this->ui_->textPage->document()->blockSignals(false);
+ text_page->blockSignals(false);
+ text_page->document()->blockSignals(false);
+ text_page->setReadOnly(false);
this->ui_->loadingLabel->setHidden(true);
});
@@ -193,10 +192,8 @@ void PlainTextEditorPage::slot_insert_text(QByteArray bytes_data) {
// insert the text to the text page
this->GetTextPage()->insertPlainText(bytes_data);
-
- auto text = this->GetTextPage()->toPlainText();
- auto str = tr("%1 character(s)").arg(text.size());
- this->ui_->characterLabel->setText(str);
+ this->ui_->characterLabel->setText(
+ tr("%1 character(s)").arg(this->GetTextPage()->toPlainText().size()));
QTimer::singleShot(25, this, &PlainTextEditorPage::SignalUIBytesDisplayed);
}
diff --git a/src/ui/widgets/TextEdit.cpp b/src/ui/widgets/TextEdit.cpp
index 59890465..1373c5d9 100644
--- a/src/ui/widgets/TextEdit.cpp
+++ b/src/ui/widgets/TextEdit.cpp
@@ -33,8 +33,8 @@
#include <vector>
#include "core/GpgModel.h"
-#include "core/function/CacheManager.h"
#include "core/function/GlobalSettingStation.h"
+#include "ui/UISignalStation.h"
#include "ui/struct/CacheObject.h"
namespace GpgFrontend::UI {
@@ -120,8 +120,7 @@ void TextEdit::SlotNewFileTab() {
void TextEdit::SlotOpenFile(const QString& path) {
QFile file(path);
- GF_UI_LOG_DEBUG("main window editor is opening file at path: {}",
- path.toStdString());
+ GF_UI_LOG_DEBUG("main window editor is opening file at path: {}", path);
auto result = file.open(QIODevice::ReadOnly | QIODevice::Text);
if (result) {
auto* page = new PlainTextEditorPage(path);
@@ -511,7 +510,7 @@ QHash<int, QString> TextEdit::UnsavedDocuments() const {
if (ep != nullptr && ep->ReadDone() &&
ep->GetTextPage()->document()->isModified()) {
QString doc_name = tab_widget_->tabText(i);
- GF_UI_LOG_DEBUG("unsaved: {}", doc_name.toStdString());
+ GF_UI_LOG_DEBUG("unsaved: {}", doc_name);
// remove * before name of modified doc
doc_name.remove(0, 2);
@@ -601,6 +600,9 @@ void TextEdit::slot_file_page_path_changed(const QString& path) const {
m_path = t_path;
}
tab_widget_->setTabText(index, m_path);
+
+ emit UISignalStation::GetInstance()->SignalMainWindowlUpdateBasicalOperaMenu(
+ 0);
}
void TextEdit::slot_save_status_to_cache_for_revovery() {
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index dbee3026..534d71da 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -29,8 +29,12 @@ set(JSON_BuildTests OFF CACHE INTERNAL "")
add_subdirectory(spdlog EXCLUDE_FROM_ALL)
+if (MINGW)
+ add_subdirectory(libarchive EXCLUDE_FROM_ALL)
+endif()
+
# not working at macOS
-if(NOT APPLE)
+if (NOT APPLE)
set(MI_SECURE ON)
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
# set(MI_TRACK_VALGRIND ON)
@@ -39,7 +43,5 @@ if(NOT APPLE)
add_subdirectory(mimalloc EXCLUDE_FROM_ALL)
endif()
-
-
set(INSTALL_GTEST OFF)
add_subdirectory(googletest EXCLUDE_FROM_ALL) \ No newline at end of file
diff --git a/third_party/libarchive b/third_party/libarchive
new file mode 160000
+Subproject 60f086b37fc40952530d385e9f7a05ebec3dd9a
diff --git a/third_party/qttranslations b/third_party/qttranslations
new file mode 160000
+Subproject c4da2d3ed4511af796f88d0718aa9258908cc82
diff --git a/ui/GeneralSettings.ui b/ui/GeneralSettings.ui
index 958b956a..a19626f5 100644
--- a/ui/GeneralSettings.ui
+++ b/ui/GeneralSettings.ui
@@ -106,6 +106,13 @@
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
+ <widget class="QPushButton" name="revealInFileExplorerButton">
+ <property name="text">
+ <string>Reveal in File Explorer</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QPushButton" name="clearAllLogFilesButton">
<property name="text">
<string>Clear All Log Files</string>
diff --git a/ui/GnuPGControllerDialog.ui b/ui/GnuPGControllerDialog.ui
index 968aba70..e79fc041 100644
--- a/ui/GnuPGControllerDialog.ui
+++ b/ui/GnuPGControllerDialog.ui
@@ -27,7 +27,7 @@
<item>
<widget class="QCheckBox" name="asciiModeCheckBox">
<property name="text">
- <string>No ASCII Mode</string>
+ <string>Use Binary Mode for File Operations</string>
</property>
</widget>
</item>
@@ -38,6 +38,20 @@
</property>
</widget>
</item>
+ <item>
+ <widget class="QCheckBox" name="gpgmeDebugLogCheckBox">
+ <property name="text">
+ <string>Enable GpgME Debug Log</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="restartGpgAgentOnStartCheckBox">
+ <property name="text">
+ <string>Restart Gpg Agent on start</string>
+ </property>
+ </widget>
+ </item>
</layout>
</item>
</layout>
diff --git a/ui/InfoBoard.ui b/ui/InfoBoard.ui
index 9e50505d..564ab52a 100644
--- a/ui/InfoBoard.ui
+++ b/ui/InfoBoard.ui
@@ -14,15 +14,48 @@
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
- <widget class="QTextEdit" name="infoBoard">
- <property name="readOnly">
- <bool>true</bool>
- </property>
+ <widget class="QStackedWidget" name="stackedWidget">
+ <widget class="QWidget" name="page">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QTextEdit" name="infoBoard">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_2"/>
</widget>
</item>
</layout>