diff options
| author | saturneric <[email protected]> | 2026-08-07 16:28:03 +0200 |
|---|---|---|
| committer | saturneric <[email protected]> | 2026-08-07 16:28:03 +0200 |
| commit | 292488567570e968e617ba3f5bfb4960f3808b47 (patch) | |
| tree | e8eb7ac9808e5862a15b79b6af97fc962c23cac1 /src/m_key_server_sync/ts | |
| parent | fix(pks): fix keyserver display for sizes, dates, and uids (diff) | |
| download | modules-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.ts | 200 | ||||
| -rw-r--r-- | src/m_key_server_sync/ts/ModuleKeyServerSync.en_US.ts | 183 | ||||
| -rw-r--r-- | src/m_key_server_sync/ts/ModuleKeyServerSync.es_ES.ts | 200 | ||||
| -rw-r--r-- | src/m_key_server_sync/ts/ModuleKeyServerSync.fr_FR.ts | 200 | ||||
| -rw-r--r-- | src/m_key_server_sync/ts/ModuleKeyServerSync.it_IT.ts | 200 | ||||
| -rw-r--r-- | src/m_key_server_sync/ts/ModuleKeyServerSync.zh_CN.ts | 200 | ||||
| -rw-r--r-- | src/m_key_server_sync/ts/ModuleKeyServerSync.zh_TW.ts | 200 |
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>"%1" is not a valid key server address.</source> <translation>"%1" 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 "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>"%1" 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>"%1" is not a valid key server address.</source> <translation>"%1" 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'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'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'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'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'être ajouté. La recherche utilise HKP ; la publication et l'actualisation utilisent VKS.</translation> + <translation type="vanished">Un nouveau serveur de clés est testé sur les interfaces HKP et VKS avant d'être ajouté. La recherche utilise HKP ; la publication et l'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'être ajouté. La recherche utilise HKP. La publication et l'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>"%1" is not a valid key server address.</source> <translation>«%1» n'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'importe qui sur le réseau peut voir et modifier ce que vous consultez ou publiez. L'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'interface VKS, donc la publication et l'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 ?</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'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'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'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'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'empreinte non valide. Il doit s'agir d'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'empreinte non valide. Il doit s'agir d'une chaîne hexadécimale de 16 ou 40 caractères.</translation> + <translation type="vanished">Format d'empreinte non valide. Il doit s'agir d'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'identifiant de clé non valide. Il doit s'agir d'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'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'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'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'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>"%1" is not a valid key server address.</source> <translation>"%1" 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'interfaccia VKS, quindi la pubblicazione e l'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'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'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'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'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'impronta digitale non valido. Deve essere una stringa esadecimale di lunghezza 16 o 40.</translation> + <translation type="vanished">Formato dell'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'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>"%1" 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>输入值,然后按回车或搜索</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>"%1" 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> |
