diff --git a/resources/langs/nheko_cs.ts b/resources/langs/nheko_cs.ts
index 38443412..318ceb64 100644
--- a/resources/langs/nheko_cs.ts
+++ b/resources/langs/nheko_cs.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="cs">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+29"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-12"/>
+ <location line="-18"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation type="unfinished"></translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation type="unfinished"></translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished"></translation>
</message>
@@ -922,12 +1144,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -951,17 +1173,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -969,63 +1191,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
@@ -1035,25 +1268,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1112,9 +1340,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation type="unfinished"></translation>
</message>
@@ -1134,12 +1385,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1277,7 +1533,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1322,7 +1588,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation type="unfinished"></translation>
</message>
@@ -1342,22 +1608,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@@ -1404,6 +1680,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_de.ts b/resources/langs/nheko_de.ts
index 0958017f..7afd8c51 100644
--- a/resources/langs/nheko_de.ts
+++ b/resources/langs/nheko_de.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="de">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Abbrechen</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation>Du bist dem Raum beigetreten.</translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation>Nutzer konnte nicht eingeladen werden: %1</translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation>Eingeladener Benutzer: %1</translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation>Das Migrieren des Caches auf die aktuelle Version ist fehlgeschlagen. Das kann verschiedene Gründe als Ursache haben. Bitte melde den Fehler und verwende in der Zwischenzeit eine ältere Version. Alternativ kannst du das Cache manuell löschen.</translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation>Raum %1 erzeugt.</translation>
</message>
@@ -108,12 +154,12 @@
<translation>Verbannung von %1 wurde aufgehoben.</translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation>Medienupload fehlgeschlagen. Bitte versuche es erneut.</translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation>Cache migration fehlgeschlagen!</translation>
</message>
@@ -128,7 +174,7 @@
<translation>Der Cache auf der Festplatte wurde mit einer neueren Nheko - Version angelegt. Bitte aktualisiere Nheko oder entferne den Cache.</translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Wiederherstellung des OLM Accounts fehlgeschlagen. Bitte logge dich erneut ein.</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>Bitte melde dich erneut an: %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation>Konnte Raum nicht betreten: %1</translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation>Suche</translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation>Leute</translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation>Verschlüsselt</translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished">-- Verschlüsseltes Event (keine Schlüssel zur Entschlüsselung gefunden) --</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished">-- Entschlüsselungsfehler (Fehler bei Suche nach megolm Schlüsseln in Datenbank) --</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished">-- Entschlüsselungsfehler (%1) --</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished">-- Verschlüsseltes Event (Unbekannter Eventtyp) --</translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished">Schließen</translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -447,18 +575,18 @@ Beispiel: https://mein.server:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation>gelöscht</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation>Verschlüsselung aktiviert</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation>Raumname wurde gändert auf: %1</translation>
</message>
@@ -468,7 +596,7 @@ Beispiel: https://mein.server:8787</translation>
<translation>Raumname wurde entfernt</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation>Raumthema wurde geändert auf: %1</translation>
</message>
@@ -478,42 +606,93 @@ Beispiel: https://mein.server:8787</translation>
<translation>Raumthema wurde entfernt.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation>%1 hat den Raum erstellt: %2</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation>%1 hat den Anruf angenommen.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation>%1 hat den Anruf beendet.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Schreibe eine Nachricht…</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Abbrechen</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">Akzeptieren</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -522,6 +701,24 @@ Beispiel: https://mein.server:8787</translation>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -598,9 +795,17 @@ Beispiel: https://mein.server:8787</translation>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished">Schließen</translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation>keine Version gespeichert</translation>
</message>
@@ -660,7 +865,7 @@ Beispiel: https://mein.server:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Akzeptieren</translation>
</message>
@@ -701,30 +906,48 @@ Beispiel: https://mein.server:8787</translation>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation>Fehlgeschlagen</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation>Gesendet</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation>Empfangen</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation>Gelesen</translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished">Schließen</translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Versende Datei</translation>
</message>
@@ -745,7 +968,7 @@ Beispiel: https://mein.server:8787</translation>
<translation>Emoji</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Datei auswählen</translation>
</message>
@@ -755,7 +978,7 @@ Beispiel: https://mein.server:8787</translation>
<translation>Alle Dateien (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -773,20 +996,19 @@ Beispiel: https://mein.server:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation>Nachricht zurückziehen fehlgeschlagen: %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation>Bild speichern</translation>
</message>
@@ -925,12 +1147,12 @@ Beispiel: https://mein.server:8787</translation>
<translation>%1 hat das Anklopfen zurückgezogen.</translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation>Du bist dem Raum beigetreten.</translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation>Hat das Anklopfen von %1 abgewiesen.</translation>
</message>
@@ -954,17 +1176,17 @@ Beispiel: https://mein.server:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation>Antworten</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation>Optionen</translation>
</message>
@@ -972,63 +1194,74 @@ Beispiel: https://mein.server:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation>Antworten</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation>Lesebestätigungen</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation>Als gelesen markieren</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation>Zeige rohen Nachrichteninhalt</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation>Zeige rohen, entschlüsselten Nachrichteninhalt</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation>Nachricht löschen</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation>Speichern unter...</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation>Kein Raum geöffnet</translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished">Raumoptionen</translation>
</message>
@@ -1038,25 +1271,20 @@ Beispiel: https://mein.server:8787</translation>
<translation type="unfinished">Benutzer einladen</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">Teilnehmer</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">Raum verlassen</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">Einstellungen</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation>Schließen</translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1115,9 +1343,32 @@ Beispiel: https://mein.server:8787</translation>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Ins Benachrichtigungsfeld minimieren</translation>
</message>
@@ -1137,12 +1388,17 @@ Beispiel: https://mein.server:8787</translation>
<translation>Runde Profilbilder</translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1280,7 +1536,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation>Skalierungsfaktor</translation>
</message>
@@ -1325,7 +1591,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>Gerätefingerabdruck</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>Sitzungsschlüssel</translation>
</message>
@@ -1345,22 +1611,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>VERSCHLÜSSELUNG</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>ALLGEMEINES</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation>OBERFLÄCHE</translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation>Emojischriftart</translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>Öffne Sessions Datei</translation>
</message>
@@ -1407,6 +1683,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Abbrechen</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_el.ts b/resources/langs/nheko_el.ts
index d0a46653..d943c6f1 100644
--- a/resources/langs/nheko_el.ts
+++ b/resources/langs/nheko_el.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="el">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Άκυρο</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Γράψε ένα μήνυμα...</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Άκυρο</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">Αποδοχή</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Αποδοχή</translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Διάλεξε ένα αρχείο</translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation>Όλα τα αρχεία (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished">Αποθήκευση Εικόνας</translation>
</message>
@@ -921,12 +1143,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -950,17 +1172,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -968,63 +1190,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
@@ -1034,25 +1267,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished">Προσκάλεσε χρήστες</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">Μέλη</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">Βγές</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">Ρυθμίσεις</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1111,9 +1339,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Ελαχιστοποίηση</translation>
</message>
@@ -1133,12 +1384,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1276,7 +1532,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1321,7 +1587,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation type="unfinished"></translation>
</message>
@@ -1341,22 +1607,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>ΓΕΝΙΚΑ</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@@ -1403,6 +1679,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Άκυρο</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_en.ts b/resources/langs/nheko_en.ts
index bfbbd987..12e030b1 100644
--- a/resources/langs/nheko_en.ts
+++ b/resources/langs/nheko_en.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="en">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation>Initiating…</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation>Calling…</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation>Connecting…</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation>Unmute Mic</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation>Mute Mic</translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation>Awaiting Confirmation</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation>Waiting for other side to complete verification.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation>You joined this room.</translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation>Failed to invite user: %1</translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation>Invited user: %1</translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation>Room %1 created.</translation>
</message>
@@ -108,12 +154,12 @@
<translation>Unbanned user: %1</translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation>Failed to upload media. Please try again.</translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation>Cache migration failed!</translation>
</message>
@@ -128,7 +174,7 @@
<translation>The cache on your disk is newer than this version of Nheko supports. Please update or clear your cache.</translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Failed to restore OLM account. Please login again.</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>Please try to login again: %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation>Failed to join room: %1</translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation>Verification Code</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation>They do not match!</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation>They match!</translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation>Search</translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation>People</translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation>Verification Code</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation>They do not match!</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation>They match!</translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation>Encrypted</translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation>-- Encrypted Event (No keys found for decryption) --</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation>-- Decryption Error (failed to retrieve megolm keys from db) --</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation>-- Decryption Error (%1) --</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation>-- Encrypted Event (Unknown event type) --</translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation>Verification failed</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation>Other client does not support our verification protocol.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation>Key mismatch detected!</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation>Device verification timed out.</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation>Other party canceled the verification.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation>Close</translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -447,18 +575,18 @@ Example: https://server.my:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation>redacted</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation>Encryption enabled</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation>room name changed to: %1</translation>
</message>
@@ -468,7 +596,7 @@ Example: https://server.my:8787</translation>
<translation>removed room name</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation>topic changed to: %1</translation>
</message>
@@ -478,42 +606,93 @@ Example: https://server.my:8787</translation>
<translation>removed topic</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation>%1 created and configured room: %2</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation>%1 placed a voice call.</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation>%1 placed a video call.</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation>%1 placed a call.</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+29"/>
<source>Negotiating call...</source>
<translation>Negotiating call…</translation>
</message>
<message>
- <location line="-12"/>
+ <location line="-18"/>
<source>%1 answered the call.</source>
<translation>%1 answered the call.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation>%1 ended the call.</translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation>Write a message…</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation>Send Device Verification Request</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation>Received Device Verification Request</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation>The device was requested to be verified.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation>Deny</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation>Start verification</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation>Accept</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -522,6 +701,24 @@ Example: https://server.my:8787</translation>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation>profile</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation>profile name</translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -598,9 +795,17 @@ Example: https://server.my:8787</translation>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation>Close</translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation>no version stored</translation>
</message>
@@ -660,7 +865,7 @@ Example: https://server.my:8787</translation>
<translation>Tag:</translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Accept</translation>
</message>
@@ -701,30 +906,48 @@ Example: https://server.my:8787</translation>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation>Failed</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation>Sent</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation>Received</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation>Read</translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation>Successful Verification</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation>Verification successful! Both sides verified their devices!</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation>Close</translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Send a file</translation>
</message>
@@ -745,7 +968,7 @@ Example: https://server.my:8787</translation>
<translation>Emoji</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Select a file</translation>
</message>
@@ -755,7 +978,7 @@ Example: https://server.my:8787</translation>
<translation>All Files (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation>Place a call</translation>
</message>
@@ -773,20 +996,19 @@ Example: https://server.my:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation>Message redaction failed: %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation>Failed to encrypt event, sending aborted!</translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation>Save image</translation>
</message>
@@ -925,12 +1147,12 @@ Example: https://server.my:8787</translation>
<translation>%1 redacted their knock.</translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation>You joined this room.</translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation>Rejected the knock from %1.</translation>
</message>
@@ -954,17 +1176,17 @@ Example: https://server.my:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation>React</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation>Reply</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation>Options</translation>
</message>
@@ -972,63 +1194,74 @@ Example: https://server.my:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation>React</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation>Reply</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation>Read receipts</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation>Mark as read</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation>View raw message</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation>View decrypted raw message</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation>Redact message</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation>Save as</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation>No room open</translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation>No shared room with this user found. Create an encrypted room with this user and try again.</translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation>Back to room list</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation>No room selected</translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation>Room options</translation>
</message>
@@ -1038,25 +1271,20 @@ Example: https://server.my:8787</translation>
<translation>Invite users</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation>Members</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation>Leave room</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation>Close</translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1115,9 +1343,32 @@ Example: https://server.my:8787</translation>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation>Verify</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation>Ban the user</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation>Start a private chat</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation>Kick the user</translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Minimize to tray</translation>
</message>
@@ -1137,12 +1388,17 @@ Example: https://server.my:8787</translation>
<translation>Circular Avatars</translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation>profile: %1</translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation>CALLS</translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation>Keep the application running in the background after closing the client window.</translation>
</message>
@@ -1288,7 +1544,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>Make font size larger if messages with only a few emojis are displayed.</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation>Mobile mode</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation>Will prevent text selection in the timeline to make scrolling easier.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation>Scale factor</translation>
</message>
@@ -1333,7 +1599,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>Device Fingerprint</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>Session Keys</translation>
</message>
@@ -1353,22 +1619,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>ENCRYPTION</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>GENERAL</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation>INTERFACE</translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation>Emoji Font Family</translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation>Share keys with trusted users</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation>Automatically replies to key requests from other users, if they are verified.</translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>Open Sessions File</translation>
</message>
@@ -1415,6 +1691,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation>Waiting for other party…</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation>Waiting for other side to accept the verification request…</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation>Waiting for other side to continue the verification request…</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation>Waiting for other side to complete the verification request…</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_eo.ts b/resources/langs/nheko_eo.ts
index fafddab8..4e5a9bc4 100644
--- a/resources/langs/nheko_eo.ts
+++ b/resources/langs/nheko_eo.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="eo">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation>Vi aliĝis ĉi tiun ĉambron.</translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translatorcomment>I believe that the -at ending is correct here.</translatorcomment>
<translation>Ĉambro %1 farit.</translation>
@@ -109,12 +155,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -129,7 +175,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@@ -145,12 +191,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -211,6 +257,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -236,13 +305,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation>Trovu</translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation>Homoj</translation>
</message>
@@ -283,9 +352,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -298,25 +390,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -333,6 +427,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -448,18 +576,18 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation>Nomo da ĉambro ŝanĝiĝis al: %1</translation>
</message>
@@ -469,7 +597,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -479,42 +607,93 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Skribu mesaĝon...</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -523,6 +702,24 @@ Ekzemplo: https://servisto.mia:8787</translation>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -570,7 +767,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<message>
<location line="+17"/>
<source>REGISTER</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">REGISTRU</translation>
</message>
<message>
<location line="+55"/>
@@ -599,9 +796,17 @@ Ekzemplo: https://servisto.mia:8787</translation>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -662,7 +867,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation type="unfinished"></translation>
</message>
@@ -704,31 +909,49 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation>Estas malsukcesa</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation>Estas sendita</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation>Estas ricevita</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translatorcomment>Could this simply be "lega"?</translatorcomment>
<translation>Estas lega</translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Sendu dosieron</translation>
</message>
@@ -749,7 +972,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation type="unfinished"></translation>
</message>
@@ -759,7 +982,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation>Ĉiuj dosieroj (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -777,20 +1000,19 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished"></translation>
</message>
@@ -931,12 +1153,12 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation>Vi aliĝis ĉi tiun ĉambron.</translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -960,17 +1182,17 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation>Reagu</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation>Respondu</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation>Ebloj</translation>
</message>
@@ -978,63 +1200,74 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation>Reagu</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation>Respondu</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
@@ -1044,24 +1277,19 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
- <translation>Membroj</translation>
+ <translation type="unfinished">Membroj</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
- <translation>Forlasu la ĉambron</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
+ <location line="+5"/>
+ <source>Settings</source>
+ <translation type="unfinished">Agordoj</translation>
</message>
</context>
<context>
@@ -1121,9 +1349,32 @@ Ekzemplo: https://servisto.mia:8787</translation>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation type="unfinished"></translation>
</message>
@@ -1143,12 +1394,17 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1286,7 +1542,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1331,7 +1597,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation type="unfinished"></translation>
</message>
@@ -1351,22 +1617,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@@ -1413,6 +1689,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_et.ts b/resources/langs/nheko_et.ts
index f3a51bb9..b1f20985 100644
--- a/resources/langs/nheko_et.ts
+++ b/resources/langs/nheko_et.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="et">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation>Sa liitusid selle jututoaga.</translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation>Kutse saatmine kasutajale ei õnnestunud: %1</translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation>Kutsutud kasutaja: %1</translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation>Puhverdatud andmete muutmine sobivaks rakenduse praeguse versiooniga ei õnnestunud. Sellel võib olla erinevaid põhjuseid. Palun saada meile veateade ja seni kasuta vanemat rakenduse versiooni. Aga kui sa soovid proovida, siis kustuta puhverdatud andmed käsitsi.</translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation>%1 jututuba on loodud.</translation>
</message>
@@ -108,12 +154,12 @@
<translation>Suhtluskeeld eemaldatud: %1</translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation>Meediafailide üleslaadimine ei õnnestunud. Palun proovi uuesti.</translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation>Puhvri versiooniuuendus ebaõnnestus!</translation>
</message>
@@ -128,7 +174,7 @@
<translation>Sinu andmekandjale salvestatud puhvri versioon on uuem, kui käesolev Nheko versioon kasutada oskab. Palun tee Nheko uuendus või kustuta puhverdatud andmed.</translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>OLM konto taastamine ei õnnestunud. Palun logi uuesti sisse.</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>Palun proovi uuesti sisse logida: %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation>Jututoaga liitumine ei õnnestunud: %1</translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation>Otsi</translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation>Inimesed</translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation>Krüptitud</translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation>-- Krüptitud sündmus (Dekrüptimisvõtmeid ei leidunud) --</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation>-- Dekrüptimise viga (megolm'i võtmete laadimine andmebaasist ei õnnestunud) --</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation>-- Dekrüptimise viga (%1) --</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation>-- Krüptitud sündmus (Tundmatu sündmuse tüüp) --</translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation>Sulge</translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -447,18 +575,18 @@ Näiteks: https://server.minu:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation>muudetud</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation>Krüptimine on kasutusel</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation>jututoa uus nimi on: %1</translation>
</message>
@@ -468,7 +596,7 @@ Näiteks: https://server.minu:8787</translation>
<translation>eemaldas jututoa nime</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation>jututoa uus teema on: %1</translation>
</message>
@@ -478,42 +606,93 @@ Näiteks: https://server.minu:8787</translation>
<translation>teema on eemaldatud</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation>%1 lõi ja seadistas jututoa: %2</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation>%1 helistas.</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation>%1 alustas videokõnet.</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation>%1 helistas.</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+29"/>
<source>Negotiating call...</source>
<translation>Ühendan kõnet…</translation>
</message>
<message>
- <location line="-12"/>
+ <location line="-18"/>
<source>%1 answered the call.</source>
<translation>%1 vastas kõnele.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation>%1 lõpetas kõne.</translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Kirjuta sõnum…</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation>Nõustu</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -522,6 +701,24 @@ Näiteks: https://server.minu:8787</translation>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -598,9 +795,17 @@ Näiteks: https://server.minu:8787</translation>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished">Sulge</translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation>salvestatud versiooni ei leidu</translation>
</message>
@@ -660,7 +865,7 @@ Näiteks: https://server.minu:8787</translation>
<translation>Silt:</translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Nõustu</translation>
</message>
@@ -701,30 +906,48 @@ Näiteks: https://server.minu:8787</translation>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation>Ebaõnnestus</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation>Saadetud</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation>Vastuvõetud</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation>Loetud</translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation>Sulge</translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Saada fail</translation>
</message>
@@ -745,7 +968,7 @@ Näiteks: https://server.minu:8787</translation>
<translation>Emoji</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Vali fail</translation>
</message>
@@ -755,7 +978,7 @@ Näiteks: https://server.minu:8787</translation>
<translation>Kõik failid (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation>Helista</translation>
</message>
@@ -773,20 +996,19 @@ Näiteks: https://server.minu:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation>Sõnumi ümbersõnastamine ebaõnnestus: %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation>Sündmuse krüptimine ei õnnestunud, katkestame saatmise!</translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation>Salvesta pilt</translation>
</message>
@@ -925,12 +1147,12 @@ Näiteks: https://server.minu:8787</translation>
<translation>%1 muutis oma koputust jututoa uksele.</translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation>Sa liitusid jututoaga.</translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation>Lükkas tagasi %1 koputuse jututoa uksele.</translation>
</message>
@@ -954,17 +1176,17 @@ Näiteks: https://server.minu:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation>Reageeri</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation>Vasta</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation>Valikud</translation>
</message>
@@ -972,90 +1194,96 @@ Näiteks: https://server.minu:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation>Reageeri</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation>Vasta</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation>Lugemisteatised</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation>Märgi loetuks</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation>Näita sõnumi lähtekoodi</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation>Näita sõnumi dekrüptitud lähtekoodi</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation>Muuda sõnumit</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation>Salvesta kui</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation>Ühtegi jututuba pole avatud</translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
- <translation>Tagasi jututubade loendisse</translation>
+ <translation type="unfinished">Tagasi jututubade loendisse</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
- <translation>Jututuba on valimata</translation>
+ <translation type="unfinished">Jututuba on valimata</translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
- <translation>Jututoa valikud</translation>
+ <translation type="unfinished">Jututoa valikud</translation>
</message>
<message>
<location line="+7"/>
<source>Invite users</source>
- <translation>Kutsu kasutajaid</translation>
+ <translation type="unfinished">Kutsu kasutajaid</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
- <translation>Liikmed</translation>
+ <translation type="unfinished">Liikmed</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
- <translation>Lahku jututoast</translation>
+ <translation type="unfinished">Lahku jututoast</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
- <translation>Seadistused</translation>
- </message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation>Sulge</translation>
+ <translation type="unfinished">Seadistused</translation>
</message>
</context>
<context>
@@ -1115,9 +1343,32 @@ Näiteks: https://server.minu:8787</translation>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Vähenda tegumiribale</translation>
</message>
@@ -1137,12 +1388,17 @@ Näiteks: https://server.minu:8787</translation>
<translation>Ümmargused tunnuspildid</translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation>KÕNED</translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation>Peale akna sulgemist jäta rakendus taustal tööle.</translation>
</message>
@@ -1288,7 +1544,17 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
<translation>Tee sõnumi font suuremaks, kui sõnumis on vaid mõned emojid.</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation>Mastaabitegur</translation>
</message>
@@ -1333,7 +1599,7 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
<translation>Seadme sõrmejälg</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>Sessioonivõtmed</translation>
</message>
@@ -1353,22 +1619,32 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
<translation>KRÜPTIMINE</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>ÜLDISED SEADISTUSED</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation>LIIDES</translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation>Fondiperekond emojide jaoks</translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>Ava sessioonide fail</translation>
</message>
@@ -1415,6 +1691,34 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation>Tühista</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_fi.ts b/resources/langs/nheko_fi.ts
index 192c07b2..bc44634c 100644
--- a/resources/langs/nheko_fi.ts
+++ b/resources/langs/nheko_fi.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="fi">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Peruuta</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>OLM-tilin palauttaminen epäonnistui. Ole hyvä ja kirjaudu sisään uudelleen.</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>Ole hyvä ja yritä kirjautua sisään uudelleen: %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished">-- Salattu viesti (salauksen purkuavaimia ei löydetty) --</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished">-- Virhe purkaessa salausta (megolm-avaimien hakeminen tietokannasta epäonnistui) --</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished">-- Virhe purkaessa salausta (%1) --</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished">-- Salattu viesti (tuntematon viestityyppi) --</translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished">Sulje</translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Kirjoita viesti…</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Peruuta</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">Hyväksy</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished">Sulje</translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation>ei tallennettua versiota</translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Hyväksy</translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished">Sulje</translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Lähetä tiedosto</translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation>Emoji</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Valitse tiedosto</translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation>Kaikki tiedostot (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished">Viestin poisto epäonnistui: %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished">Tallenna kuva</translation>
</message>
@@ -921,12 +1143,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -950,17 +1172,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -968,63 +1190,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished">Lukukuittaukset</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished">Huonevaihtoehdot</translation>
</message>
@@ -1034,25 +1267,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished">Kutsu käyttäjiä</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">Jäsenet</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">Poistu huoneesta</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">Asetukset</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished">Sulje</translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1111,9 +1339,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Pienennä ilmoitusalueelle</translation>
</message>
@@ -1133,12 +1384,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1276,7 +1532,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation>Mittakerroin</translation>
</message>
@@ -1321,7 +1587,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>Laitteen sormenjälki</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>Istunnon avaimet</translation>
</message>
@@ -1341,22 +1607,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>SALAUS</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>YLEISET ASETUKSET</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>Avaa Istuntoavaintiedosto</translation>
</message>
@@ -1403,6 +1679,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Peruuta</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_fr.ts b/resources/langs/nheko_fr.ts
index 48047e32..f8f8380b 100644
--- a/resources/langs/nheko_fr.ts
+++ b/resources/langs/nheko_fr.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="fr">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annuler</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation>Vous avez rejoint ce salon.</translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation>Échec lors de l'invitation de %1</translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation>%1 a été invité(e)</translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation>La migration du cache vers la version actuelle a échoué. Cela peut arriver pour différentes raisons. Signalez le problème et essayez d'utiliser une ancienne version en attendant. Vous pouvez également supprimer le cache manuellement.</translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation>Salon %1 créé.</translation>
</message>
@@ -40,12 +86,12 @@
<message>
<location line="+1"/>
<source>Do you really want to invite %1 (%2)?</source>
- <translation>Voulez-vous vraiment inviter %1 (%2) ?</translation>
+ <translation>Voulez-vous vraiment inviter %1 (%2) ?</translation>
</message>
<message>
<location line="+11"/>
<source>Failed to invite %1 to %2: %3</source>
- <translation>Échec de l'invitation de %1 dans %2 : %3</translation>
+ <translation>Échec de l'invitation de %1 dans %2 : %3</translation>
</message>
<message>
<location line="+15"/>
@@ -55,7 +101,7 @@
<message>
<location line="+1"/>
<source>Do you really want to kick %1 (%2)?</source>
- <translation>Voulez-vous vraiment expulser %1 (%2) ?</translation>
+ <translation>Voulez-vous vraiment expulser %1 (%2) ?</translation>
</message>
<message>
<location line="+11"/>
@@ -75,7 +121,7 @@
<message>
<location line="+1"/>
<source>Do you really want to ban %1 (%2)?</source>
- <translation>Voulez-vous vraiment bannir %1 (%2) ?</translation>
+ <translation>Voulez-vous vraiment bannir %1 (%2) ?</translation>
</message>
<message>
<location line="+11"/>
@@ -95,12 +141,12 @@
<message>
<location line="+1"/>
<source>Do you really want to unban %1 (%2)?</source>
- <translation>Voulez-vous vraiment annuler le bannissement de %1 (%2) ?</translation>
+ <translation>Voulez-vous vraiment annuler le bannissement de %1 (%2) ?</translation>
</message>
<message>
<location line="+11"/>
<source>Failed to unban %1 in %2: %3</source>
- <translation>Échec de l'annulation du bannissement de %1 dans %2 : %3</translation>
+ <translation>Échec de l'annulation du bannissement de %1 dans %2 : %3</translation>
</message>
<message>
<location line="+5"/>
@@ -108,14 +154,14 @@
<translation>%1 n'est plus banni(e)</translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation>Échec de l'envoi du média. Veuillez réessayer.</translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
- <translation>Échec de la migration du cache !</translation>
+ <translation>Échec de la migration du cache !</translation>
</message>
<message>
<location line="+13"/>
@@ -128,7 +174,7 @@
<translation>Le cache sur votre disque est plus récent que cette version de Nheko ne supporte. Veuillez mettre à jour ou supprimer votre cache.</translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Échec de la restauration du compte OLM. Veuillez vous reconnecter.</translation>
</message>
@@ -140,18 +186,18 @@
<message>
<location line="+165"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
- <translation>Échec de la configuration des clés de chiffrement. Réponse du serveur : %1 %2. Veuillez réessayer plus tard.</translation>
+ <translation>Échec de la configuration des clés de chiffrement. Réponse du serveur : %1 %2. Veuillez réessayer plus tard.</translation>
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
- <translation>Veuillez vous reconnecter : %1</translation>
+ <translation>Veuillez vous reconnecter : %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
- <translation>Impossible de rejoindre le salon : %1</translation>
+ <translation>Impossible de rejoindre le salon : %1</translation>
</message>
<message>
<location line="+5"/>
@@ -161,17 +207,17 @@
<message>
<location line="+6"/>
<source>Failed to remove invite: %1</source>
- <translation>Impossible de supprimer l'invitation : %1</translation>
+ <translation>Impossible de supprimer l'invitation : %1</translation>
</message>
<message>
<location line="+19"/>
<source>Room creation failed: %1</source>
- <translation>Échec de la création du salon : %1</translation>
+ <translation>Échec de la création du salon : %1</translation>
</message>
<message>
<location line="+16"/>
<source>Failed to leave room: %1</source>
- <translation>Impossible de quitter le salon : %1</translation>
+ <translation>Impossible de quitter le salon : %1</translation>
</message>
</context>
<context>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation>Chercher</translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation>Personnes</translation>
</message>
@@ -282,40 +351,65 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation>Chiffré</translation>
</message>
<message>
<location line="+2"/>
<source>This message is not encrypted!</source>
- <translation>Ce message n'est pas chiffré !</translation>
+ <translation>Ce message n'est pas chiffré !</translation>
</message>
</context>
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation>-- Évènement chiffré (pas de clé trouvé pour le déchiffrement) --</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation>-- Échec du déchiffrement (échec de la récupération des clés megolm depuis la base de données) --</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation>-- Erreur de déchiffrement (%1) --</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation>-- Évènement chiffré (type d'évènement inconnu) --</translation>
@@ -323,12 +417,46 @@
<message>
<location line="+13"/>
<source>-- Replay attack! This message index was reused! --</source>
- <translation>-- Attaque par rejeu (replay attack) ! Cet index de message a été réutilisé ! --</translation>
+ <translation>-- Attaque par rejeu (replay attack) ! Cet index de message a été réutilisé ! --</translation>
</message>
<message>
<location line="+7"/>
<source>-- Message by unverified device! --</source>
- <translation>-- Message d'un appareil non vérifié --</translation>
+ <translation>-- Message d'un appareil non vérifié  --</translation>
+ </message>
+</context>
+<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished">Fermer</translation>
</message>
</context>
<context>
@@ -357,9 +485,9 @@
You can also put your homeserver address there, if your server doesn't support .well-known lookup.
Example: @user:server.my
If Nheko fails to discover your homeserver, it will show you a field to enter the server manually.</source>
- <translation>Votre nom de connexion. Un mxid doit commencer par un « @ » suivi de l'identifiant. L'identifiant doit être suivi du nom de serveur, séparé de celui-ci par « : ».
+ <translation>Votre nom de connexion. Un mxid doit commencer par un « @ » suivi de l'identifiant. L'identifiant doit être suivi du nom de serveur, séparé de celui-ci par « : ».
Vous pouvez également spécifier l'adresse de votre serveur ici, si votre serveur ne supporte pas l'identification .well-known.
-Exemple : @utilisateur :monserveur.example.com
+Exemple : @utilisateur :monserveur.example.com
Si Nheko n'arrive pas à trouver votre serveur, il vous proposera de l'indiquer manuellement.</translation>
</message>
<message>
@@ -382,7 +510,7 @@ Si Nheko n'arrive pas à trouver votre serveur, il vous proposera de l&apos
<source>The address that can be used to contact you homeservers client API.
Example: https://server.my:8787</source>
<translation>L'adresse qui peut être utilisée pour joindre l'API client de votre serveur.
-Exemple : https ://monserveur.example.com :8787</translation>
+Exemple : https ://monserveur.example.com :8787</translation>
</message>
<message>
<location line="+16"/>
@@ -447,20 +575,20 @@ Exemple : https ://monserveur.example.com :8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation>effacé</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation>Chiffrement activé</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
- <translation>nom du salon changé en : %1</translation>
+ <translation>nom du salon changé en : %1</translation>
</message>
<message>
<location line="+0"/>
@@ -468,9 +596,9 @@ Exemple : https ://monserveur.example.com :8787</translation>
<translation>nom du salon retiré</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
- <translation>sujet changé pour : %1</translation>
+ <translation>sujet changé pour : %1</translation>
</message>
<message>
<location line="+0"/>
@@ -478,47 +606,116 @@ Exemple : https ://monserveur.example.com :8787</translation>
<translation>sujet retiré</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
- <translation>%1 a créé et configuré le salon : %2</translation>
+ <translation>%1 a créé et configuré le salon : %2</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation>%1 a effectué un appel vocal.</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation>%1 a effectué un appel vidéo.</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation>%1 a appelé.</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation>%1 a répondu à l'appel.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation>1% a terminé l'appel.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation>Négociation de l'appel…</translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Écrivez un message…</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annuler</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">Accepter</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
<source>unimplemented event: </source>
- <translation>Évènement non implémenté : </translation>
+ <translation>Évènement non implémenté : </translation>
+ </message>
+</context>
+<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -539,7 +736,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<location line="+3"/>
<source>The username must not be empty, and must contain only the characters a-z, 0-9, ., _, =, -, and /.</source>
- <translation>Le nom d'utilisateur ne doit pas être vide, et ne peut contenir que les caractères a à z, 0 à 9, et « . _ = - / ».</translation>
+ <translation>Le nom d'utilisateur ne doit pas être vide, et ne peut contenir que les caractères a à z, 0 à 9, et « . _ = - / ».</translation>
</message>
<message>
<location line="+4"/>
@@ -574,7 +771,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<location line="+55"/>
<source>No supported registration flows!</source>
- <translation>Pas de méthode d'inscription supportée !</translation>
+ <translation>Pas de méthode d'inscription supportée !</translation>
</message>
<message>
<location line="+135"/>
@@ -598,9 +795,17 @@ Exemple : https ://monserveur.example.com :8787</translation>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished">Fermer</translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation>pas de version enregistrée</translation>
</message>
@@ -615,7 +820,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<location line="+7"/>
<source>Tag room as:</source>
- <translation>Étiqueter le salon comme :</translation>
+ <translation>Étiqueter le salon comme :</translation>
</message>
<message>
<location line="+18"/>
@@ -657,10 +862,10 @@ Exemple : https ://monserveur.example.com :8787</translation>
<location line="+1"/>
<source>Tag:</source>
<comment>Tag name prompt</comment>
- <translation>Étiquette :</translation>
+ <translation>Étiquette :</translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Accepter</translation>
</message>
@@ -701,30 +906,48 @@ Exemple : https ://monserveur.example.com :8787</translation>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation>Échec</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation>Envoyé</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation>Reçu</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation>Lu</translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished">Fermer</translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Envoyer un fichier</translation>
</message>
@@ -745,7 +968,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<translation>Emoji</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Sélectionnez un fichier</translation>
</message>
@@ -755,7 +978,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<translation>Tous les types de fichiers (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation>Appeler</translation>
</message>
@@ -773,20 +996,19 @@ Exemple : https ://monserveur.example.com :8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
- <translation>Échec de la suppression du message : %1</translation>
+ <translation>Échec de la suppression du message : %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
- <translation>Échec du chiffrement de l'évènement, envoi abandonné !</translation>
+ <translation>Échec du chiffrement de l'évènement, envoi abandonné !</translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation>Enregistrer l'image</translation>
</message>
@@ -925,12 +1147,12 @@ Exemple : https ://monserveur.example.com :8787</translation>
<translation>%1 ne frappe plus au salon.</translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation>Vous avez rejoint ce salon.</translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation>%1 a été rejeté après avoir frappé au salon.</translation>
</message>
@@ -938,12 +1160,12 @@ Exemple : https ://monserveur.example.com :8787</translation>
<location line="+2"/>
<source>%1 left after having already left!</source>
<comment>This is a leave event after the user already left and shouldn't happen apart from state resets</comment>
- <translation>%1 a quitté le salon après l'avoir déjà quitté !</translation>
+ <translation>%1 a quitté le salon après l'avoir déjà quitté !</translation>
</message>
<message>
<location line="+15"/>
<source> Reason: %1</source>
- <translation>Raison : %1</translation>
+ <translation>Raison : %1</translation>
</message>
<message>
<location line="-5"/>
@@ -954,17 +1176,17 @@ Exemple : https ://monserveur.example.com :8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation>Réagir</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation>Répondre</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation>Options</translation>
</message>
@@ -972,90 +1194,96 @@ Exemple : https ://monserveur.example.com :8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation>Réagir</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation>Réponse</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation>Accusés de lecture</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation>Marquer comme lu</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation>Voir le message brut</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation>Voir le message déchiffré brut</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation>Effacer le message</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation>Enregistrer sous</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation>Aucun salon ouvert</translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
- <translation>Revenir à la liste des salons</translation>
+ <translation type="unfinished">Revenir à la liste des salons</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
- <translation>Pas de salon sélectionné</translation>
+ <translation type="unfinished">Pas de salon sélectionné</translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
- <translation>Options du salon</translation>
+ <translation type="unfinished">Options du salon</translation>
</message>
<message>
<location line="+7"/>
<source>Invite users</source>
- <translation>Inviter des utilisateurs</translation>
+ <translation type="unfinished">Inviter des utilisateurs</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
- <translation>Membres</translation>
+ <translation type="unfinished">Membres</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
- <translation>Quitter le salon</translation>
+ <translation type="unfinished">Quitter le salon</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
- <translation>Paramètres</translation>
- </message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation>Fermer</translation>
+ <translation type="unfinished">Paramètres</translation>
</message>
</context>
<context>
@@ -1091,7 +1319,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<location line="+1"/>
<source>Status:</source>
- <translation>Statut :</translation>
+ <translation>Statut :</translation>
</message>
<message>
<location line="+9"/>
@@ -1115,9 +1343,32 @@ Exemple : https ://monserveur.example.com :8787</translation>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Réduire à la barre des tâches</translation>
</message>
@@ -1137,12 +1388,17 @@ Exemple : https ://monserveur.example.com :8787</translation>
<translation>Avatars circulaires</translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation>APPELS</translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation>Conserver l'application en arrière plan après la fermeture de la fenêtre du client.</translation>
</message>
@@ -1289,7 +1545,17 @@ Cela met l'application en évidence dans la barre des tâches.</translation
<translation>Augmente la taille de la police lors de l'affichage de messages contenant uniquement quelques emojis.</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation>Facteur d'échelle</translation>
</message>
@@ -1334,7 +1600,7 @@ Cela met l'application en évidence dans la barre des tâches.</translation
<translation>Empreinte de l'appareil</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>Clés de session</translation>
</message>
@@ -1354,22 +1620,32 @@ Cela met l'application en évidence dans la barre des tâches.</translation
<translation>CHIFFREMENT</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>GÉNÉRAL</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation>INTERFACE</translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation>Nom de Police Emoji</translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>Ouvrir fichier de sessions</translation>
</message>
@@ -1396,7 +1672,7 @@ Cela met l'application en évidence dans la barre des tâches.</translation
<message>
<location line="-31"/>
<source>Enter the passphrase to decrypt the file:</source>
- <translation>Entrez la clé secrète pour déchiffrer le fichier :</translation>
+ <translation>Entrez la clé secrète pour déchiffrer le fichier  :</translation>
</message>
<message>
<location line="+8"/>
@@ -1407,7 +1683,7 @@ Cela met l'application en évidence dans la barre des tâches.</translation
<message>
<location line="-8"/>
<source>Enter passphrase to encrypt your session keys:</source>
- <translation>Entrez une clé secrète pour chiffrer vos clés de session :</translation>
+ <translation>Entrez une clé secrète pour chiffrer vos clés de session  :</translation>
</message>
<message>
<location line="+15"/>
@@ -1416,6 +1692,34 @@ Cela met l'application en évidence dans la barre des tâches.</translation
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annuler</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
@@ -1765,7 +2069,7 @@ attendant que la vérification des appareils soit opérationnelle.</translation>
<message>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
- <translation>Échec de l'activation du chiffrement : %1</translation>
+ <translation>Échec de l'activation du chiffrement  : %1</translation>
</message>
<message>
<location line="+147"/>
@@ -1785,13 +2089,13 @@ attendant que la vérification des appareils soit opérationnelle.</translation>
<message>
<location line="+5"/>
<source>Error while reading file: %1</source>
- <translation>Erreur lors de la lecture du fichier : %1</translation>
+ <translation>Erreur lors de la lecture du fichier  : %1</translation>
</message>
<message>
<location line="+35"/>
<location line="+20"/>
<source>Failed to upload image: %s</source>
- <translation>Échec de l'envoi de l'image : %s</translation>
+ <translation>Échec de l'envoi de l'image  : %s</translation>
</message>
</context>
<context>
@@ -1824,7 +2128,7 @@ attendant que la vérification des appareils soit opérationnelle.</translation>
<message>
<location line="+1"/>
<source>Do you really want to invite %1 (%2) to a direct chat?</source>
- <translation>Voulez-vous vraiment inviter %1 (%2) dans un chat privé ?</translation>
+ <translation>Voulez-vous vraiment inviter %1 (%2) dans un chat privé  ?</translation>
</message>
<message>
<location line="+54"/>
@@ -1940,12 +2244,12 @@ attendant que la vérification des appareils soit opérationnelle.</translation>
<message>
<location line="+5"/>
<source>You: %1</source>
- <translation>Vous : %1</translation>
+ <translation>Vous  : %1</translation>
</message>
<message>
<location line="+3"/>
<source>%1: %2</source>
- <translation>%1 : %2</translation>
+ <translation>%1  : %2</translation>
</message>
<message>
<location line="+7"/>
diff --git a/resources/langs/nheko_it.ts b/resources/langs/nheko_it.ts
index 4b9c32d4..b8efa774 100644
--- a/resources/langs/nheko_it.ts
+++ b/resources/langs/nheko_it.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="it">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annulla</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation>Sei entrato in questa stanza.</translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation>Impossibile invitare l'utente: %1</translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation>Invitato utente: %1</translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation>Migrazione della cache alla versione corrente fallita. Questo può avere diverse cause. Per favore apri una issue e nel frattempo prova ad usare una versione più vecchia. In alternativa puoi provare a cancellare la cache manualmente.</translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation>Stanza %1 creata.</translation>
</message>
@@ -108,12 +154,12 @@
<translation>Rimosso il ban dall'utente: %1</translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation>Impossibile inviare il file multimediale. Per favore riprova.</translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation>Migrazione della cache fallita!</translation>
</message>
@@ -128,7 +174,7 @@
<translation>La cache sul tuo disco è più nuova di quella supportata da questa versione di Nheko. Per favore aggiorna o pulisci la tua cache.</translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Impossibile ripristinare l'account OLM. Per favore accedi nuovamente.</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>Per favore prova ad accedere nuovamente: %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation>Impossibile accedere alla stanza: %1</translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation>Criptato</translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished">-- Evento Criptato (Chiavi per la decriptazione non trovate) --</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished">-- Errore di Decrittazione (impossibile recuperare le chiavi megolm dal DB) --</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished">-- Errore di Decrittazione (%1) --</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished">-- Evento Criptato (Tipo di evento ignoto) --</translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished">Chiudi</translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -447,18 +575,18 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation>oscurato</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation>Crittografia abilitata</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation>nome della stanza cambiato in: %1</translation>
</message>
@@ -468,7 +596,7 @@ Esempio: https://server.mio:8787</translation>
<translation>nome della stanza rimosso</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation>argomento cambiato in: %1</translation>
</message>
@@ -478,42 +606,93 @@ Esempio: https://server.mio:8787</translation>
<translation>argomento rimosso</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation>%1 creato e configurata stanza: %2</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Scrivi un messaggio…</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annulla</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">Accetta</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -522,6 +701,24 @@ Esempio: https://server.mio:8787</translation>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -598,9 +795,17 @@ Esempio: https://server.mio:8787</translation>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished">Chiudi</translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation>nessuna versione memorizzata</translation>
</message>
@@ -660,7 +865,7 @@ Esempio: https://server.mio:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Accetta</translation>
</message>
@@ -701,30 +906,48 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation>Fallito</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation>Inviato</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation>Ricevuto</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation>Letto</translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished">Chiudi</translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Invia un file</translation>
</message>
@@ -745,7 +968,7 @@ Esempio: https://server.mio:8787</translation>
<translation>Emoji</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Seleziona un file</translation>
</message>
@@ -755,7 +978,7 @@ Esempio: https://server.mio:8787</translation>
<translation>Tutti i file (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -773,20 +996,19 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation>Oscuramento del messaggio fallito: %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation>Salva immagine</translation>
</message>
@@ -925,12 +1147,12 @@ Esempio: https://server.mio:8787</translation>
<translation>%1 ha oscurato la sua bussata.</translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation>Sei entrato in questa stanza.</translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation>Rifiutata la bussata di %1.</translation>
</message>
@@ -954,17 +1176,17 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation>Rispondi</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation>Opzioni</translation>
</message>
@@ -972,63 +1194,74 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation>Risposta</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation>Leggi le ricevute</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation>Segna come letto</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation>Mostra il messaggio grezzo</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation>Mostra il messaggio grezzo decriptato</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation>Oscura messaggio</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation>Salva come</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation>Nessuna stanza aperta</translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished">Opzioni della stanza</translation>
</message>
@@ -1038,25 +1271,20 @@ Esempio: https://server.mio:8787</translation>
<translation type="unfinished">Invita utenti</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">Membri</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">Lascia la stanza</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">Impostazioni</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation>Chiudi</translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1115,9 +1343,32 @@ Esempio: https://server.mio:8787</translation>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Minimizza nella tray</translation>
</message>
@@ -1137,12 +1388,17 @@ Esempio: https://server.mio:8787</translation>
<translation>Avatar Circolari</translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1280,7 +1536,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation>Fattore di scala</translation>
</message>
@@ -1325,7 +1591,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>Impronta digitale del dispositivo</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>Chiavi di Sessione</translation>
</message>
@@ -1345,22 +1611,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>CRITTOGRAFIA</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>GENERALE</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation>INTERFACCIA</translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation>Famiglia dei caratteri delle Emoji</translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>Apri File delle Sessioni</translation>
</message>
@@ -1407,6 +1683,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annulla</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_ja.ts b/resources/langs/nheko_ja.ts
index 79fdd9a4..26d6188c 100644
--- a/resources/langs/nheko_ja.ts
+++ b/resources/langs/nheko_ja.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="ja_JP">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">キャンセル</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation>ユーザーを招待できませんでした: %1</translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation>招待されたユーザー: %1</translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation>永久追放を解除されたユーザー: %1</translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation>メディアをアップロードできませんでした。やり直して下さい。</translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>OLMアカウントを復元できませんでした。もう一度ログインして下さい。</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>もう一度ログインしてみて下さい: %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation>部屋に参加できませんでした: %1</translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation>暗号化されています</translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished">-- 暗号化イベント (復号鍵が見つかりません) --</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished">-- 復号エラー (データベースからmegolm鍵を取得できませんでした) --</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished">-- 復号エラー (%1) --</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished">-- 暗号化イベント (不明なイベント型です) --</translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished">閉じる</translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation>編集済み</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation>暗号化が有効です</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation>部屋名が変更されました: %1</translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation>部屋名が削除されました</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation>話題が変更されました: %1</translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation>話題が削除されました</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">メッセージを書く...</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">キャンセル</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">容認</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished">閉じる</translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation>バージョンが保存されていません</translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>容認</translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation>失敗</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation>送信済み</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation>受信済み</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation>既読</translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished">閉じる</translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>ファイルを送信</translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation>絵文字</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>ファイルを選択</translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation>全てのファイル (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation>メッセージを編集できませんでした: %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation>画像を保存</translation>
</message>
@@ -920,12 +1142,12 @@ Example: https://server.my:8787</source>
<translation>%1がノックを編集しました。</translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation>%1からのノックを拒否しました。</translation>
</message>
@@ -949,17 +1171,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation>返信</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation>オプション</translation>
</message>
@@ -967,63 +1189,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished">返信</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation>開封確認</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation>既読にする</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation>ソースを見る</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation>メッセージを編集</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation>名前を付けて保存</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation>部屋が開いていません</translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished">部屋のオプション</translation>
</message>
@@ -1033,25 +1266,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished">ユーザーを招待</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">メンバー</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">部屋を出る</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">設定</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation>閉じる</translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1110,9 +1338,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>トレイへ最小化</translation>
</message>
@@ -1132,12 +1383,17 @@ Example: https://server.my:8787</source>
<translation>円形アバター</translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1275,7 +1531,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation>尺度係数</translation>
</message>
@@ -1320,7 +1586,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>デバイスの指紋</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>セッション鍵</translation>
</message>
@@ -1340,22 +1606,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>暗号化</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>全般</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>セッションファイルを開く</translation>
</message>
@@ -1402,6 +1678,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">キャンセル</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_nl.ts b/resources/langs/nheko_nl.ts
index e957c578..d6d91c3e 100644
--- a/resources/langs/nheko_nl.ts
+++ b/resources/langs/nheko_nl.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="nl_NL">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annuleren</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Typ een bericht...</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annuleren</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">Accepteren</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Accepteren</translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Kies een bestand</translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation>Alle bestanden (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished">Afbeelding opslaan</translation>
</message>
@@ -921,12 +1143,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -950,17 +1172,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -968,63 +1190,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished">Leesbevestigingen</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
@@ -1034,25 +1267,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished">Gebruikers uitnodigen</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">Leden</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">Kamer verlaten</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">Instellingen</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1111,9 +1339,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Minimaliseren naar systeemvak</translation>
</message>
@@ -1133,12 +1384,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1276,7 +1532,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1321,7 +1587,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation type="unfinished"></translation>
</message>
@@ -1341,22 +1607,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>ALGEMEEN</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@@ -1403,6 +1679,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Annuleren</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_pl.ts b/resources/langs/nheko_pl.ts
index fd4657d7..2479268e 100644
--- a/resources/langs/nheko_pl.ts
+++ b/resources/langs/nheko_pl.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="pl">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Anuluj</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Nie udało się przywrócić konta OLM. Spróbuj zalogować się ponownie.</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>Spróbuj zalogować się ponownie: %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Napisz wiadomość…</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Anuluj</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">Akceptuj</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Akceptuj</translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Wyślij plik</translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation>Emoji</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Wybierz plik</translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation>Wszystkie pliki (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished">Redagowanie wiadomości nie powiodło się: %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished">Zapisz obraz</translation>
</message>
@@ -922,12 +1144,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -951,17 +1173,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -969,63 +1191,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished">Potwierdzenia przeczytania</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished">Ustawienia pokoju</translation>
</message>
@@ -1035,25 +1268,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished">Zaproś użytkowników</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">Członkowie</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">Opuść pokój</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">Ustawienia</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1112,9 +1340,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Zminimalizuj do paska zadań</translation>
</message>
@@ -1134,12 +1385,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1277,7 +1533,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1322,7 +1588,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>Odcisk palca urządzenia</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation type="unfinished"></translation>
</message>
@@ -1342,22 +1608,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>SZYFROWANIE</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>OGÓLNE</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@@ -1404,6 +1680,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Anuluj</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_pt_PT.ts b/resources/langs/nheko_pt_PT.ts
index 66e07bb4..70921b70 100644
--- a/resources/langs/nheko_pt_PT.ts
+++ b/resources/langs/nheko_pt_PT.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="pt_PT">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+29"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-12"/>
+ <location line="-18"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation type="unfinished"></translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation type="unfinished"></translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished"></translation>
</message>
@@ -921,12 +1143,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -950,17 +1172,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -968,63 +1190,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
@@ -1034,25 +1267,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1111,9 +1339,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation type="unfinished"></translation>
</message>
@@ -1133,12 +1384,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1276,7 +1532,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1321,7 +1587,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation type="unfinished"></translation>
</message>
@@ -1341,22 +1607,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@@ -1403,6 +1679,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_ro.ts b/resources/langs/nheko_ro.ts
index 9468bb28..3ee30c1f 100644
--- a/resources/langs/nheko_ro.ts
+++ b/resources/langs/nheko_ro.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="ro">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation type="unfinished"></translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation type="unfinished"></translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished"></translation>
</message>
@@ -922,12 +1144,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -951,17 +1173,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -969,63 +1191,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
@@ -1035,25 +1268,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1112,9 +1340,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation type="unfinished"></translation>
</message>
@@ -1134,12 +1385,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1277,7 +1533,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1322,7 +1588,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation type="unfinished"></translation>
</message>
@@ -1342,22 +1608,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@@ -1404,6 +1680,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_ru.ts b/resources/langs/nheko_ru.ts
index 95cef767..bc349646 100644
--- a/resources/langs/nheko_ru.ts
+++ b/resources/langs/nheko_ru.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="ru">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Не удалось восстановить учетную запись OLM. Пожалуйста, войдите снова.</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>Повторите попытку входа: %1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished">Закрыть</translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">Написать сообщение...</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">Принять</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished">Закрыть</translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>Принять</translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished">Закрыть</translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>Отправить файл</translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>Выберите файл</translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation>Все файлы (*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished">Ошибка редактирования сообщения: %1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished">Сохранить изображение</translation>
</message>
@@ -922,12 +1144,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -951,17 +1173,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -969,63 +1191,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished">Подтверждать прочтение</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished">Настройки комнаты</translation>
</message>
@@ -1035,25 +1268,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished">Пригласить пользователей</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">Участники</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">Покинуть комнату</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">Настройки</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished">Закрыть</translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1112,9 +1340,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>Сворачивать в системную панель</translation>
</message>
@@ -1134,12 +1385,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1277,7 +1533,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation>Масштаб</translation>
</message>
@@ -1322,7 +1588,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>Отпечаток устройства</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>Ключи сеанса</translation>
</message>
@@ -1342,22 +1608,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>ШИФРОВАНИЕ</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>ГЛАВНОЕ</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>Открыть файл сеансов</translation>
</message>
@@ -1405,6 +1681,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_si.ts b/resources/langs/nheko_si.ts
index d490b4d1..c63e58e3 100644
--- a/resources/langs/nheko_si.ts
+++ b/resources/langs/nheko_si.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="si">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation type="unfinished"></translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation type="unfinished"></translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished"></translation>
</message>
@@ -921,12 +1143,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -950,17 +1172,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -968,63 +1190,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
@@ -1034,25 +1267,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1111,9 +1339,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation type="unfinished"></translation>
</message>
@@ -1133,12 +1384,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1276,7 +1532,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1321,7 +1587,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation type="unfinished"></translation>
</message>
@@ -1341,22 +1607,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@@ -1403,6 +1679,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/langs/nheko_zh_CN.ts b/resources/langs/nheko_zh_CN.ts
index e4927ff6..eee53d95 100644
--- a/resources/langs/nheko_zh_CN.ts
+++ b/resources/langs/nheko_zh_CN.ts
@@ -2,9 +2,55 @@
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
+ <name>ActiveCallBar</name>
+ <message>
+ <location filename="../qml/ActiveCallBar.qml" line="+49"/>
+ <source>Initiating...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Calling...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Unmute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Mute Mic</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AwaitingVerificationConfirmation</name>
+ <message>
+ <location filename="../qml/device-verification/AwaitingVerificationConfirmation.qml" line="+7"/>
+ <source>Awaiting Confirmation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting for other side to complete verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cancel</source>
+ <translation type="unfinished">取消</translation>
+ </message>
+</context>
+<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1658"/>
+ <location filename="../../src/Cache.cpp" line="+1843"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -12,23 +58,23 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+218"/>
+ <location filename="../../src/ChatPage.cpp" line="+217"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
- <location line="+947"/>
+ <location line="+931"/>
<source>Invited user: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-458"/>
+ <location line="-444"/>
<source>Migrating the cache to the current version failed. This can have different reasons. Please open an issue and try to use an older version in the mean time. Alternatively you can try deleting the cache manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+415"/>
+ <location line="+401"/>
<source>Room %1 created.</source>
<translation type="unfinished"></translation>
</message>
@@ -108,12 +154,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-874"/>
+ <location line="-858"/>
<source>Failed to upload media. Please try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+334"/>
+ <location line="+332"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -128,7 +174,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+53"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>恢复 OLM 账户失败。请重新登录。</translation>
</message>
@@ -144,12 +190,12 @@
</message>
<message>
<location line="+99"/>
- <location line="+251"/>
+ <location line="+257"/>
<source>Please try to login again: %1</source>
<translation>请尝试再次登录:%1</translation>
</message>
<message>
- <location line="-219"/>
+ <location line="-225"/>
<source>Failed to join room: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -210,6 +256,29 @@
</message>
</context>
<context>
+ <name>DigitVerification</name>
+ <message>
+ <location filename="../qml/device-verification/DigitVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+72"/>
@@ -235,13 +304,13 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+117"/>
- <location line="+139"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+113"/>
+ <location line="+181"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-42"/>
+ <location line="-66"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -282,9 +351,32 @@
</message>
</context>
<context>
+ <name>EmojiVerification</name>
+ <message>
+ <location filename="../qml/device-verification/EmojiVerification.qml" line="+7"/>
+ <source>Verification Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+376"/>
+ <source>They do not match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>They match!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+36"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+19"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@@ -297,25 +389,27 @@
<context>
<name>EventStore</name>
<message>
- <location filename="../../src/timeline/EventStore.cpp" line="+418"/>
+ <location filename="../../src/timeline/EventStore.cpp" line="+519"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can't be decrypted.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+32"/>
+ <location line="+62"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can't be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-48"/>
+ <location line="+61"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can't be decrypted. In this case, the Olm decrytion returned an error, which is passed as %1.</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="-51"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn't parse it, because Nheko/mtxclient don't support that event type yet.</comment>
<translation type="unfinished"></translation>
@@ -332,6 +426,40 @@
</message>
</context>
<context>
+ <name>Failed</name>
+ <message>
+ <location filename="../qml/device-verification/Failed.qml" line="+7"/>
+ <source>Verification failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Other client does not support our verification protocol.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Key mismatch detected!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+4"/>
+ <source>Device verification timed out.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Other party canceled the verification.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+18"/>
@@ -443,18 +571,18 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+66"/>
- <location line="+6"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+105"/>
+ <location line="+9"/>
<source>redacted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>room name changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -464,7 +592,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>topic changed to: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -474,42 +602,93 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 created and configured room: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+12"/>
<source>%1 placed a voice call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a video call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>%1 placed a call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>%1 answered the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>%1 ended the call.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+9"/>
<source>Negotiating call...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>MessageInput</name>
+ <message>
+ <location filename="../qml/MessageInput.qml" line="+47"/>
+ <source>Write a message...</source>
+ <translation type="unfinished">写一条消息...</translation>
+ </message>
+</context>
+<context>
+ <name>NewVerificationRequest</name>
+ <message>
+ <location filename="../qml/device-verification/NewVerificationRequest.qml" line="+7"/>
+ <source>Send Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Recieved Device Verification Request</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To ensure that no malicious user can eavesdrop on your encrypted communications, you can verify this device.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The device was requested to be verified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Cancel</source>
+ <translation type="unfinished">取消</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Deny</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Start verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Accept</source>
+ <translation type="unfinished">接受</translation>
+ </message>
+</context>
+<context>
<name>Placeholder</name>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+4"/>
@@ -518,6 +697,24 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../../src/main.cpp" line="+172"/>
+ <source>Create a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>profile name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cpp" line="+74"/>
@@ -594,9 +791,17 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>ReplyPopup</name>
+ <message>
+ <location filename="../qml/ReplyPopup.qml" line="+43"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1443"/>
+ <location filename="../../src/Cache.cpp" line="+1780"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -656,7 +861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+173"/>
+ <location line="+169"/>
<source>Accept</source>
<translation>接受</translation>
</message>
@@ -697,30 +902,48 @@ Example: https://server.my:8787</source>
<context>
<name>StatusIndicator</name>
<message>
- <location filename="../qml/StatusIndicator.qml" line="+14"/>
+ <location filename="../qml/StatusIndicator.qml" line="+17"/>
<source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Sent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Received</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>Success</name>
+ <message>
+ <location filename="../qml/device-verification/Success.qml" line="+6"/>
+ <source>Successful Verification</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Verification successful! Both sides verified their devices!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>TextInputWidget</name>
<message>
- <location filename="../../src/TextInputWidget.cpp" line="+574"/>
+ <location filename="../../src/TextInputWidget.cpp" line="+577"/>
<source>Send a file</source>
<translation>发送一个文件</translation>
</message>
@@ -741,7 +964,7 @@ Example: https://server.my:8787</source>
<translation></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+96"/>
<source>Select a file</source>
<translation>选择一个文件</translation>
</message>
@@ -751,7 +974,7 @@ Example: https://server.my:8787</source>
<translation>所有文件(*)</translation>
</message>
<message>
- <location line="+64"/>
+ <location line="+63"/>
<source>Place a call</source>
<translation type="unfinished"></translation>
</message>
@@ -769,20 +992,19 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+805"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+853"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished">删除消息失败:%1</translation>
</message>
<message>
- <location line="+114"/>
- <location line="+17"/>
- <location line="+101"/>
+ <location line="+130"/>
+ <location line="+8"/>
<location line="+5"/>
<source>Failed to encrypt event, sending aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+195"/>
+ <location line="+156"/>
<source>Save image</source>
<translation type="unfinished">保存图像</translation>
</message>
@@ -920,12 +1142,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-943"/>
+ <location line="-810"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+945"/>
+ <location line="+812"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -949,17 +1171,17 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+94"/>
+ <location filename="../qml/TimelineRow.qml" line="+95"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+15"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+14"/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -967,63 +1189,74 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+61"/>
+ <location filename="../qml/TimelineView.qml" line="+75"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Read receipts</source>
<translation type="unfinished">阅读回执</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>View raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>View decrypted raw message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Redact message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Save as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+43"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TimelineViewManager</name>
<message>
- <location line="+53"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+410"/>
+ <source>No share room with this user found. Create an encrypted room with this user and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TopBar</name>
+ <message>
+ <location filename="../qml/TopBar.qml" line="+41"/>
<source>Back to room list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+12"/>
<location line="+15"/>
<source>No room selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location line="+27"/>
<source>Room options</source>
<translation type="unfinished">聊天室选项</translation>
</message>
@@ -1033,25 +1266,20 @@ Example: https://server.my:8787</source>
<translation type="unfinished">邀请用户</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Members</source>
<translation type="unfinished">成员</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Leave room</source>
<translation type="unfinished">离开聊天室</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Settings</source>
<translation type="unfinished">设置</translation>
</message>
- <message>
- <location line="+253"/>
- <source>Close</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>TrayIcon</name>
@@ -1110,9 +1338,32 @@ Example: https://server.my:8787</source>
</message>
</context>
<context>
+ <name>UserProfile</name>
+ <message>
+ <location filename="../qml/UserProfile.qml" line="+60"/>
+ <source>Verify</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Ban the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Start a private chat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Kick the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>UserSettingsPage</name>
<message>
- <location filename="../../src/UserSettingsPage.cpp" line="+566"/>
+ <location filename="../../src/UserSettingsPage.cpp" line="+595"/>
<source>Minimize to tray</source>
<translation>最小化至托盘</translation>
</message>
@@ -1132,12 +1383,17 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-63"/>
+ <location line="-149"/>
+ <source>profile: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+87"/>
<source>CALLS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location line="+57"/>
<source>Keep the application running in the background after closing the client window.</source>
<translation type="unfinished"></translation>
</message>
@@ -1275,7 +1531,17 @@ This usually causes the application icon in the task bar to animate in some fash
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+4"/>
+ <source>Mobile mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Will prevent text selection in the timeline to make scrolling easier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Scale factor</source>
<translation type="unfinished"></translation>
</message>
@@ -1320,7 +1586,7 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>设备指纹</translation>
</message>
<message>
- <location line="-120"/>
+ <location line="-123"/>
<source>Session Keys</source>
<translation>会话密钥</translation>
</message>
@@ -1340,22 +1606,32 @@ This usually causes the application icon in the task bar to animate in some fash
<translation>加密</translation>
</message>
<message>
- <location line="-78"/>
+ <location line="-75"/>
<source>GENERAL</source>
<translation>通用</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+32"/>
<source>INTERFACE</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+172"/>
+ <location line="+170"/>
<source>Emoji Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+191"/>
+ <location line="+18"/>
+ <source>Share keys with trusted users</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Automatically replies to key requests from other users, if they are verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+185"/>
<source>Open Sessions File</source>
<translation>打开会话文件</translation>
</message>
@@ -1402,6 +1678,34 @@ This usually causes the application icon in the task bar to animate in some fash
</message>
</context>
<context>
+ <name>Waiting</name>
+ <message>
+ <location filename="../qml/device-verification/Waiting.qml" line="+7"/>
+ <source>Waiting for other party</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Waiting for other side to accept the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to continue the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Waiting for other side to complete the verification request.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Cancel</source>
+ <translation type="unfinished">取消</translation>
+ </message>
+</context>
+<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cpp" line="+47"/>
diff --git a/resources/qml/ActiveCallBar.qml b/resources/qml/ActiveCallBar.qml
index 49b5d059..7137197b 100644
--- a/resources/qml/ActiveCallBar.qml
+++ b/resources/qml/ActiveCallBar.qml
@@ -8,7 +8,7 @@ Rectangle {
visible: TimelineManager.callState != WebRTCState.DISCONNECTED
color: "#2ECC71"
- implicitHeight: rowLayout.height + 8
+ implicitHeight: visible ? rowLayout.height + 8 : 0
MouseArea {
anchors.fill: parent
diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml
index a247bffe..34b029a6 100644
--- a/resources/qml/Avatar.qml
+++ b/resources/qml/Avatar.qml
@@ -13,7 +13,7 @@ Rectangle {
width: 48
height: 48
radius: Settings.avatarCircles ? height / 2 : 3
- color: colors.base
+ color: colors.alternateBase
Label {
anchors.fill: parent
diff --git a/resources/qml/MatrixText.qml b/resources/qml/MatrixText.qml
index 6c96a539..a5781c73 100644
--- a/resources/qml/MatrixText.qml
+++ b/resources/qml/MatrixText.qml
@@ -6,8 +6,7 @@ TextEdit {
textFormat: TextEdit.RichText
readOnly: true
wrapMode: Text.Wrap
- selectByMouse: true
- activeFocusOnPress: false
+ selectByMouse: !Settings.mobileMode
color: colors.text
onLinkActivated: {
if (/^https:\/\/matrix.to\/#\/(@.*)$/.test(link)) {
@@ -29,7 +28,6 @@ TextEdit {
id: ma
anchors.fill: parent
- propagateComposedEvents: true
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml
new file mode 100644
index 00000000..71da9cae
--- /dev/null
+++ b/resources/qml/MessageInput.qml
@@ -0,0 +1,90 @@
+import QtQuick 2.9
+import QtQuick.Controls 2.3
+import QtQuick.Layouts 1.2
+import QtQuick.Window 2.2
+
+Rectangle {
+ color: colors.window
+ Layout.fillWidth: true
+ Layout.preferredHeight: textInput.height
+ Layout.minimumHeight: 40
+
+ RowLayout {
+ id: inputBar
+
+ anchors.fill: parent
+ spacing: 16
+
+ ImageButton {
+ Layout.alignment: Qt.AlignBottom
+ hoverEnabled: true
+ width: 22
+ height: 22
+ image: ":/icons/icons/ui/place-call.png"
+ Layout.topMargin: 8
+ Layout.bottomMargin: 8
+ Layout.leftMargin: 16
+ }
+
+ ImageButton {
+ Layout.alignment: Qt.AlignBottom
+ hoverEnabled: true
+ width: 22
+ height: 22
+ image: ":/icons/icons/ui/paper-clip-outline.png"
+ Layout.topMargin: 8
+ Layout.bottomMargin: 8
+ }
+
+ ScrollView {
+ id: textInput
+
+ Layout.alignment: Qt.AlignBottom
+ Layout.maximumHeight: Window.height / 4
+ Layout.fillWidth: true
+
+ TextArea {
+ placeholderText: qsTr("Write a message...")
+ placeholderTextColor: colors.buttonText
+ color: colors.text
+ wrapMode: TextEdit.Wrap
+
+ MouseArea {
+ // workaround for wrong cursor shape on some platforms
+ anchors.fill: parent
+ acceptedButtons: Qt.NoButton
+ cursorShape: Qt.IBeamCursor
+ }
+
+ background: Rectangle {
+ color: colors.window
+ }
+
+ }
+
+ }
+
+ ImageButton {
+ Layout.alignment: Qt.AlignRight | Qt.AlignBottom
+ hoverEnabled: true
+ width: 22
+ height: 22
+ image: ":/icons/icons/ui/smile.png"
+ Layout.topMargin: 8
+ Layout.bottomMargin: 8
+ }
+
+ ImageButton {
+ Layout.alignment: Qt.AlignRight | Qt.AlignBottom
+ hoverEnabled: true
+ width: 22
+ height: 22
+ image: ":/icons/icons/ui/cursor.png"
+ Layout.topMargin: 8
+ Layout.bottomMargin: 8
+ Layout.rightMargin: 16
+ }
+
+ }
+
+}
diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml
new file mode 100644
index 00000000..09220a71
--- /dev/null
+++ b/resources/qml/MessageView.qml
@@ -0,0 +1,202 @@
+import "./delegates"
+import QtGraphicalEffects 1.0
+import QtQuick 2.9
+import QtQuick.Controls 2.3
+import QtQuick.Layouts 1.2
+import QtQuick.Window 2.2
+import im.nheko 1.0
+
+ListView {
+ id: chat
+
+ property int delegateMaxWidth: (Settings.timelineMaxWidth > 100 && (parent.width - Settings.timelineMaxWidth) > scrollbar.width * 2) ? Settings.timelineMaxWidth : (parent.width - scrollbar.width * 2)
+
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ cacheBuffer: 400
+ model: TimelineManager.timeline
+ boundsBehavior: Flickable.StopAtBounds
+ pixelAligned: true
+ spacing: 4
+ verticalLayoutDirection: ListView.BottomToTop
+ onCountChanged: {
+ if (atYEnd)
+ model.currentIndex = 0;
+
+ } // Mark last event as read, since we are at the bottom
+
+ ScrollHelper {
+ flickable: parent
+ anchors.fill: parent
+ }
+
+ Shortcut {
+ sequence: StandardKey.MoveToPreviousPage
+ onActivated: {
+ chat.contentY = chat.contentY - chat.height / 2;
+ chat.returnToBounds();
+ }
+ }
+
+ Shortcut {
+ sequence: StandardKey.MoveToNextPage
+ onActivated: {
+ chat.contentY = chat.contentY + chat.height / 2;
+ chat.returnToBounds();
+ }
+ }
+
+ Shortcut {
+ sequence: StandardKey.Cancel
+ onActivated: chat.model.reply = undefined
+ }
+
+ Shortcut {
+ sequence: "Alt+Up"
+ onActivated: chat.model.reply = chat.model.indexToId(chat.model.reply ? chat.model.idToIndex(chat.model.reply) + 1 : 0)
+ }
+
+ Shortcut {
+ sequence: "Alt+Down"
+ onActivated: {
+ var idx = chat.model.reply ? chat.model.idToIndex(chat.model.reply) - 1 : -1;
+ chat.model.reply = idx >= 0 ? chat.model.indexToId(idx) : undefined;
+ }
+ }
+
+ section {
+ property: "section"
+ }
+
+ Component {
+ id: sectionHeader
+
+ Column {
+ property var modelData
+ property string section
+ property string nextSection
+
+ topPadding: 4
+ bottomPadding: 4
+ spacing: 8
+ visible: !!modelData
+ width: parent.width
+ height: (section.includes(" ") ? dateBubble.height + 8 + userName.height : userName.height) + 8
+
+ Label {
+ id: dateBubble
+
+ anchors.horizontalCenter: parent ? parent.horizontalCenter : undefined
+ visible: section.includes(" ")
+ text: chat.model.formatDateSeparator(modelData.timestamp)
+ color: colors.text
+ height: fontMetrics.height * 1.4
+ width: contentWidth * 1.2
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
+
+ background: Rectangle {
+ radius: parent.height / 2
+ color: colors.window
+ }
+
+ }
+
+ Row {
+ height: userName.height
+ spacing: 8
+
+ Avatar {
+ width: avatarSize
+ height: avatarSize
+ url: chat.model.avatarUrl(modelData.userId).replace("mxc://", "image://MxcImage/")
+ displayName: modelData.userName
+ userid: modelData.userId
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: chat.model.openUserProfile(modelData.userId)
+ cursorShape: Qt.PointingHandCursor
+ propagateComposedEvents: true
+ }
+
+ }
+
+ Label {
+ id: userName
+
+ text: TimelineManager.escapeEmoji(modelData.userName)
+ color: TimelineManager.userColor(modelData.userId, colors.window)
+ textFormat: Text.RichText
+
+ MouseArea {
+ anchors.fill: parent
+ Layout.alignment: Qt.AlignHCenter
+ onClicked: chat.model.openUserProfile(modelData.userId)
+ cursorShape: Qt.PointingHandCursor
+ propagateComposedEvents: true
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ ScrollBar.vertical: ScrollBar {
+ id: scrollbar
+ }
+
+ delegate: Item {
+ id: wrapper
+
+ // This would normally be previousSection, but our model's order is inverted.
+ property bool sectionBoundary: (ListView.nextSection != "" && ListView.nextSection !== ListView.section) || model.index === chat.count - 1
+ property Item section
+
+ anchors.horizontalCenter: parent ? parent.horizontalCenter : undefined
+ width: chat.delegateMaxWidth
+ height: section ? section.height + timelinerow.height : timelinerow.height
+ onSectionBoundaryChanged: {
+ if (sectionBoundary) {
+ var properties = {
+ "modelData": model.dump,
+ "section": ListView.section,
+ "nextSection": ListView.nextSection
+ };
+ section = sectionHeader.createObject(wrapper, properties);
+ } else {
+ section.destroy();
+ section = null;
+ }
+ }
+
+ TimelineRow {
+ id: timelinerow
+
+ y: section ? section.y + section.height : 0
+ }
+
+ Connections {
+ function onMovementEnded() {
+ if (y + height + 2 * chat.spacing > chat.contentY + chat.height && y < chat.contentY + chat.height)
+ chat.model.currentIndex = index;
+
+ }
+
+ target: chat
+ }
+
+ }
+
+ footer: BusyIndicator {
+ anchors.horizontalCenter: parent.horizontalCenter
+ running: chat.model && chat.model.paginationInProgress
+ height: 50
+ width: 50
+ z: 3
+ }
+
+}
diff --git a/resources/qml/Reactions.qml b/resources/qml/Reactions.qml
index 6487f512..836087ef 100644
--- a/resources/qml/Reactions.qml
+++ b/resources/qml/Reactions.qml
@@ -83,7 +83,7 @@ Flow {
implicitWidth: reaction.implicitWidth
implicitHeight: reaction.implicitHeight
border.color: (reaction.hovered || modelData.selfReactedEvent !== '') ? colors.highlight : colors.text
- color: modelData.selfReactedEvent !== '' ? Qt.hsla(highlightHue, highlightSat, highlightLight, 0.2) : colors.base
+ color: modelData.selfReactedEvent !== '' ? Qt.hsla(highlightHue, highlightSat, highlightLight, 0.2) : colors.window
border.width: 1
radius: reaction.height / 2
}
diff --git a/resources/qml/ReplyPopup.qml b/resources/qml/ReplyPopup.qml
new file mode 100644
index 00000000..4659e075
--- /dev/null
+++ b/resources/qml/ReplyPopup.qml
@@ -0,0 +1,47 @@
+import "./delegates/"
+import QtQuick 2.9
+import QtQuick.Controls 2.3
+import QtQuick.Layouts 1.2
+import im.nheko 1.0
+
+Rectangle {
+ id: replyPopup
+
+ property var room: TimelineManager.timeline
+
+ Layout.fillWidth: true
+ visible: room && room.reply
+ // Height of child, plus margins, plus border
+ implicitHeight: replyPreview.height + 10
+ color: colors.window
+ z: 3
+
+ Reply {
+ id: replyPreview
+
+ anchors.left: parent.left
+ anchors.leftMargin: 2 * 22 + 3 * 16
+ anchors.right: closeReplyButton.left
+ anchors.rightMargin: 2 * 22 + 3 * 16
+ anchors.bottom: parent.bottom
+ modelData: room ? room.getDump(room.reply, room.id) : {
+ }
+ userColor: TimelineManager.userColor(modelData.userId, colors.window)
+ }
+
+ ImageButton {
+ id: closeReplyButton
+
+ anchors.right: parent.right
+ anchors.rightMargin: 15
+ anchors.top: replyPreview.top
+ hoverEnabled: true
+ width: 16
+ height: 16
+ image: ":/icons/icons/ui/remove-symbol.png"
+ ToolTip.visible: closeReplyButton.hovered
+ ToolTip.text: qsTr("Close")
+ onClicked: room.reply = undefined
+ }
+
+}
diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml
index 38597673..57fded90 100644
--- a/resources/qml/TimelineRow.qml
+++ b/resources/qml/TimelineRow.qml
@@ -48,7 +48,7 @@ Item {
Reply {
visible: model.replyTo
modelData: chat.model.getDump(model.replyTo, model.id)
- userColor: TimelineManager.userColor(modelData.userId, colors.window)
+ userColor: TimelineManager.userColor(modelData.userId, colors.base)
}
// actual message content
diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index d69d5568..9d00442c 100644
--- a/resources/qml/TimelineView.qml
+++ b/resources/qml/TimelineView.qml
@@ -43,6 +43,14 @@ Page {
}
+ Component {
+ id: userProfileComponent
+
+ UserProfile {
+ }
+
+ }
+
Menu {
id: messageContextMenu
@@ -69,12 +77,12 @@ Page {
MenuItem {
text: qsTr("Reply")
- onClicked: chat.model.replyAction(messageContextMenu.eventId)
+ onClicked: TimelineManager.timeline.replyAction(messageContextMenu.eventId)
}
MenuItem {
text: qsTr("Read receipts")
- onTriggered: chat.model.readReceiptsAction(messageContextMenu.eventId)
+ onTriggered: TimelineManager.timeline.readReceiptsAction(messageContextMenu.eventId)
}
MenuItem {
@@ -83,19 +91,19 @@ Page {
MenuItem {
text: qsTr("View raw message")
- onTriggered: chat.model.viewRawMessage(messageContextMenu.eventId)
+ onTriggered: TimelineManager.timeline.viewRawMessage(messageContextMenu.eventId)
}
MenuItem {
visible: messageContextMenu.isEncrypted
height: visible ? implicitHeight : 0
text: qsTr("View decrypted raw message")
- onTriggered: chat.model.viewDecryptedRawMessage(messageContextMenu.eventId)
+ onTriggered: TimelineManager.timeline.viewDecryptedRawMessage(messageContextMenu.eventId)
}
MenuItem {
text: qsTr("Redact message")
- onTriggered: chat.model.redactEvent(messageContextMenu.eventId)
+ onTriggered: TimelineManager.timeline.redactEvent(messageContextMenu.eventId)
}
MenuItem {
@@ -159,436 +167,76 @@ Page {
}
ColumnLayout {
+ visible: TimelineManager.timeline != null
anchors.fill: parent
+ spacing: 0
- Rectangle {
- id: topBar
+ TopBar {
+ }
+ Rectangle {
Layout.fillWidth: true
- implicitHeight: topLayout.height + 16
+ height: 1
z: 3
- color: colors.base
-
- MouseArea {
- anchors.fill: parent
- onClicked: TimelineManager.openRoomSettings()
- }
-
- GridLayout {
- //Layout.margins: 8
-
- id: topLayout
-
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.margins: 8
- anchors.verticalCenter: parent.verticalCenter
-
- ImageButton {
- id: backToRoomsButton
-
- Layout.column: 0
- Layout.row: 0
- Layout.rowSpan: 2
- Layout.alignment: Qt.AlignVCenter
- visible: TimelineManager.isNarrowView
- image: ":/icons/icons/ui/angle-pointing-to-left.png"
- ToolTip.visible: hovered
- ToolTip.text: qsTr("Back to room list")
- onClicked: TimelineManager.backToRooms()
- }
-
- Avatar {
- Layout.column: 1
- Layout.row: 0
- Layout.rowSpan: 2
- Layout.alignment: Qt.AlignVCenter
- width: avatarSize
- height: avatarSize
- url: chat.model ? chat.model.roomAvatarUrl.replace("mxc://", "image://MxcImage/") : ""
- displayName: chat.model ? chat.model.roomName : qsTr("No room selected")
-
- MouseArea {
- anchors.fill: parent
- onClicked: TimelineManager.openRoomSettings()
- }
-
- }
-
- Label {
- Layout.fillWidth: true
- Layout.column: 2
- Layout.row: 0
- color: colors.text
- font.pointSize: fontMetrics.font.pointSize * 1.1
- text: chat.model ? chat.model.roomName : qsTr("No room selected")
-
- MouseArea {
- anchors.fill: parent
- onClicked: TimelineManager.openRoomSettings()
- }
-
- }
-
- MatrixText {
- Layout.fillWidth: true
- Layout.column: 2
- Layout.row: 1
- Layout.maximumHeight: fontMetrics.lineSpacing * 2 // show 2 lines
- clip: true
- text: chat.model ? chat.model.roomTopic : ""
- }
-
- ImageButton {
- id: roomOptionsButton
-
- Layout.column: 3
- Layout.row: 0
- Layout.rowSpan: 2
- Layout.alignment: Qt.AlignVCenter
- image: ":/icons/icons/ui/vertical-ellipsis.png"
- ToolTip.visible: hovered
- ToolTip.text: qsTr("Room options")
- onClicked: roomOptionsMenu.popup(roomOptionsButton)
-
- Menu {
- id: roomOptionsMenu
-
- MenuItem {
- text: qsTr("Invite users")
- onTriggered: TimelineManager.openInviteUsersDialog()
- }
-
- MenuItem {
- text: qsTr("Members")
- onTriggered: TimelineManager.openMemberListDialog()
- }
-
- MenuItem {
- text: qsTr("Leave room")
- onTriggered: TimelineManager.openLeaveRoomDialog()
- }
-
- MenuItem {
- text: qsTr("Settings")
- onTriggered: TimelineManager.openRoomSettings()
- }
-
- }
-
- }
-
- }
-
+ color: colors.mid
}
- StackLayout {
- id: stackLayout
- currentIndex: 0
-
- Connections {
- target: TimelineManager
- function onActiveTimelineChanged() {
- stackLayout.currentIndex = 0;
- }
- }
-
- ListView {
- id: chat
-
- property int delegateMaxWidth: (Settings.timelineMaxWidth > 100 && (parent.width - Settings.timelineMaxWidth) > scrollbar.width * 2) ? Settings.timelineMaxWidth : (parent.width - scrollbar.width * 2)
-
- visible: TimelineManager.timeline != null
- cacheBuffer: 400
- Layout.fillWidth: true
- Layout.fillHeight: true
- model: TimelineManager.timeline
- boundsBehavior: Flickable.StopAtBounds
- pixelAligned: true
- spacing: 4
- verticalLayoutDirection: ListView.BottomToTop
- onCountChanged: {
- if (atYEnd)
- model.currentIndex = 0;
-
- } // Mark last event as read, since we are at the bottom
-
- ScrollHelper {
- flickable: parent
- anchors.fill: parent
- }
-
- Shortcut {
- sequence: StandardKey.MoveToPreviousPage
- onActivated: {
- chat.contentY = chat.contentY - chat.height / 2;
- chat.returnToBounds();
- }
- }
-
- Shortcut {
- sequence: StandardKey.MoveToNextPage
- onActivated: {
- chat.contentY = chat.contentY + chat.height / 2;
- chat.returnToBounds();
- }
- }
-
- Shortcut {
- sequence: StandardKey.Cancel
- onActivated: chat.model.reply = undefined
- }
-
- Shortcut {
- sequence: "Alt+Up"
- onActivated: chat.model.reply = chat.model.indexToId(chat.model.reply ? chat.model.idToIndex(chat.model.reply) + 1 : 0)
- }
-
- Shortcut {
- sequence: "Alt+Down"
- onActivated: {
- var idx = chat.model.reply ? chat.model.idToIndex(chat.model.reply) - 1 : -1;
- chat.model.reply = idx >= 0 ? chat.model.indexToId(idx) : undefined;
- }
- }
-
- Component {
- id: userProfileComponent
-
- UserProfile {
- }
-
- }
-
- section {
- property: "section"
- }
-
- Component {
- id: sectionHeader
-
- Column {
- property var modelData
- property string section
- property string nextSection
-
- topPadding: 4
- bottomPadding: 4
- spacing: 8
- visible: !!modelData
- width: parent.width
- height: (section.includes(" ") ? dateBubble.height + 8 + userName.height : userName.height) + 8
-
- Label {
- id: dateBubble
-
- anchors.horizontalCenter: parent ? parent.horizontalCenter : undefined
- visible: section.includes(" ")
- text: chat.model.formatDateSeparator(modelData.timestamp)
- color: colors.text
- height: fontMetrics.height * 1.4
- width: contentWidth * 1.2
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
-
- background: Rectangle {
- radius: parent.height / 2
- color: colors.base
- }
-
- }
-
- Row {
- height: userName.height
- spacing: 8
-
- Avatar {
- width: avatarSize
- height: avatarSize
- url: chat.model.avatarUrl(modelData.userId).replace("mxc://", "image://MxcImage/")
- displayName: modelData.userName
- userid: modelData.userId
-
- MouseArea {
- anchors.fill: parent
- onClicked: chat.model.openUserProfile(modelData.userId)
- cursorShape: Qt.PointingHandCursor
- propagateComposedEvents: true
- }
-
- }
-
- Label {
- id: userName
-
- text: TimelineManager.escapeEmoji(modelData.userName)
- color: TimelineManager.userColor(modelData.userId, colors.window)
- textFormat: Text.RichText
+ Rectangle {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ color: colors.base
- MouseArea {
- anchors.fill: parent
- Layout.alignment: Qt.AlignHCenter
- onClicked: chat.model.openUserProfile(modelData.userId)
- cursorShape: Qt.PointingHandCursor
- propagateComposedEvents: true
- }
+ ColumnLayout {
+ anchors.fill: parent
+ spacing: 0
- }
+ StackLayout {
+ id: stackLayout
+ currentIndex: 0
+ Connections {
+ target: TimelineManager
+ function onActiveTimelineChanged() {
+ stackLayout.currentIndex = 0;
}
-
}
- }
-
- ScrollBar.vertical: ScrollBar {
- id: scrollbar
- }
-
- delegate: Item {
- id: wrapper
-
- // This would normally be previousSection, but our model's order is inverted.
- property bool sectionBoundary: (ListView.nextSection != "" && ListView.nextSection !== ListView.section) || model.index === chat.count - 1
- property Item section
-
- anchors.horizontalCenter: parent ? parent.horizontalCenter : undefined
- width: chat.delegateMaxWidth
- height: section ? section.height + timelinerow.height : timelinerow.height
- onSectionBoundaryChanged: {
- if (sectionBoundary) {
- var properties = {
- "modelData": model.dump,
- "section": ListView.section,
- "nextSection": ListView.nextSection
- };
- section = sectionHeader.createObject(wrapper, properties);
- } else {
- section.destroy();
- section = null;
- }
+ MessageView {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
}
- TimelineRow {
- id: timelinerow
-
- y: section ? section.y + section.height : 0
+ Loader {
+ source: TimelineManager.onVideoCall ? "VideoCall.qml" : ""
+ onLoaded: TimelineManager.setVideoCallItem()
}
-
- Connections {
- function onMovementEnded() {
- if (y + height + 2 * chat.spacing > chat.contentY + chat.height && y < chat.contentY + chat.height)
- chat.model.currentIndex = index;
-
- }
-
- target: chat
- }
-
}
- footer: BusyIndicator {
- anchors.horizontalCenter: parent.horizontalCenter
- running: chat.model && chat.model.paginationInProgress
- height: 50
- width: 50
- z: 3
+ TypingIndicator {
}
}
- Loader {
- id: videoCallLoader
- source: TimelineManager.onVideoCall ? "VideoCall.qml" : ""
- onLoaded: TimelineManager.setVideoCallItem()
- }
}
- Item {
- id: chatFooter
-
- implicitHeight: Math.max(fontMetrics.height * 1.2, footerContent.height)
+ ActiveCallBar {
Layout.fillWidth: true
z: 3
-
- Column {
- id: footerContent
-
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: parent.bottom
-
- Rectangle {
- id: typingRect
-
- anchors.left: parent.left
- anchors.right: parent.right
- color: (chat.model && chat.model.typingUsers.length > 0) ? colors.window : "transparent"
- height: typingDisplay.height
-
- Label {
- id: typingDisplay
-
- anchors.left: parent.left
- anchors.leftMargin: 10
- anchors.right: parent.right
- anchors.rightMargin: 10
- color: colors.text
- text: chat.model ? chat.model.formatTypingUsers(chat.model.typingUsers, colors.window) : ""
- textFormat: Text.RichText
- }
-
- }
-
- Rectangle {
- id: replyPopup
-
- anchors.left: parent.left
- anchors.right: parent.right
- visible: chat.model && chat.model.reply
- // Height of child, plus margins, plus border
- height: replyPreview.height + 10
- color: colors.base
-
- Reply {
- id: replyPreview
-
- anchors.left: parent.left
- anchors.leftMargin: 10
- anchors.right: closeReplyButton.left
- anchors.rightMargin: 20
- anchors.bottom: parent.bottom
- modelData: chat.model ? chat.model.getDump(chat.model.reply, chat.model.id) : {
- }
- userColor: TimelineManager.userColor(modelData.userId, colors.window)
- }
-
- ImageButton {
- id: closeReplyButton
-
- anchors.right: parent.right
- anchors.rightMargin: 15
- anchors.top: replyPreview.top
- hoverEnabled: true
- width: 16
- height: 16
- image: ":/icons/icons/ui/remove-symbol.png"
- ToolTip.visible: closeReplyButton.hovered
- ToolTip.text: qsTr("Close")
- onClicked: chat.model.reply = undefined
- }
-
- }
-
- }
-
}
- ActiveCallBar {
+ Rectangle {
Layout.fillWidth: true
z: 3
+ height: 1
+ color: colors.mid
}
+ ReplyPopup {
+ }
+
+ //MessageInput {
+ //}
+
}
}
diff --git a/resources/qml/TopBar.qml b/resources/qml/TopBar.qml
new file mode 100644
index 00000000..181b9ba4
--- /dev/null
+++ b/resources/qml/TopBar.qml
@@ -0,0 +1,127 @@
+import QtQuick 2.9
+import QtQuick.Controls 2.3
+import QtQuick.Layouts 1.2
+import im.nheko 1.0
+
+Rectangle {
+ id: topBar
+
+ property var room: TimelineManager.timeline
+
+ Layout.fillWidth: true
+ implicitHeight: topLayout.height + 16
+ z: 3
+ color: colors.window
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: TimelineManager.openRoomSettings()
+ }
+
+ GridLayout {
+ //Layout.margins: 8
+
+ id: topLayout
+
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.margins: 8
+ anchors.verticalCenter: parent.verticalCenter
+
+ ImageButton {
+ id: backToRoomsButton
+
+ Layout.column: 0
+ Layout.row: 0
+ Layout.rowSpan: 2
+ Layout.alignment: Qt.AlignVCenter
+ visible: TimelineManager.isNarrowView
+ image: ":/icons/icons/ui/angle-pointing-to-left.png"
+ ToolTip.visible: hovered
+ ToolTip.text: qsTr("Back to room list")
+ onClicked: TimelineManager.backToRooms()
+ }
+
+ Avatar {
+ Layout.column: 1
+ Layout.row: 0
+ Layout.rowSpan: 2
+ Layout.alignment: Qt.AlignVCenter
+ width: avatarSize
+ height: avatarSize
+ url: room ? room.roomAvatarUrl.replace("mxc://", "image://MxcImage/") : ""
+ displayName: room ? room.roomName : qsTr("No room selected")
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: TimelineManager.openRoomSettings()
+ }
+
+ }
+
+ Label {
+ Layout.fillWidth: true
+ Layout.column: 2
+ Layout.row: 0
+ color: colors.text
+ font.pointSize: fontMetrics.font.pointSize * 1.1
+ text: room ? room.roomName : qsTr("No room selected")
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: TimelineManager.openRoomSettings()
+ }
+
+ }
+
+ MatrixText {
+ Layout.fillWidth: true
+ Layout.column: 2
+ Layout.row: 1
+ Layout.maximumHeight: fontMetrics.lineSpacing * 2 // show 2 lines
+ clip: true
+ text: room ? room.roomTopic : ""
+ }
+
+ ImageButton {
+ id: roomOptionsButton
+
+ Layout.column: 3
+ Layout.row: 0
+ Layout.rowSpan: 2
+ Layout.alignment: Qt.AlignVCenter
+ image: ":/icons/icons/ui/vertical-ellipsis.png"
+ ToolTip.visible: hovered
+ ToolTip.text: qsTr("Room options")
+ onClicked: roomOptionsMenu.popup(roomOptionsButton)
+
+ Menu {
+ id: roomOptionsMenu
+
+ MenuItem {
+ text: qsTr("Invite users")
+ onTriggered: TimelineManager.openInviteUsersDialog()
+ }
+
+ MenuItem {
+ text: qsTr("Members")
+ onTriggered: TimelineManager.openMemberListDialog()
+ }
+
+ MenuItem {
+ text: qsTr("Leave room")
+ onTriggered: TimelineManager.openLeaveRoomDialog()
+ }
+
+ MenuItem {
+ text: qsTr("Settings")
+ onTriggered: TimelineManager.openRoomSettings()
+ }
+
+ }
+
+ }
+
+ }
+
+}
diff --git a/resources/qml/TypingIndicator.qml b/resources/qml/TypingIndicator.qml
new file mode 100644
index 00000000..239fd662
--- /dev/null
+++ b/resources/qml/TypingIndicator.qml
@@ -0,0 +1,35 @@
+import QtQuick 2.9
+import QtQuick.Controls 2.3
+import QtQuick.Layouts 1.2
+import im.nheko 1.0
+
+Item {
+ property var room: TimelineManager.timeline
+
+ implicitHeight: Math.max(fontMetrics.height * 1.2, typingDisplay.height)
+ Layout.fillWidth: true
+
+ Rectangle {
+ id: typingRect
+
+ visible: (room && room.typingUsers.length > 0)
+ color: colors.base
+ anchors.fill: parent
+ z: 3
+
+ Label {
+ id: typingDisplay
+
+ anchors.left: parent.left
+ anchors.leftMargin: 10
+ anchors.right: parent.right
+ anchors.rightMargin: 10
+ anchors.bottom: parent.bottom
+ color: colors.text
+ text: room ? room.formatTypingUsers(room.typingUsers, colors.base) : ""
+ textFormat: Text.RichText
+ }
+
+ }
+
+}
diff --git a/resources/qml/delegates/FileMessage.qml b/resources/qml/delegates/FileMessage.qml
index c6f213ee..ffd1e82b 100644
--- a/resources/qml/delegates/FileMessage.qml
+++ b/resources/qml/delegates/FileMessage.qml
@@ -65,7 +65,7 @@ Item {
}
Rectangle {
- color: colors.dark
+ color: colors.alternateBase
z: -1
radius: 10
height: row.height + 24
diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml
index e2c78fbe..5c3dac95 100644
--- a/resources/qml/delegates/ImageMessage.qml
+++ b/resources/qml/delegates/ImageMessage.qml
@@ -31,11 +31,44 @@ Item {
fillMode: Image.PreserveAspectFit
MouseArea {
+ id: mouseArea
+
enabled: model.data.type == MtxEvent.ImageMessage && img.status == Image.Ready
+ hoverEnabled: true
anchors.fill: parent
onClicked: TimelineManager.openImageOverlay(model.data.url, model.data.id)
}
+ Item {
+ id: overlay
+
+ anchors.fill: parent
+ visible: mouseArea.containsMouse
+
+ Rectangle {
+ id: container
+
+ width: parent.width
+ implicitHeight: imgcaption.implicitHeight
+ anchors.bottom: overlay.bottom
+ color: colors.window
+ opacity: 0.75
+ }
+
+ Text {
+ id: imgcaption
+
+ anchors.fill: container
+ elide: Text.ElideMiddle
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
+ // See this MSC: https://github.com/matrix-org/matrix-doc/pull/2530
+ text: model.data.filename ? model.data.filename : model.data.body
+ color: colors.text
+ }
+
+ }
+
}
}
diff --git a/resources/qml/delegates/NoticeMessage.qml b/resources/qml/delegates/NoticeMessage.qml
index d9a7a3e7..67a69055 100644
--- a/resources/qml/delegates/NoticeMessage.qml
+++ b/resources/qml/delegates/NoticeMessage.qml
@@ -2,5 +2,5 @@ TextMessage {
font.italic: true
color: colors.buttonText
height: isReply ? Math.min(chat.height / 8, implicitHeight) : undefined
- clip: true
+ clip: isReply
}
diff --git a/resources/qml/delegates/Pill.qml b/resources/qml/delegates/Pill.qml
index 4acf2bef..88f6c7fd 100644
--- a/resources/qml/delegates/Pill.qml
+++ b/resources/qml/delegates/Pill.qml
@@ -9,7 +9,7 @@ Label {
background: Rectangle {
radius: parent.height / 2
- color: colors.dark
+ color: colors.alternateBase
}
}
diff --git a/resources/qml/delegates/PlayableMediaMessage.qml b/resources/qml/delegates/PlayableMediaMessage.qml
index 9ad115c7..be22687f 100644
--- a/resources/qml/delegates/PlayableMediaMessage.qml
+++ b/resources/qml/delegates/PlayableMediaMessage.qml
@@ -8,7 +8,7 @@ Rectangle {
id: bg
radius: 10
- color: colors.dark
+ color: colors.alternateBase
height: Math.round(content.height + 24)
width: parent ? parent.width : undefined
diff --git a/resources/qml/delegates/TextMessage.qml b/resources/qml/delegates/TextMessage.qml
index 69f2f0e3..8a1c116e 100644
--- a/resources/qml/delegates/TextMessage.qml
+++ b/resources/qml/delegates/TextMessage.qml
@@ -7,6 +7,6 @@ MatrixText {
text: "<style type=\"text/css\">a { color:" + colors.link + ";}</style>" + formatted.replace("<pre>", "<pre style='white-space: pre-wrap'>")
width: parent ? parent.width : undefined
height: isReply ? Math.round(Math.min(timelineRoot.height / 8, implicitHeight)) : undefined
- clip: true
+ clip: isReply
font.pointSize: (Settings.enlargeEmojiOnlyMessages && model.data.isOnlyEmoji > 0 && model.data.isOnlyEmoji < 4) ? Settings.fontSize * 3 : Settings.fontSize
}
diff --git a/resources/qml/emoji/EmojiPicker.qml b/resources/qml/emoji/EmojiPicker.qml
index 3a5ee57a..afe16350 100644
--- a/resources/qml/emoji/EmojiPicker.qml
+++ b/resources/qml/emoji/EmojiPicker.qml
@@ -59,6 +59,7 @@ Popup {
cellHeight: 52
boundsBehavior: Flickable.StopAtBounds
clip: true
+ currentIndex: -1 // prevent sorting from stealing focus
// Individual emoji
delegate: AbstractButton {
@@ -160,7 +161,7 @@ Popup {
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: 1
- color: emojiPopup.colors.dark
+ color: emojiPopup.colors.alternateBase
}
// Category picker row
@@ -280,7 +281,7 @@ Popup {
Layout.preferredWidth: 1
implicitWidth: 1
height: parent.height
- color: emojiPopup.colors.dark
+ color: emojiPopup.colors.alternateBase
}
// Search Button is special
diff --git a/resources/res.qrc b/resources/res.qrc
index dc5c9969..4eba0bca 100644
--- a/resources/res.qrc
+++ b/resources/res.qrc
@@ -122,6 +122,11 @@
<file>qtquickcontrols2.conf</file>
<file>qml/TimelineView.qml</file>
+ <file>qml/TopBar.qml</file>
+ <file>qml/MessageView.qml</file>
+ <file>qml/MessageInput.qml</file>
+ <file>qml/TypingIndicator.qml</file>
+ <file>qml/ReplyPopup.qml</file>
<file>qml/ActiveCallBar.qml</file>
<file>qml/Avatar.qml</file>
<file>qml/ImageButton.qml</file>
diff --git a/resources/styles/nheko-dark.qss b/resources/styles/nheko-dark.qss
index 3676f874..547e4256 100644
--- a/resources/styles/nheko-dark.qss
+++ b/resources/styles/nheko-dark.qss
@@ -205,9 +205,7 @@ TextField {
qproperty-labelColor: #caccd1;
}
-SideBarActions,
-TopRoomBar
-{
+SideBarActions {
border: none;
border-top: 1px solid #202228;
background-color: #2d3139;
@@ -215,7 +213,6 @@ TopRoomBar
TextInputWidget {
border: none;
- border-top: 1px solid #2d3139;
}
TextInputWidget,
diff --git a/resources/styles/nheko.qss b/resources/styles/nheko.qss
index 8604ad30..81d97f65 100644
--- a/resources/styles/nheko.qss
+++ b/resources/styles/nheko.qss
@@ -233,7 +233,6 @@ QLineEdit {
TextInputWidget {
border: none;
- border-top: 1px solid #dcdcdc;
}
SideBarActions {
@@ -241,11 +240,6 @@ SideBarActions {
border-top: 1px solid #dcdcdc;
}
-TopRoomBar {
- border: none;
- border-bottom: 1px solid #dcdcdc;
-}
-
Toggle {
qproperty-activeColor: #38a3d8;
qproperty-disabledColor: gray;
diff --git a/resources/styles/system.qss b/resources/styles/system.qss
index 01951aff..d65c8baa 100644
--- a/resources/styles/system.qss
+++ b/resources/styles/system.qss
@@ -28,11 +28,9 @@ UserMentionsWidget > TimelineItem {
SideBarActions,
TextInputWidget {
border: none;
- border-top: 1px solid palette(mid);
}
-UserInfoWidget,
-TopRoomBar {
+UserInfoWidget {
border: none;
border-bottom: 1px solid palette(mid);
}
|