Merge branch '0.7.0-dev' of github.com:Nheko-Reborn/nheko into 0.7.0-dev

Fix merge conflicts with weblate translation files.
remotes/origin/0.7.0-dev
Weblate 5 years ago
commit e3d69957d3
  1. 157
      resources/langs/nheko_de.ts
  2. 161
      resources/langs/nheko_el.ts
  3. 157
      resources/langs/nheko_en.ts
  4. 157
      resources/langs/nheko_fi.ts
  5. 161
      resources/langs/nheko_fr.ts
  6. 161
      resources/langs/nheko_nl.ts
  7. 166
      resources/langs/nheko_pl.ts
  8. 170
      resources/langs/nheko_ru.ts
  9. 164
      resources/langs/nheko_zh_CN.ts
  10. 17
      src/TypingDisplay.cpp
  11. 20
      src/Utils.cpp
  12. 4
      src/dialogs/MemberList.cpp
  13. 14
      src/dialogs/ReadReceipts.cpp
  14. 6
      src/dialogs/RoomSettings.cpp
  15. 2
      src/dialogs/UserProfile.cpp
  16. 14
      src/timeline/TimelineItem.cpp
  17. 2
      src/timeline/TimelineItem.h
  18. 28
      src/timeline/TimelineView.cpp
  19. 13
      src/ui/InfoMessage.cpp

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation>In Datei speichern</translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation>Hochladen der Bilddatei fehlgeschlagen. Bitte versuche es erneut.</translation>
</message>
@ -32,7 +32,7 @@
<translation>Hochladen der Videodatei fehlgeschlagen. Bitte versuche es erneut.</translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Wiederherstellung des OLM Accounts fehlgeschlagen. Bitte logge dich erneut ein.</translation>
</message>
@ -42,7 +42,7 @@
<translation>Nachrichten konnten nicht aus dem Cache geladen werden. Bitte melde dich erneut an.</translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation>Erstellung des Schlüsselmaterials fehlgeschlagen. Antwort des Servers: %1 %2. Bitte versuche es später erneut.</translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation>Datei speichern</translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation>Bild speichern</translation>
</message>
@ -205,8 +205,8 @@
<translation>Teilnehmerliste</translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -277,7 +277,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation>keine Version gespeichert</translation>
</message>
@ -285,12 +285,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation>Raum verlassen</translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation>Akzeptieren</translation>
</message>
@ -331,7 +331,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation>Verschlüsselt</translation>
</message>
@ -354,13 +354,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation>Versende Datei</translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>Schreibe eine Nachricht</translation>
</message>
@ -415,6 +415,36 @@
<source>Encryption is enabled</source>
<translation>Verschlüsselung aktiv</translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -424,7 +454,12 @@
<translation>Raumoptionen</translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation>Benutzer einladen</translation>
</message>
@ -459,15 +494,14 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> tippt</translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> tippen</translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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 tippt</numerusform>
<numerusform>%1 und %2 tippen</numerusform>
</translation>
</message>
</context>
<context>
@ -481,7 +515,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation>Ins Benachrichtigungsfeld minimieren</translation>
</message>
@ -521,12 +555,17 @@
<translation>Schriftgröße</translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation>Schriftart</translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation>Erscheinungsbild</translation>
</message>
@ -566,7 +605,7 @@
<translation>ALLGEMEINES</translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@ -635,6 +674,14 @@
<translation>ANMELDEN</translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -778,7 +825,7 @@ Medien-Größe: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation>Lesebestätigungen</translation>
</message>
@ -787,9 +834,17 @@ Medien-Größe: %2
<source>Close</source>
<translation>Schließen</translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="+11"/>
<source>ESC</source>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -891,12 +946,7 @@ Medien-Größe: %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation>Aktivierung der Verschlüsselung fehlgeschlagen: %1</translation>
</message>
@ -954,11 +1004,6 @@ Medien-Größe: %2
<source>Devices</source>
<translation>Geräte</translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1003,4 +1048,32 @@ Medien-Größe: %2
<translation>Flaggen</translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation>Αποθήκευση</translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation type="unfinished"></translation>
</message>
@ -32,7 +32,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@ -42,7 +42,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation type="unfinished"></translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation>Αποθήκευση</translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation>Αποθήκευση Εικόνας</translation>
</message>
@ -205,8 +205,8 @@
<translation>Μέλη</translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -277,7 +277,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@ -285,12 +285,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation>Βγές</translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation>Αποδοχή</translation>
</message>
@ -331,7 +331,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@ -354,13 +354,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>Γράψε ένα μήνυμα...</translation>
</message>
@ -415,6 +415,36 @@
<source>Encryption is enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -424,7 +454,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation>Προσκάλεσε χρήστες</translation>
</message>
@ -459,15 +494,14 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> πληκτρολογεί</translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> πληκτρολογούν</translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
@ -481,7 +515,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation>Ελαχιστοποίηση</translation>
</message>
@ -521,12 +555,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation>Φόντο</translation>
</message>
@ -566,7 +605,7 @@
<translation>ΓΕΝΙΚΑ</translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@ -635,6 +674,14 @@
<translation>ΕΙΣΟΔΟΣ</translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -776,7 +823,7 @@ Media size: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation type="unfinished"></translation>
</message>
@ -785,9 +832,17 @@ Media size: %2
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="+11"/>
<source>ESC</source>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -889,12 +944,7 @@ Media size: %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@ -910,12 +960,12 @@ Media size: %2
</message>
<message>
<location line="+12"/>
<source>The selected media is not an image</source>
<source>The selected file is not an image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Error while reading media: %1</source>
<source>Error while reading file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -952,11 +1002,6 @@ Media size: %2
<source>Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1001,4 +1046,32 @@ Media size: %2
<translation>Σημαίες</translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation>Save File</translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation>Failed to upload image. Please try again.</translation>
</message>
@ -32,7 +32,7 @@
<translation>Failed to upload video. Please try again.</translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Failed to restore OLM account. Please login again.</translation>
</message>
@ -42,7 +42,7 @@
<translation>Failed to restore save data. Please login again.</translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation>Save File</translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation>Save image</translation>
</message>
@ -205,8 +205,8 @@
<translation>Room members</translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -277,7 +277,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation>no version stored</translation>
</message>
@ -285,12 +285,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation>Leave room</translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation>Accept</translation>
</message>
@ -331,7 +331,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation>Encrypted</translation>
</message>
@ -354,13 +354,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation>Send a file</translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>Write a message</translation>
</message>
@ -415,6 +415,36 @@
<source>Encryption is enabled</source>
<translation>Encryption is enabled</translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -424,7 +454,12 @@
<translation>Room options</translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation>Invite users</translation>
</message>
@ -459,15 +494,14 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> is typing</translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> are typing</translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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 is typing</numerusform>
<numerusform>%1 and %2 are typing</numerusform>
</translation>
</message>
</context>
<context>
@ -481,7 +515,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation>Minimize to tray</translation>
</message>
@ -521,12 +555,17 @@
<translation>Font size</translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation>Font Family</translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation>Theme</translation>
</message>
@ -566,7 +605,7 @@
<translation>GENERAL</translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation>Open Sessions File</translation>
</message>
@ -635,6 +674,14 @@
<translation>LOGIN</translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -778,7 +825,7 @@ Media size: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation>Read receipts</translation>
</message>
@ -787,9 +834,17 @@ Media size: %2
<source>Close</source>
<translation>Close</translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="+11"/>
<source>ESC</source>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -891,12 +946,7 @@ Media size: %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation>Failed to enable encryption: %1</translation>
</message>
@ -954,11 +1004,6 @@ Media size: %2
<source>Devices</source>
<translation>Devices</translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1003,4 +1048,32 @@ Media size: %2
<translation>Flags</translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation>Tallenna tiedosto</translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation>Kuvan lähettäminen epäonnistui. Ole hyvä ja yritä uudelleen.</translation>
</message>
@ -32,7 +32,7 @@
<translation>Videon lähettäminen epäonnistui. Ole hyvä ja yritä uudelleen.</translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>OLM-tilin palauttaminen epäonnistui. Ole hyvä ja kirjaudu sisään uudelleen.</translation>
</message>
@ -42,7 +42,7 @@
<translation>Tallennettujen tietojen palauttaminen epäonnistui. Ole hyvä ja kirjaudu sisään uudelleen.</translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation>Salausavainten lähetys epäonnistui. Palvelimen vastaus: %1 %2. Ole hyvä ja yritä uudelleen myöhemmin.</translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation>Tallenna tiedosto</translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation>Tallenna kuva</translation>
</message>
@ -205,8 +205,8 @@
<translation>Huoneen jäsenet</translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -277,7 +277,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation>ei tallennettua versiota</translation>
</message>
@ -285,12 +285,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation>Poistu huoneesta</translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation>Hyväksy</translation>
</message>
@ -331,7 +331,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation>Salattu</translation>
</message>
@ -354,13 +354,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation>Lähetä tiedosto</translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>Kirjoita viesti</translation>
</message>
@ -415,6 +415,36 @@
<source>Encryption is enabled</source>
<translation>Salaus on käytössä</translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -424,7 +454,12 @@
<translation>Huonevaihtoehdot</translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation>Kutsu käyttäjiä</translation>
</message>
@ -459,15 +494,14 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> kirjoittaa</translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> kirjoittavat</translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
@ -481,7 +515,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation>Pienennä ilmoitusalueelle</translation>
</message>
@ -521,12 +555,17 @@
<translation>Fonttikoko</translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation>Fontti</translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation>Teema</translation>
</message>
@ -566,7 +605,7 @@
<translation>YLEISET ASETUKSET</translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation>Avaa Istuntoavaintiedosto</translation>
</message>
@ -635,6 +674,14 @@
<translation>KIRJAUDU</translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -778,7 +825,7 @@ Median koko: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation>Lukukuittaukset</translation>
</message>
@ -787,9 +834,17 @@ Median koko: %2
<source>Close</source>
<translation>Sulje</translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="+11"/>
<source>ESC</source>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -891,12 +946,7 @@ Median koko: %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation>Salauksen aktivointi epäonnistui: %1</translation>
</message>
@ -954,11 +1004,6 @@ Median koko: %2
<source>Devices</source>
<translation>Laitteet</translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1003,4 +1048,32 @@ Median koko: %2
<translation>Liput</translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation>Enregistrer le fichier</translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation type="unfinished"></translation>
</message>
@ -32,7 +32,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@ -42,7 +42,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation type="unfinished"></translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation>Enregistrer le fichier</translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation>Enregistrer l&apos;image</translation>
</message>
@ -205,8 +205,8 @@
<translation>Membres du salon</translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -278,7 +278,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@ -286,12 +286,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation>Quitter le salon</translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation>Accepter</translation>
</message>
@ -332,7 +332,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@ -355,13 +355,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>Écrivez un message...</translation>
</message>
@ -416,6 +416,36 @@
<source>Encryption is enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -425,7 +455,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation>Inviter des utilisateurs</translation>
</message>
@ -460,15 +495,14 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> est en train d&apos;écrire</translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> sont en train d&apos;écrire</translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
@ -482,7 +516,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation>Réduire à la barre des tâches</translation>
</message>
@ -522,12 +556,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation>Thème</translation>
</message>
@ -567,7 +606,7 @@
<translation>GÉNÉRAL</translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@ -636,6 +675,14 @@
<translation>CONNEXION</translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -779,7 +826,7 @@ Taille du média : %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation>Accusés de lecture</translation>
</message>
@ -788,9 +835,17 @@ Taille du média : %2
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="+11"/>
<source>ESC</source>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -892,12 +947,7 @@ Taille du média : %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@ -913,12 +963,12 @@ Taille du média : %2
</message>
<message>
<location line="+12"/>
<source>The selected media is not an image</source>
<source>The selected file is not an image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Error while reading media: %1</source>
<source>Error while reading file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -955,11 +1005,6 @@ Taille du média : %2
<source>Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1004,4 +1049,32 @@ Taille du média : %2
<translation>Drapeaux</translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation>Bestand opslaan</translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation type="unfinished"></translation>
</message>
@ -32,7 +32,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation type="unfinished"></translation>
</message>
@ -42,7 +42,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation type="unfinished"></translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation>Bestand opslaan</translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation>Afbeelding opslaan</translation>
</message>
@ -205,8 +205,8 @@
<translation>Kamerleden</translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -277,7 +277,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@ -285,12 +285,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation>Kamer verlaten</translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation>Accepteren</translation>
</message>
@ -331,7 +331,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation type="unfinished"></translation>
</message>
@ -354,13 +354,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>Typ een bericht...</translation>
</message>
@ -415,6 +415,36 @@
<source>Encryption is enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -424,7 +454,12 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation>Gebruikers uitnodigen</translation>
</message>
@ -459,15 +494,14 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> is aan het typen</translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> zijn aan het typen</translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
@ -481,7 +515,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation>Minimaliseren naar systeemvak</translation>
</message>
@ -521,12 +555,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation>Thema</translation>
</message>
@ -566,7 +605,7 @@
<translation>ALGEMEEN</translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@ -635,6 +674,14 @@
<translation>INLOGGEN</translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -778,7 +825,7 @@ Mediagrootte: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation>Leesbevestigingen</translation>
</message>
@ -787,9 +834,17 @@ Mediagrootte: %2
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="+11"/>
<source>ESC</source>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -891,12 +946,7 @@ Mediagrootte: %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation type="unfinished"></translation>
</message>
@ -912,12 +962,12 @@ Mediagrootte: %2
</message>
<message>
<location line="+12"/>
<source>The selected media is not an image</source>
<source>The selected file is not an image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Error while reading media: %1</source>
<source>Error while reading file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -954,11 +1004,6 @@ Mediagrootte: %2
<source>Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1003,4 +1048,32 @@ Mediagrootte: %2
<translation>Vlaggen</translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation>Zapisz plik</translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation>Nie udało się wysłać obrazu. Spróbuj ponownie.</translation>
</message>
@ -32,7 +32,7 @@
<translation>Nie udało się wysłać filmu. Spróbuj ponownie.</translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Nie udało się przywrócić konta OLM. Spróbuj zalogować się ponownie.</translation>
</message>
@ -42,7 +42,7 @@
<translation>Nie udało się przywrócić zapisanych danych. Spróbuj zalogować się ponownie.</translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation type="unfinished"></translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation>Zapisz plik</translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation>Zapisz obraz</translation>
</message>
@ -205,8 +205,8 @@
<translation>Członkowie pokoju</translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -277,7 +277,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@ -285,12 +285,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation>Opuść pokój</translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation>Akceptuj</translation>
</message>
@ -331,7 +331,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation>Szyfrowana</translation>
</message>
@ -354,13 +354,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation>Wyślij plik</translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>Napisz wiadomość</translation>
</message>
@ -415,6 +415,36 @@
<source>Encryption is enabled</source>
<translation>Szyfrowanie jest włączone</translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -424,7 +454,12 @@
<translation>Ustawienia pokoju</translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation>Zaproś użytkowników</translation>
</message>
@ -459,15 +494,15 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> pisze</translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> piszą</translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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">
<numerusform></numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
@ -481,7 +516,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation>Zminimalizuj do paska zadań</translation>
</message>
@ -521,12 +556,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation>Motyw</translation>
</message>
@ -566,7 +606,7 @@
<translation>OGÓLNE</translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation type="unfinished"></translation>
</message>
@ -635,6 +675,14 @@
<translation>ZALOGUJ SIĘ</translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -778,7 +826,7 @@ Rozmiar multimediów: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation>Potwierdzenia przeczytania</translation>
</message>
@ -787,9 +835,17 @@ Rozmiar multimediów: %2
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>ESC</source>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -894,12 +950,7 @@ Rozmiar multimediów: %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation>Nie udało się włączyć szyfrowania: %1</translation>
</message>
@ -915,13 +966,13 @@ Rozmiar multimediów: %2
</message>
<message>
<location line="+12"/>
<source>The selected media is not an image</source>
<translation>Wybrany plik multimedialny nie jest obrazem</translation>
<source>The selected file is not an image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Error while reading media: %1</source>
<translation>Błąd odczytywania pliku: %1</translation>
<source>Error while reading file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
@ -957,11 +1008,6 @@ Rozmiar multimediów: %2
<source>Devices</source>
<translation>Urządzenia</translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1006,4 +1052,32 @@ Rozmiar multimediów: %2
<translation>Flagi</translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation>Сохранить файл</translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation>Не удалось загрузить изображение. Пожалуйста, попробуйте еще раз.</translation>
</message>
@ -32,7 +32,7 @@
<translation>Не удалось загрузить видео. Пожалуйста, попробуйте еще раз.</translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Не удалось восстановить учетную запись OLM. Пожалуйста, войдите снова.</translation>
</message>
@ -42,7 +42,7 @@
<translation>Не удалось восстановить сохраненные данные. Пожалуйста, войдите снова.</translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation>Не удалось настроить ключи шифрования. Ответ сервера:%1 %2. Пожалуйста, попробуйте позже.</translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation>Сохранить файл</translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation>Сохранить изображение</translation>
</message>
@ -205,9 +205,9 @@
<translation>Участники комнаты</translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<translation></translation>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -277,7 +277,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@ -285,12 +285,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation>Покинуть комнату</translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation>Принять</translation>
</message>
@ -331,7 +331,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation>Зашифровано</translation>
</message>
@ -354,13 +354,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation>Отправить файл</translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>Написать сообщение...</translation>
</message>
@ -415,6 +415,36 @@
<source>Encryption is enabled</source>
<translation>Шифрование включено</translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -424,7 +454,12 @@
<translation>Настройки комнаты</translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation>Пригласить пользователей</translation>
</message>
@ -459,15 +494,15 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> печатает</translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> печатают</translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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">
<numerusform></numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
@ -481,7 +516,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation>Сворачивать в системную панель</translation>
</message>
@ -521,12 +556,17 @@
<translation>Размер шрифта</translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation>Тема</translation>
</message>
@ -566,7 +606,7 @@
<translation>ГЛАВНОЕ</translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation>Открыть файл сеансов</translation>
</message>
@ -636,6 +676,14 @@
<translation>ВХОД</translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -779,7 +827,7 @@ Media size: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation>Подтверждать прочтение</translation>
</message>
@ -788,10 +836,18 @@ Media size: %2
<source>Close</source>
<translation>Закрыть</translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>ESC</source>
<translation></translation>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -893,12 +949,7 @@ Media size: %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation>Не удалось включить шифрование: %1</translation>
</message>
@ -914,13 +965,13 @@ Media size: %2
</message>
<message>
<location line="+12"/>
<source>The selected media is not an image</source>
<translation>Выбранное медия не является изображением</translation>
<source>The selected file is not an image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Error while reading media: %1</source>
<translation>Ошибка при чтении медия: %1</translation>
<source>Error while reading file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
@ -956,11 +1007,6 @@ Media size: %2
<source>Devices</source>
<translation>Устройства</translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1005,4 +1051,32 @@ Media size: %2
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -4,7 +4,7 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+118"/>
<source>Save File</source>
<translation></translation>
</message>
@ -12,7 +12,7 @@
<context>
<name>ChatPage</name>
<message>
<location filename="../../src/ChatPage.cpp" line="+309"/>
<location filename="../../src/ChatPage.cpp" line="+331"/>
<source>Failed to upload image. Please try again.</source>
<translation></translation>
</message>
@ -32,7 +32,7 @@
<translation></translation>
</message>
<message>
<location line="+376"/>
<location line="+380"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation> OLM </translation>
</message>
@ -42,7 +42,7 @@
<translation></translation>
</message>
<message>
<location line="+169"/>
<location line="+198"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation type="unfinished"></translation>
</message>
@ -118,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+107"/>
<source>Save File</source>
<translation></translation>
</message>
@ -126,7 +126,7 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+238"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+241"/>
<source>Save image</source>
<translation></translation>
</message>
@ -205,8 +205,8 @@
<translation></translation>
</message>
<message>
<location line="+33"/>
<source>ESC</source>
<location line="+4"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -277,7 +277,7 @@
<context>
<name>RoomInfo</name>
<message>
<location filename="../../src/Cache.cpp" line="+2204"/>
<location filename="../../src/Cache.cpp" line="+2205"/>
<source>no version stored</source>
<translation type="unfinished"></translation>
</message>
@ -285,12 +285,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+93"/>
<source>Leave room</source>
<translation></translation>
</message>
<message>
<location line="+174"/>
<location line="+181"/>
<source>Accept</source>
<translation></translation>
</message>
@ -331,7 +331,7 @@
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+106"/>
<location filename="../../src/timeline/TimelineItem.cpp" line="+107"/>
<source>Encrypted</source>
<translation></translation>
</message>
@ -354,13 +354,13 @@
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cpp" line="+506"/>
<location filename="../../src/TextInputWidget.cpp" line="+507"/>
<source>Send a file</source>
<translation></translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+168"/>
<location filename="../../src/TextInputWidget.h" line="+164"/>
<source>Write a message...</source>
<translation>...</translation>
</message>
@ -415,6 +415,36 @@
<source>Encryption is enabled</source>
<translation></translation>
</message>
<message>
<location line="+65"/>
<source>-- Encrypted Event (No keys found for decryption) --</source>
<comment>Placeholder, when the message was not decrypted yet or can&apos;t be decrypted</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>-- Decryption Error (failed to communicate with DB) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed when trying to lookup the session.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>-- Decryption Error (failed to retrieve megolm keys from db) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted, because the DB access failed.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>-- Decryption Error (%1) --</source>
<comment>Placeholder, when the message can&apos;t be decrypted. In this case, the Olm decrytion returned an error, which is passed ad %1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>-- Encrypted Event (Unknown event type) --</source>
<comment>Placeholder, when the message was decrypted, but we couldn&apos;t parse it, because Nheko/mtxclient don&apos;t support that event type yet</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
@ -424,7 +454,12 @@
<translation></translation>
</message>
<message>
<location line="+28"/>
<location line="+5"/>
<source>Mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Invite users</source>
<translation></translation>
</message>
@ -459,15 +494,13 @@
</context>
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> </translation>
</message>
<message>
<location line="+2"/>
<source> are typing</source>
<translation> </translation>
<message numerus="yes">
<location filename="../../src/TypingDisplay.cpp" line="+37"/>
<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">
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
@ -481,7 +514,7 @@
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cpp" line="+156"/>
<location filename="../../src/UserSettingsPage.cpp" line="+166"/>
<source>Minimize to tray</source>
<translation></translation>
</message>
@ -521,12 +554,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<location line="+13"/>
<source>Font Family</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<location line="+1"/>
<source>Emoji Font Famly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Theme</source>
<translation></translation>
</message>
@ -566,7 +604,7 @@
<translation></translation>
</message>
<message>
<location line="+150"/>
<location line="+156"/>
<source>Open Sessions File</source>
<translation></translation>
</message>
@ -635,6 +673,14 @@
<translation></translation>
</message>
</context>
<context>
<name>descriptiveTime</name>
<message>
<location filename="../../src/Utils.cpp" line="+104"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::CreateRoom</name>
<message>
@ -778,7 +824,7 @@ Media size: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+121"/>
<source>Read receipts</source>
<translation></translation>
</message>
@ -787,9 +833,17 @@ Media size: %2
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>dialogs::ReceiptItem</name>
<message>
<location line="-44"/>
<source>Today %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>ESC</source>
<location line="+2"/>
<source>Yesterday %1</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -892,12 +946,7 @@ Media size: %2
</translation>
</message>
<message>
<location line="+71"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<location line="+140"/>
<source>Failed to enable encryption: %1</source>
<translation>%1</translation>
</message>
@ -913,13 +962,13 @@ Media size: %2
</message>
<message>
<location line="+12"/>
<source>The selected media is not an image</source>
<translation></translation>
<source>The selected file is not an image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Error while reading media: %1</source>
<translation>%1</translation>
<source>Error while reading file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
@ -955,11 +1004,6 @@ Media size: %2
<source>Devices</source>
<translation></translation>
</message>
<message>
<location line="+39"/>
<source>ESC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
@ -1012,4 +1056,32 @@ Media size: %2
<translation>Flags</translation>
</message>
</context>
<context>
<name>utils</name>
<message>
<location filename="../../src/Utils.cpp" line="+46"/>
<source>You</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+219"/>
<source>sent a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent an audio file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>sent a video</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -33,6 +33,14 @@ TypingDisplay::setUsers(const QStringList &uid)
text_.clear();
QString temp = text_ +=
tr("%1 and %2 are typing",
"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.)",
uid.size());
if (uid.isEmpty()) {
hide();
update();
@ -40,12 +48,9 @@ TypingDisplay::setUsers(const QStringList &uid)
return;
}
text_ = uid.join(", ");
if (uid.size() == 1)
text_ += tr(" is typing");
else if (uid.size() > 1)
text_ += tr(" are typing");
QStringList uidWithoutLast = uid;
uidWithoutLast.pop_back();
text_ = temp.arg(uidWithoutLast.join(", ")).arg(uid.back());
show();
update();

