diff --git a/resources/langs/nheko_cs.ts b/resources/langs/nheko_cs.ts
index b1c699be..4339497a 100644
--- a/resources/langs/nheko_cs.ts
+++ b/resources/langs/nheko_cs.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+127"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1572,12 +1595,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1611,7 +1634,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1619,12 +1642,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1639,7 +1672,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1654,7 +1692,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1669,7 +1707,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1677,7 +1720,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1696,12 +1739,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished"></translation>
</message>
@@ -1796,17 +1839,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1816,7 +1859,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2350,7 +2393,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2545,7 +2588,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_de.ts b/resources/langs/nheko_de.ts
index 79265073..40cabcbe 100644
--- a/resources/langs/nheko_de.ts
+++ b/resources/langs/nheko_de.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Du bist dem Raum beigetreten.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Nutzer konnte nicht eingeladen werden: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation>Einladung bestätigen</translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation>Willst du wirklich %1 (%2) einladen?</translation>
</message>
@@ -235,12 +235,12 @@
<translation>Verbannung von %1 wurde aufgehoben.</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation>Möchtest du wirklich eine private Konversation mit %1 beginnen?</translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Migration des Caches fehlgeschlagen!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation>Geheimnisse entschlüsseln</translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Verschlüsselt</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>Diese Nachricht ist unverschlüsselt!</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -718,7 +736,7 @@ Beispiel: https://mein.server:8787</translation>
<translation>Leeres Passwort</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>SSO Anmeldung fehlgeschlagen</translation>
</message>
@@ -739,7 +757,7 @@ Beispiel: https://mein.server:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation>entfernt</translation>
@@ -808,7 +826,7 @@ Beispiel: https://mein.server:8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation>Auflegen</translation>
</message>
@@ -837,6 +855,11 @@ Beispiel: https://mein.server:8787</translation>
<source>Send</source>
<translation>Senden</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Beispiel: https://mein.server:8787</translation>
<translation>Bearbeiten</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation>Reaktion senden</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation>Antworten</translation>
</message>
@@ -1107,7 +1130,7 @@ Beispiel: https://mein.server:8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>keine Version gespeichert</translation>
</message>
@@ -1280,7 +1303,7 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<translation>OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation>Aktivierung der Verschlüsselung fehlgeschlagen: %1</translation>
</message>
@@ -1437,7 +1460,7 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Nachricht zurückziehen fehlgeschlagen: %1</translation>
</message>
@@ -1468,7 +1491,7 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<translation>Datei speichern</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1577,12 +1600,12 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<translation>%1 hat das Anklopfen zurückgezogen.</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Du bist dem Raum beigetreten.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1616,7 +1639,7 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation>Bearbeitet</translation>
</message>
@@ -1624,12 +1647,22 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>React</source>
<translation>Reaktion senden</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Reply</source>
<translation>Antworten</translation>
</message>
@@ -1644,7 +1677,12 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<translation>Lesebestätigungen</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Als gelesen markieren</translation>
</message>
@@ -1659,7 +1697,7 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<translation>Zeige rohen, entschlüsselten Nachrichteninhalt</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation>Nachricht entfernen</translation>
</message>
@@ -1674,7 +1712,12 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<translation>Öffne in externen Programm</translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>Kein Raum geöffnet</translation>
</message>
@@ -1682,7 +1725,7 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation>Keinen verschlüsselten Chat mit diesem User gefunden. Erstelle einen verschlüsselten 1:1 Chat mit diesem Nutzer und versuche es erneut.</translation>
</message>
@@ -1701,12 +1744,12 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<translation>Kein Raum ausgewählt</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation>Raumoptionen</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Benutzer einladen</translation>
</message>
@@ -1801,17 +1844,17 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation>Verifizieren</translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation>Banne den Nutzer</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation>Starte eine private Konservation</translation>
</message>
@@ -1821,7 +1864,7 @@ Schlüssel auszutauschen, wenn der normale Weg nicht zu funktionieren scheint.</
<translation>Kicke den Nutzer</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation>Verifizierung zurückziehen</translation>
</message>
@@ -2366,7 +2409,7 @@ Normalerweise animiert das den Taskbaricon oder färbt das Fenster orange ein.</
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Gestern</translation>
</message>
@@ -2563,7 +2606,7 @@ Medien-Größe: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Du hast eine Audiodatei gesendet</translation>
</message>
diff --git a/resources/langs/nheko_el.ts b/resources/langs/nheko_el.ts
index 56705903..c05c7b3e 100644
--- a/resources/langs/nheko_el.ts
+++ b/resources/langs/nheko_el.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation>Κενός κωδικός</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1571,12 +1594,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1610,7 +1633,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1618,12 +1641,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1638,7 +1671,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,7 +1691,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1668,7 +1706,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1676,7 +1719,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1695,12 +1738,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished">Προσκάλεσε χρήστες</translation>
</message>
@@ -1795,17 +1838,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1815,7 +1858,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2349,7 +2392,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2544,7 +2587,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_en.ts b/resources/langs/nheko_en.ts
index 02540e3d..1fc47995 100644
--- a/resources/langs/nheko_en.ts
+++ b/resources/langs/nheko_en.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>You joined this room.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Failed to invite user: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation>Confirm invite</translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation>Do you really want to invite %1 (%2)?</translation>
</message>
@@ -235,12 +235,12 @@
<translation>Unbanned user: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation>Do you really want to start a private chat with %1?</translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Cache migration failed!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation>Decrypt secrets</translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Encrypted</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>This message is not encrypted!</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation>Encrypted by a verified device</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation>Encrypted by an unverified device, but you have trusted that user so far.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation>Encrypted by an unverified device</translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation>Forward Message</translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -718,7 +736,7 @@ Example: https://server.my:8787</translation>
<translation>Empty password</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>SSO login failed</translation>
</message>
@@ -739,7 +757,7 @@ Example: https://server.my:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+127"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
<source>Encryption enabled</source>
<translation>Encryption enabled</translation>
</message>
@@ -808,7 +826,7 @@ Example: https://server.my:8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation>Hang up</translation>
</message>
@@ -837,6 +855,11 @@ Example: https://server.my:8787</translation>
<source>Send</source>
<translation>Send</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation>You don't have permission to send messages in this room</translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Example: https://server.my:8787</translation>
<translation>Edit</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation>React</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation>Reply</translation>
</message>
@@ -1107,7 +1130,7 @@ Example: https://server.my:8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>no version stored</translation>
</message>
@@ -1280,7 +1303,7 @@ E2E implementation until device verification is completed.</translation>
<translation>OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation>Failed to enable encryption: %1</translation>
</message>
@@ -1437,7 +1460,7 @@ E2E implementation until device verification is completed.</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Message redaction failed: %1</translation>
</message>
@@ -1468,7 +1491,7 @@ E2E implementation until device verification is completed.</translation>
<translation>Save file</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1577,19 +1600,19 @@ E2E implementation until device verification is completed.</translation>
<translation>%1 redacted their knock.</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>You joined this room.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
- <translation type="unfinished"></translation>
+ <translation>%1 has changed their avatar and changed their display name to %2.</translation>
</message>
<message>
<location line="+5"/>
<source>%1 has changed their display name to %2.</source>
- <translation type="unfinished"></translation>
+ <translation>%1 has changed their display name to %2.</translation>
</message>
<message>
<location line="+31"/>
@@ -1616,7 +1639,7 @@ E2E implementation until device verification is completed.</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation>Edited</translation>
</message>
@@ -1624,12 +1647,22 @@ E2E implementation until device verification is completed.</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
+ <translation>Copy</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Copy link location</source>
+ <translation>Copy link location</translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>React</source>
<translation>React</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Reply</source>
<translation>Reply</translation>
</message>
@@ -1644,7 +1677,12 @@ E2E implementation until device verification is completed.</translation>
<translation>Read receipts</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation>Forward</translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Mark as read</translation>
</message>
@@ -1659,7 +1697,7 @@ E2E implementation until device verification is completed.</translation>
<translation>View decrypted raw message</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation>Remove message</translation>
</message>
@@ -1674,7 +1712,12 @@ E2E implementation until device verification is completed.</translation>
<translation>Open in external program</translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation>Copy link to event</translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>No room open</translation>
</message>
@@ -1682,7 +1725,7 @@ E2E implementation until device verification is completed.</translation>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</translation>
</message>
@@ -1701,12 +1744,12 @@ E2E implementation until device verification is completed.</translation>
<translation>No room selected</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation>Room options</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Invite users</translation>
</message>
@@ -1801,17 +1844,17 @@ E2E implementation until device verification is completed.</translation>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation>Verify</translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation>Ban the user</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation>Start a private chat</translation>
</message>
@@ -1821,7 +1864,7 @@ E2E implementation until device verification is completed.</translation>
<translation>Kick the user</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation>Unverify</translation>
</message>
@@ -2366,7 +2409,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Yesterday</translation>
</message>
@@ -2563,7 +2606,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>You sent an audio clip</translation>
</message>
diff --git a/resources/langs/nheko_eo.ts b/resources/langs/nheko_eo.ts
index edd671f2..b0740534 100644
--- a/resources/langs/nheko_eo.ts
+++ b/resources/langs/nheko_eo.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Vi aliĝis ĉi tiun ĉambron.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -166,12 +166,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -236,12 +236,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -350,7 +350,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -495,13 +495,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -585,6 +595,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -719,7 +737,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -740,7 +758,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -809,7 +827,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -838,6 +856,11 @@ Ekzemplo: https://servisto.mia:8787</translation>
<source>Send</source>
<translation>Sendu</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -847,12 +870,12 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished">Reagu</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished">Respondu</translation>
</message>
@@ -1108,7 +1131,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1279,7 +1302,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished">Bone</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1438,7 +1461,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1469,7 +1492,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1580,12 +1603,12 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Vi aliĝis ĉi tiun ĉambron.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1619,7 +1642,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1627,12 +1650,22 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>React</source>
<translation>Reagu</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Reply</source>
<translation>Respondu</translation>
</message>
@@ -1647,7 +1680,12 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1662,7 +1700,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1677,7 +1715,12 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1685,7 +1728,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,12 +1747,12 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished"></translation>
</message>
@@ -1804,17 +1847,17 @@ Ekzemplo: https://servisto.mia:8787</translation>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1824,7 +1867,7 @@ Ekzemplo: https://servisto.mia:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2359,7 +2402,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Hieraŭ</translation>
</message>
@@ -2554,7 +2597,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_es.ts b/resources/langs/nheko_es.ts
index e13147e9..7e9fc4c6 100644
--- a/resources/langs/nheko_es.ts
+++ b/resources/langs/nheko_es.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Te has unido a esta sala.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>No se pudo invitar al usuario: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -407,7 +407,7 @@
<message>
<location line="+1"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+10"/>
@@ -423,13 +423,12 @@
<context>
<name>EmojiPicker</name>
<message>
- <location filename="../qml/emoji/EmojiPicker.qml" line="+114"/>
- <location line="+181"/>
+ <location filename="../qml/emoji/EmojiPicker.qml" line="+59"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-66"/>
+ <location line="+172"/>
<source>People</source>
<translation type="unfinished"></translation>
</message>
@@ -495,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -585,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -715,7 +732,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -736,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+127"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
@@ -805,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -834,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -843,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -898,7 +920,7 @@ Example: https://server.my:8787</source>
<message>
<location line="+10"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+0"/>
@@ -913,7 +935,7 @@ Example: https://server.my:8787</source>
<message>
<location line="+0"/>
<source>Accept</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Aceptar</translation>
</message>
</context>
<context>
@@ -970,7 +992,7 @@ Example: https://server.my:8787</source>
<message>
<location line="+16"/>
<source>No microphone found.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">No se encontró micrófono.</translation>
</message>
<message>
<location line="+22"/>
@@ -990,7 +1012,7 @@ Example: https://server.my:8787</source>
<message>
<location line="+10"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
</context>
<context>
@@ -1104,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1751"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1166,12 +1188,12 @@ Example: https://server.my:8787</source>
<message>
<location line="+169"/>
<source>Accept</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Aceptar</translation>
</message>
<message>
<location line="+3"/>
<source>Decline</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Rechazar</translation>
</message>
</context>
<context>
@@ -1275,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1357,7 +1379,7 @@ Example: https://server.my:8787</source>
<message>
<location line="+7"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
</context>
<context>
@@ -1432,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1463,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1522,6 +1544,16 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+12"/>
+ <source>%1 has changed their avatar and changed their display name to %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>%1 has changed their display name to %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location line="+2"/>
<source>%1 changed their avatar.</source>
<translation type="unfinished"></translation>
@@ -1572,12 +1604,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-785"/>
+ <location line="-876"/>
<source>You joined this room.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Te has unido a esta sala.</translation>
</message>
<message>
- <location line="+787"/>
+ <location line="+878"/>
<source>Rejected the knock from %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -1601,7 +1633,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1609,12 +1641,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+113"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1629,7 +1671,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1644,7 +1691,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1659,7 +1706,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1667,7 +1719,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+455"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1686,12 +1738,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished"></translation>
</message>
@@ -1786,17 +1838,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1806,7 +1858,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2311,7 +2363,7 @@ This usually causes the application icon in the task bar to animate in some fash
<message>
<location line="+15"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
</context>
<context>
@@ -2340,7 +2392,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2355,7 +2407,7 @@ This usually causes the application icon in the task bar to animate in some fash
<message>
<location line="+2"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+10"/>
@@ -2398,7 +2450,7 @@ This usually causes the application icon in the task bar to animate in some fash
<message>
<location line="+1"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+1"/>
@@ -2416,7 +2468,7 @@ This usually causes the application icon in the task bar to animate in some fash
<message>
<location filename="../../src/dialogs/InviteUsers.cpp" line="+46"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+8"/>
@@ -2434,7 +2486,7 @@ This usually causes the application icon in the task bar to animate in some fash
<message>
<location line="+2"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+7"/>
@@ -2447,7 +2499,7 @@ This usually causes the application icon in the task bar to animate in some fash
<message>
<location filename="../../src/dialogs/LeaveRoom.cpp" line="+35"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+8"/>
@@ -2460,7 +2512,7 @@ This usually causes the application icon in the task bar to animate in some fash
<message>
<location filename="../../src/dialogs/Logout.cpp" line="+35"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+8"/>
@@ -2478,7 +2530,7 @@ This usually causes the application icon in the task bar to animate in some fash
<message>
<location line="+1"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+93"/>
@@ -2493,7 +2545,7 @@ Media size: %2
<message>
<location filename="../../src/dialogs/ReCaptcha.cpp" line="+35"/>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Cancelar</translation>
</message>
<message>
<location line="+1"/>
@@ -2535,7 +2587,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_et.ts b/resources/langs/nheko_et.ts
index a8350213..c95cb1a5 100644
--- a/resources/langs/nheko_et.ts
+++ b/resources/langs/nheko_et.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Sa liitusid selle jututoaga.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Kutse saatmine kasutajale ei õnnestunud: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation>Kinnita kutse</translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation>Kas sa tõesti soovid saata kutset kasutajale %1 (%2)?</translation>
</message>
@@ -235,12 +235,12 @@
<translation>Suhtluskeeld eemaldatud: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation>Kas sa kindlasti soovid alustada otsevestlust kasutajaga %1?</translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Puhvri versiooniuuendus ebaõnnestus!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation>Dekrüpti andmed</translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Krüptitud</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>See sõnum on krüptimata!</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -718,7 +736,7 @@ Näiteks: https://server.minu:8787</translation>
<translation>Tühi salasõna</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>Ühekordne sisselogimine ei õnnestunud</translation>
</message>
@@ -739,7 +757,7 @@ Näiteks: https://server.minu:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+127"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
<source>Encryption enabled</source>
<translation>Krüptimine on kasutusel</translation>
</message>
@@ -808,7 +826,7 @@ Näiteks: https://server.minu:8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation>Lõpeta kõne</translation>
</message>
@@ -837,6 +855,11 @@ Näiteks: https://server.minu:8787</translation>
<source>Send</source>
<translation>Saada</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Näiteks: https://server.minu:8787</translation>
<translation>Muuda</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation>Reageeri</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation>Vasta</translation>
</message>
@@ -1107,7 +1130,7 @@ Näiteks: https://server.minu:8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>salvestatud versiooni ei leidu</translation>
</message>
@@ -1280,7 +1303,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<translation>Sobib</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation>Krüptimise kasutuselevõtmine ei õnnestunud: %1</translation>
</message>
@@ -1437,7 +1460,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Sõnumi ümbersõnastamine ebaõnnestus: %1</translation>
</message>
@@ -1468,7 +1491,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<translation>Salvesta fail</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1577,12 +1600,12 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<translation>%1 muutis oma koputust jututoa uksele.</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Sa liitusid jututoaga.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1616,7 +1639,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation>Muudetud</translation>
</message>
@@ -1624,12 +1647,22 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>React</source>
<translation>Reageeri</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Reply</source>
<translation>Vasta</translation>
</message>
@@ -1644,7 +1677,12 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<translation>Lugemisteatised</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Märgi loetuks</translation>
</message>
@@ -1659,7 +1697,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<translation>Näita sõnumi dekrüptitud lähtekoodi</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation>Eemalda sõnum</translation>
</message>
@@ -1674,7 +1712,12 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<translation>Ava välise rakendusega</translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>Ühtegi jututuba pole avatud</translation>
</message>
@@ -1682,7 +1725,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation>Ühtegi krüptitud vestlust selle kasutajaga ei leidunud. Palun loo temaga krüptitud vestlus ja proovi uuesti.</translation>
</message>
@@ -1701,12 +1744,12 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<translation>Jututuba on valimata</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation>Jututoa valikud</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Kutsu kasutajaid</translation>
</message>
@@ -1801,17 +1844,17 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation>Verifitseeri</translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation>Sea kasutajale suhtluskeeld</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation>Alusta privaatset vestlust</translation>
</message>
@@ -1821,7 +1864,7 @@ testimiseks seni, kuni terviklik seadmete verifitseerimine on implementeeritud.<
<translation>Müksa kasutaja välja</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation>Võta verifitseerimine tagasi</translation>
</message>
@@ -2366,7 +2409,7 @@ See tavaliselt tähendab, et rakenduse ikoon tegumiribal annab mingit sorti anim
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Eile</translation>
</message>
@@ -2563,7 +2606,7 @@ Meedia suurus: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Sa saatsid helifaili</translation>
</message>
diff --git a/resources/langs/nheko_fi.ts b/resources/langs/nheko_fi.ts
index 2838af35..d12b1515 100644
--- a/resources/langs/nheko_fi.ts
+++ b/resources/langs/nheko_fi.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation>Tyhjä salasana</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>ei tallennettua versiota</translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished">OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished">Salauksen aktivointi epäonnistui: %1</translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Viestin muokkaus epäonnistui: %1</translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1571,12 +1594,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1610,7 +1633,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1618,12 +1641,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1638,7 +1671,12 @@ Example: https://server.my:8787</source>
<translation>Lukukuittaukset</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,7 +1691,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1668,7 +1706,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1676,7 +1719,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1695,12 +1738,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation>Huoneen asetukset</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Kutsu käyttäjiä</translation>
</message>
@@ -1795,17 +1838,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1815,7 +1858,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2349,7 +2392,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Eilen</translation>
</message>
@@ -2546,7 +2589,7 @@ Median koko: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Lähetit äänileikkeen</translation>
</message>
diff --git a/resources/langs/nheko_fr.ts b/resources/langs/nheko_fr.ts
index 718f6aa5..240c8b9f 100644
--- a/resources/langs/nheko_fr.ts
+++ b/resources/langs/nheko_fr.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Vous avez rejoint ce salon.</translation>
</message>
@@ -104,12 +104,12 @@
<message>
<location line="+12"/>
<source>Unknown microphone: %1</source>
- <translation>Microphone inconnu : %1</translation>
+ <translation>Microphone inconnu  : %1</translation>
</message>
<message>
<location line="+8"/>
<source>Unknown camera: %1</source>
- <translation>Caméra inconnue : %1</translation>
+ <translation>Caméra inconnue  : %1</translation>
</message>
<message>
<location line="+13"/>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Échec lors de l'invitation de %1</translation>
</message>
@@ -165,19 +165,19 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation>Confirmer l'invitation</translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<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"/>
@@ -187,7 +187,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="+16"/>
@@ -202,7 +202,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"/>
@@ -222,12 +222,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"/>
@@ -235,14 +235,14 @@
<translation>%1 n'est plus banni(e)</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation>Voulez-vous vraimer commencer une discussion privée avec %1 ?</translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<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"/>
@@ -267,18 +267,18 @@
<message>
<location line="+145"/>
<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="+34"/>
<location line="+123"/>
<source>Please try to login again: %1</source>
- <translation>Veuillez vous reconnecter : %1</translation>
+ <translation>Veuillez vous reconnecter : %1</translation>
</message>
<message>
<location line="+51"/>
<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"/>
@@ -288,22 +288,22 @@
<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="+21"/>
<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="+18"/>
<source>Failed to leave room: %1</source>
- <translation>Impossible de quitter le salon : %1</translation>
+ <translation>Impossible de quitter le salon : %1</translation>
</message>
<message>
<location line="+61"/>
<source>Failed to kick %1 from %2: %3</source>
- <translation>Échec de l'expulsion de %1 depuis %2 : %3</translation>
+ <translation>Échec de l'expulsion de %1 depuis %2  : %3</translation>
</message>
</context>
<context>
@@ -349,19 +349,19 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation>Déchiffrer les secrets</translation>
</message>
<message>
<location line="+2"/>
<source>Enter your recovery key or passphrase to decrypt your secrets:</source>
- <translation>Entrez votre clé de récupération ou phrase de passe pour déchiffrer vos secrets :</translation>
+ <translation>Entrez votre clé de récupération ou phrase de passe pour déchiffrer vos secrets  :</translation>
</message>
<message>
<location line="+3"/>
<source>Enter your recovery key or passphrase called %1 to decrypt your secrets:</source>
- <translation>Entrez votre clé de récupération ou votre phrase de passe nommée %1 pour déchiffrer vos secrets :</translation>
+ <translation>Entrez votre clé de récupération ou votre phrase de passe nommée %1 pour déchiffrer vos secrets  :</translation>
</message>
<message>
<location line="+17"/>
@@ -384,17 +384,17 @@
<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>Veuillez vérifier les chiffres suivants. Vous devriez voir les mêmes chiffres des deux côtés. Si ceux-ci diffèrent, veuillez choisir « Ils sont différents ! » pour annuler la vérification !</translation>
+ <translation>Veuillez vérifier les chiffres suivants. Vous devriez voir les mêmes chiffres des deux côtés. Si ceux-ci diffèrent, veuillez choisir « Ils sont différents ! » pour annuler la vérification !</translation>
</message>
<message>
<location line="+31"/>
<source>They do not match!</source>
- <translation>Ils sont différents !</translation>
+ <translation>Ils sont différents !</translation>
</message>
<message>
<location line="+13"/>
<source>They match!</source>
- <translation>Ils sont identiques !</translation>
+ <translation>Ils sont identiques !</translation>
</message>
</context>
<context>
@@ -478,30 +478,40 @@
<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>Veuillez vérifier les émoji suivantes. Vous devriez voir les mêmes émoji des deux côtés. Si celles-ci diffèrent, veuillez choisir « Elles sont différentes ! » pour annuler la vérification !</translation>
+ <translation>Veuillez vérifier les émoji suivantes. Vous devriez voir les mêmes émoji des deux côtés. Si celles-ci diffèrent, veuillez choisir « Elles sont différentes ! » pour annuler la vérification !</translation>
</message>
<message>
<location line="+376"/>
<source>They do not match!</source>
- <translation>Elles sont différentes !</translation>
+ <translation>Elles sont différentes !</translation>
</message>
<message>
<location line="+13"/>
<source>They match!</source>
- <translation>Elles sont identiques !</translation>
+ <translation>Elles sont identiques !</translation>
</message>
</context>
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Chiffré</translation>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
+ <translation>Ce message n'est pas chiffré !</translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
- <translation>Ce message n'est pas chiffré !</translation>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -541,12 +551,12 @@
<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>
@@ -564,7 +574,7 @@
<message>
<location line="+4"/>
<source>Key mismatch detected!</source>
- <translation>Clés non correspondantes détectées !</translation>
+ <translation>Clés non correspondantes détectées !</translation>
</message>
<message>
<location line="+2"/>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -627,9 +645,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>
@@ -667,7 +685,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="+19"/>
@@ -680,7 +698,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<location line="+160"/>
<location line="+11"/>
<source>You have entered an invalid Matrix ID e.g @joe:matrix.org</source>
- <translation>Vous avez entré un identifiant Matrix invalide (exemple correct : @moi :mon.serveur.fr)</translation>
+ <translation>Vous avez entré un identifiant Matrix invalide (exemple correct : @moi :mon.serveur.fr)</translation>
</message>
<message>
<location line="-132"/>
@@ -718,7 +736,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<translation>Mot de passe vide</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>Échec de la connexion SSO</translation>
</message>
@@ -739,7 +757,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation>retiré</translation>
@@ -752,7 +770,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<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"/>
@@ -762,7 +780,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<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"/>
@@ -772,7 +790,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<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="+12"/>
@@ -808,7 +826,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation>Raccrocher</translation>
</message>
@@ -837,6 +855,11 @@ Exemple : https ://monserveur.example.com :8787</translation>
<source>Send</source>
<translation>Envoyer</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Exemple : https ://monserveur.example.com :8787</translation>
<translation>Modifier</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation>Réagir</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation>Répondre</translation>
</message>
@@ -876,7 +899,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<location line="+15"/>
<source>To allow other users to see, which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?</source>
- <translation>Pour permettre aux autres utilisateurs de vérifier quels appareils de votre compte sont sous votre contrôle, vous pouvez vérifier ceux-ci. Cela permet également à ces appareils de sauvegarder vos clés de chiffrement automatiquement. Vérifier %1 maintenant ?</translation>
+ <translation>Pour permettre aux autres utilisateurs de vérifier quels appareils de votre compte sont sous votre contrôle, vous pouvez vérifier ceux-ci. Cela permet également à ces appareils de sauvegarder vos clés de chiffrement automatiquement. Vérifier %1 maintenant ?</translation>
</message>
<message>
<location line="+2"/>
@@ -944,7 +967,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<location line="+4"/>
<source>%1: %2</source>
<comment>Format a normal message in a notification. %1 is the sender, %2 the message</comment>
- <translation>%1 : %2</translation>
+ <translation>%1  : %2</translation>
</message>
<message>
<location filename="../../src/notifications/ManagerMac.cpp" line="-1"/>
@@ -968,7 +991,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<location filename="../qml/voip/PlaceCall.qml" line="+48"/>
<source>Place a call to %1?</source>
- <translation>Appeler %1 ?</translation>
+ <translation>Appeler %1 ?</translation>
</message>
<message>
<location line="+16"/>
@@ -1001,7 +1024,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<location filename="../qml/delegates/Placeholder.qml" line="+8"/>
<source>unimplemented event: </source>
- <translation>Évènement non implémenté : </translation>
+ <translation>Évènement non implémenté : </translation>
</message>
</context>
<context>
@@ -1033,7 +1056,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<location line="+2"/>
<location line="+287"/>
<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="-283"/>
@@ -1068,7 +1091,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<message>
<location line="+62"/>
<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="+210"/>
@@ -1107,7 +1130,7 @@ Exemple : https ://monserveur.example.com :8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>pas de version enregistrée</translation>
</message>
@@ -1122,7 +1145,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"/>
@@ -1164,7 +1187,7 @@ 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="+169"/>
@@ -1280,9 +1303,9 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<translation>OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<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="+228"/>
@@ -1302,13 +1325,13 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<message>
<location line="+5"/>
<source>Error while reading file: %1</source>
- <translation type="unfinished">Erreur lors de la lecture du fichier : %1</translation>
+ <translation type="unfinished">Erreur lors de la lecture du fichier  : %1</translation>
</message>
<message>
<location line="+34"/>
<location line="+20"/>
<source>Failed to upload image: %s</source>
- <translation type="unfinished">Échec de l'envoi de l'image : %s</translation>
+ <translation type="unfinished">Échec de l'envoi de l'image  : %s</translation>
</message>
</context>
<context>
@@ -1316,17 +1339,17 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<message>
<location filename="../qml/voip/ScreenShare.qml" line="+30"/>
<source>Share desktop with %1?</source>
- <translation>Partager le bureau avec %1 ?</translation>
+ <translation>Partager le bureau avec %1  ?</translation>
</message>
<message>
<location line="+11"/>
<source>Window:</source>
- <translation>Fenêtre :</translation>
+ <translation>Fenêtre  :</translation>
</message>
<message>
<location line="+20"/>
<source>Frame rate:</source>
- <translation>Fréquence d'images :</translation>
+ <translation>Fréquence d'images  :</translation>
</message>
<message>
<location line="+19"/>
@@ -1426,7 +1449,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<message>
<location line="+12"/>
<source>Verification successful! Both sides verified their devices!</source>
- <translation>Vérification réussie ! Les deux côtés ont vérifié leur appareil !</translation>
+ <translation>Vérification réussie ! Les deux côtés ont vérifié leur appareil !</translation>
</message>
<message>
<location line="+12"/>
@@ -1437,15 +1460,15 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<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="+73"/>
<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="+164"/>
@@ -1468,7 +1491,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<translation>Enregistrer le fichier</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1577,12 +1600,12 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<translation>%1 ne frappe plus au salon.</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Vous avez rejoint ce salon.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1600,12 +1623,12 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<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"/>
@@ -1616,7 +1639,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation>Modifié</translation>
</message>
@@ -1624,12 +1647,22 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>React</source>
<translation>Réagir</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Reply</source>
<translation>Réponse</translation>
</message>
@@ -1644,7 +1677,12 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<translation>Accusés de lecture</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Marquer comme lu</translation>
</message>
@@ -1659,7 +1697,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<translation>Voir le message déchiffré brut</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation>Retirer le message</translation>
</message>
@@ -1674,7 +1712,12 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<translation>Ouvrir dans une application externe</translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>Aucun salon ouvert</translation>
</message>
@@ -1682,7 +1725,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation>Pas de discussion privée et chiffrée trouvée avec cet utilisateur. Créez-en une et réessayez.</translation>
</message>
@@ -1701,12 +1744,12 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<translation>Pas de salon sélectionné</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation>Options du salon</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Inviter des utilisateurs</translation>
</message>
@@ -1759,7 +1802,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<message>
<location line="+1"/>
<source>Status:</source>
- <translation>Statut :</translation>
+ <translation>Statut :</translation>
</message>
<message>
<location line="+8"/>
@@ -1801,17 +1844,17 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation>Vérifier</translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation>Bannir l'utilisateur</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation>Créer une nouvelle discussion privée</translation>
</message>
@@ -1821,7 +1864,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<translation>Expulser l'utilisateur</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation>Dé-vérifier</translation>
</message>
@@ -1843,7 +1886,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<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>
</context>
<context>
@@ -1880,7 +1923,7 @@ tester le chiffrement de bout en bout tant que la vérification des appareils n&
<message>
<location line="-210"/>
<source>profile: %1</source>
- <translation>profil : %1</translation>
+ <translation>profil : %1</translation>
</message>
<message>
<location line="+96"/>
@@ -2295,7 +2338,7 @@ Cela met l'application en évidence dans la barre des tâches.</translation
<message>
<location line="-27"/>
<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"/>
@@ -2306,7 +2349,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"/>
@@ -2368,7 +2411,7 @@ Cela met l'application en évidence dans la barre des tâches.</translation
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Hier</translation>
</message>
@@ -2565,7 +2608,7 @@ Taille du média : %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Vous avez envoyé un message audio</translation>
</message>
@@ -2627,12 +2670,12 @@ Taille du média : %2
<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_hu.ts b/resources/langs/nheko_hu.ts
index 6feae03a..e602929b 100644
--- a/resources/langs/nheko_hu.ts
+++ b/resources/langs/nheko_hu.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Csatlakoztál ehhez a szobához.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Nem sikerült meghívni a felhasználót: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation>Meghívás megerősítése</translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation>Biztos, hogy meg akarod hívni a következő felhasználót: %1 (%2)?</translation>
</message>
@@ -235,12 +235,12 @@
<translation>Kitiltás feloldva a felhasználónak: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation>Biztosan privát csevegést akarsz indítani %1 felhasználóval?</translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Gyorsítótár migráció nem sikerült!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation>Titkos tároló feloldása</translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Titkosítva</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>Ez az üzenet nincs titkosítva!</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -718,7 +736,7 @@ Példa: https://szerver.em:8787</translation>
<translation>Üres jelszó</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>SSO bejelentkezés nem sikerült</translation>
</message>
@@ -739,7 +757,7 @@ Példa: https://szerver.em:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+127"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
<source>Encryption enabled</source>
<translation>Titkosítás bekapcsolva</translation>
</message>
@@ -808,7 +826,7 @@ Példa: https://szerver.em:8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation>Hívás befejezése</translation>
</message>
@@ -837,6 +855,11 @@ Példa: https://szerver.em:8787</translation>
<source>Send</source>
<translation>Küldés</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Példa: https://szerver.em:8787</translation>
<translation>Szerkesztés</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation>Reakció</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation>Válasz</translation>
</message>
@@ -1107,7 +1130,7 @@ Példa: https://szerver.em:8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>nincs tárolva verzió</translation>
</message>
@@ -1280,7 +1303,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<translation>OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation>Nem sikerült a titkosítás aktiválása: %1</translation>
</message>
@@ -1437,7 +1460,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Az üzenet visszavonása nem sikerült: %1</translation>
</message>
@@ -1468,12 +1491,11 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<translation>Fájl mentése</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
<numerusform>%1%2 gépel.</numerusform>
- <numerusform>%1 és %2 gépelnek.</numerusform>
</translation>
</message>
<message>
@@ -1577,12 +1599,12 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<translation>%1 visszavonta a kopogását.</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Csatlakoztál ehhez a szobához.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1616,7 +1638,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation>Szerkesztve</translation>
</message>
@@ -1624,12 +1646,22 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>React</source>
<translation>Reakció</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Reply</source>
<translation>Válasz</translation>
</message>
@@ -1644,7 +1676,12 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<translation>Olvasási jegyek</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Megjelölés olvasottként</translation>
</message>
@@ -1659,7 +1696,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<translation>Előzőleg titkosított nyers üzenet megtekintése</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation>Üzenet eltávolítása</translation>
</message>
@@ -1674,7 +1711,12 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<translation>Megnyitás külső programban</translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>Nincs nyitott szoba</translation>
</message>
@@ -1682,7 +1724,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation>Nem található titkosított privát csevegés ezzel a felhasználóval. Hozz létre egy titkosított privát csevegést vele, és próbáld újra!</translation>
</message>
@@ -1701,12 +1743,12 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<translation>Nincs kiválasztva szoba</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation>Szoba beállításai</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Felhasználók meghívása</translation>
</message>
@@ -1801,17 +1843,17 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation>Hitelesítés</translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation>A felhasználó tiltása</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation>Privát csevegés indítása</translation>
</message>
@@ -1821,7 +1863,7 @@ végpontig (E2E) titkosítás tesztelésére, amíg be nincs fejezve az eszközh
<translation>A felhasználó kirúgása</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation>Hitelesítés visszavonása</translation>
</message>
@@ -2367,7 +2409,7 @@ Ettől általában animálttá válik az alkalmazásablakok listáján szereplő
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Tegnap</translation>
</message>
@@ -2564,7 +2606,7 @@ Média mérete: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Küldtél egy hangfájlt</translation>
</message>
diff --git a/resources/langs/nheko_it.ts b/resources/langs/nheko_it.ts
index ba251df1..7fe04e1b 100644
--- a/resources/langs/nheko_it.ts
+++ b/resources/langs/nheko_it.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Sei entrato in questa stanza.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Impossibile invitare l'utente: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation>Rimosso il ban dall'utente: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Migrazione della cache fallita!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Criptato</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>Questo messaggio è in chiaro!</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -718,7 +736,7 @@ Esempio: https://server.mio:8787</translation>
<translation>Password vuota</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>Accesso SSO fallito</translation>
</message>
@@ -739,7 +757,7 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -808,7 +826,7 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -837,6 +855,11 @@ Esempio: https://server.mio:8787</translation>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Esempio: https://server.mio:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished">Risposta</translation>
</message>
@@ -1107,7 +1130,7 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>nessuna versione memorizzata</translation>
</message>
@@ -1278,7 +1301,7 @@ Esempio: https://server.mio:8787</translation>
<translation type="unfinished">OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished">Impossibile abilitare la crittografia: %1</translation>
</message>
@@ -1435,7 +1458,7 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Oscuramento del messaggio fallito: %1</translation>
</message>
@@ -1466,7 +1489,7 @@ Esempio: https://server.mio:8787</translation>
<translation>Salva file</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1575,12 +1598,12 @@ Esempio: https://server.mio:8787</translation>
<translation>%1 ha oscurato la sua bussata.</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Sei entrato in questa stanza.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1614,7 +1637,7 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1622,12 +1645,22 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation>Risposta</translation>
</message>
@@ -1642,7 +1675,12 @@ Esempio: https://server.mio:8787</translation>
<translation>Leggi le ricevute</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Segna come letto</translation>
</message>
@@ -1657,7 +1695,7 @@ Esempio: https://server.mio:8787</translation>
<translation>Mostra il messaggio grezzo decriptato</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1672,7 +1710,12 @@ Esempio: https://server.mio:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>Nessuna stanza aperta</translation>
</message>
@@ -1680,7 +1723,7 @@ Esempio: https://server.mio:8787</translation>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1699,12 +1742,12 @@ Esempio: https://server.mio:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished">Opzioni della stanza</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Utenti invitati</translation>
</message>
@@ -1799,17 +1842,17 @@ Esempio: https://server.mio:8787</translation>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1819,7 +1862,7 @@ Esempio: https://server.mio:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2353,7 +2396,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Ieri</translation>
</message>
@@ -2550,7 +2593,7 @@ Peso media: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Hai inviato una clip audio</translation>
</message>
diff --git a/resources/langs/nheko_ja.ts b/resources/langs/nheko_ja.ts
index 974595ea..997ffd1a 100644
--- a/resources/langs/nheko_ja.ts
+++ b/resources/langs/nheko_ja.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>ユーザーを招待できませんでした: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation>永久追放を解除されたユーザー: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>暗号化されています</translation>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation>パスワードが入力されていません</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished">返信</translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>バージョンが保存されていません</translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished">OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished">暗号化を有効にできませんでした: %1</translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>メッセージを編集できませんでした: %1</translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation>ファイルを保存</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1570,12 +1593,12 @@ Example: https://server.my:8787</source>
<translation>%1がノックを編集しました。</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1609,7 +1632,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1617,12 +1640,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished">返信</translation>
</message>
@@ -1637,7 +1670,12 @@ Example: https://server.my:8787</source>
<translation>開封確認</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>既読にする</translation>
</message>
@@ -1652,7 +1690,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1667,7 +1705,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>部屋が開いていません</translation>
</message>
@@ -1675,7 +1718,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1694,12 +1737,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished">部屋のオプション</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished">ユーザーを招待</translation>
</message>
@@ -1794,17 +1837,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1814,7 +1857,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2348,7 +2391,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>昨日</translation>
</message>
@@ -2545,7 +2588,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>音声データを送信しました</translation>
</message>
diff --git a/resources/langs/nheko_ml.ts b/resources/langs/nheko_ml.ts
index 6b24e784..79bf26ee 100644
--- a/resources/langs/nheko_ml.ts
+++ b/resources/langs/nheko_ml.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>നിങ്ങൾ ഈ മുറിയിൽ ചേർന്നു.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>ഉപയോക്താവിനെ ക്ഷണിക്കുന്നതിൽ പരാജയപ്പെട്ടു: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation>ക്ഷണം ഉറപ്പാക്കു</translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+127"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation>അയക്കുക</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished">ശരി</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1571,12 +1594,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished">നിങ്ങൾ ഈ മുറിയിൽ ചേർന്നു.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1610,7 +1633,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1618,12 +1641,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1638,7 +1671,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,7 +1691,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1668,7 +1706,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1676,7 +1719,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1695,12 +1738,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished"></translation>
</message>
@@ -1795,17 +1838,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1815,7 +1858,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2349,7 +2392,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2544,7 +2587,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_nl.ts b/resources/langs/nheko_nl.ts
index a4a44067..09270b29 100644
--- a/resources/langs/nheko_nl.ts
+++ b/resources/langs/nheko_nl.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Je bent lid geworden van deze kamer.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Gebruiker uitnodigen mislukt: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation>Leeg wachtwoord</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1571,12 +1594,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished">Je bent lid geworden van deze kamer.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1610,7 +1633,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1618,12 +1641,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1638,7 +1671,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished">Leesbevestigingen</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,7 +1691,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1668,7 +1706,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1676,7 +1719,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1695,12 +1738,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished">Gebruikers uitnodigen</translation>
</message>
@@ -1795,17 +1838,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1815,7 +1858,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2349,7 +2392,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2546,7 +2589,7 @@ Mediagrootte: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_pl.ts b/resources/langs/nheko_pl.ts
index dbeecef6..cc542093 100644
--- a/resources/langs/nheko_pl.ts
+++ b/resources/langs/nheko_pl.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Dołączyłeś(-łaś) do tego pokoju.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Nie udało się zaprosić użytkownika: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation>Czy na pewno chcesz zaprosić %1 (%2)?</translation>
</message>
@@ -235,12 +235,12 @@
<translation>Odblokowano użytkownika: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Nie udało się przenieść pamięci podręcznej!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Zaszyfrowane</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>Ta wiadomość nie jest zaszyfrowana!</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -716,7 +734,7 @@ Example: https://server.my:8787</source>
<translation>Puste hasło</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>Logowanie SSO zakończone niepowodzeniem</translation>
</message>
@@ -737,7 +755,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -806,7 +824,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -835,6 +853,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -844,12 +867,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1105,7 +1128,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1276,7 +1299,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished">OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished">Nie udało się włączyć szyfrowania: %1</translation>
</message>
@@ -1433,7 +1456,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished">Redagowanie wiadomości nie powiodło się: %1</translation>
</message>
@@ -1464,7 +1487,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1574,12 +1597,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished">Dołączyłeś(-łaś) do tego pokoju.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1613,7 +1636,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1621,12 +1644,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1641,7 +1674,12 @@ Example: https://server.my:8787</source>
<translation>Potwierdzenia przeczytania</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1656,7 +1694,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1671,7 +1709,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1679,7 +1722,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1698,12 +1741,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished">Ustawienia pokoju</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished">Zaproś użytkowników</translation>
</message>
@@ -1798,17 +1841,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1818,7 +1861,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2352,7 +2395,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2549,7 +2592,7 @@ Rozmiar multimediów: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_pt_PT.ts b/resources/langs/nheko_pt_PT.ts
index 97a98a1f..5b041107 100644
--- a/resources/langs/nheko_pt_PT.ts
+++ b/resources/langs/nheko_pt_PT.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+127"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
<source>Encryption enabled</source>
<translation type="unfinished"></translation>
</message>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1571,12 +1594,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1610,7 +1633,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1618,12 +1641,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1638,7 +1671,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,7 +1691,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1668,7 +1706,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1676,7 +1719,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1695,12 +1738,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished"></translation>
</message>
@@ -1795,17 +1838,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1815,7 +1858,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2349,7 +2392,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2544,7 +2587,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_ro.ts b/resources/langs/nheko_ro.ts
index 7ce14e19..7c35ba42 100644
--- a/resources/langs/nheko_ro.ts
+++ b/resources/langs/nheko_ro.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Te-ai alăturat camerei.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Nu s-a putut invita utilizatorul: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation>Utilizator dezinterzis: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Nu s-a putut migra cache-ul!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Criptat</translation>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -718,7 +736,7 @@ Exemplu: https://serverul.meu:8787</translation>
<translation>Parolă necompletată</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>Conectarea SSO a eșuat</translation>
</message>
@@ -739,7 +757,7 @@ Exemplu: https://serverul.meu:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -808,7 +826,7 @@ Exemplu: https://serverul.meu:8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -837,6 +855,11 @@ Exemplu: https://serverul.meu:8787</translation>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Exemplu: https://serverul.meu:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished">Răspuns</translation>
</message>
@@ -1107,7 +1130,7 @@ Exemplu: https://serverul.meu:8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>nicio versiune stocată</translation>
</message>
@@ -1278,7 +1301,7 @@ Exemplu: https://serverul.meu:8787</translation>
<translation type="unfinished">OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished">Nu s-a putut activa criptarea: %1</translation>
</message>
@@ -1435,7 +1458,7 @@ Exemplu: https://serverul.meu:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Redactare mesaj eșuată: %1</translation>
</message>
@@ -1466,7 +1489,7 @@ Exemplu: https://serverul.meu:8787</translation>
<translation>Salvați fișier</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1576,12 +1599,12 @@ Exemplu: https://serverul.meu:8787</translation>
<translation>%1 și-a redactat ciocănitul.</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Te-ai alăturat camerei.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1615,7 +1638,7 @@ Exemplu: https://serverul.meu:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1623,12 +1646,22 @@ Exemplu: https://serverul.meu:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation>Răspuns</translation>
</message>
@@ -1643,7 +1676,12 @@ Exemplu: https://serverul.meu:8787</translation>
<translation>Confirmări de citire</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Marcați ca citit</translation>
</message>
@@ -1658,7 +1696,7 @@ Exemplu: https://serverul.meu:8787</translation>
<translation>Vedeți mesajul brut decriptat</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1673,7 +1711,12 @@ Exemplu: https://serverul.meu:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>Nicio cameră deschisă</translation>
</message>
@@ -1681,7 +1724,7 @@ Exemplu: https://serverul.meu:8787</translation>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1700,12 +1743,12 @@ Exemplu: https://serverul.meu:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished"></translation>
</message>
@@ -1800,17 +1843,17 @@ Exemplu: https://serverul.meu:8787</translation>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1820,7 +1863,7 @@ Exemplu: https://serverul.meu:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2354,7 +2397,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Ieri</translation>
</message>
@@ -2551,7 +2594,7 @@ Dimensiune media: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Ai trimis un clip audio</translation>
</message>
diff --git a/resources/langs/nheko_ru.ts b/resources/langs/nheko_ru.ts
index aa52fa43..3ff6088c 100644
--- a/resources/langs/nheko_ru.ts
+++ b/resources/langs/nheko_ru.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Вы присоединились к этой комнате.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Не удалось пригласить пользователя: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation>Подтвердите приглашение</translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation>Вы точно хотите пригласить %1 (%2)?</translation>
</message>
@@ -235,12 +235,12 @@
<translation>Разблокированный пользователь: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Миграция кэша не удалась!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Зашифровано</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>Это сообщение не зашифровано!</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -718,7 +736,7 @@ Example: https://server.my:8787</source>
<translation>Пустой пароль</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>SSO вход не удался</translation>
</message>
@@ -739,7 +757,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation>убрано</translation>
@@ -808,7 +826,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation>Завершить звонок</translation>
</message>
@@ -837,6 +855,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation>Отправить</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished">Отреагировать</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished">Ответить</translation>
</message>
@@ -1107,7 +1130,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>нет сохраненной версии</translation>
</message>
@@ -1278,7 +1301,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished">ОК</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished">Не удалось включить шифрование: %1</translation>
</message>
@@ -1435,7 +1458,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Ошибка редактирования сообщения: %1</translation>
</message>
@@ -1466,7 +1489,7 @@ Example: https://server.my:8787</source>
<translation>Сохранить файл</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1576,12 +1599,12 @@ Example: https://server.my:8787</source>
<translation>%1 отредактировал его "стук".</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Вы присоединились к этой комнате.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1615,7 +1638,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1623,12 +1646,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>React</source>
<translation>Отреагировать</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Reply</source>
<translation>Ответить</translation>
</message>
@@ -1643,7 +1676,12 @@ Example: https://server.my:8787</source>
<translation>Посмотреть получателей</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Пометить как прочианное</translation>
</message>
@@ -1658,7 +1696,7 @@ Example: https://server.my:8787</source>
<translation>Просмототреть дешифрованое сырое сообщение</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation>Убрать сообщение</translation>
</message>
@@ -1673,7 +1711,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>Комната не выбрана</translation>
</message>
@@ -1681,7 +1724,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation>Не найдено личного чата с этим пользователем. Создайте зашифрованный личный чат с этим пользователем и попытайтесь еще раз.</translation>
</message>
@@ -1700,12 +1743,12 @@ Example: https://server.my:8787</source>
<translation>Комнаты не выбраны</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation>Настройки комнаты</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Пригласить пользователей</translation>
</message>
@@ -1800,17 +1843,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation>Верифицировать</translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation>Заблокировать пользователя</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation>Создать приватный чат</translation>
</message>
@@ -1820,7 +1863,7 @@ Example: https://server.my:8787</source>
<translation>Выгнать пользователя</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2360,7 +2403,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Вчера</translation>
</message>
@@ -2557,7 +2600,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Вы отправили аудио запись</translation>
</message>
diff --git a/resources/langs/nheko_si.ts b/resources/langs/nheko_si.ts
index 4a6ea879..c9b094c3 100644
--- a/resources/langs/nheko_si.ts
+++ b/resources/langs/nheko_si.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation type="unfinished"></translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,13 +494,23 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
+ <source>This message is not encrypted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+0"/>
- <source>This message is not encrypted!</source>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1571,12 +1594,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1610,7 +1633,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1618,12 +1641,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1638,7 +1671,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,7 +1691,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1668,7 +1706,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1676,7 +1719,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1695,12 +1738,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation type="unfinished"></translation>
</message>
@@ -1795,17 +1838,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1815,7 +1858,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2349,7 +2392,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2544,7 +2587,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resources/langs/nheko_sv.ts b/resources/langs/nheko_sv.ts
index 8a3434b7..84410098 100644
--- a/resources/langs/nheko_sv.ts
+++ b/resources/langs/nheko_sv.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>Du gick med i detta rum.</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>Kunde inte bjuda in användare: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation>Bekräfta inbjudan</translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation>Är du säker på att du vill bjuda in %1 (%2)?</translation>
</message>
@@ -235,12 +235,12 @@
<translation>Hävde bannlysningen av användare: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>Cache-migration misslyckades!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation>Dekryptera hemliga nycklar</translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>Krypterad</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>Detta meddelande är inte krypterat!</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -718,7 +736,7 @@ Exempel: https://server.my:8787</translation>
<translation>Tomt lösenord</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation>SSO-inloggning misslyckades</translation>
</message>
@@ -739,7 +757,7 @@ Exempel: https://server.my:8787</translation>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+127"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+128"/>
<source>Encryption enabled</source>
<translation>Kryptering aktiverad</translation>
</message>
@@ -808,7 +826,7 @@ Exempel: https://server.my:8787</translation>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation>Lägg på</translation>
</message>
@@ -837,6 +855,11 @@ Exempel: https://server.my:8787</translation>
<source>Send</source>
<translation>Skicka</translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -846,12 +869,12 @@ Exempel: https://server.my:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished">Reagera</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished">Svara</translation>
</message>
@@ -1107,7 +1130,7 @@ Exempel: https://server.my:8787</translation>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation>ingen version lagrad</translation>
</message>
@@ -1278,7 +1301,7 @@ Exempel: https://server.my:8787</translation>
<translation type="unfinished">OK</translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished">Kunde inte aktivera kryptering: %1</translation>
</message>
@@ -1435,7 +1458,7 @@ Exempel: https://server.my:8787</translation>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation>Kunde inte maskera meddelande: %1</translation>
</message>
@@ -1466,7 +1489,7 @@ Exempel: https://server.my:8787</translation>
<translation>Spara fil</translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation>
@@ -1575,12 +1598,12 @@ Exempel: https://server.my:8787</translation>
<translation>%1 maskerade sin knackning.</translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation>Du gick med i detta rum.</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1614,7 +1637,7 @@ Exempel: https://server.my:8787</translation>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1622,12 +1645,22 @@ Exempel: https://server.my:8787</translation>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>React</source>
<translation>Reagera</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Reply</source>
<translation>Svara</translation>
</message>
@@ -1642,7 +1675,12 @@ Exempel: https://server.my:8787</translation>
<translation>Läskvitton</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation>Markera som läst</translation>
</message>
@@ -1657,7 +1695,7 @@ Exempel: https://server.my:8787</translation>
<translation>Visa dekrypterad meddelandekälla</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation>Ta bort meddelande</translation>
</message>
@@ -1672,7 +1710,12 @@ Exempel: https://server.my:8787</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation>Inget rum öppet</translation>
</message>
@@ -1680,7 +1723,7 @@ Exempel: https://server.my:8787</translation>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation>Ingen krypterad privat chatt med denna användare kunde hittas. Skapa en krypterad privat chatt med användaren och försök igen.</translation>
</message>
@@ -1699,12 +1742,12 @@ Exempel: https://server.my:8787</translation>
<translation>Inget rum markerat</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation>Alternativ för rum</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>Bjud in användare</translation>
</message>
@@ -1799,17 +1842,17 @@ Exempel: https://server.my:8787</translation>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation>Bekräfta</translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation>Bannlys användaren</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation>Starta en privat chatt</translation>
</message>
@@ -1819,7 +1862,7 @@ Exempel: https://server.my:8787</translation>
<translation>Sparka ut användaren</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2361,7 +2404,7 @@ Detta gör vanligtvis att ikonen i aktivitetsfältet animeras på något sätt.<
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation>Igår</translation>
</message>
@@ -2558,7 +2601,7 @@ Mediastorlek: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation>Du skickade ett ljudklipp</translation>
</message>
diff --git a/resources/langs/nheko_zh_CN.ts b/resources/langs/nheko_zh_CN.ts
index f09cdfcd..a5d20b67 100644
--- a/resources/langs/nheko_zh_CN.ts
+++ b/resources/langs/nheko_zh_CN.ts
@@ -56,7 +56,7 @@
<context>
<name>Cache</name>
<message>
- <location filename="../../src/Cache.cpp" line="+2004"/>
+ <location filename="../../src/Cache.cpp" line="+2016"/>
<source>You joined this room.</source>
<translation>您已加入此房间</translation>
</message>
@@ -133,7 +133,7 @@
<context>
<name>ChatPage</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+202"/>
+ <location filename="../../src/ChatPage.cpp" line="+204"/>
<source>Failed to invite user: %1</source>
<translation>邀请用户失败: %1</translation>
</message>
@@ -165,12 +165,12 @@
</message>
<message>
<location line="+35"/>
- <location line="+323"/>
+ <location line="+324"/>
<source>Confirm invite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-322"/>
+ <location line="-323"/>
<source>Do you really want to invite %1 (%2)?</source>
<translation type="unfinished"></translation>
</message>
@@ -235,12 +235,12 @@
<translation>解禁用户: %1</translation>
</message>
<message>
- <location line="+226"/>
+ <location line="+227"/>
<source>Do you really want to start a private chat with %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-817"/>
+ <location line="-818"/>
<source>Cache migration failed!</source>
<translation>缓存迁移失败!</translation>
</message>
@@ -349,7 +349,7 @@
<context>
<name>CrossSigningSecrets</name>
<message>
- <location filename="../../src/ChatPage.cpp" line="+227"/>
+ <location filename="../../src/ChatPage.cpp" line="+228"/>
<source>Decrypt secrets</source>
<translation type="unfinished"></translation>
</message>
@@ -494,15 +494,25 @@
<context>
<name>EncryptionIndicator</name>
<message>
- <location filename="../qml/EncryptionIndicator.qml" line="+23"/>
- <source>Encrypted</source>
- <translation>已加密</translation>
- </message>
- <message>
- <location line="+0"/>
+ <location filename="../qml/EncryptionIndicator.qml" line="+34"/>
<source>This message is not encrypted!</source>
<translation>此条信息没有加密</translation>
</message>
+ <message>
+ <location line="+4"/>
+ <source>Encrypted by a verified device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device, but you have trusted that user so far.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Encrypted by an unverified device</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EventStore</name>
@@ -584,6 +594,14 @@
</message>
</context>
<context>
+ <name>ForwardCompleter</name>
+ <message>
+ <location filename="../qml/ForwardCompleter.qml" line="+44"/>
+ <source>Forward Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>InputBar</name>
<message>
<location filename="../../src/timeline/InputBar.cpp" line="+232"/>
@@ -714,7 +732,7 @@ Example: https://server.my:8787</source>
<translation>空密码</translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+57"/>
<source>SSO login failed</source>
<translation type="unfinished"></translation>
</message>
@@ -735,7 +753,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageDelegate</name>
<message>
- <location filename="../qml/delegates/MessageDelegate.qml" line="+109"/>
+ <location filename="../qml/delegates/MessageDelegate.qml" line="+110"/>
<location line="+9"/>
<source>removed</source>
<translation type="unfinished"></translation>
@@ -804,7 +822,7 @@ Example: https://server.my:8787</source>
<context>
<name>MessageInput</name>
<message>
- <location filename="../qml/MessageInput.qml" line="+42"/>
+ <location filename="../qml/MessageInput.qml" line="+43"/>
<source>Hang up</source>
<translation type="unfinished"></translation>
</message>
@@ -833,6 +851,11 @@ Example: https://server.my:8787</source>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+11"/>
+ <source>You don't have permission to send messages in this room</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageView</name>
@@ -842,12 +865,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="+15"/>
<source>React</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+13"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1126,7 @@ Example: https://server.my:8787</source>
<context>
<name>RoomInfo</name>
<message>
- <location filename="../../src/Cache.cpp" line="+1754"/>
+ <location filename="../../src/Cache.cpp" line="+1813"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@@ -1274,7 +1297,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/RoomSettings.cpp" line="+267"/>
+ <location filename="../../src/ui/RoomSettings.cpp" line="+268"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished">启用加密失败:%1</translation>
</message>
@@ -1431,7 +1454,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineModel</name>
<message>
- <location filename="../../src/timeline/TimelineModel.cpp" line="+892"/>
+ <location filename="../../src/timeline/TimelineModel.cpp" line="+1044"/>
<source>Message redaction failed: %1</source>
<translation type="unfinished">删除消息失败:%1</translation>
</message>
@@ -1462,7 +1485,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+151"/>
+ <location line="+228"/>
<source>%1 and %2 are typing.</source>
<comment>Multiple users are typing. First argument is a comma separated list of potentially multiple users. Second argument is the last user of that list. (If only one user is typing, %1 is empty. You should still use it in your string though to silence Qt warnings.)</comment>
<translation type="unfinished">
@@ -1570,12 +1593,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-789"/>
+ <location line="-876"/>
<source>You joined this room.</source>
<translation type="unfinished">您已加入此房间</translation>
</message>
<message>
- <location line="+755"/>
+ <location line="+842"/>
<source>%1 has changed their avatar and changed their display name to %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -1609,7 +1632,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineRow</name>
<message>
- <location filename="../qml/TimelineRow.qml" line="+105"/>
+ <location filename="../qml/TimelineRow.qml" line="+106"/>
<source>Edited</source>
<translation type="unfinished"></translation>
</message>
@@ -1617,12 +1640,22 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineView</name>
<message>
- <location filename="../qml/TimelineView.qml" line="+105"/>
- <source>React</source>
+ <location filename="../qml/TimelineView.qml" line="+125"/>
+ <source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
+ <source>Copy link location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>React</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Reply</source>
<translation type="unfinished"></translation>
</message>
@@ -1637,7 +1670,12 @@ Example: https://server.my:8787</source>
<translation>阅读回执</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
+ <source>Forward</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@@ -1652,7 +1690,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>Remove message</source>
<translation type="unfinished"></translation>
</message>
@@ -1667,7 +1705,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+7"/>
+ <source>Copy link to event</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>No room open</source>
<translation type="unfinished"></translation>
</message>
@@ -1675,7 +1718,7 @@ Example: https://server.my:8787</source>
<context>
<name>TimelineViewManager</name>
<message>
- <location filename="../../src/timeline/TimelineViewManager.cpp" line="+452"/>
+ <location filename="../../src/timeline/TimelineViewManager.cpp" line="+570"/>
<source>No encrypted private chat found with this user. Create an encrypted private chat with this user and try again.</source>
<translation type="unfinished"></translation>
</message>
@@ -1694,12 +1737,12 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+24"/>
<source>Room options</source>
<translation type="unfinished">聊天室选项</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invite users</source>
<translation>被邀请的用户</translation>
</message>
@@ -1794,17 +1837,17 @@ Example: https://server.my:8787</source>
</message>
<message>
<location line="+114"/>
- <location line="+104"/>
+ <location line="+107"/>
<source>Verify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-81"/>
+ <location line="-54"/>
<source>Ban the user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="-17"/>
<source>Start a private chat</source>
<translation type="unfinished"></translation>
</message>
@@ -1814,7 +1857,7 @@ Example: https://server.my:8787</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+63"/>
<source>Unverify</source>
<translation type="unfinished"></translation>
</message>
@@ -2348,7 +2391,7 @@ This usually causes the application icon in the task bar to animate in some fash
<context>
<name>descriptiveTime</name>
<message>
- <location filename="../../src/Utils.cpp" line="+189"/>
+ <location filename="../../src/Utils.cpp" line="+207"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
@@ -2545,7 +2588,7 @@ Media size: %2
<context>
<name>message-description sent:</name>
<message>
- <location filename="../../src/Utils.h" line="+115"/>
+ <location filename="../../src/Utils.h" line="+124"/>
<source>You sent an audio clip</source>
<translation type="unfinished"></translation>
</message>
|