aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2026-09-27 23:34:07 +0200
committersaturneric <[email protected]>2026-09-27 23:34:07 +0200
commit41d44dd042980740302d0090ec08f194681ba03e (patch)
treeee23a7e16772aa1b2e0524c8a9dce1c0e74d04cd
parenti18n(gpg-info): update GnuPG translation contexts (diff)
downloadmodules-41d44dd042980740302d0090ec08f194681ba03e.tar.gz
modules-41d44dd042980740302d0090ec08f194681ba03e.zip
fix(im): include generated headers in tests
- add the binary module directory to test include paths - add unfinished IM translation entries for all supported locales
-rw-r--r--src/m_im/test/CMakeLists.txt4
-rw-r--r--src/m_im/ts/ModuleIM.de_DE.ts269
-rw-r--r--src/m_im/ts/ModuleIM.en_US.ts269
-rw-r--r--src/m_im/ts/ModuleIM.es_ES.ts269
-rw-r--r--src/m_im/ts/ModuleIM.fr_FR.ts269
-rw-r--r--src/m_im/ts/ModuleIM.it_IT.ts269
-rw-r--r--src/m_im/ts/ModuleIM.pl_PL.ts269
-rw-r--r--src/m_im/ts/ModuleIM.ru_RU.ts269
-rw-r--r--src/m_im/ts/ModuleIM.zh_CN.ts269
-rw-r--r--src/m_im/ts/ModuleIM.zh_TW.ts269
10 files changed, 2424 insertions, 1 deletions
diff --git a/src/m_im/test/CMakeLists.txt b/src/m_im/test/CMakeLists.txt
index 46d9d25..5d92574 100644
--- a/src/m_im/test/CMakeLists.txt
+++ b/src/m_im/test/CMakeLists.txt
@@ -44,7 +44,9 @@ add_executable(gf_mod_im_test
${CMAKE_CURRENT_SOURCE_DIR}/../ImCodec.cpp)
target_include_directories(gf_mod_im_test PRIVATE
- "${CMAKE_CURRENT_SOURCE_DIR}/..")
+ "${CMAKE_CURRENT_SOURCE_DIR}/.."
+ # GFModuleTr.h, generated by gf_add_module() beside the module.
+ "${CMAKE_CURRENT_BINARY_DIR}/..")
# The fixtures were written by the core implementation the module replaced.
target_compile_definitions(gf_mod_im_test PRIVATE
diff --git a/src/m_im/ts/ModuleIM.de_DE.ts b/src/m_im/ts/ModuleIM.de_DE.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.de_DE.ts
+++ b/src/m_im/ts/ModuleIM.de_DE.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_im/ts/ModuleIM.en_US.ts b/src/m_im/ts/ModuleIM.en_US.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.en_US.ts
+++ b/src/m_im/ts/ModuleIM.en_US.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_im/ts/ModuleIM.es_ES.ts b/src/m_im/ts/ModuleIM.es_ES.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.es_ES.ts
+++ b/src/m_im/ts/ModuleIM.es_ES.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_im/ts/ModuleIM.fr_FR.ts b/src/m_im/ts/ModuleIM.fr_FR.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.fr_FR.ts
+++ b/src/m_im/ts/ModuleIM.fr_FR.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_im/ts/ModuleIM.it_IT.ts b/src/m_im/ts/ModuleIM.it_IT.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.it_IT.ts
+++ b/src/m_im/ts/ModuleIM.it_IT.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_im/ts/ModuleIM.pl_PL.ts b/src/m_im/ts/ModuleIM.pl_PL.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.pl_PL.ts
+++ b/src/m_im/ts/ModuleIM.pl_PL.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_im/ts/ModuleIM.ru_RU.ts b/src/m_im/ts/ModuleIM.ru_RU.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.ru_RU.ts
+++ b/src/m_im/ts/ModuleIM.ru_RU.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_im/ts/ModuleIM.zh_CN.ts b/src/m_im/ts/ModuleIM.zh_CN.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.zh_CN.ts
+++ b/src/m_im/ts/ModuleIM.zh_CN.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/src/m_im/ts/ModuleIM.zh_TW.ts b/src/m_im/ts/ModuleIM.zh_TW.ts
index 6401616..c4dde49 100644
--- a/src/m_im/ts/ModuleIM.zh_TW.ts
+++ b/src/m_im/ts/ModuleIM.zh_TW.ts
@@ -1,4 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
+<context>
+ <name>ModuleIM</name>
+ <message>
+ <location filename="../ImCodec.cpp" line="58"/>
+ <source>Encoding</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="59"/>
+ <source>Container Format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="61"/>
+ <source>Message Book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="62"/>
+ <source>Shared phrase (Argon2id)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="63"/>
+ <source>Default, no shared phrase set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="67"/>
+ <location filename="../ImSettingsPage.cpp" line="158"/>
+ <source>Book Fingerprint</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Set a Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="69"/>
+ <source>Settings &gt; Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>OpenPGP Payload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="72"/>
+ <source>%1 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>Token Length</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="75"/>
+ <source>%1 characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="82"/>
+ <source>Wire Overhead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="87"/>
+ <location filename="../ImModule.cpp" line="249"/>
+ <source>Instant Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="96"/>
+ <source>An Instant Messaging section followed by the OpenPGP result.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="126"/>
+ <source>This message is too long to send as an instant message.
+
+The encrypted message is %1 bytes, and the instant-messaging format carries at most %2. Shorten the text, or send it as a normal OpenPGP message instead.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImCodec.cpp" line="138"/>
+ <source>Failed to prepare the instant message: the encrypted message could not be converted into a token.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="85"/>
+ <location filename="../ImModule.cpp" line="98"/>
+ <source>Instant Message Token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="86"/>
+ <source>Recognise and unwrap instant messaging tokens before decrypting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="99"/>
+ <source>Wrap an encrypted message as an instant messaging token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="134"/>
+ <source>No Message Book Phrase Set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="135"/>
+ <source>You have not set a Message Book phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="136"/>
+ <source>Instant messages are hidden using a shared &quot;Message Book&quot;. Without a phrase, GpgFrontend falls back to the built-in default book and that book ships in every copy of the program. It hides the format from a simple scanner, but anyone who knows GpgFrontend can still recognise your message for what it is.
+
+Your message is OpenPGP-encrypted either way; what is at stake here is only whether it is recognisable as an encrypted message at all.
+
+To get that, set a phrase and share it privately with the person you are writing to. You must both use exactly the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="148"/>
+ <source>Open Settings...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="150"/>
+ <source>Continue with Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="151"/>
+ <source>Continue, Don&apos;t Ask Again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="181"/>
+ <source>IM Encrypt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="182"/>
+ <source>Encrypt the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="194"/>
+ <source>IM Encrypt &amp;&amp; Sign</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="195"/>
+ <source>Encrypt and sign the message as a single-line token for chat apps</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImModule.cpp" line="250"/>
+ <source>instant messaging,message book,phrase,fingerprint,token</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="73"/>
+ <source>Message Book Phrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="77"/>
+ <source>A long secret you share with one friend. It makes your messages look like random text, so nobody can tell they are PGP at all. You and your friend must use exactly the same phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="92"/>
+ <source>No phrase set. Messages use the built-in default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="108"/>
+ <source>Generate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="109"/>
+ <source>Create a new random phrase. Share it with your friend so you both use the same one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="120"/>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="121"/>
+ <source>Show or hide the phrase.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="125"/>
+ <location filename="../ImSettingsPage.cpp" line="177"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="126"/>
+ <source>Copy the phrase to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="130"/>
+ <source>Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="132"/>
+ <source>Replace the phrase with the one on the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="138"/>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="140"/>
+ <source>Remove the phrase and fall back to the default book.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="162"/>
+ <source>A short code made from your phrase. Read it out with your friend to be sure you both have the same one. Unlike the phrase, this code is safe to say out loud.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="179"/>
+ <source>Copy the fingerprint to the clipboard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="191"/>
+ <source>The phrase is stored in the encrypted cache, never in the settings file. Send it to your friend over a private channel.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="228"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="249"/>
+ <source>No phrase set. Using the built-in default.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="250"/>
+ <source>Phrase set. %1 characters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../ImSettingsPage.cpp" line="260"/>
+ <source>Calculating…</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>