@ -99,13 +99,13 @@ utils::descriptiveTime(const QDateTime &then)
const auto days = then.daysTo(now);
if (days == 0)
return then.toString("HH:mm");
return then.time().toString(Qt::DefaultLocaleShortDate);
else if (days < 2)
return QString("Yesterday");
else if (days < 365)
return then.toString("dd/MM");
return QString(QCoreApplication::translate("descriptiveTime", "Yesterday"));
else if (days < 7)
return then.toString("dddd");
return then.toString("dd/MM/yy");
return then.date().toString(Qt::DefaultLocaleShortDate);
}
DescInfo
@ -147,7 +147,7 @@ utils::getMessageDescription(const TimelineEvent &event,
DescInfo info;
if (sender == localUser)
info.username = "You";
info.username = QCoreApplication::translate("utils", "You");
else
info.username = username;
@ -366,16 +366,16 @@ utils::getQuoteBody(const RelatedInfo &related)
return markdownToHtml(related.quoted_body);
}
case MsgType::File: {
return QString("sent a file.");
return QString(QCoreApplication::translate("utils", "sent a file."));
}
case MsgType::Image: {
return QString("sent an image.");
return QString(QCoreApplication::translate("utils", "sent an image."));
}
case MsgType::Audio: {
return QString("sent an audio file.");
return QString(QCoreApplication::translate("utils", "sent an audio file."));
}
case MsgType::Video: {
return QString("sent a video");
return QString(QCoreApplication::translate("utils", "sent a video"));
}
default: {
return related.quoted_body;

@ -97,7 +97,7 @@ MemberList::MemberList(const QString &room_id, QWidget *parent)
topLabel_->setAlignment(Qt::AlignCenter);
topLabel_->setFont(font);
auto okBtn = new QPushButton("OK", this);
auto okBtn = new QPushButton(tr("OK"), this);
auto buttonLayout = new QHBoxLayout();
buttonLayout->setSpacing(15);
@ -126,7 +126,7 @@ MemberList::MemberList(const QString &room_id, QWidget *parent)
qCritical() << e.what();
}
auto closeShortcut = new QShortcut(QKeySequence(tr("ESC")), this);
auto closeShortcut = new QShortcut(QKeySequence(QKeySequence::Cancel), this);
connect(closeShortcut, &QShortcut::activated, this, &MemberList::close);
connect(okBtn, &QPushButton::clicked, this, &MemberList::close);
}

