aboutsummaryrefslogtreecommitdiffstats
path: root/src/m_gpg_info
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2026-06-28 02:25:26 +0200
committersaturneric <[email protected]>2026-06-28 02:25:26 +0200
commitce75577e4577f9057a8e8142d0921f74ef8843b0 (patch)
tree167c6fde37704bac4f5f792cd9e75ccdf20e1b88 /src/m_gpg_info
parentfeat(m_ver_check): select releases in same series (diff)
downloadmodules-ce75577e4577f9057a8e8142d0921f74ef8843b0.tar.gz
modules-ce75577e4577f9057a8e8142d0921f74ef8843b0.zip
feat(i18n): add and reorganize translation strings
* Extract and relocate multiple UI strings into code-based contexts to improve translation coverage and maintainability (email, key-server, gpg-info, version-check modules). * Introduce new, more descriptive EML and email-operation error/message templates to aid users and translators; add file/read warnings and integrity labels for email handling. * Add new translation files and contexts for key-server sync and search dialog, and extend existing TS files with updated locations (moved from .ui to .cpp) so translations map to runtime text. * Mark obsolete/vanished UI strings and prepare placeholders for untranslated entries, enabling translators to provide localized text without changing code. * Facilitate future localization work and clearer user-facing diagnostics by centralizing message strings and expanding translatable content.o
Diffstat (limited to 'src/m_gpg_info')
-rw-r--r--src/m_gpg_info/ts/ModuleGnuPGInfoGathering.de_DE.ts524
-rw-r--r--src/m_gpg_info/ts/ModuleGnuPGInfoGathering.en_US.ts524
-rw-r--r--src/m_gpg_info/ts/ModuleGnuPGInfoGathering.fr_FR.ts524
-rw-r--r--src/m_gpg_info/ts/ModuleGnuPGInfoGathering.it_iT.ts524
-rw-r--r--src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_CN.ts524
-rw-r--r--src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_TW.ts524
6 files changed, 3042 insertions, 102 deletions
diff --git a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.de_DE.ts b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.de_DE.ts
index 84933be..5ca772b 100644
--- a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.de_DE.ts
+++ b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.de_DE.ts
@@ -2,63 +2,352 @@
<!DOCTYPE TS>
<TS version="2.1" language="de_DE">
<context>
+ <name>EMailMetaDataDialog</name>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="196"/>
+ <source>The &apos;From&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="198"/>
+ <source>The &apos;From&apos; field must contain a valid email address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="202"/>
+ <source>The &apos;To&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="206"/>
+ <source>One or more &apos;To&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="213"/>
+ <source>One or more &apos;CC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="221"/>
+ <source>One or more &apos;BCC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="227"/>
+ <source>The &apos;Subject&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EMailModule</name>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="109"/>
+ <source># EML Data Error
+
+The provided EML data does not conform to RFC 3156 standards and cannot be processed.
+
+**Details:** %1
+
+### What is EML Data?
+EML is a file format for representing email messages, typically including headers, body text, attachments, and metadata. Complete and properly structured EML data is required for validation.
+
+### Suggested Solutions
+1. Verify the EML data is complete and matches the structure outlined in RFC 3156.
+2. Refer to the official documentation for the EML structure: %2
+
+After correcting the EML data, try the operation again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="134"/>
+ <source># Email Operation Error
+
+An error occurred during the email operation. The process could not be completed.
+
+**Details:**
+- **Error Code:** %1
+- **Error Message:** %2
+
+### Possible Causes
+1. The email data may be incomplete or corrupted.
+2. The selected GPG key does not have the necessary permissions.
+3. Issues in the GPG environment or configuration.
+
+### Suggested Solutions
+1. Ensure the email data is complete and follows the expected format.
+2. Verify the GPG key has the required access permissions.
+3. Check your GPG environment and configuration settings.
+4. Review the error details above or application logs for further troubleshooting.
+
+If the issue persists, consider seeking technical support or consulting the documentation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="301"/>
+ <location filename="../../m_email/EMailModule.cpp" line="421"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1041"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="304"/>
+ <location filename="../../m_email/EMailModule.cpp" line="424"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1044"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="308"/>
+ <location filename="../../m_email/EMailModule.cpp" line="428"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1048"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="311"/>
+ <location filename="../../m_email/EMailModule.cpp" line="431"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1051"/>
+ <source>CC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="314"/>
+ <location filename="../../m_email/EMailModule.cpp" line="434"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1054"/>
+ <source>BCC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="317"/>
+ <location filename="../../m_email/EMailModule.cpp" line="437"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1057"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="325"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1065"/>
+ <source>Signed EML Data Hash (SHA1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="330"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1070"/>
+ <source>Message Integrity Check Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1120"/>
+ <source>Save file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1147"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1192"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1219"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1148"/>
+ <source>Cannot read file%1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1193"/>
+ <source>The file %1 is too large (%2 bytes) to be opened. The maximum allowed size is 1 MB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1220"/>
+ <source>Cannot read file %1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>GTrC</name>
<message>
- <location filename="../GnuPGInfoGatheringModule.cpp" line="76"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="103"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="173"/>
<source>GnuPG</source>
<translation type="unfinished">GnuPG</translation>
</message>
+ <message>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="175"/>
+ <source>Information about GnuPG</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="88"/>
+ <source>The following email addresses have status:
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="98"/>
+ <source>Could not parse status information.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="105"/>
+ <source>Public Key Upload Successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="106"/>
+ <source>The public key was successfully uploaded to the key server keys.openpgp.org.
+Fingerprint: %1
+
+%2
+Please check your email (%3) for further verification from keys.openpgp.org.
+
+Note: For verification, you can find more information here: https://keys.openpgp.org/about</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="124"/>
+ <source>Key Upload Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="125"/>
+ <source>Failed to upload public key to the server.
+Fingerprint: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="157"/>
+ <source>Key Update Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="158"/>
+ <source>Failed to retrieve public key from the server.
+Key ID: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="210"/>
+ <source>Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="211"/>
+ <source>Import public keys from a trusted key server.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="259"/>
+ <source>Key Server Operations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="264"/>
+ <source>Publish Public Key to Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="272"/>
+ <source>Refresh Public Key From Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="210"/>
+ <source>Mail Editor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="212"/>
+ <source>Open a new text editor for email.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="109"/>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="171"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="172"/>
+ <source>Check for updates from the Internet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="292"/>
+ <source>Checking for version updates when the application starts.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="304"/>
+ <source>GitHub</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="307"/>
+ <source>BKTUS.com</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="312"/>
+ <source>Update Checking API:</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GnupgTab</name>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Name</source>
<translation type="unfinished">Name</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Description</source>
<translation type="unfinished">Beschreibung</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Version</source>
<translation type="unfinished">Version</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Checksum</source>
<translation type="unfinished">Prüfsumme</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Binary Path</source>
<translation type="unfinished">Binärer Pfad</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="50"/>
+ <location filename="../GnupgTab.cpp" line="52"/>
<source>Components</source>
<translation type="unfinished">Komponenten</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="51"/>
+ <location filename="../GnupgTab.cpp" line="53"/>
<source>Directories</source>
<translation type="unfinished">Verzeichnisse</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="52"/>
+ <location filename="../GnupgTab.cpp" line="54"/>
<source>Options</source>
<translation type="unfinished">Optionen</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Directory Type</source>
<translation type="unfinished">Verzeichnis Typ</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Path</source>
<translation type="unfinished">Pfad</translation>
</message>
@@ -67,29 +356,230 @@
<translation type="obsolete">Konfigurationen</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Component</source>
<translation>Komponente</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Group</source>
<translation>Gruppe</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Key</source>
<translation type="unfinished">Schlüssel</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Default Value</source>
<translation>Standardwert</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="94"/>
+ <location filename="../GnupgTab.cpp" line="97"/>
<source>Value</source>
<translation type="unfinished">Wert</translation>
</message>
</context>
+<context>
+ <name>SearchKeyDialog</name>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>UID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Creation Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Expiration Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Key Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="68"/>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="71"/>
+ <source>By Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="72"/>
+ <source>By Email</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="73"/>
+ <source>By Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="108"/>
+ <source>Search value is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="124"/>
+ <source>Key server URL is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="133"/>
+ <source>Invalid key server URL format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="146"/>
+ <source>Invalid email format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="159"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="173"/>
+ <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="../../m_key_server_sync/SearchKeyDialog.cpp" line="179"/>
+ <source>Unknown search type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="289"/>
+ <source>No GPG context is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UpdateTab</name>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="44"/>
+ <source>Current Version Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="47"/>
+ <source>Current Version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="48"/>
+ <source>: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="56"/>
+ <source>Upgrade Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="70"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="74"/>
+ <source>Release Notes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="116"/>
+ <source>Unable to retrieve the latest version information. This may be due to a network issue or the server being unavailable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="119"/>
+ <source>Please check your internet connection or try again later.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="120"/>
+ <source>Alternatively, you can visit the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="123"/>
+ <source>official download page</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="124"/>
+ <source>to check for the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="154"/>
+ <source>Latest Version From %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="160"/>
+ <source>Your current version is outdated.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="161"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="175"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="186"/>
+ <source>Click</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="189"/>
+ <source>here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <source>to download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="172"/>
+ <source>This version is either withdrawn due to critical issues or is an unreleased build. Please stop using it and download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="184"/>
+ <source>The commit hash for this build was not found in the official repository. This may indicate a modified or unofficial version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="190"/>
+ <source>to verify your installation or download the official build.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="196"/>
+ <source>You are using the latest version. No action is required.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.en_US.ts b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.en_US.ts
index 4394959..71a0a8d 100644
--- a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.en_US.ts
+++ b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.en_US.ts
@@ -2,90 +2,580 @@
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
+ <name>EMailMetaDataDialog</name>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="196"/>
+ <source>The &apos;From&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="198"/>
+ <source>The &apos;From&apos; field must contain a valid email address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="202"/>
+ <source>The &apos;To&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="206"/>
+ <source>One or more &apos;To&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="213"/>
+ <source>One or more &apos;CC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="221"/>
+ <source>One or more &apos;BCC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="227"/>
+ <source>The &apos;Subject&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EMailModule</name>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="109"/>
+ <source># EML Data Error
+
+The provided EML data does not conform to RFC 3156 standards and cannot be processed.
+
+**Details:** %1
+
+### What is EML Data?
+EML is a file format for representing email messages, typically including headers, body text, attachments, and metadata. Complete and properly structured EML data is required for validation.
+
+### Suggested Solutions
+1. Verify the EML data is complete and matches the structure outlined in RFC 3156.
+2. Refer to the official documentation for the EML structure: %2
+
+After correcting the EML data, try the operation again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="134"/>
+ <source># Email Operation Error
+
+An error occurred during the email operation. The process could not be completed.
+
+**Details:**
+- **Error Code:** %1
+- **Error Message:** %2
+
+### Possible Causes
+1. The email data may be incomplete or corrupted.
+2. The selected GPG key does not have the necessary permissions.
+3. Issues in the GPG environment or configuration.
+
+### Suggested Solutions
+1. Ensure the email data is complete and follows the expected format.
+2. Verify the GPG key has the required access permissions.
+3. Check your GPG environment and configuration settings.
+4. Review the error details above or application logs for further troubleshooting.
+
+If the issue persists, consider seeking technical support or consulting the documentation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="301"/>
+ <location filename="../../m_email/EMailModule.cpp" line="421"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1041"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="304"/>
+ <location filename="../../m_email/EMailModule.cpp" line="424"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1044"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="308"/>
+ <location filename="../../m_email/EMailModule.cpp" line="428"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1048"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="311"/>
+ <location filename="../../m_email/EMailModule.cpp" line="431"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1051"/>
+ <source>CC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="314"/>
+ <location filename="../../m_email/EMailModule.cpp" line="434"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1054"/>
+ <source>BCC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="317"/>
+ <location filename="../../m_email/EMailModule.cpp" line="437"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1057"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="325"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1065"/>
+ <source>Signed EML Data Hash (SHA1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="330"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1070"/>
+ <source>Message Integrity Check Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1120"/>
+ <source>Save file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1147"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1192"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1219"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1148"/>
+ <source>Cannot read file%1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1193"/>
+ <source>The file %1 is too large (%2 bytes) to be opened. The maximum allowed size is 1 MB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1220"/>
+ <source>Cannot read file %1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>GTrC</name>
<message>
- <location filename="../GnuPGInfoGatheringModule.cpp" line="76"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="103"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="173"/>
<source>GnuPG</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="175"/>
+ <source>Information about GnuPG</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="88"/>
+ <source>The following email addresses have status:
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="98"/>
+ <source>Could not parse status information.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="105"/>
+ <source>Public Key Upload Successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="106"/>
+ <source>The public key was successfully uploaded to the key server keys.openpgp.org.
+Fingerprint: %1
+
+%2
+Please check your email (%3) for further verification from keys.openpgp.org.
+
+Note: For verification, you can find more information here: https://keys.openpgp.org/about</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="124"/>
+ <source>Key Upload Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="125"/>
+ <source>Failed to upload public key to the server.
+Fingerprint: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="157"/>
+ <source>Key Update Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="158"/>
+ <source>Failed to retrieve public key from the server.
+Key ID: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="210"/>
+ <source>Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="211"/>
+ <source>Import public keys from a trusted key server.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="259"/>
+ <source>Key Server Operations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="264"/>
+ <source>Publish Public Key to Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="272"/>
+ <source>Refresh Public Key From Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="210"/>
+ <source>Mail Editor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="212"/>
+ <source>Open a new text editor for email.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="109"/>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="171"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="172"/>
+ <source>Check for updates from the Internet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="292"/>
+ <source>Checking for version updates when the application starts.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="304"/>
+ <source>GitHub</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="307"/>
+ <source>BKTUS.com</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="312"/>
+ <source>Update Checking API:</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GnupgTab</name>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Description</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Binary Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="50"/>
+ <location filename="../GnupgTab.cpp" line="52"/>
<source>Components</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="51"/>
+ <location filename="../GnupgTab.cpp" line="53"/>
<source>Directories</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="52"/>
+ <location filename="../GnupgTab.cpp" line="54"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Directory Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Path</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Component</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Default Value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="94"/>
+ <location filename="../GnupgTab.cpp" line="97"/>
<source>Value</source>
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>SearchKeyDialog</name>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>UID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Creation Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Expiration Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Key Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="68"/>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="71"/>
+ <source>By Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="72"/>
+ <source>By Email</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="73"/>
+ <source>By Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="108"/>
+ <source>Search value is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="124"/>
+ <source>Key server URL is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="133"/>
+ <source>Invalid key server URL format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="146"/>
+ <source>Invalid email format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="159"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="173"/>
+ <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="../../m_key_server_sync/SearchKeyDialog.cpp" line="179"/>
+ <source>Unknown search type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="289"/>
+ <source>No GPG context is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UpdateTab</name>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="44"/>
+ <source>Current Version Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="47"/>
+ <source>Current Version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="48"/>
+ <source>: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="56"/>
+ <source>Upgrade Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="70"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="74"/>
+ <source>Release Notes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="116"/>
+ <source>Unable to retrieve the latest version information. This may be due to a network issue or the server being unavailable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="119"/>
+ <source>Please check your internet connection or try again later.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="120"/>
+ <source>Alternatively, you can visit the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="123"/>
+ <source>official download page</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="124"/>
+ <source>to check for the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="154"/>
+ <source>Latest Version From %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="160"/>
+ <source>Your current version is outdated.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="161"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="175"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="186"/>
+ <source>Click</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="189"/>
+ <source>here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <source>to download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="172"/>
+ <source>This version is either withdrawn due to critical issues or is an unreleased build. Please stop using it and download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="184"/>
+ <source>The commit hash for this build was not found in the official repository. This may indicate a modified or unofficial version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="190"/>
+ <source>to verify your installation or download the official build.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="196"/>
+ <source>You are using the latest version. No action is required.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.fr_FR.ts b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.fr_FR.ts
index 13bc2fe..cd5cc0f 100644
--- a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.fr_FR.ts
+++ b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.fr_FR.ts
@@ -2,63 +2,352 @@
<!DOCTYPE TS>
<TS version="2.1" language="fr_FR">
<context>
+ <name>EMailMetaDataDialog</name>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="196"/>
+ <source>The &apos;From&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="198"/>
+ <source>The &apos;From&apos; field must contain a valid email address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="202"/>
+ <source>The &apos;To&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="206"/>
+ <source>One or more &apos;To&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="213"/>
+ <source>One or more &apos;CC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="221"/>
+ <source>One or more &apos;BCC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="227"/>
+ <source>The &apos;Subject&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EMailModule</name>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="109"/>
+ <source># EML Data Error
+
+The provided EML data does not conform to RFC 3156 standards and cannot be processed.
+
+**Details:** %1
+
+### What is EML Data?
+EML is a file format for representing email messages, typically including headers, body text, attachments, and metadata. Complete and properly structured EML data is required for validation.
+
+### Suggested Solutions
+1. Verify the EML data is complete and matches the structure outlined in RFC 3156.
+2. Refer to the official documentation for the EML structure: %2
+
+After correcting the EML data, try the operation again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="134"/>
+ <source># Email Operation Error
+
+An error occurred during the email operation. The process could not be completed.
+
+**Details:**
+- **Error Code:** %1
+- **Error Message:** %2
+
+### Possible Causes
+1. The email data may be incomplete or corrupted.
+2. The selected GPG key does not have the necessary permissions.
+3. Issues in the GPG environment or configuration.
+
+### Suggested Solutions
+1. Ensure the email data is complete and follows the expected format.
+2. Verify the GPG key has the required access permissions.
+3. Check your GPG environment and configuration settings.
+4. Review the error details above or application logs for further troubleshooting.
+
+If the issue persists, consider seeking technical support or consulting the documentation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="301"/>
+ <location filename="../../m_email/EMailModule.cpp" line="421"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1041"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="304"/>
+ <location filename="../../m_email/EMailModule.cpp" line="424"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1044"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="308"/>
+ <location filename="../../m_email/EMailModule.cpp" line="428"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1048"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="311"/>
+ <location filename="../../m_email/EMailModule.cpp" line="431"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1051"/>
+ <source>CC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="314"/>
+ <location filename="../../m_email/EMailModule.cpp" line="434"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1054"/>
+ <source>BCC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="317"/>
+ <location filename="../../m_email/EMailModule.cpp" line="437"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1057"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="325"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1065"/>
+ <source>Signed EML Data Hash (SHA1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="330"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1070"/>
+ <source>Message Integrity Check Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1120"/>
+ <source>Save file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1147"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1192"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1219"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1148"/>
+ <source>Cannot read file%1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1193"/>
+ <source>The file %1 is too large (%2 bytes) to be opened. The maximum allowed size is 1 MB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1220"/>
+ <source>Cannot read file %1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>GTrC</name>
<message>
- <location filename="../GnuPGInfoGatheringModule.cpp" line="76"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="103"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="173"/>
<source>GnuPG</source>
<translation type="unfinished">GnuPG</translation>
</message>
+ <message>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="175"/>
+ <source>Information about GnuPG</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="88"/>
+ <source>The following email addresses have status:
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="98"/>
+ <source>Could not parse status information.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="105"/>
+ <source>Public Key Upload Successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="106"/>
+ <source>The public key was successfully uploaded to the key server keys.openpgp.org.
+Fingerprint: %1
+
+%2
+Please check your email (%3) for further verification from keys.openpgp.org.
+
+Note: For verification, you can find more information here: https://keys.openpgp.org/about</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="124"/>
+ <source>Key Upload Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="125"/>
+ <source>Failed to upload public key to the server.
+Fingerprint: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="157"/>
+ <source>Key Update Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="158"/>
+ <source>Failed to retrieve public key from the server.
+Key ID: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="210"/>
+ <source>Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="211"/>
+ <source>Import public keys from a trusted key server.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="259"/>
+ <source>Key Server Operations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="264"/>
+ <source>Publish Public Key to Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="272"/>
+ <source>Refresh Public Key From Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="210"/>
+ <source>Mail Editor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="212"/>
+ <source>Open a new text editor for email.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="109"/>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="171"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="172"/>
+ <source>Check for updates from the Internet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="292"/>
+ <source>Checking for version updates when the application starts.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="304"/>
+ <source>GitHub</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="307"/>
+ <source>BKTUS.com</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="312"/>
+ <source>Update Checking API:</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GnupgTab</name>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Name</source>
<translation type="unfinished">Nom</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Description</source>
<translation type="unfinished">Description</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Version</source>
<translation type="unfinished">Version</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Checksum</source>
<translation type="unfinished">Somme de contrôle</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Binary Path</source>
<translation type="unfinished">Chemin binaire</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="50"/>
+ <location filename="../GnupgTab.cpp" line="52"/>
<source>Components</source>
<translation type="unfinished">Composants</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="51"/>
+ <location filename="../GnupgTab.cpp" line="53"/>
<source>Directories</source>
<translation type="unfinished">Annuaires</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="52"/>
+ <location filename="../GnupgTab.cpp" line="54"/>
<source>Options</source>
<translation type="unfinished">Options</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Directory Type</source>
<translation type="unfinished">Type de répertoire</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Path</source>
<translation type="unfinished">Chemin d&apos;accès</translation>
</message>
@@ -67,29 +356,230 @@
<translation type="obsolete">Configurations</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Component</source>
<translation type="unfinished">Composant</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Group</source>
<translation type="unfinished">Groupe</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Key</source>
<translation type="unfinished">Clé</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Default Value</source>
<translation type="unfinished">Valeur par défaut</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="94"/>
+ <location filename="../GnupgTab.cpp" line="97"/>
<source>Value</source>
<translation type="unfinished">Valeur</translation>
</message>
</context>
+<context>
+ <name>SearchKeyDialog</name>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>UID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Creation Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Expiration Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Key Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="68"/>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="71"/>
+ <source>By Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="72"/>
+ <source>By Email</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="73"/>
+ <source>By Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="108"/>
+ <source>Search value is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="124"/>
+ <source>Key server URL is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="133"/>
+ <source>Invalid key server URL format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="146"/>
+ <source>Invalid email format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="159"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="173"/>
+ <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="../../m_key_server_sync/SearchKeyDialog.cpp" line="179"/>
+ <source>Unknown search type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="289"/>
+ <source>No GPG context is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UpdateTab</name>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="44"/>
+ <source>Current Version Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="47"/>
+ <source>Current Version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="48"/>
+ <source>: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="56"/>
+ <source>Upgrade Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="70"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="74"/>
+ <source>Release Notes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="116"/>
+ <source>Unable to retrieve the latest version information. This may be due to a network issue or the server being unavailable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="119"/>
+ <source>Please check your internet connection or try again later.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="120"/>
+ <source>Alternatively, you can visit the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="123"/>
+ <source>official download page</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="124"/>
+ <source>to check for the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="154"/>
+ <source>Latest Version From %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="160"/>
+ <source>Your current version is outdated.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="161"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="175"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="186"/>
+ <source>Click</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="189"/>
+ <source>here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <source>to download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="172"/>
+ <source>This version is either withdrawn due to critical issues or is an unreleased build. Please stop using it and download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="184"/>
+ <source>The commit hash for this build was not found in the official repository. This may indicate a modified or unofficial version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="190"/>
+ <source>to verify your installation or download the official build.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="196"/>
+ <source>You are using the latest version. No action is required.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.it_iT.ts b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.it_iT.ts
index d35e0bb..834cc48 100644
--- a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.it_iT.ts
+++ b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.it_iT.ts
@@ -2,63 +2,352 @@
<!DOCTYPE TS>
<TS version="2.1" language="it_IT">
<context>
+ <name>EMailMetaDataDialog</name>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="196"/>
+ <source>The &apos;From&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="198"/>
+ <source>The &apos;From&apos; field must contain a valid email address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="202"/>
+ <source>The &apos;To&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="206"/>
+ <source>One or more &apos;To&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="213"/>
+ <source>One or more &apos;CC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="221"/>
+ <source>One or more &apos;BCC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="227"/>
+ <source>The &apos;Subject&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EMailModule</name>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="109"/>
+ <source># EML Data Error
+
+The provided EML data does not conform to RFC 3156 standards and cannot be processed.
+
+**Details:** %1
+
+### What is EML Data?
+EML is a file format for representing email messages, typically including headers, body text, attachments, and metadata. Complete and properly structured EML data is required for validation.
+
+### Suggested Solutions
+1. Verify the EML data is complete and matches the structure outlined in RFC 3156.
+2. Refer to the official documentation for the EML structure: %2
+
+After correcting the EML data, try the operation again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="134"/>
+ <source># Email Operation Error
+
+An error occurred during the email operation. The process could not be completed.
+
+**Details:**
+- **Error Code:** %1
+- **Error Message:** %2
+
+### Possible Causes
+1. The email data may be incomplete or corrupted.
+2. The selected GPG key does not have the necessary permissions.
+3. Issues in the GPG environment or configuration.
+
+### Suggested Solutions
+1. Ensure the email data is complete and follows the expected format.
+2. Verify the GPG key has the required access permissions.
+3. Check your GPG environment and configuration settings.
+4. Review the error details above or application logs for further troubleshooting.
+
+If the issue persists, consider seeking technical support or consulting the documentation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="301"/>
+ <location filename="../../m_email/EMailModule.cpp" line="421"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1041"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="304"/>
+ <location filename="../../m_email/EMailModule.cpp" line="424"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1044"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="308"/>
+ <location filename="../../m_email/EMailModule.cpp" line="428"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1048"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="311"/>
+ <location filename="../../m_email/EMailModule.cpp" line="431"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1051"/>
+ <source>CC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="314"/>
+ <location filename="../../m_email/EMailModule.cpp" line="434"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1054"/>
+ <source>BCC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="317"/>
+ <location filename="../../m_email/EMailModule.cpp" line="437"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1057"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="325"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1065"/>
+ <source>Signed EML Data Hash (SHA1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="330"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1070"/>
+ <source>Message Integrity Check Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1120"/>
+ <source>Save file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1147"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1192"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1219"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1148"/>
+ <source>Cannot read file%1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1193"/>
+ <source>The file %1 is too large (%2 bytes) to be opened. The maximum allowed size is 1 MB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1220"/>
+ <source>Cannot read file %1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>GTrC</name>
<message>
- <location filename="../GnuPGInfoGatheringModule.cpp" line="76"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="103"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="173"/>
<source>GnuPG</source>
<translation type="unfinished">GnuPG</translation>
</message>
+ <message>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="175"/>
+ <source>Information about GnuPG</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="88"/>
+ <source>The following email addresses have status:
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="98"/>
+ <source>Could not parse status information.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="105"/>
+ <source>Public Key Upload Successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="106"/>
+ <source>The public key was successfully uploaded to the key server keys.openpgp.org.
+Fingerprint: %1
+
+%2
+Please check your email (%3) for further verification from keys.openpgp.org.
+
+Note: For verification, you can find more information here: https://keys.openpgp.org/about</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="124"/>
+ <source>Key Upload Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="125"/>
+ <source>Failed to upload public key to the server.
+Fingerprint: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="157"/>
+ <source>Key Update Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="158"/>
+ <source>Failed to retrieve public key from the server.
+Key ID: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="210"/>
+ <source>Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="211"/>
+ <source>Import public keys from a trusted key server.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="259"/>
+ <source>Key Server Operations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="264"/>
+ <source>Publish Public Key to Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="272"/>
+ <source>Refresh Public Key From Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="210"/>
+ <source>Mail Editor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="212"/>
+ <source>Open a new text editor for email.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="109"/>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="171"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="172"/>
+ <source>Check for updates from the Internet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="292"/>
+ <source>Checking for version updates when the application starts.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="304"/>
+ <source>GitHub</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="307"/>
+ <source>BKTUS.com</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="312"/>
+ <source>Update Checking API:</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GnupgTab</name>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Name</source>
<translation type="unfinished">Nome</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Description</source>
<translation type="unfinished">Descrizione</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Version</source>
<translation type="unfinished">Versione</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Checksum</source>
<translation type="unfinished">Somma di controllo</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Binary Path</source>
<translation type="unfinished">Percorso binario</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="50"/>
+ <location filename="../GnupgTab.cpp" line="52"/>
<source>Components</source>
<translation type="unfinished">Componenti</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="51"/>
+ <location filename="../GnupgTab.cpp" line="53"/>
<source>Directories</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="52"/>
+ <location filename="../GnupgTab.cpp" line="54"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Directory Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Path</source>
<translation type="unfinished"></translation>
</message>
@@ -67,29 +356,230 @@
<translation type="obsolete">Configurazioni</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Component</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Key</source>
<translation type="unfinished">Chiave</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Default Value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="94"/>
+ <location filename="../GnupgTab.cpp" line="97"/>
<source>Value</source>
<translation type="unfinished">Valore</translation>
</message>
</context>
+<context>
+ <name>SearchKeyDialog</name>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>UID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Creation Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Expiration Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Key Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="68"/>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="71"/>
+ <source>By Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="72"/>
+ <source>By Email</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="73"/>
+ <source>By Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="108"/>
+ <source>Search value is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="124"/>
+ <source>Key server URL is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="133"/>
+ <source>Invalid key server URL format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="146"/>
+ <source>Invalid email format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="159"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="173"/>
+ <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="../../m_key_server_sync/SearchKeyDialog.cpp" line="179"/>
+ <source>Unknown search type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="289"/>
+ <source>No GPG context is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UpdateTab</name>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="44"/>
+ <source>Current Version Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="47"/>
+ <source>Current Version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="48"/>
+ <source>: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="56"/>
+ <source>Upgrade Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="70"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="74"/>
+ <source>Release Notes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="116"/>
+ <source>Unable to retrieve the latest version information. This may be due to a network issue or the server being unavailable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="119"/>
+ <source>Please check your internet connection or try again later.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="120"/>
+ <source>Alternatively, you can visit the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="123"/>
+ <source>official download page</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="124"/>
+ <source>to check for the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="154"/>
+ <source>Latest Version From %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="160"/>
+ <source>Your current version is outdated.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="161"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="175"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="186"/>
+ <source>Click</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="189"/>
+ <source>here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <source>to download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="172"/>
+ <source>This version is either withdrawn due to critical issues or is an unreleased build. Please stop using it and download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="184"/>
+ <source>The commit hash for this build was not found in the official repository. This may indicate a modified or unofficial version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="190"/>
+ <source>to verify your installation or download the official build.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="196"/>
+ <source>You are using the latest version. No action is required.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_CN.ts b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_CN.ts
index be9bc55..baf484d 100644
--- a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_CN.ts
+++ b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_CN.ts
@@ -2,90 +2,580 @@
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
+ <name>EMailMetaDataDialog</name>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="196"/>
+ <source>The &apos;From&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="198"/>
+ <source>The &apos;From&apos; field must contain a valid email address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="202"/>
+ <source>The &apos;To&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="206"/>
+ <source>One or more &apos;To&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="213"/>
+ <source>One or more &apos;CC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="221"/>
+ <source>One or more &apos;BCC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="227"/>
+ <source>The &apos;Subject&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EMailModule</name>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="109"/>
+ <source># EML Data Error
+
+The provided EML data does not conform to RFC 3156 standards and cannot be processed.
+
+**Details:** %1
+
+### What is EML Data?
+EML is a file format for representing email messages, typically including headers, body text, attachments, and metadata. Complete and properly structured EML data is required for validation.
+
+### Suggested Solutions
+1. Verify the EML data is complete and matches the structure outlined in RFC 3156.
+2. Refer to the official documentation for the EML structure: %2
+
+After correcting the EML data, try the operation again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="134"/>
+ <source># Email Operation Error
+
+An error occurred during the email operation. The process could not be completed.
+
+**Details:**
+- **Error Code:** %1
+- **Error Message:** %2
+
+### Possible Causes
+1. The email data may be incomplete or corrupted.
+2. The selected GPG key does not have the necessary permissions.
+3. Issues in the GPG environment or configuration.
+
+### Suggested Solutions
+1. Ensure the email data is complete and follows the expected format.
+2. Verify the GPG key has the required access permissions.
+3. Check your GPG environment and configuration settings.
+4. Review the error details above or application logs for further troubleshooting.
+
+If the issue persists, consider seeking technical support or consulting the documentation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="301"/>
+ <location filename="../../m_email/EMailModule.cpp" line="421"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1041"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="304"/>
+ <location filename="../../m_email/EMailModule.cpp" line="424"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1044"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="308"/>
+ <location filename="../../m_email/EMailModule.cpp" line="428"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1048"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="311"/>
+ <location filename="../../m_email/EMailModule.cpp" line="431"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1051"/>
+ <source>CC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="314"/>
+ <location filename="../../m_email/EMailModule.cpp" line="434"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1054"/>
+ <source>BCC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="317"/>
+ <location filename="../../m_email/EMailModule.cpp" line="437"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1057"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="325"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1065"/>
+ <source>Signed EML Data Hash (SHA1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="330"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1070"/>
+ <source>Message Integrity Check Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1120"/>
+ <source>Save file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1147"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1192"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1219"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1148"/>
+ <source>Cannot read file%1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1193"/>
+ <source>The file %1 is too large (%2 bytes) to be opened. The maximum allowed size is 1 MB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1220"/>
+ <source>Cannot read file %1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>GTrC</name>
<message>
- <location filename="../GnuPGInfoGatheringModule.cpp" line="76"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="103"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="173"/>
<source>GnuPG</source>
<translation type="unfinished">GnuPG</translation>
</message>
+ <message>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="175"/>
+ <source>Information about GnuPG</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="88"/>
+ <source>The following email addresses have status:
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="98"/>
+ <source>Could not parse status information.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="105"/>
+ <source>Public Key Upload Successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="106"/>
+ <source>The public key was successfully uploaded to the key server keys.openpgp.org.
+Fingerprint: %1
+
+%2
+Please check your email (%3) for further verification from keys.openpgp.org.
+
+Note: For verification, you can find more information here: https://keys.openpgp.org/about</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="124"/>
+ <source>Key Upload Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="125"/>
+ <source>Failed to upload public key to the server.
+Fingerprint: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="157"/>
+ <source>Key Update Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="158"/>
+ <source>Failed to retrieve public key from the server.
+Key ID: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="210"/>
+ <source>Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="211"/>
+ <source>Import public keys from a trusted key server.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="259"/>
+ <source>Key Server Operations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="264"/>
+ <source>Publish Public Key to Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="272"/>
+ <source>Refresh Public Key From Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="210"/>
+ <source>Mail Editor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="212"/>
+ <source>Open a new text editor for email.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="109"/>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="171"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="172"/>
+ <source>Check for updates from the Internet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="292"/>
+ <source>Checking for version updates when the application starts.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="304"/>
+ <source>GitHub</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="307"/>
+ <source>BKTUS.com</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="312"/>
+ <source>Update Checking API:</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GnupgTab</name>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Name</source>
<translation type="unfinished">名称</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Description</source>
<translation type="unfinished">含义</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Version</source>
<translation type="unfinished">版本</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Checksum</source>
<translation type="unfinished">校验和</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Binary Path</source>
<translation type="unfinished">二进制文件路径</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="50"/>
+ <location filename="../GnupgTab.cpp" line="52"/>
<source>Components</source>
<translation type="unfinished">组件</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="51"/>
+ <location filename="../GnupgTab.cpp" line="53"/>
<source>Directories</source>
<translation type="unfinished">目录</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="52"/>
+ <location filename="../GnupgTab.cpp" line="54"/>
<source>Options</source>
<translation type="unfinished">选项</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Directory Type</source>
<translation type="unfinished">目录类型</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Path</source>
<translation type="unfinished">路径</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Component</source>
<translation type="unfinished">组件</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Group</source>
<translation type="unfinished">组</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Key</source>
<translation type="unfinished">键</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Default Value</source>
<translation type="unfinished">默认值</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="94"/>
+ <location filename="../GnupgTab.cpp" line="97"/>
<source>Value</source>
<translation type="unfinished">值</translation>
</message>
</context>
+<context>
+ <name>SearchKeyDialog</name>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>UID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Creation Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Expiration Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Key Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="68"/>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="71"/>
+ <source>By Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="72"/>
+ <source>By Email</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="73"/>
+ <source>By Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="108"/>
+ <source>Search value is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="124"/>
+ <source>Key server URL is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="133"/>
+ <source>Invalid key server URL format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="146"/>
+ <source>Invalid email format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="159"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="173"/>
+ <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="../../m_key_server_sync/SearchKeyDialog.cpp" line="179"/>
+ <source>Unknown search type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="289"/>
+ <source>No GPG context is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UpdateTab</name>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="44"/>
+ <source>Current Version Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="47"/>
+ <source>Current Version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="48"/>
+ <source>: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="56"/>
+ <source>Upgrade Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="70"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="74"/>
+ <source>Release Notes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="116"/>
+ <source>Unable to retrieve the latest version information. This may be due to a network issue or the server being unavailable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="119"/>
+ <source>Please check your internet connection or try again later.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="120"/>
+ <source>Alternatively, you can visit the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="123"/>
+ <source>official download page</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="124"/>
+ <source>to check for the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="154"/>
+ <source>Latest Version From %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="160"/>
+ <source>Your current version is outdated.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="161"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="175"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="186"/>
+ <source>Click</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="189"/>
+ <source>here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <source>to download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="172"/>
+ <source>This version is either withdrawn due to critical issues or is an unreleased build. Please stop using it and download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="184"/>
+ <source>The commit hash for this build was not found in the official repository. This may indicate a modified or unofficial version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="190"/>
+ <source>to verify your installation or download the official build.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="196"/>
+ <source>You are using the latest version. No action is required.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_TW.ts b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_TW.ts
index 71ba20c..911bb42 100644
--- a/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_TW.ts
+++ b/src/m_gpg_info/ts/ModuleGnuPGInfoGathering.zh_TW.ts
@@ -2,63 +2,352 @@
<!DOCTYPE TS>
<TS version="2.1" language="zh_TW">
<context>
+ <name>EMailMetaDataDialog</name>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="196"/>
+ <source>The &apos;From&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="198"/>
+ <source>The &apos;From&apos; field must contain a valid email address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="202"/>
+ <source>The &apos;To&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="206"/>
+ <source>One or more &apos;To&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="213"/>
+ <source>One or more &apos;CC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="221"/>
+ <source>One or more &apos;BCC&apos; addresses are invalid. Please separate multiple addresses with &quot;;&quot;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailMetaDataDialog.cpp" line="227"/>
+ <source>The &apos;Subject&apos; field cannot be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EMailModule</name>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="109"/>
+ <source># EML Data Error
+
+The provided EML data does not conform to RFC 3156 standards and cannot be processed.
+
+**Details:** %1
+
+### What is EML Data?
+EML is a file format for representing email messages, typically including headers, body text, attachments, and metadata. Complete and properly structured EML data is required for validation.
+
+### Suggested Solutions
+1. Verify the EML data is complete and matches the structure outlined in RFC 3156.
+2. Refer to the official documentation for the EML structure: %2
+
+After correcting the EML data, try the operation again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="134"/>
+ <source># Email Operation Error
+
+An error occurred during the email operation. The process could not be completed.
+
+**Details:**
+- **Error Code:** %1
+- **Error Message:** %2
+
+### Possible Causes
+1. The email data may be incomplete or corrupted.
+2. The selected GPG key does not have the necessary permissions.
+3. Issues in the GPG environment or configuration.
+
+### Suggested Solutions
+1. Ensure the email data is complete and follows the expected format.
+2. Verify the GPG key has the required access permissions.
+3. Check your GPG environment and configuration settings.
+4. Review the error details above or application logs for further troubleshooting.
+
+If the issue persists, consider seeking technical support or consulting the documentation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="301"/>
+ <location filename="../../m_email/EMailModule.cpp" line="421"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1041"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="304"/>
+ <location filename="../../m_email/EMailModule.cpp" line="424"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1044"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="308"/>
+ <location filename="../../m_email/EMailModule.cpp" line="428"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1048"/>
+ <source>Subject</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="311"/>
+ <location filename="../../m_email/EMailModule.cpp" line="431"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1051"/>
+ <source>CC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="314"/>
+ <location filename="../../m_email/EMailModule.cpp" line="434"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1054"/>
+ <source>BCC</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="317"/>
+ <location filename="../../m_email/EMailModule.cpp" line="437"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1057"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="325"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1065"/>
+ <source>Signed EML Data Hash (SHA1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="330"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1070"/>
+ <source>Message Integrity Check Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1120"/>
+ <source>Save file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1147"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1192"/>
+ <location filename="../../m_email/EMailModule.cpp" line="1219"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1148"/>
+ <source>Cannot read file%1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1193"/>
+ <source>The file %1 is too large (%2 bytes) to be opened. The maximum allowed size is 1 MB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="1220"/>
+ <source>Cannot read file %1:
+%2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>GTrC</name>
<message>
- <location filename="../GnuPGInfoGatheringModule.cpp" line="76"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="103"/>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="173"/>
<source>GnuPG</source>
<translation type="unfinished">GnuPG</translation>
</message>
+ <message>
+ <location filename="../GnuPGInfoGatheringModule.cpp" line="175"/>
+ <source>Information about GnuPG</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="88"/>
+ <source>The following email addresses have status:
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="98"/>
+ <source>Could not parse status information.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="105"/>
+ <source>Public Key Upload Successful</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="106"/>
+ <source>The public key was successfully uploaded to the key server keys.openpgp.org.
+Fingerprint: %1
+
+%2
+Please check your email (%3) for further verification from keys.openpgp.org.
+
+Note: For verification, you can find more information here: https://keys.openpgp.org/about</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="124"/>
+ <source>Key Upload Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="125"/>
+ <source>Failed to upload public key to the server.
+Fingerprint: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="157"/>
+ <source>Key Update Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="158"/>
+ <source>Failed to retrieve public key from the server.
+Key ID: %1
+Error: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="210"/>
+ <source>Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="211"/>
+ <source>Import public keys from a trusted key server.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="259"/>
+ <source>Key Server Operations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="264"/>
+ <source>Publish Public Key to Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/KeyServerSyncModule.cpp" line="272"/>
+ <source>Refresh Public Key From Key Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="210"/>
+ <source>Mail Editor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_email/EMailModule.cpp" line="212"/>
+ <source>Open a new text editor for email.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="109"/>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="171"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="172"/>
+ <source>Check for updates from the Internet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="292"/>
+ <source>Checking for version updates when the application starts.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="304"/>
+ <source>GitHub</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="307"/>
+ <source>BKTUS.com</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/VersionCheckingModule.cpp" line="312"/>
+ <source>Update Checking API:</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>GnupgTab</name>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Name</source>
<translation type="unfinished">姓名</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Description</source>
<translation type="unfinished">描述</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="47"/>
+ <location filename="../GnupgTab.cpp" line="49"/>
<source>Version</source>
<translation type="unfinished">版本</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Checksum</source>
<translation type="unfinished">校驗和</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="48"/>
+ <location filename="../GnupgTab.cpp" line="50"/>
<source>Binary Path</source>
<translation type="unfinished">二進制路徑</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="50"/>
+ <location filename="../GnupgTab.cpp" line="52"/>
<source>Components</source>
<translation type="unfinished">成分</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="51"/>
+ <location filename="../GnupgTab.cpp" line="53"/>
<source>Directories</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="52"/>
+ <location filename="../GnupgTab.cpp" line="54"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Directory Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="71"/>
+ <location filename="../GnupgTab.cpp" line="74"/>
<source>Path</source>
<translation type="unfinished"></translation>
</message>
@@ -67,29 +356,230 @@
<translation type="obsolete">配置</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Component</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Group</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="92"/>
+ <location filename="../GnupgTab.cpp" line="95"/>
<source>Key</source>
<translation type="unfinished">鑰匙</translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="93"/>
+ <location filename="../GnupgTab.cpp" line="96"/>
<source>Default Value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../GnupgTab.cpp" line="94"/>
+ <location filename="../GnupgTab.cpp" line="97"/>
<source>Value</source>
<translation type="unfinished">價值</translation>
</message>
</context>
+<context>
+ <name>SearchKeyDialog</name>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>UID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="66"/>
+ <source>Creation Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Expiration Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Algorithm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="67"/>
+ <source>Key Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="68"/>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="71"/>
+ <source>By Key ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="72"/>
+ <source>By Email</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="73"/>
+ <source>By Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="108"/>
+ <source>Search value is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="124"/>
+ <source>Key server URL is empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="133"/>
+ <source>Invalid key server URL format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="146"/>
+ <source>Invalid email format.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="159"/>
+ <source>Invalid fingerprint format. It should be a hex string of length 16 or 40.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="173"/>
+ <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="../../m_key_server_sync/SearchKeyDialog.cpp" line="179"/>
+ <source>Unknown search type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_key_server_sync/SearchKeyDialog.cpp" line="289"/>
+ <source>No GPG context is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UpdateTab</name>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="44"/>
+ <source>Current Version Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="47"/>
+ <source>Current Version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="48"/>
+ <source>: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="56"/>
+ <source>Upgrade Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="70"/>
+ <source>Check for Updates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="74"/>
+ <source>Release Notes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="116"/>
+ <source>Unable to retrieve the latest version information. This may be due to a network issue or the server being unavailable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="119"/>
+ <source>Please check your internet connection or try again later.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="120"/>
+ <source>Alternatively, you can visit the</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="123"/>
+ <source>official download page</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="124"/>
+ <source>to check for the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="154"/>
+ <source>Latest Version From %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="160"/>
+ <source>Your current version is outdated.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="161"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="175"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="186"/>
+ <source>Click</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="189"/>
+ <source>here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="164"/>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="177"/>
+ <source>to download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="172"/>
+ <source>This version is either withdrawn due to critical issues or is an unreleased build. Please stop using it and download the latest version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="184"/>
+ <source>The commit hash for this build was not found in the official repository. This may indicate a modified or unofficial version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="190"/>
+ <source>to verify your installation or download the official build.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../m_ver_check/UpdateTab.cpp" line="196"/>
+ <source>You are using the latest version. No action is required.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>