aboutsummaryrefslogtreecommitdiffstats
path: root/src/m_key_server_sync/ts
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2026-08-07 16:28:03 +0200
committersaturneric <[email protected]>2026-08-07 16:28:03 +0200
commit292488567570e968e617ba3f5bfb4960f3808b47 (patch)
treee8eb7ac9808e5862a15b79b6af97fc962c23cac1 /src/m_key_server_sync/ts
parentfix(pks): fix keyserver display for sizes, dates, and uids (diff)
downloadmodules-292488567570e968e617ba3f5bfb4960f3808b47.tar.gz
modules-292488567570e968e617ba3f5bfb4960f3808b47.zip
feat(keyserver): add VKS/HKP messages and fixes
- add VKS/HKP messaging: warn about unverified publish and HKP upload - add message when key server returns no key and retrieval errors - update key upload/update result strings and adjust source refs - clarify default server behavior: use default server for pub/refresh - extend fingerprint validation to accept 16, 40 or 64 hex digits - add search UI labels: (no user ID published), Unknown, Never - update translations for multiple locales and mark old texts vanished
Diffstat (limited to 'src/m_key_server_sync/ts')
-rw-r--r--src/m_key_server_sync/ts/ModuleKeyServerSync.de_DE.ts200
-rw-r--r--src/m_key_server_sync/ts/ModuleKeyServerSync.en_US.ts183
-rw-r--r--src/m_key_server_sync/ts/ModuleKeyServerSync.es_ES.ts200
-rw-r--r--src/m_key_server_sync/ts/ModuleKeyServerSync.fr_FR.ts200
-rw-r--r--src/m_key_server_sync/ts/ModuleKeyServerSync.it_IT.ts200
-rw-r--r--src/m_key_server_sync/ts/ModuleKeyServerSync.zh_CN.ts200
-rw-r--r--src/m_key_server_sync/ts/ModuleKeyServerSync.zh_TW.ts200
7 files changed, 966 insertions, 417 deletions
diff --git a/src/m_key_server_sync/ts/ModuleKeyServerSync.de_DE.ts b/src/m_key_server_sync/ts/ModuleKeyServerSync.de_DE.ts
index 8c92721..6baba87 100644
--- a/src/m_key_server_sync/ts/ModuleKeyServerSync.de_DE.ts
+++ b/src/m_key_server_sync/ts/ModuleKeyServerSync.de_DE.ts
@@ -4,18 +4,19 @@
<context>
<name>GTrC</name>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="119"/>
+ <location filename="../KeyServerSyncModule.cpp" line="252"/>
<source>The following email addresses have status:
</source>
<translation>Die folgenden E-Mail-Adressen haben folgenden Status:</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <location filename="../KeyServerSyncModule.cpp" line="262"/>
<source>Could not parse status information.</source>
<translation>Statusinformationen konnten nicht analysiert werden.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="140"/>
+ <location filename="../KeyServerSyncModule.cpp" line="230"/>
+ <location filename="../KeyServerSyncModule.cpp" line="273"/>
<source>Public Key Upload Successful</source>
<translation>Öffentlicher Schlüssel erfolgreich hochgeladen</translation>
</message>
@@ -36,20 +37,21 @@ Bitte prüfen Sie Ihre E-Mail (%3) auf weitere Bestätigungen von keys.openpgp.o
Hinweis: Weitere Informationen zur Verifizierung finden Sie hier: https://keys.openpgp.org/about</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="99"/>
- <location filename="../KeyServerSyncModule.cpp" line="156"/>
+ <location filename="../KeyServerSyncModule.cpp" line="189"/>
+ <location filename="../KeyServerSyncModule.cpp" line="217"/>
+ <location filename="../KeyServerSyncModule.cpp" line="289"/>
<source>Key Upload Failed</source>
<translation>Hochladen des Schlüssels fehlgeschlagen</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="100"/>
+ <location filename="../KeyServerSyncModule.cpp" line="190"/>
<source>Failed to export the public key before uploading.
Key: %1</source>
<translation>Der öffentliche Schlüssel konnte vor dem Hochladen nicht exportiert werden.
Schlüssel: %1</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="141"/>
+ <location filename="../KeyServerSyncModule.cpp" line="274"/>
<source>The public key was successfully uploaded to the key server %4.
Fingerprint: %1
@@ -62,7 +64,8 @@ Fingerabdruck: %1
Bitte prüfen Sie Ihre E-Mail (%3) auf weitere Bestätigungen von %4.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="157"/>
+ <location filename="../KeyServerSyncModule.cpp" line="218"/>
+ <location filename="../KeyServerSyncModule.cpp" line="290"/>
<source>Failed to upload public key to the server.
Fingerprint: %1
Error: %2</source>
@@ -71,41 +74,79 @@ Fingerabdruck: %1
Fehler: %2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="191"/>
+ <location filename="../KeyServerSyncModule.cpp" line="101"/>
+ <source>The key server did not return a key.</source>
+ <translation>Der Schlüsselserver hat keinen Schlüssel zurückgegeben.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="127"/>
+ <source>Publish Without Verification?</source>
+ <translation>Ohne Verifizierung veröffentlichen?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <source>%1 does not support verified publishing (VKS), so the key would be uploaded over HKP instead.
+
+The server will not confirm your email address, and the upload cannot be undone — HKP key servers do not let keys be removed.
+
+Publish to %1 anyway?</source>
+ <translation>%1 unterstützt keine verifizierte Veröffentlichung (VKS), daher würde der Schlüssel stattdessen über HKP hochgeladen werden.
+
+Der Server wird Ihre E-Mail-Adresse nicht bestätigen, und der Upload kann nicht rückgängig gemacht werden – HKP-Schlüsselserver erlauben keine Entfernung von Schlüsseln.
+
+Trotzdem auf %1 veröffentlichen?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="232"/>
+ <source>The public key was uploaded to the key server %2 over HKP.
+Fingerprint: %1</source>
+ <translation>Der öffentliche Schlüssel wurde über HKP auf den Schlüsselserver %2 hochgeladen.
+Fingerabdruck: %1</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="325"/>
<source>Key Update Failed</source>
<translation>Schlüsselaktualisierung fehlgeschlagen</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="192"/>
+ <location filename="../KeyServerSyncModule.cpp" line="326"/>
+ <source>Failed to retrieve public key from %3.
+Key ID: %1
+Error: %2</source>
+ <translation>Der öffentliche Schlüssel konnte nicht von %3 abgerufen werden.
+Schlüssel-ID: %1
+Fehler: %2</translation>
+ </message>
+ <message>
<source>Failed to retrieve public key from the server.
Key ID: %1
Error: %2</source>
- <translation>Der öffentliche Schlüssel konnte nicht vom Server abgerufen werden.
+ <translation type="vanished">Der öffentliche Schlüssel konnte nicht vom Server abgerufen werden.
Schlüssel-ID: %1
Fehler: %2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="244"/>
+ <location filename="../KeyServerSyncModule.cpp" line="375"/>
<source>Key Server</source>
<translation>Schlüsselserver</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="245"/>
+ <location filename="../KeyServerSyncModule.cpp" line="376"/>
<source>Import public keys from a trusted key server.</source>
<translation>Öffentliche Schlüssel von einem vertrauenswürdigen Schlüsselserver importieren.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="293"/>
+ <location filename="../KeyServerSyncModule.cpp" line="424"/>
<source>Key Server Operations</source>
<translation>Schlüsselserver-Vorgänge</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="298"/>
+ <location filename="../KeyServerSyncModule.cpp" line="429"/>
<source>Publish Public Key to Key Server</source>
<translation>Öffentlichen Schlüssel auf Schlüsselserver veröffentlichen</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="305"/>
+ <location filename="../KeyServerSyncModule.cpp" line="436"/>
<source>Refresh Public Key From Key Server</source>
<translation>Öffentlichen Schlüssel vom Schlüsselserver aktualisieren</translation>
</message>
@@ -170,102 +211,124 @@ Fehler: %2</translation>
<translation>https://keys.example.org</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="68"/>
<source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP; publishing and refreshing use VKS.</source>
- <translation>Ein neuer Schlüsselserver wird vor dem Hinzufügen gegen die HKP- und VKS-Schnittstellen getestet. Die Suche verwendet HKP; Veröffentlichung und Aktualisierung verwenden VKS.</translation>
+ <translation type="vanished">Ein neuer Schlüsselserver wird vor dem Hinzufügen gegen die HKP- und VKS-Schnittstellen getestet. Die Suche verwendet HKP; Veröffentlichung und Aktualisierung verwenden VKS.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="68"/>
+ <source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP. Publishing and refreshing always use the default server: over VKS where it offers it, over HKP otherwise.</source>
+ <translation>Ein neuer Schlüsselserver wird vor dem Hinzufügen gegen die HKP- und VKS-Schnittstellen getestet. Die Suche verwendet HKP. Veröffentlichung und Aktualisierung verwenden immer den Standardserver: über VKS, sofern der Server dies unterstützt, andernfalls über HKP.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Default</source>
<translation>Standard</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Address</source>
<translation>Adresse</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>HKP</source>
<translation>HKP</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>VKS</source>
<translation>VKS</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Status</source>
<translation>Status</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="75"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="76"/>
<source>Last Tested</source>
<translation>Zuletzt getestet</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="107"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="108"/>
<source>yes</source>
<translation>Ja</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="108"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="109"/>
<source>no</source>
<translation>Nein</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Verified</source>
<translation>Verifiziert</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Unverified</source>
<translation>Nicht verifiziert</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="135"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="136"/>
<source>never</source>
<translation>Nie</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="161"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="162"/>
<source>Invalid Address</source>
<translation>Ungültige Adresse</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="162"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="163"/>
<source>&quot;%1&quot; is not a valid key server address.</source>
<translation>&quot;%1&quot; ist keine gültige Schlüsselserver-Adresse.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="172"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="173"/>
<source>Already Listed</source>
<translation>Bereits aufgelistet</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="173"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="174"/>
<source>%1 is already in the key server list.</source>
<translation>%1 ist bereits in der Schlüsselserver-Liste.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="179"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="180"/>
<source>Insecure Key Server Address</source>
<translation>Unsicherer Schlüsselserver-Adresse</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="180"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="181"/>
<source>%1 uses plain HTTP, so anyone on the network can see and change what you look up or publish. Add it anyway?</source>
<translation>%1 verwendet unverschlüsseltes HTTP, sodass jeder im Netzwerk sehen und ändern kann, was Sie nachschlagen oder veröffentlichen. Trotzdem hinzufügen?</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="272"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="229"/>
+ <source>No Verified Publishing</source>
+ <translation>Keine verifizierte Veröffentlichung</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="230"/>
+ <source>%1 does not support the VKS interface, so publishing and refreshing will use HKP instead.
+
+Over HKP the server does not confirm your email address, and an uploaded key cannot be removed again.
+
+Use %1 as the default anyway?</source>
+ <translation>%1 unterstützt die VKS-Schnittstelle nicht, daher verwenden Veröffentlichung und Aktualisierung stattdessen HKP.
+
+Über HKP bestätigt der Server Ihre E-Mail-Adresse nicht, und ein hochgeladener Schlüssel kann nicht wieder entfernt werden.
+
+%1 trotzdem als Standard verwenden?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="291"/>
<source>Key Server Not Verified</source>
<translation>Schlüsselserver nicht verifiziert</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="273"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="292"/>
<source>%1 did not answer as a key server.
%2
@@ -281,103 +344,122 @@ Es wurde hinzugefügt und als unverifiziert markiert; verwenden Sie &quot;Ausgew
<context>
<name>SearchKeyDialog</name>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Key ID</source>
<translation>Schlüssel-ID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>UID</source>
<translation>UID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Creation Date</source>
<translation>Erstellungsdatum</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Expiration Date</source>
<translation>Ablaufdatum</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Algorithm</source>
<translation>Algorithmus</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Key Size</source>
<translation>Schlüsselgröße</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="77"/>
+ <location filename="../SearchKeyDialog.cpp" line="112"/>
<source>Status</source>
<translation>Status</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="80"/>
+ <location filename="../SearchKeyDialog.cpp" line="115"/>
<source>By Key ID</source>
<translation>Nach Schlüssel-ID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="81"/>
+ <location filename="../SearchKeyDialog.cpp" line="116"/>
<source>By Email</source>
<translation>Nach E-Mail</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="82"/>
+ <location filename="../SearchKeyDialog.cpp" line="117"/>
<source>By Fingerprint</source>
<translation>Nach Fingerabdruck</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="85"/>
+ <location filename="../SearchKeyDialog.cpp" line="120"/>
<source>Enter a value, then press Enter or Search</source>
<translation>Geben Sie einen Wert ein und drücken Sie dann Enter oder Suchen.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="128"/>
+ <location filename="../SearchKeyDialog.cpp" line="163"/>
<source>Search value is empty.</source>
<translation>Der Suchwert ist leer.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="144"/>
+ <location filename="../SearchKeyDialog.cpp" line="179"/>
<source>Key server URL is empty.</source>
<translation>Die Schlüsselserver-URL ist leer.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="153"/>
+ <location filename="../SearchKeyDialog.cpp" line="188"/>
<source>Invalid key server URL format.</source>
<translation>Ungültiges Format der Schlüsselserver-URL.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="166"/>
+ <location filename="../SearchKeyDialog.cpp" line="201"/>
<source>Invalid email format.</source>
<translation>Ungültiges E-Mail-Format.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="179"/>
+ <location filename="../SearchKeyDialog.cpp" line="216"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16, 40 or 64.</source>
+ <translation>Ungültiges Format des Fingerabdrucks. Es sollte ein Hex-String der Länge 16, 40 oder 64 sein.</translation>
+ </message>
+ <message>
<source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
- <translation>Ungültiges Format des Fingerabdrucks. Es sollte ein Hex-String der Länge 16 oder 40 sein.</translation>
+ <translation type="vanished">Ungültiges Format des Fingerabdrucks. Es sollte ein Hex-String der Länge 16 oder 40 sein.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="193"/>
+ <location filename="../SearchKeyDialog.cpp" line="230"/>
<source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
<translation>Ungültiges Format der Schlüssel-ID. Es sollte ein Hex-String der Länge 8 oder 16 sein.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="199"/>
+ <location filename="../SearchKeyDialog.cpp" line="236"/>
<source>Unknown search type.</source>
<translation>Unbekannter Suchtyp.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="236"/>
- <location filename="../SearchKeyDialog.cpp" line="246"/>
+ <location filename="../SearchKeyDialog.cpp" line="273"/>
+ <location filename="../SearchKeyDialog.cpp" line="283"/>
<source>No keys found matching your search.</source>
<translation>Keine Schlüssel gefunden, die Ihrer Suche entsprechen.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="331"/>
+ <location filename="../SearchKeyDialog.cpp" line="302"/>
+ <source>(no user ID published)</source>
+ <translation>(keine Benutzer-ID veröffentlicht)</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="306"/>
+ <source>Unknown</source>
+ <translation>Unbekannt</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="310"/>
+ <source>Never</source>
+ <translation>Nie</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="374"/>
<source>No GPG context is available.</source>
<translation>Kein GPG-Kontext verfügbar.</translation>
</message>
diff --git a/src/m_key_server_sync/ts/ModuleKeyServerSync.en_US.ts b/src/m_key_server_sync/ts/ModuleKeyServerSync.en_US.ts
index e4d39f4..fbf14c9 100644
--- a/src/m_key_server_sync/ts/ModuleKeyServerSync.en_US.ts
+++ b/src/m_key_server_sync/ts/ModuleKeyServerSync.en_US.ts
@@ -4,35 +4,62 @@
<context>
<name>GTrC</name>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="119"/>
+ <location filename="../KeyServerSyncModule.cpp" line="252"/>
<source>The following email addresses have status:
</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <location filename="../KeyServerSyncModule.cpp" line="262"/>
<source>Could not parse status information.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="140"/>
+ <location filename="../KeyServerSyncModule.cpp" line="230"/>
+ <location filename="../KeyServerSyncModule.cpp" line="273"/>
<source>Public Key Upload Successful</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="99"/>
- <location filename="../KeyServerSyncModule.cpp" line="156"/>
+ <location filename="../KeyServerSyncModule.cpp" line="101"/>
+ <source>The key server did not return a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="127"/>
+ <source>Publish Without Verification?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <source>%1 does not support verified publishing (VKS), so the key would be uploaded over HKP instead.
+
+The server will not confirm your email address, and the upload cannot be undone — HKP key servers do not let keys be removed.
+
+Publish to %1 anyway?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="189"/>
+ <location filename="../KeyServerSyncModule.cpp" line="217"/>
+ <location filename="../KeyServerSyncModule.cpp" line="289"/>
<source>Key Upload Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="100"/>
+ <location filename="../KeyServerSyncModule.cpp" line="190"/>
<source>Failed to export the public key before uploading.
Key: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="141"/>
+ <location filename="../KeyServerSyncModule.cpp" line="232"/>
+ <source>The public key was uploaded to the key server %2 over HKP.
+Fingerprint: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="274"/>
<source>The public key was successfully uploaded to the key server %4.
Fingerprint: %1
@@ -41,46 +68,47 @@ Please check your email (%3) for further verification from %4.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="157"/>
- <source>Failed to upload public key to the server.
-Fingerprint: %1
+ <location filename="../KeyServerSyncModule.cpp" line="326"/>
+ <source>Failed to retrieve public key from %3.
+Key ID: %1
Error: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="191"/>
- <source>Key Update Failed</source>
+ <location filename="../KeyServerSyncModule.cpp" line="218"/>
+ <location filename="../KeyServerSyncModule.cpp" line="290"/>
+ <source>Failed to upload public key to the server.
+Fingerprint: %1
+Error: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="192"/>
- <source>Failed to retrieve public key from the server.
-Key ID: %1
-Error: %2</source>
+ <location filename="../KeyServerSyncModule.cpp" line="325"/>
+ <source>Key Update Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="244"/>
+ <location filename="../KeyServerSyncModule.cpp" line="375"/>
<source>Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="245"/>
+ <location filename="../KeyServerSyncModule.cpp" line="376"/>
<source>Import public keys from a trusted key server.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="293"/>
+ <location filename="../KeyServerSyncModule.cpp" line="424"/>
<source>Key Server Operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="298"/>
+ <location filename="../KeyServerSyncModule.cpp" line="429"/>
<source>Publish Public Key to Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="305"/>
+ <location filename="../KeyServerSyncModule.cpp" line="436"/>
<source>Refresh Public Key From Key Server</source>
<translation type="unfinished"></translation>
</message>
@@ -146,101 +174,115 @@ Error: %2</source>
</message>
<message>
<location filename="../KeyServerSettingsPage.cpp" line="68"/>
- <source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP; publishing and refreshing use VKS.</source>
+ <source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP. Publishing and refreshing always use the default server: over VKS where it offers it, over HKP otherwise.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Default</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>HKP</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>VKS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="75"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="76"/>
<source>Last Tested</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="107"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="108"/>
<source>yes</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="108"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="109"/>
<source>no</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Verified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Unverified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="135"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="136"/>
<source>never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="161"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="162"/>
<source>Invalid Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="162"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="163"/>
<source>&quot;%1&quot; is not a valid key server address.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="172"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="173"/>
<source>Already Listed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="173"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="174"/>
<source>%1 is already in the key server list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="179"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="180"/>
<source>Insecure Key Server Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="180"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="181"/>
<source>%1 uses plain HTTP, so anyone on the network can see and change what you look up or publish. Add it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="272"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="229"/>
+ <source>No Verified Publishing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="230"/>
+ <source>%1 does not support the VKS interface, so publishing and refreshing will use HKP instead.
+
+Over HKP the server does not confirm your email address, and an uploaded key cannot be removed again.
+
+Use %1 as the default anyway?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="291"/>
<source>Key Server Not Verified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="273"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="292"/>
<source>%1 did not answer as a key server.
%2
@@ -252,103 +294,118 @@ It has been added and marked unverified; use Test Selected to try again.</source
<context>
<name>SearchKeyDialog</name>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Key ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Creation Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Expiration Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Algorithm</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Key Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="77"/>
+ <location filename="../SearchKeyDialog.cpp" line="112"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="80"/>
+ <location filename="../SearchKeyDialog.cpp" line="115"/>
<source>By Key ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="81"/>
+ <location filename="../SearchKeyDialog.cpp" line="116"/>
<source>By Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="82"/>
+ <location filename="../SearchKeyDialog.cpp" line="117"/>
<source>By Fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="85"/>
+ <location filename="../SearchKeyDialog.cpp" line="120"/>
<source>Enter a value, then press Enter or Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="128"/>
+ <location filename="../SearchKeyDialog.cpp" line="163"/>
<source>Search value is empty.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="144"/>
+ <location filename="../SearchKeyDialog.cpp" line="179"/>
<source>Key server URL is empty.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="153"/>
+ <location filename="../SearchKeyDialog.cpp" line="188"/>
<source>Invalid key server URL format.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="166"/>
+ <location filename="../SearchKeyDialog.cpp" line="201"/>
<source>Invalid email format.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="179"/>
- <source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
+ <location filename="../SearchKeyDialog.cpp" line="216"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16, 40 or 64.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="193"/>
+ <location filename="../SearchKeyDialog.cpp" line="230"/>
<source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="199"/>
+ <location filename="../SearchKeyDialog.cpp" line="236"/>
<source>Unknown search type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="236"/>
- <location filename="../SearchKeyDialog.cpp" line="246"/>
+ <location filename="../SearchKeyDialog.cpp" line="273"/>
+ <location filename="../SearchKeyDialog.cpp" line="283"/>
<source>No keys found matching your search.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="331"/>
+ <location filename="../SearchKeyDialog.cpp" line="302"/>
+ <source>(no user ID published)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="306"/>
+ <source>Unknown</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="310"/>
+ <source>Never</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="374"/>
<source>No GPG context is available.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/m_key_server_sync/ts/ModuleKeyServerSync.es_ES.ts b/src/m_key_server_sync/ts/ModuleKeyServerSync.es_ES.ts
index b6c9b6e..631f9b7 100644
--- a/src/m_key_server_sync/ts/ModuleKeyServerSync.es_ES.ts
+++ b/src/m_key_server_sync/ts/ModuleKeyServerSync.es_ES.ts
@@ -4,18 +4,19 @@
<context>
<name>GTrC</name>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="119"/>
+ <location filename="../KeyServerSyncModule.cpp" line="252"/>
<source>The following email addresses have status:
</source>
<translation>Las siguientes direcciones de correo electrónico tienen el estado:</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <location filename="../KeyServerSyncModule.cpp" line="262"/>
<source>Could not parse status information.</source>
<translation>No se pudo analizar la información de estado.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="140"/>
+ <location filename="../KeyServerSyncModule.cpp" line="230"/>
+ <location filename="../KeyServerSyncModule.cpp" line="273"/>
<source>Public Key Upload Successful</source>
<translation>Carga de clave pública exitosa</translation>
</message>
@@ -36,20 +37,21 @@ Por favor, revise su correo electrónico (%3) para obtener la verificación adic
Nota: Para la verificación, puede encontrar más información aquí: https://keys.openpgp.org/about</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="99"/>
- <location filename="../KeyServerSyncModule.cpp" line="156"/>
+ <location filename="../KeyServerSyncModule.cpp" line="189"/>
+ <location filename="../KeyServerSyncModule.cpp" line="217"/>
+ <location filename="../KeyServerSyncModule.cpp" line="289"/>
<source>Key Upload Failed</source>
<translation>Carga de clave fallida</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="100"/>
+ <location filename="../KeyServerSyncModule.cpp" line="190"/>
<source>Failed to export the public key before uploading.
Key: %1</source>
<translation>No se pudo exportar la clave pública antes de cargarla.
Clave: %1</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="141"/>
+ <location filename="../KeyServerSyncModule.cpp" line="274"/>
<source>The public key was successfully uploaded to the key server %4.
Fingerprint: %1
@@ -62,7 +64,8 @@ Huella: %1
Por favor, revise su correo electrónico (%3) para obtener la verificación adicional de %4.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="157"/>
+ <location filename="../KeyServerSyncModule.cpp" line="218"/>
+ <location filename="../KeyServerSyncModule.cpp" line="290"/>
<source>Failed to upload public key to the server.
Fingerprint: %1
Error: %2</source>
@@ -71,41 +74,79 @@ Huella: %1
Error: %2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="191"/>
+ <location filename="../KeyServerSyncModule.cpp" line="101"/>
+ <source>The key server did not return a key.</source>
+ <translation>El servidor de claves no devolvió una clave.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="127"/>
+ <source>Publish Without Verification?</source>
+ <translation>¿Publicar sin verificación?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <source>%1 does not support verified publishing (VKS), so the key would be uploaded over HKP instead.
+
+The server will not confirm your email address, and the upload cannot be undone — HKP key servers do not let keys be removed.
+
+Publish to %1 anyway?</source>
+ <translation>%1 no admite la publicación verificada (VKS), por lo que la clave se cargaría a través de HKP.
+
+El servidor no confirmará su dirección de correo electrónico y la carga no se puede deshacer: los servidores de claves HKP no permiten eliminar claves.
+
+¿Publicar en %1 de todos modos?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="232"/>
+ <source>The public key was uploaded to the key server %2 over HKP.
+Fingerprint: %1</source>
+ <translation>La clave pública se cargó en el servidor de claves %2 a través de HKP.
+Huella: %1</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="325"/>
<source>Key Update Failed</source>
<translation>Actualización de clave fallida</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="192"/>
+ <location filename="../KeyServerSyncModule.cpp" line="326"/>
+ <source>Failed to retrieve public key from %3.
+Key ID: %1
+Error: %2</source>
+ <translation>No se pudo recuperar la clave pública de %3.
+ID de clave: %1
+Error: %2</translation>
+ </message>
+ <message>
<source>Failed to retrieve public key from the server.
Key ID: %1
Error: %2</source>
- <translation>No se pudo recuperar la clave pública del servidor.
+ <translation type="vanished">No se pudo recuperar la clave pública del servidor.
ID de clave: %1
Error: %2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="244"/>
+ <location filename="../KeyServerSyncModule.cpp" line="375"/>
<source>Key Server</source>
<translation>Servidor de claves</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="245"/>
+ <location filename="../KeyServerSyncModule.cpp" line="376"/>
<source>Import public keys from a trusted key server.</source>
<translation>Importar claves públicas desde un servidor de claves de confianza.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="293"/>
+ <location filename="../KeyServerSyncModule.cpp" line="424"/>
<source>Key Server Operations</source>
<translation>Operaciones del servidor de claves</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="298"/>
+ <location filename="../KeyServerSyncModule.cpp" line="429"/>
<source>Publish Public Key to Key Server</source>
<translation>Publicar clave pública en el servidor de claves</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="305"/>
+ <location filename="../KeyServerSyncModule.cpp" line="436"/>
<source>Refresh Public Key From Key Server</source>
<translation>Actualizar clave pública desde el servidor de claves</translation>
</message>
@@ -170,102 +211,124 @@ Error: %2</translation>
<translation>https://keys.example.org</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="68"/>
<source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP; publishing and refreshing use VKS.</source>
- <translation>Un nuevo servidor de claves se prueba contra las interfaces HKP y VKS antes de añadirse. La búsqueda utiliza HKP; la publicación y la actualización utilizan VKS.</translation>
+ <translation type="vanished">Un nuevo servidor de claves se prueba contra las interfaces HKP y VKS antes de añadirse. La búsqueda utiliza HKP; la publicación y la actualización utilizan VKS.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="68"/>
+ <source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP. Publishing and refreshing always use the default server: over VKS where it offers it, over HKP otherwise.</source>
+ <translation>Un nuevo servidor de claves se prueba contra las interfaces HKP y VKS antes de añadirse. La búsqueda utiliza HKP. La publicación y la actualización siempre utilizan el servidor predeterminado: mediante VKS si lo ofrece, mediante HKP en caso contrario.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Default</source>
<translation>Predeterminado</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Address</source>
<translation>Dirección</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>HKP</source>
<translation>HKP</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>VKS</source>
<translation>VKS</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Status</source>
<translation>Estado</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="75"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="76"/>
<source>Last Tested</source>
<translation>Última prueba</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="107"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="108"/>
<source>yes</source>
<translation>Sí</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="108"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="109"/>
<source>no</source>
<translation>No</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Verified</source>
<translation>Verificado</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Unverified</source>
<translation>No verificado</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="135"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="136"/>
<source>never</source>
<translation>Nunca</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="161"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="162"/>
<source>Invalid Address</source>
<translation>Dirección no válida</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="162"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="163"/>
<source>&quot;%1&quot; is not a valid key server address.</source>
<translation>&quot;%1&quot; no es una dirección de servidor de claves válida.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="172"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="173"/>
<source>Already Listed</source>
<translation>Ya incluido</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="173"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="174"/>
<source>%1 is already in the key server list.</source>
<translation>%1 ya está en la lista de servidores de claves.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="179"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="180"/>
<source>Insecure Key Server Address</source>
<translation>Dirección de servidor de claves insegura</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="180"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="181"/>
<source>%1 uses plain HTTP, so anyone on the network can see and change what you look up or publish. Add it anyway?</source>
<translation>%1 usa HTTP sin cifrar, por lo que cualquiera en la red puede ver y modificar lo que busque o publique. ¿Agregarlo de todas formas?</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="272"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="229"/>
+ <source>No Verified Publishing</source>
+ <translation>Sin publicación verificada</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="230"/>
+ <source>%1 does not support the VKS interface, so publishing and refreshing will use HKP instead.
+
+Over HKP the server does not confirm your email address, and an uploaded key cannot be removed again.
+
+Use %1 as the default anyway?</source>
+ <translation>%1 no admite la interfaz VKS, por lo que la publicación y la actualización utilizarán HKP en su lugar.
+
+Con HKP, el servidor no confirma su dirección de correo electrónico y una clave subida no se puede eliminar nuevamente.
+
+¿Usar %1 como predeterminado de todos modos?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="291"/>
<source>Key Server Not Verified</source>
<translation>Servidor de claves no verificado</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="273"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="292"/>
<source>%1 did not answer as a key server.
%2
@@ -311,103 +374,122 @@ Se ha agregado y se ha marcado como no verificado; use Probar seleccionado para
<translation>Consejo: haga doble clic para importar la clave seleccionada.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Key ID</source>
<translation>ID de clave</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>UID</source>
<translation>UID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Creation Date</source>
<translation>Fecha de creación</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Expiration Date</source>
<translation>Fecha de expiración</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Algorithm</source>
<translation>Algoritmo</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Key Size</source>
<translation>Tamaño de la clave</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="77"/>
+ <location filename="../SearchKeyDialog.cpp" line="112"/>
<source>Status</source>
<translation>Estado</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="80"/>
+ <location filename="../SearchKeyDialog.cpp" line="115"/>
<source>By Key ID</source>
<translation>Por ID de clave</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="81"/>
+ <location filename="../SearchKeyDialog.cpp" line="116"/>
<source>By Email</source>
<translation>Por correo electrónico</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="82"/>
+ <location filename="../SearchKeyDialog.cpp" line="117"/>
<source>By Fingerprint</source>
<translation>Por huella</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="85"/>
+ <location filename="../SearchKeyDialog.cpp" line="120"/>
<source>Enter a value, then press Enter or Search</source>
<translation>Ingrese un valor, luego presione Enter o Buscar</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="128"/>
+ <location filename="../SearchKeyDialog.cpp" line="163"/>
<source>Search value is empty.</source>
<translation>El valor de búsqueda está vacío.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="144"/>
+ <location filename="../SearchKeyDialog.cpp" line="179"/>
<source>Key server URL is empty.</source>
<translation>La URL del servidor de claves está vacía.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="153"/>
+ <location filename="../SearchKeyDialog.cpp" line="188"/>
<source>Invalid key server URL format.</source>
<translation>Formato de URL del servidor de claves no válido.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="166"/>
+ <location filename="../SearchKeyDialog.cpp" line="201"/>
<source>Invalid email format.</source>
<translation>Formato de correo electrónico no válido.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="179"/>
+ <location filename="../SearchKeyDialog.cpp" line="216"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16, 40 or 64.</source>
+ <translation>Formato de huella no válido. Debe ser una cadena hexadecimal de 16, 40 o 64 caracteres.</translation>
+ </message>
+ <message>
<source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
- <translation>Formato de huella no válido. Debe ser una cadena hexadecimal de 16 o 40 caracteres.</translation>
+ <translation type="vanished">Formato de huella no válido. Debe ser una cadena hexadecimal de 16 o 40 caracteres.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="193"/>
+ <location filename="../SearchKeyDialog.cpp" line="230"/>
<source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
<translation>Formato de ID de clave no válido. Debe ser una cadena hexadecimal de 8 o 16 caracteres.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="199"/>
+ <location filename="../SearchKeyDialog.cpp" line="236"/>
<source>Unknown search type.</source>
<translation>Tipo de búsqueda desconocido.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="236"/>
- <location filename="../SearchKeyDialog.cpp" line="246"/>
+ <location filename="../SearchKeyDialog.cpp" line="273"/>
+ <location filename="../SearchKeyDialog.cpp" line="283"/>
<source>No keys found matching your search.</source>
<translation>No se encontraron claves que coincidan con su búsqueda.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="331"/>
+ <location filename="../SearchKeyDialog.cpp" line="302"/>
+ <source>(no user ID published)</source>
+ <translation>(sin ID de usuario publicado)</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="306"/>
+ <source>Unknown</source>
+ <translation>Desconocido</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="310"/>
+ <source>Never</source>
+ <translation>Nunca</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="374"/>
<source>No GPG context is available.</source>
<translation>No hay contexto GPG disponible.</translation>
</message>
diff --git a/src/m_key_server_sync/ts/ModuleKeyServerSync.fr_FR.ts b/src/m_key_server_sync/ts/ModuleKeyServerSync.fr_FR.ts
index 58403a0..c5a4b0e 100644
--- a/src/m_key_server_sync/ts/ModuleKeyServerSync.fr_FR.ts
+++ b/src/m_key_server_sync/ts/ModuleKeyServerSync.fr_FR.ts
@@ -4,18 +4,19 @@
<context>
<name>GTrC</name>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="119"/>
+ <location filename="../KeyServerSyncModule.cpp" line="252"/>
<source>The following email addresses have status:
</source>
<translation>Les adresses e-mail suivantes ont le statut suivant :</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <location filename="../KeyServerSyncModule.cpp" line="262"/>
<source>Could not parse status information.</source>
<translation>Impossible d&apos;analyser les informations de statut.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="140"/>
+ <location filename="../KeyServerSyncModule.cpp" line="230"/>
+ <location filename="../KeyServerSyncModule.cpp" line="273"/>
<source>Public Key Upload Successful</source>
<translation>Téléversement de la clé publique réussi</translation>
</message>
@@ -36,20 +37,21 @@ Veuillez vérifier votre e-mail (%3) pour la vérification supplémentaire de ke
Remarque : Pour la vérification, vous pouvez trouver plus d&apos;informations ici : https://keys.openpgp.org/about</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="99"/>
- <location filename="../KeyServerSyncModule.cpp" line="156"/>
+ <location filename="../KeyServerSyncModule.cpp" line="189"/>
+ <location filename="../KeyServerSyncModule.cpp" line="217"/>
+ <location filename="../KeyServerSyncModule.cpp" line="289"/>
<source>Key Upload Failed</source>
<translation>Échec du téléversement de la clé</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="100"/>
+ <location filename="../KeyServerSyncModule.cpp" line="190"/>
<source>Failed to export the public key before uploading.
Key: %1</source>
<translation>Échec de l&apos;exportation de la clé publique avant le téléversement.
Clé : %1</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="141"/>
+ <location filename="../KeyServerSyncModule.cpp" line="274"/>
<source>The public key was successfully uploaded to the key server %4.
Fingerprint: %1
@@ -62,7 +64,8 @@ Empreinte : %1
Veuillez vérifier votre e-mail (%3) pour la vérification supplémentaire de %4.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="157"/>
+ <location filename="../KeyServerSyncModule.cpp" line="218"/>
+ <location filename="../KeyServerSyncModule.cpp" line="290"/>
<source>Failed to upload public key to the server.
Fingerprint: %1
Error: %2</source>
@@ -71,41 +74,79 @@ Empreinte : %1
Erreur : %2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="191"/>
+ <location filename="../KeyServerSyncModule.cpp" line="101"/>
+ <source>The key server did not return a key.</source>
+ <translation>Le serveur de clés n&apos;a pas retourné de clé.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="127"/>
+ <source>Publish Without Verification?</source>
+ <translation>Publier sans vérification ?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <source>%1 does not support verified publishing (VKS), so the key would be uploaded over HKP instead.
+
+The server will not confirm your email address, and the upload cannot be undone — HKP key servers do not let keys be removed.
+
+Publish to %1 anyway?</source>
+ <translation>%1 ne prend pas en charge la publication vérifiée (VKS), la clé serait donc téléversée via HKP à la place.
+
+Le serveur ne confirmera pas votre adresse e-mail, et le téléversement ne peut pas être annulé — les serveurs de clés HKP ne permettent pas de supprimer les clés.
+
+Publier sur %1 quand même ?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="232"/>
+ <source>The public key was uploaded to the key server %2 over HKP.
+Fingerprint: %1</source>
+ <translation>La clé publique a été téléversée sur le serveur de clés %2 via HKP.
+Empreinte : %1</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="325"/>
<source>Key Update Failed</source>
<translation>Échec de la mise à jour de la clé</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="192"/>
+ <location filename="../KeyServerSyncModule.cpp" line="326"/>
+ <source>Failed to retrieve public key from %3.
+Key ID: %1
+Error: %2</source>
+ <translation>Échec de la récupération de la clé publique depuis %3.
+Identifiant de clé : %1
+Erreur : %2</translation>
+ </message>
+ <message>
<source>Failed to retrieve public key from the server.
Key ID: %1
Error: %2</source>
- <translation>Échec de la récupération de la clé publique depuis le serveur.
+ <translation type="vanished">Échec de la récupération de la clé publique depuis le serveur.
Identifiant de clé : %1
Erreur : %2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="244"/>
+ <location filename="../KeyServerSyncModule.cpp" line="375"/>
<source>Key Server</source>
<translation>Serveur de clés</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="245"/>
+ <location filename="../KeyServerSyncModule.cpp" line="376"/>
<source>Import public keys from a trusted key server.</source>
<translation>Importer des clés publiques depuis un serveur de clés de confiance.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="293"/>
+ <location filename="../KeyServerSyncModule.cpp" line="424"/>
<source>Key Server Operations</source>
<translation>Opérations du serveur de clés</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="298"/>
+ <location filename="../KeyServerSyncModule.cpp" line="429"/>
<source>Publish Public Key to Key Server</source>
<translation>Publier la clé publique sur le serveur de clés</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="305"/>
+ <location filename="../KeyServerSyncModule.cpp" line="436"/>
<source>Refresh Public Key From Key Server</source>
<translation>Actualiser la clé publique depuis le serveur de clés</translation>
</message>
@@ -170,102 +211,124 @@ Erreur : %2</translation>
<translation>https://keys.example.org</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="68"/>
<source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP; publishing and refreshing use VKS.</source>
- <translation>Un nouveau serveur de clés est testé sur les interfaces HKP et VKS avant d&apos;être ajouté. La recherche utilise HKP ; la publication et l&apos;actualisation utilisent VKS.</translation>
+ <translation type="vanished">Un nouveau serveur de clés est testé sur les interfaces HKP et VKS avant d&apos;être ajouté. La recherche utilise HKP ; la publication et l&apos;actualisation utilisent VKS.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="68"/>
+ <source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP. Publishing and refreshing always use the default server: over VKS where it offers it, over HKP otherwise.</source>
+ <translation>Un nouveau serveur de clés est testé sur les interfaces HKP et VKS avant d&apos;être ajouté. La recherche utilise HKP. La publication et l&apos;actualisation utilisent toujours le serveur par défaut : sur VKS quand celui-ci le propose, sinon sur HKP.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Default</source>
<translation>Par défaut</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Address</source>
<translation>Adresse</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>HKP</source>
<translation>HKP</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>VKS</source>
<translation>VKS</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Status</source>
<translation>Statut</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="75"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="76"/>
<source>Last Tested</source>
<translation>Dernier test</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="107"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="108"/>
<source>yes</source>
<translation>oui</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="108"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="109"/>
<source>no</source>
<translation>non</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Verified</source>
<translation>Vérifié</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Unverified</source>
<translation>Non vérifié</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="135"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="136"/>
<source>never</source>
<translation>jamais</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="161"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="162"/>
<source>Invalid Address</source>
<translation>Adresse invalide</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="162"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="163"/>
<source>&quot;%1&quot; is not a valid key server address.</source>
<translation>«%1» n&apos;est pas une adresse de serveur de clés valide.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="172"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="173"/>
<source>Already Listed</source>
<translation>Déjà listé</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="173"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="174"/>
<source>%1 is already in the key server list.</source>
<translation>%1 est déjà dans la liste des serveurs de clés.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="179"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="180"/>
<source>Insecure Key Server Address</source>
<translation>Adresse de serveur de clés non sécurisée</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="180"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="181"/>
<source>%1 uses plain HTTP, so anyone on the network can see and change what you look up or publish. Add it anyway?</source>
<translation>%1 utilise HTTP en clair, donc n&apos;importe qui sur le réseau peut voir et modifier ce que vous consultez ou publiez. L&apos;ajouter quand même ?</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="272"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="229"/>
+ <source>No Verified Publishing</source>
+ <translation>Aucune publication vérifiée</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="230"/>
+ <source>%1 does not support the VKS interface, so publishing and refreshing will use HKP instead.
+
+Over HKP the server does not confirm your email address, and an uploaded key cannot be removed again.
+
+Use %1 as the default anyway?</source>
+ <translation>%1 ne prend pas en charge l&apos;interface VKS, donc la publication et l&apos;actualisation utiliseront HKP à la place.
+
+Sur HKP, le serveur ne confirme pas votre adresse e-mail et une clé téléversée ne peut pas être supprimée ultérieurement.
+
+Utiliser %1 comme serveur par défaut malgré tout&#xa0;?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="291"/>
<source>Key Server Not Verified</source>
<translation>Serveur de clés non vérifié</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="273"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="292"/>
<source>%1 did not answer as a key server.
%2
@@ -281,103 +344,122 @@ Il a été ajouté et marqué comme non vérifié ; utilisez Test sélectionné
<context>
<name>SearchKeyDialog</name>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Key ID</source>
<translation>Identifiant de clé</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>UID</source>
<translation>UID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Creation Date</source>
<translation>Date de création</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Expiration Date</source>
<translation>Date d&apos;expiration</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Algorithm</source>
<translation>Algorithme</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Key Size</source>
<translation>Taille de la clé</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="77"/>
+ <location filename="../SearchKeyDialog.cpp" line="112"/>
<source>Status</source>
<translation>Statut</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="80"/>
+ <location filename="../SearchKeyDialog.cpp" line="115"/>
<source>By Key ID</source>
<translation>Par identifiant de clé</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="81"/>
+ <location filename="../SearchKeyDialog.cpp" line="116"/>
<source>By Email</source>
<translation>Par e-mail</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="82"/>
+ <location filename="../SearchKeyDialog.cpp" line="117"/>
<source>By Fingerprint</source>
<translation>Par empreinte</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="85"/>
+ <location filename="../SearchKeyDialog.cpp" line="120"/>
<source>Enter a value, then press Enter or Search</source>
<translation>Saisissez une valeur, puis appuyez sur Entrée ou Rechercher</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="128"/>
+ <location filename="../SearchKeyDialog.cpp" line="163"/>
<source>Search value is empty.</source>
<translation>La valeur de recherche est vide.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="144"/>
+ <location filename="../SearchKeyDialog.cpp" line="179"/>
<source>Key server URL is empty.</source>
<translation>L&apos;URL du serveur de clés est vide.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="153"/>
+ <location filename="../SearchKeyDialog.cpp" line="188"/>
<source>Invalid key server URL format.</source>
<translation>Format d&apos;URL du serveur de clés non valide.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="166"/>
+ <location filename="../SearchKeyDialog.cpp" line="201"/>
<source>Invalid email format.</source>
<translation>Format d&apos;e-mail non valide.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="179"/>
+ <location filename="../SearchKeyDialog.cpp" line="216"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16, 40 or 64.</source>
+ <translation>Format d&apos;empreinte non valide. Il doit s&apos;agir d&apos;une chaîne hexadécimale de 16, 40 ou 64 caractères.</translation>
+ </message>
+ <message>
<source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
- <translation>Format d&apos;empreinte non valide. Il doit s&apos;agir d&apos;une chaîne hexadécimale de 16 ou 40 caractères.</translation>
+ <translation type="vanished">Format d&apos;empreinte non valide. Il doit s&apos;agir d&apos;une chaîne hexadécimale de 16 ou 40 caractères.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="193"/>
+ <location filename="../SearchKeyDialog.cpp" line="230"/>
<source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
<translation>Format d&apos;identifiant de clé non valide. Il doit s&apos;agir d&apos;une chaîne hexadécimale de 8 ou 16 caractères.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="199"/>
+ <location filename="../SearchKeyDialog.cpp" line="236"/>
<source>Unknown search type.</source>
<translation>Type de recherche inconnu.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="236"/>
- <location filename="../SearchKeyDialog.cpp" line="246"/>
+ <location filename="../SearchKeyDialog.cpp" line="273"/>
+ <location filename="../SearchKeyDialog.cpp" line="283"/>
<source>No keys found matching your search.</source>
<translation>Aucune clé trouvée correspondant à votre recherche.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="331"/>
+ <location filename="../SearchKeyDialog.cpp" line="302"/>
+ <source>(no user ID published)</source>
+ <translation>(aucun ID utilisateur publié)</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="306"/>
+ <source>Unknown</source>
+ <translation>Inconnu</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="310"/>
+ <source>Never</source>
+ <translation>Jamais</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="374"/>
<source>No GPG context is available.</source>
<translation>Aucun contexte GPG n&apos;est disponible.</translation>
</message>
diff --git a/src/m_key_server_sync/ts/ModuleKeyServerSync.it_IT.ts b/src/m_key_server_sync/ts/ModuleKeyServerSync.it_IT.ts
index 55c530c..75795b4 100644
--- a/src/m_key_server_sync/ts/ModuleKeyServerSync.it_IT.ts
+++ b/src/m_key_server_sync/ts/ModuleKeyServerSync.it_IT.ts
@@ -4,18 +4,19 @@
<context>
<name>GTrC</name>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="119"/>
+ <location filename="../KeyServerSyncModule.cpp" line="252"/>
<source>The following email addresses have status:
</source>
<translation>I seguenti indirizzi email hanno lo stato:</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <location filename="../KeyServerSyncModule.cpp" line="262"/>
<source>Could not parse status information.</source>
<translation>Impossibile analizzare le informazioni sullo stato.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="140"/>
+ <location filename="../KeyServerSyncModule.cpp" line="230"/>
+ <location filename="../KeyServerSyncModule.cpp" line="273"/>
<source>Public Key Upload Successful</source>
<translation>Caricamento della chiave pubblica riuscito</translation>
</message>
@@ -36,20 +37,21 @@ Controlla la tua email (%3) per ulteriori verifiche da keys.openpgp.org.
Nota: Per la verifica, puoi trovare maggiori informazioni qui: https://keys.openpgp.org/about</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="99"/>
- <location filename="../KeyServerSyncModule.cpp" line="156"/>
+ <location filename="../KeyServerSyncModule.cpp" line="189"/>
+ <location filename="../KeyServerSyncModule.cpp" line="217"/>
+ <location filename="../KeyServerSyncModule.cpp" line="289"/>
<source>Key Upload Failed</source>
<translation>Caricamento della chiave pubblica fallito</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="100"/>
+ <location filename="../KeyServerSyncModule.cpp" line="190"/>
<source>Failed to export the public key before uploading.
Key: %1</source>
<translation>Impossibile esportare la chiave pubblica prima del caricamento.
Chiave: %1</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="141"/>
+ <location filename="../KeyServerSyncModule.cpp" line="274"/>
<source>The public key was successfully uploaded to the key server %4.
Fingerprint: %1
@@ -62,7 +64,8 @@ Impronta digitale: %1
Controlla la tua email (%3) per ulteriori verifiche da %4.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="157"/>
+ <location filename="../KeyServerSyncModule.cpp" line="218"/>
+ <location filename="../KeyServerSyncModule.cpp" line="290"/>
<source>Failed to upload public key to the server.
Fingerprint: %1
Error: %2</source>
@@ -71,41 +74,79 @@ Impronta digitale: %1
Errore: %2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="191"/>
+ <location filename="../KeyServerSyncModule.cpp" line="101"/>
+ <source>The key server did not return a key.</source>
+ <translation>Il server delle chiavi non ha restituito una chiave.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="127"/>
+ <source>Publish Without Verification?</source>
+ <translation>Pubblicare senza verifica?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <source>%1 does not support verified publishing (VKS), so the key would be uploaded over HKP instead.
+
+The server will not confirm your email address, and the upload cannot be undone — HKP key servers do not let keys be removed.
+
+Publish to %1 anyway?</source>
+ <translation>%1 non supporta la pubblicazione verificata (VKS), quindi la chiave verrebbe caricata tramite HKP.
+
+Il server non confermerà il tuo indirizzo email e il caricamento non può essere annullato — i server HKP non consentono la rimozione delle chiavi.
+
+Pubblicare su %1 comunque?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="232"/>
+ <source>The public key was uploaded to the key server %2 over HKP.
+Fingerprint: %1</source>
+ <translation>La chiave pubblica è stata caricata con successo sul server delle chiavi %2 tramite HKP.
+Impronta digitale: %1</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="325"/>
<source>Key Update Failed</source>
<translation>Aggiornamento della chiave fallito</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="192"/>
+ <location filename="../KeyServerSyncModule.cpp" line="326"/>
+ <source>Failed to retrieve public key from %3.
+Key ID: %1
+Error: %2</source>
+ <translation>Impossibile recuperare la chiave pubblica da %3.
+ID chiave: %1
+Errore: %2</translation>
+ </message>
+ <message>
<source>Failed to retrieve public key from the server.
Key ID: %1
Error: %2</source>
- <translation>Impossibile recuperare la chiave pubblica dal server.
+ <translation type="vanished">Impossibile recuperare la chiave pubblica dal server.
ID chiave: %1
Errore: %2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="244"/>
+ <location filename="../KeyServerSyncModule.cpp" line="375"/>
<source>Key Server</source>
<translation>Server delle chiavi</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="245"/>
+ <location filename="../KeyServerSyncModule.cpp" line="376"/>
<source>Import public keys from a trusted key server.</source>
<translation>Importa chiavi pubbliche da un server delle chiavi attendibile.</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="293"/>
+ <location filename="../KeyServerSyncModule.cpp" line="424"/>
<source>Key Server Operations</source>
<translation>Operazioni del server delle chiavi</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="298"/>
+ <location filename="../KeyServerSyncModule.cpp" line="429"/>
<source>Publish Public Key to Key Server</source>
<translation>Pubblica chiave pubblica sul server delle chiavi</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="305"/>
+ <location filename="../KeyServerSyncModule.cpp" line="436"/>
<source>Refresh Public Key From Key Server</source>
<translation>Aggiorna chiave pubblica dal server delle chiavi</translation>
</message>
@@ -170,102 +211,124 @@ Errore: %2</translation>
<translation>https://keys.example.org</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="68"/>
<source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP; publishing and refreshing use VKS.</source>
- <translation>Un nuovo server di chiavi viene testato rispetto alle interfacce HKP e VKS prima di essere aggiunto. La ricerca utilizza HKP; la pubblicazione e l&apos;aggiornamento utilizzano VKS.</translation>
+ <translation type="vanished">Un nuovo server di chiavi viene testato rispetto alle interfacce HKP e VKS prima di essere aggiunto. La ricerca utilizza HKP; la pubblicazione e l&apos;aggiornamento utilizzano VKS.</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="68"/>
+ <source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP. Publishing and refreshing always use the default server: over VKS where it offers it, over HKP otherwise.</source>
+ <translation>Un nuovo server di chiavi viene testato rispetto alle interfacce HKP e VKS prima di essere aggiunto. La ricerca utilizza HKP. La pubblicazione e l&apos;aggiornamento utilizzano sempre il server predefinito: su VKS dove lo offre, altrimenti su HKP.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Default</source>
<translation>Predefinito</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Address</source>
<translation>Indirizzo</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>HKP</source>
<translation>HKP</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>VKS</source>
<translation>VKS</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Status</source>
<translation>Stato</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="75"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="76"/>
<source>Last Tested</source>
<translation>Ultimo test</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="107"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="108"/>
<source>yes</source>
<translation>Sì</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="108"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="109"/>
<source>no</source>
<translation>No</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Verified</source>
<translation>Verificato</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Unverified</source>
<translation>Non verificato</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="135"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="136"/>
<source>never</source>
<translation>mai</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="161"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="162"/>
<source>Invalid Address</source>
<translation>Indirizzo non valido</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="162"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="163"/>
<source>&quot;%1&quot; is not a valid key server address.</source>
<translation>&quot;%1&quot; non è un indirizzo del server di chiavi valido.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="172"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="173"/>
<source>Already Listed</source>
<translation>Già elencato</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="173"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="174"/>
<source>%1 is already in the key server list.</source>
<translation>%1 è già presente nella lista dei server di chiavi.</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="179"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="180"/>
<source>Insecure Key Server Address</source>
<translation>Indirizzo del Server di Chiavi Non Sicuro</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="180"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="181"/>
<source>%1 uses plain HTTP, so anyone on the network can see and change what you look up or publish. Add it anyway?</source>
<translation>%1 utilizza HTTP semplice, quindi chiunque sulla rete può vedere e modificare ciò che cerchi o pubblichi. Aggiungerlo comunque?</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="272"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="229"/>
+ <source>No Verified Publishing</source>
+ <translation>Nessuna pubblicazione verificata</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="230"/>
+ <source>%1 does not support the VKS interface, so publishing and refreshing will use HKP instead.
+
+Over HKP the server does not confirm your email address, and an uploaded key cannot be removed again.
+
+Use %1 as the default anyway?</source>
+ <translation>%1 non supporta l&apos;interfaccia VKS, quindi la pubblicazione e l&apos;aggiornamento utilizzeranno HKP.
+
+Su HKP il server non conferma il tuo indirizzo email e una chiave caricata non può essere rimossa.
+
+Usare %1 come predefinito comunque?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="291"/>
<source>Key Server Not Verified</source>
<translation>Server di Chiavi Non Verificato</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="273"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="292"/>
<source>%1 did not answer as a key server.
%2
@@ -281,103 +344,122 @@ It has been added and marked unverified; use Test Selected to try again.</source
<context>
<name>SearchKeyDialog</name>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Key ID</source>
<translation>ID chiave</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>UID</source>
<translation>UID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Creation Date</source>
<translation>Data di creazione</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Expiration Date</source>
<translation>Data di scadenza</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Algorithm</source>
<translation>Algoritmo</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Key Size</source>
<translation>Dimensione chiave</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="77"/>
+ <location filename="../SearchKeyDialog.cpp" line="112"/>
<source>Status</source>
<translation>Stato</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="80"/>
+ <location filename="../SearchKeyDialog.cpp" line="115"/>
<source>By Key ID</source>
<translation>Per ID chiave</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="81"/>
+ <location filename="../SearchKeyDialog.cpp" line="116"/>
<source>By Email</source>
<translation>Per email</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="82"/>
+ <location filename="../SearchKeyDialog.cpp" line="117"/>
<source>By Fingerprint</source>
<translation>Per impronta digitale</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="85"/>
+ <location filename="../SearchKeyDialog.cpp" line="120"/>
<source>Enter a value, then press Enter or Search</source>
<translation>Inserisci un valore, poi premi Invio o Cerca</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="128"/>
+ <location filename="../SearchKeyDialog.cpp" line="163"/>
<source>Search value is empty.</source>
<translation>Il valore di ricerca è vuoto.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="144"/>
+ <location filename="../SearchKeyDialog.cpp" line="179"/>
<source>Key server URL is empty.</source>
<translation>L&apos;URL del server delle chiavi è vuoto.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="153"/>
+ <location filename="../SearchKeyDialog.cpp" line="188"/>
<source>Invalid key server URL format.</source>
<translation>Formato dell&apos;URL del server delle chiavi non valido.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="166"/>
+ <location filename="../SearchKeyDialog.cpp" line="201"/>
<source>Invalid email format.</source>
<translation>Formato dell&apos;email non valido.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="179"/>
+ <location filename="../SearchKeyDialog.cpp" line="216"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16, 40 or 64.</source>
+ <translation>Formato dell&apos;impronta digitale non valido. Deve essere una stringa esadecimale di lunghezza 16, 40 o 64.</translation>
+ </message>
+ <message>
<source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
- <translation>Formato dell&apos;impronta digitale non valido. Deve essere una stringa esadecimale di lunghezza 16 o 40.</translation>
+ <translation type="vanished">Formato dell&apos;impronta digitale non valido. Deve essere una stringa esadecimale di lunghezza 16 o 40.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="193"/>
+ <location filename="../SearchKeyDialog.cpp" line="230"/>
<source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
<translation>Formato dell&apos;ID chiave non valido. Deve essere una stringa esadecimale di lunghezza 8 o 16.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="199"/>
+ <location filename="../SearchKeyDialog.cpp" line="236"/>
<source>Unknown search type.</source>
<translation>Tipo di ricerca sconosciuto.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="236"/>
- <location filename="../SearchKeyDialog.cpp" line="246"/>
+ <location filename="../SearchKeyDialog.cpp" line="273"/>
+ <location filename="../SearchKeyDialog.cpp" line="283"/>
<source>No keys found matching your search.</source>
<translation>Nessuna chiave trovata corrispondente alla ricerca.</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="331"/>
+ <location filename="../SearchKeyDialog.cpp" line="302"/>
+ <source>(no user ID published)</source>
+ <translation>(nessun ID utente pubblicato)</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="306"/>
+ <source>Unknown</source>
+ <translation>Sconosciuto</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="310"/>
+ <source>Never</source>
+ <translation>Mai</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="374"/>
<source>No GPG context is available.</source>
<translation>Contesto GPG non disponibile.</translation>
</message>
diff --git a/src/m_key_server_sync/ts/ModuleKeyServerSync.zh_CN.ts b/src/m_key_server_sync/ts/ModuleKeyServerSync.zh_CN.ts
index 4a7271d..231a794 100644
--- a/src/m_key_server_sync/ts/ModuleKeyServerSync.zh_CN.ts
+++ b/src/m_key_server_sync/ts/ModuleKeyServerSync.zh_CN.ts
@@ -4,18 +4,19 @@
<context>
<name>GTrC</name>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="119"/>
+ <location filename="../KeyServerSyncModule.cpp" line="252"/>
<source>The following email addresses have status:
</source>
<translation>以下电子邮件地址的状态为:</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <location filename="../KeyServerSyncModule.cpp" line="262"/>
<source>Could not parse status information.</source>
<translation>无法解析状态信息。</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="140"/>
+ <location filename="../KeyServerSyncModule.cpp" line="230"/>
+ <location filename="../KeyServerSyncModule.cpp" line="273"/>
<source>Public Key Upload Successful</source>
<translation>公钥上传成功</translation>
</message>
@@ -36,20 +37,21 @@ Note: For verification, you can find more information here: https://keys.openpgp
注意:如需了解验证详情,请访问:https://keys.openpgp.org/about</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="99"/>
- <location filename="../KeyServerSyncModule.cpp" line="156"/>
+ <location filename="../KeyServerSyncModule.cpp" line="189"/>
+ <location filename="../KeyServerSyncModule.cpp" line="217"/>
+ <location filename="../KeyServerSyncModule.cpp" line="289"/>
<source>Key Upload Failed</source>
<translation>密钥上传失败</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="100"/>
+ <location filename="../KeyServerSyncModule.cpp" line="190"/>
<source>Failed to export the public key before uploading.
Key: %1</source>
<translation>上传前导出公钥失败。
密钥:%1</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="141"/>
+ <location filename="../KeyServerSyncModule.cpp" line="274"/>
<source>The public key was successfully uploaded to the key server %4.
Fingerprint: %1
@@ -62,7 +64,8 @@ Please check your email (%3) for further verification from %4.</source>
请检查您的电子邮件(%3)以获取 %4 的进一步验证信息。</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="157"/>
+ <location filename="../KeyServerSyncModule.cpp" line="218"/>
+ <location filename="../KeyServerSyncModule.cpp" line="290"/>
<source>Failed to upload public key to the server.
Fingerprint: %1
Error: %2</source>
@@ -71,41 +74,79 @@ Error: %2</source>
错误:%2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="191"/>
+ <location filename="../KeyServerSyncModule.cpp" line="101"/>
+ <source>The key server did not return a key.</source>
+ <translation>密钥服务器未返回任何密钥。</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="127"/>
+ <source>Publish Without Verification?</source>
+ <translation>无验证发布?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <source>%1 does not support verified publishing (VKS), so the key would be uploaded over HKP instead.
+
+The server will not confirm your email address, and the upload cannot be undone — HKP key servers do not let keys be removed.
+
+Publish to %1 anyway?</source>
+ <translation>%1 不支持已验证发布(VKS),因此密钥将通过 HKP 上传。
+
+服务器不会确认您的电子邮件地址,且上传无法撤销 — HKP 密钥服务器不允许删除密钥。
+
+仍然发布到 %1?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="232"/>
+ <source>The public key was uploaded to the key server %2 over HKP.
+Fingerprint: %1</source>
+ <translation>公钥已通过 HKP 上传至密钥服务器 %2。
+指纹:%1</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="325"/>
<source>Key Update Failed</source>
<translation>密钥更新失败</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="192"/>
+ <location filename="../KeyServerSyncModule.cpp" line="326"/>
+ <source>Failed to retrieve public key from %3.
+Key ID: %1
+Error: %2</source>
+ <translation>无法从 %3 获取公钥。
+密钥 ID:%1
+错误:%2</translation>
+ </message>
+ <message>
<source>Failed to retrieve public key from the server.
Key ID: %1
Error: %2</source>
- <translation>无法从服务器获取公钥。
+ <translation type="vanished">无法从服务器获取公钥。
密钥 ID:%1
错误:%2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="244"/>
+ <location filename="../KeyServerSyncModule.cpp" line="375"/>
<source>Key Server</source>
<translation>密钥服务器</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="245"/>
+ <location filename="../KeyServerSyncModule.cpp" line="376"/>
<source>Import public keys from a trusted key server.</source>
<translation>从受信任的密钥服务器导入公钥。</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="293"/>
+ <location filename="../KeyServerSyncModule.cpp" line="424"/>
<source>Key Server Operations</source>
<translation>密钥服务器操作</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="298"/>
+ <location filename="../KeyServerSyncModule.cpp" line="429"/>
<source>Publish Public Key to Key Server</source>
<translation>将公钥发布到密钥服务器</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="305"/>
+ <location filename="../KeyServerSyncModule.cpp" line="436"/>
<source>Refresh Public Key From Key Server</source>
<translation>从密钥服务器更新公钥</translation>
</message>
@@ -170,102 +211,124 @@ Error: %2</source>
<translation>https://keys.example.org</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="68"/>
<source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP; publishing and refreshing use VKS.</source>
- <translation>新密钥服务器在添加前会通过 HKP 和 VKS 接口进行测试。搜索使用 HKP;发布和刷新使用 VKS。</translation>
+ <translation type="vanished">新密钥服务器在添加前会通过 HKP 和 VKS 接口进行测试。搜索使用 HKP;发布和刷新使用 VKS。</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="68"/>
+ <source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP. Publishing and refreshing always use the default server: over VKS where it offers it, over HKP otherwise.</source>
+ <translation>新密钥服务器在添加前会通过 HKP 和 VKS 接口进行测试。搜索使用 HKP。发布和刷新始终使用默认服务器:如果默认服务器支持 VKS 则通过 VKS,否则通过 HKP。</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Default</source>
<translation>默认</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Address</source>
<translation>地址</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>HKP</source>
<translation>HKP</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>VKS</source>
<translation>VKS</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Status</source>
<translation>状态</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="75"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="76"/>
<source>Last Tested</source>
<translation>上次测试</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="107"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="108"/>
<source>yes</source>
<translation>是</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="108"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="109"/>
<source>no</source>
<translation>否</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Verified</source>
<translation>已验证</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Unverified</source>
<translation>未验证</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="135"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="136"/>
<source>never</source>
<translation>从未</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="161"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="162"/>
<source>Invalid Address</source>
<translation>无效地址</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="162"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="163"/>
<source>&quot;%1&quot; is not a valid key server address.</source>
<translation>&quot;%1&quot; 不是有效的密钥服务器地址。</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="172"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="173"/>
<source>Already Listed</source>
<translation>已列出</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="173"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="174"/>
<source>%1 is already in the key server list.</source>
<translation>%1 已在密钥服务器列表中。</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="179"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="180"/>
<source>Insecure Key Server Address</source>
<translation>不安全的密钥服务器地址</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="180"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="181"/>
<source>%1 uses plain HTTP, so anyone on the network can see and change what you look up or publish. Add it anyway?</source>
<translation>%1 使用明文 HTTP,网络上的任何人都可以查看或篡改您查询或发布的内容。仍然添加吗?</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="272"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="229"/>
+ <source>No Verified Publishing</source>
+ <translation>无验证发布</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="230"/>
+ <source>%1 does not support the VKS interface, so publishing and refreshing will use HKP instead.
+
+Over HKP the server does not confirm your email address, and an uploaded key cannot be removed again.
+
+Use %1 as the default anyway?</source>
+ <translation>%1 不支持 VKS 接口,因此发布和刷新将改用 HKP。
+
+通过 HKP,服务器不会确认您的电子邮件地址,且上传的密钥无法再次删除。
+
+仍然将 %1 设为默认服务器吗?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="291"/>
<source>Key Server Not Verified</source>
<translation>密钥服务器未验证</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="273"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="292"/>
<source>%1 did not answer as a key server.
%2
@@ -281,103 +344,122 @@ It has been added and marked unverified; use Test Selected to try again.</source
<context>
<name>SearchKeyDialog</name>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Key ID</source>
<translation>密钥 ID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>UID</source>
<translation>UID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Creation Date</source>
<translation>创建日期</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Expiration Date</source>
<translation>到期日期</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Algorithm</source>
<translation>算法</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Key Size</source>
<translation>密钥大小</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="77"/>
+ <location filename="../SearchKeyDialog.cpp" line="112"/>
<source>Status</source>
<translation>状态</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="80"/>
+ <location filename="../SearchKeyDialog.cpp" line="115"/>
<source>By Key ID</source>
<translation>按密钥 ID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="81"/>
+ <location filename="../SearchKeyDialog.cpp" line="116"/>
<source>By Email</source>
<translation>按电子邮件</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="82"/>
+ <location filename="../SearchKeyDialog.cpp" line="117"/>
<source>By Fingerprint</source>
<translation>按指纹</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="85"/>
+ <location filename="../SearchKeyDialog.cpp" line="120"/>
<source>Enter a value, then press Enter or Search</source>
<translation>输入值,然后按回车或搜索</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="128"/>
+ <location filename="../SearchKeyDialog.cpp" line="163"/>
<source>Search value is empty.</source>
<translation>搜索值不能为空。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="144"/>
+ <location filename="../SearchKeyDialog.cpp" line="179"/>
<source>Key server URL is empty.</source>
<translation>密钥服务器 URL 不能为空。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="153"/>
+ <location filename="../SearchKeyDialog.cpp" line="188"/>
<source>Invalid key server URL format.</source>
<translation>密钥服务器 URL 格式无效。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="166"/>
+ <location filename="../SearchKeyDialog.cpp" line="201"/>
<source>Invalid email format.</source>
<translation>电子邮件格式无效。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="179"/>
+ <location filename="../SearchKeyDialog.cpp" line="216"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16, 40 or 64.</source>
+ <translation>指纹格式无效。应为长度为 16、40 或 64 的十六进制字符串。</translation>
+ </message>
+ <message>
<source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
- <translation>指纹格式无效。应为长度为 16 或 40 的十六进制字符串。</translation>
+ <translation type="vanished">指纹格式无效。应为长度为 16 或 40 的十六进制字符串。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="193"/>
+ <location filename="../SearchKeyDialog.cpp" line="230"/>
<source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
<translation>密钥 ID 格式无效。应为长度为 8 或 16 的十六进制字符串。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="199"/>
+ <location filename="../SearchKeyDialog.cpp" line="236"/>
<source>Unknown search type.</source>
<translation>未知的搜索类型。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="236"/>
- <location filename="../SearchKeyDialog.cpp" line="246"/>
+ <location filename="../SearchKeyDialog.cpp" line="273"/>
+ <location filename="../SearchKeyDialog.cpp" line="283"/>
<source>No keys found matching your search.</source>
<translation>未找到与搜索匹配的密钥。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="331"/>
+ <location filename="../SearchKeyDialog.cpp" line="302"/>
+ <source>(no user ID published)</source>
+ <translation>(未发布用户 ID)</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="306"/>
+ <source>Unknown</source>
+ <translation>未知</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="310"/>
+ <source>Never</source>
+ <translation>永不</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="374"/>
<source>No GPG context is available.</source>
<translation>没有可用的 GPG 上下文。</translation>
</message>
diff --git a/src/m_key_server_sync/ts/ModuleKeyServerSync.zh_TW.ts b/src/m_key_server_sync/ts/ModuleKeyServerSync.zh_TW.ts
index 03dff98..8070f94 100644
--- a/src/m_key_server_sync/ts/ModuleKeyServerSync.zh_TW.ts
+++ b/src/m_key_server_sync/ts/ModuleKeyServerSync.zh_TW.ts
@@ -4,18 +4,19 @@
<context>
<name>GTrC</name>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="119"/>
+ <location filename="../KeyServerSyncModule.cpp" line="252"/>
<source>The following email addresses have status:
</source>
<translation>以下電子郵件地址的狀態為:</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <location filename="../KeyServerSyncModule.cpp" line="262"/>
<source>Could not parse status information.</source>
<translation>無法解析狀態資訊。</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="140"/>
+ <location filename="../KeyServerSyncModule.cpp" line="230"/>
+ <location filename="../KeyServerSyncModule.cpp" line="273"/>
<source>Public Key Upload Successful</source>
<translation>公鑰上傳成功</translation>
</message>
@@ -36,20 +37,21 @@ Note: For verification, you can find more information here: https://keys.openpgp
注意:如需驗證相關資訊,請參閱此處:https://keys.openpgp.org/about</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="99"/>
- <location filename="../KeyServerSyncModule.cpp" line="156"/>
+ <location filename="../KeyServerSyncModule.cpp" line="189"/>
+ <location filename="../KeyServerSyncModule.cpp" line="217"/>
+ <location filename="../KeyServerSyncModule.cpp" line="289"/>
<source>Key Upload Failed</source>
<translation>金鑰上傳失敗</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="100"/>
+ <location filename="../KeyServerSyncModule.cpp" line="190"/>
<source>Failed to export the public key before uploading.
Key: %1</source>
<translation>上傳前匯出公鑰失敗。
金鑰:%1</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="141"/>
+ <location filename="../KeyServerSyncModule.cpp" line="274"/>
<source>The public key was successfully uploaded to the key server %4.
Fingerprint: %1
@@ -62,7 +64,8 @@ Please check your email (%3) for further verification from %4.</source>
請檢查您的電子郵件(%3)以接收 %4 的進一步驗證通知。</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="157"/>
+ <location filename="../KeyServerSyncModule.cpp" line="218"/>
+ <location filename="../KeyServerSyncModule.cpp" line="290"/>
<source>Failed to upload public key to the server.
Fingerprint: %1
Error: %2</source>
@@ -71,41 +74,79 @@ Error: %2</source>
錯誤:%2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="191"/>
+ <location filename="../KeyServerSyncModule.cpp" line="101"/>
+ <source>The key server did not return a key.</source>
+ <translation>金鑰伺服器未回傳金鑰。</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="127"/>
+ <source>Publish Without Verification?</source>
+ <translation>不經驗證即發布?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="129"/>
+ <source>%1 does not support verified publishing (VKS), so the key would be uploaded over HKP instead.
+
+The server will not confirm your email address, and the upload cannot be undone — HKP key servers do not let keys be removed.
+
+Publish to %1 anyway?</source>
+ <translation>%1 不支援驗證發布(VKS),因此金鑰將改為透過 HKP 上傳。
+
+伺服器不會確認您的電子郵件地址,且上傳無法撤銷——HKP 金鑰伺服器不允許移除金鑰。
+
+仍要發布至 %1 嗎?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="232"/>
+ <source>The public key was uploaded to the key server %2 over HKP.
+Fingerprint: %1</source>
+ <translation>公鑰已透過 HKP 上傳至金鑰伺服器 %2。
+指紋:%1</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSyncModule.cpp" line="325"/>
<source>Key Update Failed</source>
<translation>金鑰更新失敗</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="192"/>
+ <location filename="../KeyServerSyncModule.cpp" line="326"/>
+ <source>Failed to retrieve public key from %3.
+Key ID: %1
+Error: %2</source>
+ <translation>無法從 %3 擷取公鑰。
+金鑰 ID:%1
+錯誤:%2</translation>
+ </message>
+ <message>
<source>Failed to retrieve public key from the server.
Key ID: %1
Error: %2</source>
- <translation>無法從伺服器擷取公鑰。
+ <translation type="vanished">無法從伺服器擷取公鑰。
金鑰 ID:%1
錯誤:%2</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="244"/>
+ <location filename="../KeyServerSyncModule.cpp" line="375"/>
<source>Key Server</source>
<translation>金鑰伺服器</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="245"/>
+ <location filename="../KeyServerSyncModule.cpp" line="376"/>
<source>Import public keys from a trusted key server.</source>
<translation>從受信任的金鑰伺服器匯入公鑰。</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="293"/>
+ <location filename="../KeyServerSyncModule.cpp" line="424"/>
<source>Key Server Operations</source>
<translation>金鑰伺服器操作</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="298"/>
+ <location filename="../KeyServerSyncModule.cpp" line="429"/>
<source>Publish Public Key to Key Server</source>
<translation>將公鑰發佈至金鑰伺服器</translation>
</message>
<message>
- <location filename="../KeyServerSyncModule.cpp" line="305"/>
+ <location filename="../KeyServerSyncModule.cpp" line="436"/>
<source>Refresh Public Key From Key Server</source>
<translation>從金鑰伺服器更新公鑰</translation>
</message>
@@ -170,102 +211,124 @@ Error: %2</source>
<translation>https://keys.example.org</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="68"/>
<source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP; publishing and refreshing use VKS.</source>
- <translation>新增金鑰伺服器前,會先測試其 HKP 與 VKS 介面。搜尋使用 HKP;發布與重新整理使用 VKS。</translation>
+ <translation type="vanished">新增金鑰伺服器前,會先測試其 HKP 與 VKS 介面。搜尋使用 HKP;發布與重新整理使用 VKS。</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="68"/>
+ <source>A new key server is tested against the HKP and VKS interfaces before it is added. Searching uses HKP. Publishing and refreshing always use the default server: over VKS where it offers it, over HKP otherwise.</source>
+ <translation>新增金鑰伺服器前,會先測試其 HKP 與 VKS 介面。搜尋使用 HKP。發布與重新整理一律使用預設伺服器:若支援 VKS 則使用 VKS,否則使用 HKP。</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Default</source>
<translation>預設</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Address</source>
<translation>位址</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>HKP</source>
<translation>HKP</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>VKS</source>
<translation>VKS</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="74"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="75"/>
<source>Status</source>
<translation>狀態</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="75"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="76"/>
<source>Last Tested</source>
<translation>上次測試</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="107"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="108"/>
<source>yes</source>
<translation>是</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="108"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="109"/>
<source>no</source>
<translation>否</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Verified</source>
<translation>已驗證</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="126"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="127"/>
<source>Unverified</source>
<translation>未驗證</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="135"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="136"/>
<source>never</source>
<translation>從未</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="161"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="162"/>
<source>Invalid Address</source>
<translation>無效位址</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="162"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="163"/>
<source>&quot;%1&quot; is not a valid key server address.</source>
<translation>「%1」不是有效的金鑰伺服器位址。</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="172"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="173"/>
<source>Already Listed</source>
<translation>已列出</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="173"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="174"/>
<source>%1 is already in the key server list.</source>
<translation>%1 已存在於金鑰伺服器列表中。</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="179"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="180"/>
<source>Insecure Key Server Address</source>
<translation>不安全的金鑰伺服器位址</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="180"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="181"/>
<source>%1 uses plain HTTP, so anyone on the network can see and change what you look up or publish. Add it anyway?</source>
<translation>%1 使用純 HTTP,因此網路上的任何人都可以查看或變更您查詢或發布的內容。仍要新增嗎?</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="272"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="229"/>
+ <source>No Verified Publishing</source>
+ <translation>無驗證發布</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="230"/>
+ <source>%1 does not support the VKS interface, so publishing and refreshing will use HKP instead.
+
+Over HKP the server does not confirm your email address, and an uploaded key cannot be removed again.
+
+Use %1 as the default anyway?</source>
+ <translation>%1 不支援 VKS 介面,因此發布與重新整理將改用 HKP。
+
+透過 HKP,伺服器不會確認您的電子郵件地址,且上傳的金鑰無法再次移除。
+
+是否仍要將 %1 設為預設?</translation>
+ </message>
+ <message>
+ <location filename="../KeyServerSettingsPage.cpp" line="291"/>
<source>Key Server Not Verified</source>
<translation>金鑰伺服器未驗證</translation>
</message>
<message>
- <location filename="../KeyServerSettingsPage.cpp" line="273"/>
+ <location filename="../KeyServerSettingsPage.cpp" line="292"/>
<source>%1 did not answer as a key server.
%2
@@ -281,103 +344,122 @@ It has been added and marked unverified; use Test Selected to try again.</source
<context>
<name>SearchKeyDialog</name>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Key ID</source>
<translation>金鑰 ID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>UID</source>
<translation>UID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="75"/>
+ <location filename="../SearchKeyDialog.cpp" line="110"/>
<source>Creation Date</source>
<translation>建立日期</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Expiration Date</source>
<translation>到期日期</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Algorithm</source>
<translation>演算法</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="76"/>
+ <location filename="../SearchKeyDialog.cpp" line="111"/>
<source>Key Size</source>
<translation>金鑰大小</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="77"/>
+ <location filename="../SearchKeyDialog.cpp" line="112"/>
<source>Status</source>
<translation>狀態</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="80"/>
+ <location filename="../SearchKeyDialog.cpp" line="115"/>
<source>By Key ID</source>
<translation>依金鑰 ID</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="81"/>
+ <location filename="../SearchKeyDialog.cpp" line="116"/>
<source>By Email</source>
<translation>依電子郵件</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="82"/>
+ <location filename="../SearchKeyDialog.cpp" line="117"/>
<source>By Fingerprint</source>
<translation>依指紋</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="85"/>
+ <location filename="../SearchKeyDialog.cpp" line="120"/>
<source>Enter a value, then press Enter or Search</source>
<translation>輸入數值後,按 Enter 或搜尋</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="128"/>
+ <location filename="../SearchKeyDialog.cpp" line="163"/>
<source>Search value is empty.</source>
<translation>搜尋值為空。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="144"/>
+ <location filename="../SearchKeyDialog.cpp" line="179"/>
<source>Key server URL is empty.</source>
<translation>金鑰伺服器 URL 為空。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="153"/>
+ <location filename="../SearchKeyDialog.cpp" line="188"/>
<source>Invalid key server URL format.</source>
<translation>金鑰伺服器 URL 格式無效。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="166"/>
+ <location filename="../SearchKeyDialog.cpp" line="201"/>
<source>Invalid email format.</source>
<translation>電子郵件格式無效。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="179"/>
+ <location filename="../SearchKeyDialog.cpp" line="216"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16, 40 or 64.</source>
+ <translation>指紋格式無效。應為長度 16、40 或 64 的十六進位字串。</translation>
+ </message>
+ <message>
<source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
- <translation>指紋格式無效。應為長度 16 或 40 的十六進位字串。</translation>
+ <translation type="vanished">指紋格式無效。應為長度 16 或 40 的十六進位字串。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="193"/>
+ <location filename="../SearchKeyDialog.cpp" line="230"/>
<source>Invalid Key ID format. It should be a hex string of length 8 or 16.</source>
<translation>金鑰 ID 格式無效。應為長度 8 或 16 的十六進位字串。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="199"/>
+ <location filename="../SearchKeyDialog.cpp" line="236"/>
<source>Unknown search type.</source>
<translation>未知的搜尋類型。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="236"/>
- <location filename="../SearchKeyDialog.cpp" line="246"/>
+ <location filename="../SearchKeyDialog.cpp" line="273"/>
+ <location filename="../SearchKeyDialog.cpp" line="283"/>
<source>No keys found matching your search.</source>
<translation>找不到符合搜尋條件的金鑰。</translation>
</message>
<message>
- <location filename="../SearchKeyDialog.cpp" line="331"/>
+ <location filename="../SearchKeyDialog.cpp" line="302"/>
+ <source>(no user ID published)</source>
+ <translation>(未發布使用者 ID)</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="306"/>
+ <source>Unknown</source>
+ <translation>未知</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="310"/>
+ <source>Never</source>
+ <translation>從未</translation>
+ </message>
+ <message>
+ <location filename="../SearchKeyDialog.cpp" line="374"/>
<source>No GPG context is available.</source>
<translation>沒有可用的 GPG 環境。</translation>
</message>