@ -78,13 +78,15 @@ ReceiptItem::dateFormat(const QDateTime &then) const
auto days = then.daysTo(now);
if (days == 0)
return QString("Today %1").arg(then.toString("HH:mm"));
return tr("Today %1").arg(then.time().toString(Qt::DefaultLocaleShortDate));
else if (days < 2)
return QString("Yesterday %1").arg(then.toString("HH:mm"));
else if (days < 365)
return then.toString("dd/MM HH:mm");
return tr("Yesterday %1").arg(then.time().toString(Qt::DefaultLocaleShortDate));
else if (days < 7)
return QString("%1 %2")
.arg(then.toString("dddd"))
.arg(then.time().toString(Qt::DefaultLocaleShortDate));
return then.toString("dd/MM/yy");
return then.toString(Qt::DefaultLocaleShortDate);
}
ReadReceipts::ReadReceipts(QWidget *parent)
@ -131,7 +133,7 @@ ReadReceipts::ReadReceipts(QWidget *parent)
layout->addWidget(userList_);
layout->addLayout(buttonLayout);
auto closeShortcut = new QShortcut(QKeySequence(tr("ESC")), this);
auto closeShortcut = new QShortcut(QKeySequence(QKeySequence::Cancel), this);
connect(closeShortcut, &QShortcut::activated, this, &ReadReceipts::close);
connect(okBtn, &QPushButton::clicked, this, &ReadReceipts::close);
}

@ -438,7 +438,7 @@ RoomSettings::RoomSettings(const QString &room_id, QWidget *parent)
resetErrorLabel();
});
auto closeShortcut = new QShortcut(QKeySequence(tr("ESC")), this);
auto closeShortcut = new QShortcut(QKeySequence(QKeySequence::Cancel), this);
connect(closeShortcut, &QShortcut::activated, this, &RoomSettings::close);
connect(okBtn, &QPushButton::clicked, this, &RoomSettings::close);
}
@ -668,12 +668,12 @@ RoomSettings::updateAvatar()
QFile file{fileName, this};
if (format != "image") {
displayErrorMessage(tr("The selected media is not an image"));
displayErrorMessage(tr("The selected file is not an image"));
return;
}
if (!file.open(QIODevice::ReadOnly)) {
displayErrorMessage(tr("Error while reading media: %1").arg(file.errorString()));
displayErrorMessage(tr("Error while reading file: %1").arg(file.errorString()));
return;
}

@ -183,7 +183,7 @@ UserProfile::UserProfile(QWidget *parent)
qRegisterMetaType<std::vector<DeviceInfo>>();
auto closeShortcut = new QShortcut(QKeySequence(tr("ESC")), this);
auto closeShortcut = new QShortcut(QKeySequence(QKeySequence::Cancel), this);
connect(closeShortcut, &QShortcut::activated, this, &UserProfile::close);
connect(okBtn, &QPushButton::clicked, this, &UserProfile::close);
}

@ -282,6 +282,7 @@ TimelineItem::TimelineItem(mtx::events::MessageType ty,
const QString &room_id,
QWidget *parent)
: QWidget(parent)
, message_type_(ty)
, room_id_{room_id}
{
init();
@ -341,6 +342,7 @@ TimelineItem::TimelineItem(ImageItem *image,
const QString &room_id,
QWidget *parent)
: QWidget{parent}
, message_type_(mtx::events::MessageType::Image)
, room_id_{room_id}
{
init();
@ -356,6 +358,7 @@ TimelineItem::TimelineItem(FileItem *file,
const QString &room_id,
QWidget *parent)
: QWidget{parent}
, message_type_(mtx::events::MessageType::File)
, room_id_{room_id}
{
init();
@ -369,6 +372,7 @@ TimelineItem::TimelineItem(AudioItem *audio,
const QString &room_id,
QWidget *parent)
: QWidget{parent}
, message_type_(mtx::events::MessageType::Audio)
, room_id_{room_id}
{
init();
@ -382,6 +386,7 @@ TimelineItem::TimelineItem(VideoItem *video,
const QString &room_id,
QWidget *parent)
: QWidget{parent}
, message_type_(mtx::events::MessageType::Video)
, room_id_{room_id}
{
init();
@ -395,6 +400,7 @@ TimelineItem::TimelineItem(ImageItem *image,
const QString &room_id,
QWidget *parent)
: QWidget(parent)
, message_type_(mtx::events::MessageType::Image)
, room_id_{room_id}
{
setupWidgetLayout<mtx::events::RoomEvent<mtx::events::msg::Image>, ImageItem>(
@ -426,6 +432,7 @@ TimelineItem::TimelineItem(FileItem *file,
const QString &room_id,
QWidget *parent)
: QWidget(parent)
, message_type_(mtx::events::MessageType::File)
, room_id_{room_id}
{
setupWidgetLayout<mtx::events::RoomEvent<mtx::events::msg::File>, FileItem>(
@ -440,6 +447,7 @@ TimelineItem::TimelineItem(AudioItem *audio,
const QString &room_id,
QWidget *parent)
: QWidget(parent)
, message_type_(mtx::events::MessageType::Audio)
, room_id_{room_id}
{
setupWidgetLayout<mtx::events::RoomEvent<mtx::events::msg::Audio>, AudioItem>(
@ -454,6 +462,7 @@ TimelineItem::TimelineItem(VideoItem *video,
const QString &room_id,
QWidget *parent)
: QWidget(parent)
, message_type_(mtx::events::MessageType::Video)
, room_id_{room_id}
{
setupWidgetLayout<mtx::events::RoomEvent<mtx::events::msg::Video>, VideoItem>(
@ -470,6 +479,7 @@ TimelineItem::TimelineItem(const mtx::events::RoomEvent<mtx::events::msg::Notice
const QString &room_id,
QWidget *parent)
: QWidget(parent)
, message_type_(mtx::events::MessageType::Notice)
, room_id_{room_id}
{
init();
@ -517,6 +527,7 @@ TimelineItem::TimelineItem(const mtx::events::RoomEvent<mtx::events::msg::Emote>
const QString &room_id,
QWidget *parent)
: QWidget(parent)
, message_type_(mtx::events::MessageType::Emote)
, room_id_{room_id}
{
init();
@ -565,6 +576,7 @@ TimelineItem::TimelineItem(const mtx::events::RoomEvent<mtx::events::msg::Text>
const QString &room_id,
QWidget *parent)
: QWidget(parent)
, message_type_(mtx::events::MessageType::Text)
, room_id_{room_id}
{
init();
@ -951,4 +963,4 @@ TimelineItem::openRawMessageViewer() const
"failed to serialize event ({}, {})", room_id, event_id);
}
});
}
}

@ -277,7 +277,7 @@ private:
QFutureWatcher<QString> *colorGenerating_;
QString event_id_;
mtx::events::MessageType message_type_;
mtx::events::MessageType message_type_ = mtx::events::MessageType::Unknown;
QString room_id_;
DescInfo descriptionMsg_;

@ -306,7 +306,10 @@ TimelineView::parseEncryptedEvent(const mtx::events::EncryptedEvent<mtx::events:
dummy.origin_server_ts = e.origin_server_ts;
dummy.event_id = e.event_id;
dummy.sender = e.sender;
dummy.content.body = "-- Encrypted Event (No keys found for decryption) --";
dummy.content.body =
tr("-- Encrypted Event (No keys found for decryption) --",
"Placeholder, when the message was not decrypted yet or can't be decrypted")
.toStdString();
try {
if (!cache::client()->inboundMegolmSessionExists(index)) {
@ -319,7 +322,10 @@ TimelineView::parseEncryptedEvent(const mtx::events::EncryptedEvent<mtx::events:
}
} catch (const lmdb::error &e) {
nhlog::db()->critical("failed to check megolm session's existence: {}", e.what());
dummy.content.body = "-- Decryption Error (failed to communicate with DB) --";
dummy.content.body = tr("-- Decryption Error (failed to communicate with DB) --",
"Placeholder, when the message can't be decrypted, because "
"the DB access failed when trying to lookup the session.")
.toStdString();
return {dummy, false};
}
@ -335,7 +341,10 @@ TimelineView::parseEncryptedEvent(const mtx::events::EncryptedEvent<mtx::events:
index.sender_key,
e.what());
dummy.content.body =
"-- Decryption Error (failed to retrieve megolm keys from db) --";
tr("-- Decryption Error (failed to retrieve megolm keys from db) --",
"Placeholder, when the message can't be decrypted, because the DB access "
"failed.")
.toStdString();
return {dummy, false};
} catch (const mtx::crypto::olm_exception &e) {
nhlog::crypto()->critical("failed to decrypt message with index ({}, {}, {}): {}",
@ -343,7 +352,12 @@ TimelineView::parseEncryptedEvent(const mtx::events::EncryptedEvent<mtx::events:
index.session_id,
index.sender_key,
e.what());
dummy.content.body = "-- Decryption Error (" + std::string(e.what()) + ") --";
dummy.content.body =
tr("-- Decryption Error (%1) --",
"Placeholder, when the message can't be decrypted. In this case, the Olm "
"decrytion returned an error, which is passed ad %1")
.arg(e.what())
.toStdString();
return {dummy, false};
}
@ -365,7 +379,11 @@ TimelineView::parseEncryptedEvent(const mtx::events::EncryptedEvent<mtx::events:
if (events.size() == 1)
return {events.at(0), true};
dummy.content.body = "-- Encrypted Event (Unknown event type) --";
dummy.content.body =
tr("-- Encrypted Event (Unknown event type) --",
"Placeholder, when the message was decrypted, but we couldn't parse it, because "
"Nheko/mtxclient don't support that event type yet")
.toStdString();
return {dummy, false};
}

@ -2,6 +2,7 @@
#include "Config.h"
#include <QDateTime>
#include <QLocale>
#include <QPainter>
#include <QPen>
#include <QtGlobal>
@ -61,14 +62,14 @@ DateSeparator::DateSeparator(QDateTime datetime, QWidget *parent)
{
auto now = QDateTime::currentDateTime();
QString fmt;
QString fmt = QLocale::system().dateFormat(QLocale::LongFormat);
if (now.date().year() != datetime.date().year())
fmt = QString("ddd d MMMM yy");
else
fmt = QString("ddd d MMMM");
if (now.date().year() == datetime.date().year()) {
QRegularExpression rx("[^a-zA-Z]*y+[^a-zA-Z]*");
fmt = fmt.remove(rx);
}
msg_ = datetime.toString(fmt);
msg_ = datetime.date().toString(fmt);
QFontMetrics fm{font()};
#if QT_VERSION < QT_VERSION_CHECK(5, 11, 0)

Loading…
Cancel
Save